test/filesystem.spec
author J. Ali Harlow <ali@juiblex.co.uk>
Sat Oct 04 18:12:58 2014 +0100 (2014-10-04)
changeset 454 56ff755c268c
parent 393 d16ac3fb05fa
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@352
     4
Name:      filesystem
ali@352
     5
Summary:   Test package
ali@352
     6
Group:     Test
ali@352
     7
License:   GPL
ali@352
     8
Version:   1
ali@352
     9
Release:   1
ali@352
    10
BuildArch: noarch
ali@352
    11
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
ali@352
    12
ali@352
    13
%description
ali@352
    14
Test package
ali@352
    15
ali@352
    16
%prep
ali@352
    17
ali@352
    18
%build
ali@352
    19
ali@352
    20
%install
ali@393
    21
mkdir -p %{buildroot}
ali@352
    22
mkdir -p %{buildroot}%{_sysconfdir}
ali@409
    23
mkdir -p %{buildroot}/{%{_bindir},%{_prefix}/lib,%{_includedir}}
ali@352
    24
mkdir -p %{buildroot}/media
ali@352
    25
ali@352
    26
%clean
ali@352
    27
rm -rf %{buildroot}
ali@352
    28
ali@352
    29
%post -p <lua>
ali@352
    30
function mkdir_missing(dir)
ali@352
    31
    if posix.stat(dir) == nil then
ali@352
    32
        posix.mkdir(dir)
ali@352
    33
    end
ali@352
    34
end
ali@352
    35
mkdir_missing("/media/cdrom")
ali@352
    36
ali@352
    37
%files
ali@352
    38
%defattr(0755,root,root)
ali@352
    39
/etc
ali@352
    40
%{_prefix}
ali@352
    41
%dir /media