]> git.ipfire.org Git - people/stevee/ipfire-3.x.git/blobdiff - cracklib/cracklib.nm
kernel: Drop ld.so placeholder files
[people/stevee/ipfire-3.x.git] / cracklib / cracklib.nm
index f008a9ba125ab1607af6a54ef2c5fa4f7d9bf56d..dbc643928df8c5ce76592bd6f35673b683d19ada 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = cracklib
-version    = 2.8.12
-release    = 1
+version    = 2.9.5
+release    = 2
 
 groups     = Security/Password
 url        = http://sourceforge.net/projects/cracklib/
@@ -22,7 +22,7 @@ description
        in a dictionary.
 end
 
-source_dl  =
+source_dl  = http://prdownloads.sourceforge.net/cracklib/
 sources   += cracklib-words-20080507.gz
 
 build
@@ -30,39 +30,62 @@ build
                python-devel
        end
 
+       dictdir  = %{datadir}/cracklib
+       dictpath = %{dictdir}/pw_dict
+
+       export LD_LIBRARY_PATH = %{DIR_APP}/lib/.libs
+
        configure_options += \
-               --with-default-dict=/lib/cracklib/pw_dict \
+               --with-default-dict=%{dictpath} \
                --with-python \
                --disable-static
 
        # Only extract the source tarball.
        prepare
                cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}.tar.gz
+               cd %{DIR_APP}
+
+               cp lib/packer.h lib/packer.h.in
+               chmod +x util/cracklib-format
+
+               mkdir cracklib-dicts
+               cp -vf %{DIR_DL}/cracklib-words-20080507.gz cracklib-dicts
 
-               # Apply all patches.
-               %{MACRO_PATCHES}
+               # Create distribution dict.
+               echo -ne "%{DISTRO_NAME}\n%{DISTRO_SNAME}\n" >> \
+                       cracklib-dicts/cracklib-distro-words
+               gzip -9 cracklib-dicts/cracklib-distro-words
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/{,usr/}lib
-               mv -v %{BUILDROOT}/usr/lib/libcrack.so.2* %{BUILDROOT}/lib
-               ln -vsf ../../lib/libcrack.so.2.8.0 %{BUILDROOT}/usr/lib/libcrack.so
-
-               mkdir -pv %{BUILDROOT}/usr/share/dict
-               install -v -m644 -D %{DIR_DL}/cracklib-words-20080507.gz \
-                       %{BUILDROOT}/usr/share/dict/cracklib-words.gz
-               gunzip -v %{BUILDROOT}/usr/share/dict/cracklib-words.gz
-               ln -v -s cracklib-words %{BUILDROOT}/usr/share/dict/words
-               echo -ne "%{DISTRO_NAME}\n%{DISTRO_SNAME}\n" >> \
-                       %{BUILDROOT}/usr/share/dict/cracklib-extra-words
-
-               mkdir -pv %{BUILDROOT}/lib/cracklib
-               chmod a+x util/cracklib-{format,packer}
-               util/cracklib-format \
-                       %{BUILDROOT}/usr/share/dict/cracklib-words \
-                       %{BUILDROOT}/usr/share/dict/cracklib-extra-words | \
-                       util/cracklib-packer \
-                               %{BUILDROOT}/lib/cracklib/pw_dict
+               # Install python bindings
+               make install DESTDIR=%{BUILDROOT} INSTALL="install -c -p" -C python
+
+               mkdir -pv %{BUILDROOT}{%{dictdir},%{dictpath}}
+               util/cracklib-format cracklib-dicts/* | \
+                       util/cracklib-packer %{BUILDROOT}%{dictpath}
+               util/cracklib-format %{BUILDROOT}%{dictdir}/cracklib-small | \
+                       util/cracklib-packer %{BUILDROOT}%{dictdir}/cracklib-small
+               rm -f %{BUILDROOT}%{dictdir}/cracklib-small
+
+               sed -e "s@/usr/lib/cracklib_dict@%{dictpath}@g" lib/crack.h \
+                       > %{BUILDROOT}%{includedir}/crack.h
+
+               ln -svf cracklib-format %{BUILDROOT}%{sbindir}/mkdict
+               ln -svf cracklib-packer %{BUILDROOT}%{sbindir}/packer
+
+               toprelpath=..
+               touch %{BUILDROOT}/top
+               while ! test -f %{BUILDROOT}%{libdir}/${toprelpath}/top; do
+                       toprelpath=../${toprelpath}
+               done
+               rm -f %{BUILDROOT}/top
+
+               if [ "%{dictpath}" != "%{libdir}/cracklib_dict" ]; then
+                       ln -svf ${toprelpath}%{dictpath}.hwm %{BUILDROOT}%{libdir}/cracklib_dict.hwm
+                       ln -svf ${toprelpath}%{dictpath}.pwd %{BUILDROOT}%{libdir}/cracklib_dict.pwd
+                       ln -svf ${toprelpath}%{dictpath}.pwi %{BUILDROOT}%{libdir}/cracklib_dict.pwi
+               fi
        end
 end
 
@@ -81,17 +104,20 @@ packages
                description = %{summary}
 
                files
-                       /lib/cracklib
-                       /usr/share/dict*
+                       %{dictdir}
+                       %{dictpath}
                end
        end
 
        # We build an extra python package with the bindings for it.
        package python-cracklib
-               summary = Python bindings for ${thisapp}.
+               summary = Python bindings for %{thisapp}.
                description = %{summary}
 
-               files = /usr/lib*/python*
+               files
+                       /usr/lib/python*
+                       %{libdir}/python*
+               end
        end
 
        package %{name}-debuginfo