test/zap.spec
author J. Ali Harlow <ali@juiblex.co.uk>
Sat Oct 04 18:12:58 2014 +0100 (2014-10-04)
changeset 454 56ff755c268c
parent 351 48b0adfe3059
permissions -rw-r--r--
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.
ali@393
     1
%define _source_payload w9.gzdio
ali@393
     2
%define _binary_payload w9.gzdio
ali@393
     3
ali@351
     4
Name:      zap
ali@351
     5
Summary:   Test package
ali@351
     6
Group:     Test
ali@351
     7
License:   GPL
ali@351
     8
Version:   1
ali@351
     9
Release:   1
ali@351
    10
Source:    zap.tar
ali@351
    11
BuildArch: noarch
ali@351
    12
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
ali@351
    13
Prefix:    /usr
ali@351
    14
ali@351
    15
%description
ali@351
    16
Test package
ali@351
    17
ali@351
    18
%prep
ali@351
    19
ali@351
    20
%build
ali@351
    21
ali@351
    22
%install
ali@351
    23
mkdir -p $RPM_BUILD_ROOT/usr/bin
ali@351
    24
touch $RPM_BUILD_ROOT/usr/bin/zap
ali@351
    25
ali@351
    26
%clean
ali@351
    27
ali@351
    28
%files
ali@351
    29
/usr/bin/zap