test/zip.spec
author J. Ali Harlow <ali@juiblex.co.uk>
Fri Oct 03 15:05:33 2014 +0100 (2014-10-03)
changeset 453 1fd1d221092d
parent 393 d16ac3fb05fa
permissions -rw-r--r--
Add INTLLIBS back into librazor_la_LIBADD and also into razor.pc

INTLLIBS was originally added into librazor_la_LIBADD (but not razor.pc)
in 611c84a3f4b4538a65d186050608c17adbf17770 and then removed in
236cfc8ecc5c66288e41bf9b72051a3b18326e1c over concerns that it meant
that building static applications (eg., in plover) required a static
version of libintl. Since then, however, the inclusion of gnulib's
getopt has caused the build to fail without INTLLIBS in librazor_la_LIBADD
with messages of the form:

../gl/.libs/libgnu.a(getopt.o): In function `_getopt_internal_r':
/home/ali/wk/razor/vpath/gl/../../working/gl/getopt.c:808: undefined reference to `libintl_gettext'

while building librazor.dll.a

Thus it appears that INTLLIBS really is needed and should go back into
librazor_la_LIBADD (which fixes the build) and should also be in Libs.private
in razor.pc for static builds. This means that a static version of libintl
will be required (eg., as part of mingw64-gettext-static).

Along the way, razor.pc has also been fixed to avoid overlinking
(https://wiki.openmandriva.org/en/Overlinking_issues_in_packaging)
and a missing include directory that caused the razor executable to
fail to build was added.
     1 %define _source_payload w9.gzdio
     2 %define _binary_payload w9.gzdio
     3 
     4 Name:      zip
     5 Summary:   Test package
     6 Group:     Test
     7 License:   GPL
     8 Version:   %{_version}
     9 Release:   1
    10 Source:    zip.tar
    11 BuildArch: noarch
    12 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
    13 Prefix:    /usr
    14 Requires:  zap
    15 Requires(pre,postun):  zap
    16 
    17 %description
    18 Test package
    19 
    20 %prep
    21 
    22 %build
    23 
    24 %install
    25 mkdir -p $RPM_BUILD_ROOT/usr/bin
    26 echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/usr/bin/zip
    27 
    28 %clean
    29 
    30 %pre -p <lua>
    31 function mkdir_missing(dir)
    32     if posix.stat(dir)==nil then
    33 	posix.mkdir(dir)
    34     end
    35 end
    36 prefix=posix.getenv("RPM_INSTALL_PREFIX0")
    37 if prefix==nil then
    38     prefix="/usr"
    39 end
    40 if arg[2]==1 and posix.stat(prefix.."/bin/zap")~=nil then
    41     mkdir_missing(prefix.."/var")
    42     mkdir_missing(prefix.."/var/lib")
    43     posix.mkdir(prefix.."/var/lib/zip")
    44     io.output(prefix.."/var/lib/zip/data.zap")
    45     io.write("Important data\n");
    46     io.close()
    47 end
    48 
    49 %postun -p <lua>
    50 prefix=posix.getenv("RPM_INSTALL_PREFIX0")
    51 if prefix==nil then
    52     prefix="/usr"
    53 end
    54 if arg[2]==0 and posix.stat(prefix.."/bin/zap")~=nil then
    55     os.remove(prefix.."/var/lib/zip/data.zap")
    56     os.remove(prefix.."/var/lib/zip")
    57 end
    58 
    59 %files
    60 /usr/bin/zip