cracklib/cracklib.spec

Tue, 28 Aug 2012 18:34:50 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 28 Aug 2012 18:34:50 +0200
changeset 572
97e49dc59b23
child 573
37c544fc0159
permissions
-rw-r--r--

Import package vendor original specs for necessary manipulations.

     1 ##
     2 ##  cracklib.spec -- OpenPKG RPM Package Specification
     3 ##  Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/>
     4 ##
     5 ##  Permission to use, copy, modify, and distribute this software for
     6 ##  any purpose with or without fee is hereby granted, provided that
     7 ##  the above copyright notice and this permission notice appear in all
     8 ##  copies.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    24 #   package information
    25 Name:         cracklib
    26 Summary:      Filter Guessable Passwords
    27 URL:          http://cracklib.sourceforge.net/
    28 Vendor:       Alec Muffett et al.
    29 Packager:     OpenPKG Foundation e.V.
    30 Distribution: OpenPKG Community
    31 Class:        PLUS
    32 Group:        Security
    33 License:      Artistic
    34 Version:      2.8.19
    35 Release:      20120519
    37 #   list of sources
    38 Source0:      http://switch.dl.sourceforge.net/cracklib/cracklib-%{version}.tar.gz
    39 Source1:      http://switch.dl.sourceforge.net/cracklib/cracklib-words.gz
    40 Source2:      ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/common-passwords.txt.gz
    41 Source3:      ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Jargon.gz
    42 Source4:      http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/web2
    43 Source5:      http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/web2a
    44 Source6:      http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/propernames
    45 Source7:      Makefile
    47 #   build information
    48 BuildPreReq:  OpenPKG, openpkg >= 20100101, make
    49 PreReq:       OpenPKG, openpkg >= 20100101, make
    51 %description
    52     CrackLib is a library which may be used in a "passwd"-like program.
    53     The idea is simple: try to prevent users from choosing passwords
    54     that could be guessed by "Crack" by filtering them out, at source.
    56 %track
    57     prog cracklib = {
    58         version   = %{version}
    59         url       = http://sourceforge.net/projects/cracklib/files/
    60         regex     = cracklib-(__VER__)\.tar\.gz
    61     }
    63 %prep
    64     %setup -q
    66 %build
    67     #   configure library
    68     CC="%{l_cc}" \
    69     CFLAGS="%{l_cflags -O}" \
    70     ./configure \
    71         --prefix=%{l_prefix} \
    72         --with-default-dict=%{l_prefix}/lib/cracklib/pw_dict \
    73         --without-python \
    74         --disable-shared \
    75         --disable-nls
    77     #   build library
    78     %{l_make} %{l_mflags}
    80 %install
    81     #   install library
    82     %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
    84     #   strip down installation files
    85     rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/create-cracklib-dict
    86     rm -f $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib.magic
    88     #   install dictionaries
    89     mv  $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small \
    90         $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small.txt
    91     %{l_gzip} -d -c %{SOURCE cracklib-words.gz} \
    92         >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-large.txt
    93     %{l_gzip} -d -c %{SOURCE common-passwords.txt.gz} \
    94         >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/common-passwords.txt
    95     %{l_gzip} -d -c %{SOURCE Jargon.gz} \
    96         >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/jargon-words.txt
    97     cp %{SOURCE web2} \
    98         $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2.txt
    99     cp %{SOURCE web2a} \
   100         $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2a.txt
   101     cp %{SOURCE propernames} \
   102         $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-propernames.txt
   104     #   install dictionary generation stuff
   105     %{l_shtool} install -c -m 644 %{l_value -s -a} \
   106         %{SOURCE Makefile} $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/
   107     %{l_shtool} mkdir -f -p -m 755 \
   108         $RPM_BUILD_ROOT%{l_prefix}/lib/cracklib
   110     #   determine installation files
   111     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
   113 %files -f files
   115 %clean
   117 %post
   118     #   (re-)generate run-time password dictionary
   119     ( echo "(Re-)Generating run-time password dictionary"
   120     ) | %{l_rpmtool} msg -b -t warn
   121     ( cd $RPM_INSTALL_PREFIX/share/cracklib && \
   122       $RPM_INSTALL_PREFIX/bin/make
   123     ) >/dev/null 2>&1
   125 %preun
   126     if [ $1 -eq 0 ]; then
   127         rm -f $RPM_INSTALL_PREFIX/share/cracklib/* >/dev/null 2>&1 || true
   128     fi

mercurial