# shadow/cfg - "Build" settings for package

#---------------------------------------------------------------------

[technotes]

1. As of Fall 2021,  "shadow" 9.X  couldn't be built.  However,  as of
Fall 2022, it was possible to build  "shadow" 12.X.

#---------------------------------------------------------------------

[buildtimes]

00.01 hours (or 000.73 minutes) - HP EliteBook 8560w 32GB RAM
00.01 hours (or 000.87 minutes) - 2021 L.A. dedi box: 6x2 CPU 32GB RAM
00.02 hours (or 001.08 minutes) - Dell Inspiron 6400 2.0 GHz Intel Duo
                                  7200 2GB RAM
00.02 hours (or 001.35 minutes) - ThinkPad E540 i7 4x2 16GB RAM
00.07 hours (or 004.05 minutes) - Compaq 1.7 GHz Intel Pentium 4 512MB
                                  RAM

#---------------------------------------------------------------------

[settings]
build   = default
license = See "license*.txt" in installed tree
licfile = COPYING
master  = yes

#---------------------------------------------------------------------

[depends]
actools
bison3
coreutils
cracklib:forward
diffutils
gawk

#---------------------------------------------------------------------

[configure]
LIBDIR=$PKGDIR_PROD/lib
MANBASE=$PKGDIR_PROD/man
mkdir -p $LIBDIR $MANBASE

rm -fr po

touch     autopoint
chmod 755 autopoint
PATH=`pwd`:$PATH
autoreconf -v -f --install

sed -e 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' \
    -i etc/login.defs
sed -e 's/groups$(EXEEXT) //' \
    -i src/Makefile.in

find man -name Makefile.in -exec sed -e 's/groups\.1 / /'   -i {} \;
find man -name Makefile.in -exec sed -e 's/getspnam\.3 / /' -i {} \;
find man -name Makefile.in -exec sed -e 's/passwd\.5 / /'   -i {} \;

bash ./configure CFLAGS="-O2" \
    --prefix=$PKGDIR_PROD            \
    --build=$LACARCHBUILD            \
    --host=$LACARCHHOST              \
    --enable-maintainer-mode         \
    --disable-dependency-tracking    \
    --disable-nls                    \
    --enable-static                  \
    --disable-shared                 \
    --disable-man                    \
    --libdir=$LIBDIR                 \
    --mandir=$MANBASE                \
    --sysconfdir=/etc                \
    --with-group-name-max-length=32  \
    --with-cracklib                  \
    --without-libbsd                 \
    --without-libpam                 \
    --without-selinux

#---------------------------------------------------------------------

# Reason for  deleting the  "groups" program:  "coreutils"  provides a
# better one.

# Reason for "/etc/default" directory: "useradd -D" requires this dir-
# ectory.

[postbuild]
ADDUSER=$PKGDIR_PROD/sbin/adduser
cp -p     $PKGDIR_SPECIAL/adduser $ADDUSER
chmod 755                         $ADDUSER

DELUSER=$PKGDIR_PROD/sbin/deluser
cp -p     $PKGDIR_SPECIAL/deluser $DELUSER
chmod 755                         $DELUSER

rm -fr $PKGDIR_PROD/man/??
rm -fr $PKGDIR_PROD/man/*_*

DEFDIR=$PKGDIR_PROD/etc/default
mkdir -p $DEFDIR
echo 'This file is a placeholder' > $DEFDIR/placeholder.dat

rm -f $PKGDIR_PROD/bin/groups
cp -p $PKGDIR_BUILD/etc/{limits,login.access} $PKGDIR_PROD/etc/

sed -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
    -e 's@/var/spool/mail@/var/mail@' \
    < $PKGDIR_BUILD/etc/login.defs \
    >  $PKGDIR_PROD/etc/login.defs

#---------------------------------------------------------------------

[setup.boot]
pwconv
grpconv

#---------------------------------------------------------------------

# Original URLs. These URLs were valid at one point, but may have died
# since then. If you download newer versions of tarballs [etc.], don't
# delete  the  original versions,  as you may not  be able  to replace
# them.

[urls]
url_debian  = tbd
url_home    = http://shadow.pld.org.pl/

url_tarball = https://github.com/shadow-maint/shadow/releases/\
download/4.17.3/shadow-4.17.3.tar.xz

url_lfs     = http://www.linuxfromscratch.org/lfs/view/stable/\
chapter06/shadow.html

#---------------------------------------------------------------------

[history]
180412 Updated from 4.0.14 to 4.5
180430 Updated to 4.6
181026 Updated to ff8b1ebaf ("git" hash)
210222 Updated to 4.8.1
220815 Updated to 4.12.1
220820 Updated to 4.12.2
220822 Updated to 4.12.3
240324 Updated to 4.15.1
240630 Updated to 4.15.3
250225 Updated to 4.17.3