Files
haikuports/sys-process/at/at-3.2.5.recipe
augiedoggie 29c3b67529 at: add recipe for 3.2.5 (#10385)
The recipe needs the post-install script to fix directory and executable
permissions, similar to the `dma` recipe.
2024-04-30 17:48:19 -06:00

118 lines
2.9 KiB
Bash

SUMMARY="Queues jobs for later execution"
DESCRIPTION="This is the standard UNIX 'at' daemon which allows batch processing and queueing of \
jobs for later execution."
HOMEPAGE="https://packages.qa.debian.org/a/at.html"
COPYRIGHT="
1993-1997 Thomas Koenig
1993 David Parsons
2002-2005 Ryan Murray
1989-2007 Free Software Foundation Inc
"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="http://ftp.debian.org/debian/pool/main/a/at/at_$portVersion.orig.tar.gz"
CHECKSUM_SHA256="bb066b389d7c9bb9d84a35738032b85c30cba7d949f758192adc72c9477fd3b8"
PATCHES="at-$portVersion.patchset"
ADDITIONAL_FILES="
at-finish-setup.sh.in
atd.launch.in
"
GLOBAL_WRITABLE_FILES="settings/at.deny keep-old"
POST_INSTALL_SCRIPTS="$relativePostInstallDir/at-finish-setup.sh"
PACKAGE_USERS="
atd real-name \"atd daemon\" home \"/var/empty\" shell \"/bin/true\" groups \"atd\"
"
PACKAGE_GROUPS="atd"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
at$secondaryArchSuffix = $portVersion
cmd:at = $portVersion
cmd:atd = $portVersion
cmd:atq = $portVersion
cmd:atrm = $portVersion
cmd:atrun = $portVersion
cmd:batch = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
cmd:sendmail
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:autoheader
cmd:autoreconf
cmd:bison
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:m4
cmd:make
"
PATCH()
{
# we don't have a 'root' user or an existing 'atd' user/group so use UID/GID 0
sed -i \
-e 's,o root,o 0,' \
-e 's,g $(DAEMON_GROUPNAME),g 0,' \
-e 's,o $(DAEMON_USERNAME),o 0,' \
-e 's,$(DAEMON_USERNAME):$(DAEMON_GROUPNAME),0:0,' \
Makefile.in
# adjust documentation to match out layout
sed -i "s,/etc/at,$settingsDir/at," atd.8.in at.allow.5.in
}
BUILD()
{
autoreconf -vfi
# needed so the configure script detects where to put the pid file
mkdir -pv `finddir B_SYSTEM_VAR_DIRECTORY`/run
local spoolDir=`finddir B_SYSTEM_SPOOL_DIRECTORY`
SENDMAIL=/bin/sendmail \
runConfigure --omit-dirs "binDir sbinDir docDir" ./configure \
--bindir=$prefix/bin \
--sbindir=$prefix/bin \
--docdir=$documentationDir/packages \
--with-etcdir=$settingsDir \
--with-jobdir=$spoolDir/atjobs \
--with-atspool=$spoolDir/atspool \
--with-daemon_username=atd \
--with-daemon_groupname=atd
make $jobArgs
}
INSTALL()
{
make -k $jobArgs install
mkdir -pv $dataDir/launch
sed "s,@ATD_BIN@,$prefix/bin/atd," $portDir/additional-files/atd.launch.in \
> $dataDir/launch/atd.launch
# workarounds because you can't have files owned by a user that's created by the package
rm -rf $localStateDir
mkdir -pv $prefix/lib
mv -fv $prefix/bin/at $prefix/lib/at
ln -sfv `finddir B_SYSTEM_NONPACKAGED_LIB_DIRECTORY`/at $prefix/bin/at
mkdir -pv $postInstallDir
sed "s,@AT_BIN@,$prefix/lib/at," $portDir/additional-files/at-finish-setup.sh.in \
> $postInstallDir/at-finish-setup.sh
chmod +x $postInstallDir/at-finish-setup.sh
}