commit 2292b032708f124a099e298aed2bf8686cb6ec0f Author: CapCreeperGR Date: Thu Jul 4 17:08:36 2024 +0300 Initial Commit diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..99b94cc --- /dev/null +++ b/pkg.info @@ -0,0 +1,7 @@ +name: shadow +description: Password and account management tool suite +version: 4.14.5 +url: https://github.com/shadow-maint/shadow/ +license: BSD-3-Clause +architecture: any +type: source diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..9c8a715 --- /dev/null +++ b/source.sh @@ -0,0 +1,44 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +DOWNLOAD="https://github.com/shadow-maint/shadow/releases/download/${BPM_PKG_VERSION}/shadow-${BPM_PKG_VERSION}.tar.xz" +FILENAME="${DOWNLOAD##*/}" + +# The prepare function is executed in the root of the temp directory +# This function is used for downloading files and putting them into the correct location +prepare() { + wget "$DOWNLOAD" + tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + sed -i 's/groups$(EXEEXT) //' src/Makefile.in + find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; + find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; + find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; + + sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \ + -e 's:/var/spool/mail:/var/mail:' \ + -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ + -i etc/login.defs + mkdir -p "$BPM_OUTPUT"/usr/bin + touch "$BPM_OUTPUT"/usr/bin/passwd + ./configure --sysconfdir=/etc \ + --disable-static \ + --with-{b,yes}crypt \ + --without-libbsd \ + --with-group-name-max-length=32 + make +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + make DESTDIR="$BPM_OUTPUT" exec_prefix=/usr install + make -C man DESTDIR="$BPM_OUTPUT" install-man + mkdir -p "$BPM_OUTPUT"/usr/share/licenses/shadow + cp COPYING "$BPM_OUTPUT"/usr/share/licenses/shadow/COPYING +}