Only export symbols starting with razor_ in dynamic library.
Apart from being good practice to avoid clashes with higher-level
libraries and the application, this also fixes an obscure bug: The
gnulib library is used both by librazor (the dynamic library) and
by razor (the executable). In doing so, we want to have two separate
copies of the library despite the code duplication this involves.
Without the explicit limit to export only razor_ symbols, the razor
executable under mingw64 was picking up the getopt_long function
from librazor and the optind variable from libgnu which meant that
it did not see optind changing. Hiding librazor's copy of getopt
causes the linker to find libgnu's copy and everything works.
Note that under mingw librazor-#.dll still contains undocumented
(private) razor_ symbols but these will do no harm as long as nobody
tries to use them.
4 if [ ! -e "$RAZOR_ROOT$1" ]; then
5 echo $1: Not in filesystem >&2
6 ls -R "$RAZOR_ROOT" >&2
10 fs_check_file_contents()
13 if [ `cat "$RAZOR_ROOT$1"` != "$2" ]; then
14 echo $1: Unexpected contents >&2
15 cat "$RAZOR_ROOT$1" >&2
21 if [ -e "$RAZOR_ROOT$1" ]; then
22 echo $1: Still in filesystem >&2
28 ../src/razor list-files | grep -x "$1" > /dev/null
30 echo $1: Not in database >&2
31 ../src/razor list-files >&2
34 ../src/razor list-files "$1" | grep -x "$1" > /dev/null
36 echo $1: Not seen by patterned list >&2
37 ../src/razor list-files "$1" >&2
40 pkgs=`../src/razor list-file-packages "$1"`
41 if [ -z "$pkgs" ]; then
42 echo $1: Not owned by any package >&2
43 ../src/razor list-file-packages "$1"
46 for nevra in "$pkgs"; do
47 name=`echo $nevra | sed 's/\-.*$//'`
48 ../src/razor list-package-files "$name" | grep -x "$1" > /dev/null
50 echo $1: Not in database for package $name >&2
51 ../src/razor list-package-files "$name"
59 ../src/razor list-files | grep -x "$1" > /dev/null
61 echo $1: Still in database >&2
68 count=`../src/razor list "$1" | wc -l`
69 if [ "$count" != "$2" ]; then
70 echo $1: Install count $count, should be $2 >&2
76 cp $1/repodata/primary.xml.gz $1/repodata/filelists.xml.gz .
80 export RAZOR_ROOT=`mktemp -dt` || exit 1
81 ../src/razor init || exit 1
82 export YUM_URL="file://localhost/`pwd`"
84 ../src/razor import-yum || exit 1
85 ../src/razor install --relocate /usr=/opt zip || exit 1
86 fs_check_file_contents /opt/bin/zip zip-1-1
87 fs_check_file /opt/var/lib/zip/data.zap
88 trap "set_repository base" 0
89 set_repository updates
90 ../src/razor import-yum || exit 1
91 ../src/razor update --relocate /usr=/opt || exit 1
92 check_file /opt/bin/zip
93 fs_check_file_contents /opt/bin/zip zip-2-1
94 fs_check_file /opt/var/lib/zip/data.zap
95 ../src/razor remove zip || exit 1
96 fs_check_no_file /opt/var/lib/zip/data.zap
98 ../src/razor import-yum || exit 1
99 ../src/razor install --relocate /usr=/opt zip || exit 1
100 ../src/razor install --relocate /usr=/opt zip || exit 1
101 check_install_count zip 2
102 set_repository updates
103 ../src/razor import-yum || exit 1
104 ../src/razor update --relocate /usr=/opt || exit 1
105 check_file /opt/bin/zip
106 fs_check_file_contents /opt/bin/zip zip-2-1
107 fs_check_file /opt/var/lib/zip/data.zap
108 check_install_count zip 1
109 ../src/razor remove zip || exit 1
110 fs_check_no_file /opt/var/lib/zip/data.zap
112 ../src/razor import-yum || exit 1
113 ../src/razor install --relocate /usr=/opt zip || exit 1
114 ../src/razor update --relocate /usr=/opt zip || exit 1
115 check_install_count zip 1