From bae287fb4e1d1cce203d6dc653b6fcc19f7fbdee Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Nov 25 2008 21:01:58 +0000 Subject: cleanup crack so it meets FHS --- diff --git a/crack-FHS.patch b/crack-FHS.patch new file mode 100644 index 0000000..a52b3c9 --- /dev/null +++ b/crack-FHS.patch @@ -0,0 +1,96 @@ +diff -up c50a/Crack.FHS c50a/Crack +--- c50a/Crack.FHS 2008-11-25 14:21:34.000000000 -0500 ++++ c50a/Crack 2008-11-25 14:25:49.000000000 -0500 +@@ -36,7 +36,8 @@ node=`uname -n` + + old_wd=`pwd` + +-CRACK_HOME=${CRACK_HOME:-"/var/lib/crack"} ++CRACK_HOME=${CRACK_HOME:-"/usr/share/crack"} ++CRACK_BIN_HOME=${CRACK_BIN_HOME:-"/usr/libexec/crack/"} + + if cd $CRACK_HOME + then +@@ -47,6 +48,7 @@ else + fi + + export CRACK_HOME ++export CRACK_BIN_HOME + + ### + # Flagwaving +@@ -56,6 +58,7 @@ echo "Crack $version: The Password Crack + echo "(c) Alec Muffett, 1991, 1992, 1993, 1994, 1995, 1996" + echo "System:" `uname -a 2>/dev/null` + echo "Home: $CRACK_HOME" ++echo "Script Home: $CRACK_BIN_HOME" + echo "Invoked: $0 $*" + + ### +@@ -205,7 +208,7 @@ fi + # Reset PATH in advance + ### + +-PATH=$CRACK_HOME/scripts:$CRACK_HOME/$bindir:$PATH ++PATH=$CRACK_HOME/scripts:$CRACK_BIN_HOME/$bindir:$PATH + export PATH + + ### +@@ -222,7 +225,7 @@ fi + # Make the dictionary passes + ### + +-dp=run/dict ++dp=$CRACK_HOME/run/dict + dplf=$dp/.dictmade + + if [ ! -f $dplf ] +@@ -253,21 +256,21 @@ fi + ### + + # F-files are feedback +-crackin=run/I$node.$$ # I-files are input to the cracker +-crackfb=run/D.boot.$$ # D-files are data from the cracker/fb +-crackout=run/D$node.$$ +-crackerr=run/E$node.$$ # E-files are errors from the cracker ++crackin=$CRACK_HOME/run/I$node.$$ # I-files are input to the cracker ++crackfb=$CRACK_HOME/run/D.boot.$$ # D-files are data from the cracker/fb ++crackout=$CRACK_HOME/run/D$node.$$ ++crackerr=$CRACK_HOME/run/E$node.$$ # E-files are errors from the cracker + + if [ "x$killflag" = "x" ] + then +- crackkf=run/K$node.$$ # K-files are kill file for 'plaster' ++ crackkf=$CRACK_HOME/run/K$node.$$ # K-files are kill file for 'plaster' + else + crackkf=$killflag + fi + + if [ "x$mailflag" != "x" ] + then +- crackmf=run/M$node.$$ # M-files are for mail commands ++ crackmf=$CRACK_HOME/run/M$node.$$ # M-files are for mail commands + fi + + +@@ -302,7 +305,7 @@ then + echo "Crack: Merging password files..." + + ( +- cat run/F-merged # first the feedback ++ cat $CRACK_HOME/run/F-merged # first the feedback + + while [ "x$1" != "x" ] + do +diff -up c50a/Reporter.FHS c50a/Reporter +--- c50a/Reporter.FHS 2008-11-25 14:36:48.000000000 -0500 ++++ c50a/Reporter 2008-11-25 14:36:30.000000000 -0500 +@@ -10,7 +10,7 @@ + # document which accompanies distributions of Crack v5.0 and upwards. + ### + +-CRACK_HOME=${CRACK_HOME:-"/var/lib/crack"} ++CRACK_HOME=${CRACK_HOME:-"/usr/share/crack"} + cd $CRACK_HOME + + tfile=run/T$$ diff --git a/crack.spec b/crack.spec index 85da2e3..60d50d4 100644 --- a/crack.spec +++ b/crack.spec @@ -1,11 +1,12 @@ Summary: Password cracker Name: crack Version: 5.0a -Release: 8%{?dist} +Release: 9%{?dist} License: Artistic clarified Group: Applications/System Source: ftp://ftp.cerias.purdue.edu/pub/tools/unix/pwdutils/crack/%{name}5.0.tar.gz -Patch: %{name}-chris.patch +Patch0: %{name}-chris.patch +Patch1: %{name}-FHS.patch URL: http://www.crypticide.com/users/alecm/security/c50-faq.html BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: words, gawk @@ -17,7 +18,7 @@ password file, looking for users who have misguidedly chosen a weak login password. This package creates a group named "crack" and the Crack program puts all -its results in the /var/lib/crack/run directory, which belongs to that group. +its results in the /usr/share/crack/run directory, which belongs to that group. Only users in the crack group can use this package. @@ -31,23 +32,27 @@ ln src/util/elcid.c,bsd src/util/elcid.c mkdir run bin # Try not to pollute bin namespace sed -i -e 's/Reporter/CrackReporter/g' doc/gui.txt manual.html manual.txt -%patch -p1 -b .chris +%patch0 -p1 -b .chris sed -i 's|/usr/dict/|/usr/share/dict/|g' conf/dictgrps.conf - +# Alter script to use FHS layout +%patch1 -p1 -b .FHS %build C5FLAGS="-D_XOPEN_SOURCE -DUSE_STRING_H -DUSE_STDLIB_H -DUSE_SIGNAL_H -DUSE_SYS_TYPES_H -DUSE_UNISTD_H -DUSE_PWD_H" make XDIR=../../bin XCC=gcc XCFLAGS="$RPM_OPT_FLAGS $C5FLAGS" XLIBS=-lcrypt utils -CRACK_HOME=. ./Crack -makedict +CRACK_HOME=`pwd` CRACK_BIN_HOME=`pwd` ./Crack -makedict %install rm -rf $RPM_BUILD_ROOT rm -f bin/libc5.a bin/stdlib-cracker -mkdir -p $RPM_BUILD_ROOT/var/lib/crack -cp -a bin conf dict run scripts $RPM_BUILD_ROOT/var/lib/crack -install -D Crack $RPM_BUILD_ROOT%{_bindir}/Crack -install Reporter $RPM_BUILD_ROOT%{_bindir}/CrackReporter +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} +mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/%{name} +cp -a bin $RPM_BUILD_ROOT%{_libexecdir}/%{name} +cp -a conf dict run scripts $RPM_BUILD_ROOT%{_datadir}/%{name} +install -p -m0755 Crack $RPM_BUILD_ROOT%{_bindir}/Crack +install -p -m0755 Reporter $RPM_BUILD_ROOT%{_bindir}/CrackReporter %clean @@ -63,19 +68,22 @@ fi %files %defattr(-, root, root) %doc LICENCE manual.* doc -%attr(00750, root, crack) %{_bindir}/* -%dir /var/lib/crack/ -/var/lib/crack/bin/ -/var/lib/crack/conf/ -/var/lib/crack/dict/ -/var/lib/crack/scripts/ -%attr(02770, root, crack) %dir /var/lib/crack/run/ -%attr(02770, root, crack) %dir /var/lib/crack/run/dict/ -%attr(00640, root, crack) /var/lib/crack/run/dict/* -%attr(00640, root, crack) /var/lib/crack/run/dict/.dictmade +%attr(00750, root, crack) %{_bindir}/Crack* +%{_libexecdir}/%{name}/ +%dir %{_datadir}/%{name}/ +%attr(02770, root, crack) %dir %{_datadir}/%{name}/run/ +%attr(02770, root, crack) %dir %{_datadir}/%{name}/run/dict/ +%attr(00640, root, crack) %{_datadir}/%{name}/run/dict/* +%attr(00640, root, crack) %{_datadir}/%{name}/run/dict/.dictmade +%{_datadir}/%{name}/conf/ +%{_datadir}/%{name}/dict/ +%{_datadir}/%{name}/scripts/ %changelog +* Tue Nov 25 2008 Tom "spot" Callaway - 5.0a-9 +- rework spec file so that it meets FHS + * Mon Feb 18 2008 Fedora Release Engineering - 5.0a-8 - Autorebuild for GCC 4.3