1SUMMARY="Standard UNIX cron daemon that runs specified programs at scheduled times"
2DESCRIPTION="Cronie contains the standard UNIX daemon crond that runs specified programs at \
3scheduled times and related tools. The source is based on the original vixie-cron and has \
4security and configuration enhancements."
5HOMEPAGE="https://github.com/cronie-crond/cronie/"
6COPYRIGHT="
7	1988-1994 Paul Vixie
8	1998-2024 Marcela Ma��l����ov��, Colin Dean, Tom���� Mr��z, Marco Migliori, Sami Kerola, and others
9	"
10LICENSE="
11	BSD (2-clause)
12	BSD (3-clause)
13	GNU GPL v2
14	ISC
15	MIT
16	"
17REVISION="3"
18SOURCE_URI="https://github.com/cronie-crond/cronie/archive/cronie-$portVersion.tar.gz"
19CHECKSUM_SHA256="241ecc1dcd8d4b2a6744fe93509932254d20b7bb9d979d27429809493806357f"
20SOURCE_DIR="cronie-cronie-$portVersion"
21PATCHES="cronie-$portVersion.patchset"
22ADDITIONAL_FILES="
23	0anacron
24	0hourly
25	anacrontab
26	cron.deny
27	crontab
28	cronie.launch.in
29	cronie-finish-setup.sh
30	"
31GLOBAL_WRITABLE_FILES="
32	settings/anacrontab keep-old
33	settings/cron.deny keep-old
34	settings/cron.d/0hourly keep-old
35	settings/cron.hourly/0anacron keep-old
36	settings/cron.daily directory keep-old
37	settings/cron.weekly directory keep-old
38	settings/cron.monthly directory keep-old
39	settings/crontab keep-old
40	"
41POST_INSTALL_SCRIPTS="$relativePostInstallDir/cronie-finish-setup.sh"
42
43PACKAGE_USERS="
44	crond real-name \"cron daemon user\" home \"/var/empty\" shell \"/bin/true\" groups \"crond\"
45	"
46PACKAGE_GROUPS="crond"
47
48ARCHITECTURES="all !x86_gcc2"
49SECONDARY_ARCHITECTURES="x86"
50
51commandBinDir=$binDir
52commandSuffix=$secondaryArchSuffix
53if [ "$targetArchitecture" = x86_gcc2 ]; then
54	commandSuffix=
55	commandBinDir=$prefix/bin
56fi
57
58PROVIDES="
59	cronie$secondaryArchSuffix = $portVersion
60	cmd:anacron$commandSuffix = $portVersion
61	cmd:crond$commandSuffix = $portVersion
62	cmd:cronnext$commandSuffix = $portVersion
63	cmd:crontab$commandSuffix = $portVersion
64	"
65REQUIRES="
66	haiku$secondaryArchSuffix
67	cmd:nice
68	cmd:run_parts
69	"
70CONFLICTS="
71	dcron
72	"
73
74BUILD_REQUIRES="
75	haiku${secondaryArchSuffix}_devel
76	"
77BUILD_PREREQUIRES="
78	cmd:aclocal
79	cmd:autoconf
80	cmd:autoheader
81	cmd:automake
82	cmd:gawk
83	cmd:make
84	cmd:gcc$secondaryArchSuffix
85	cmd:libtoolize$secondaryArchSuffix
86	"
87
88PATCH()
89{
90	# adjust documentation to match layout
91	sed -i \
92		-e "s,/etc/cron,$settingsDir/cron," \
93		-e "s,/etc/anacron,$settingsDir/anacron," \
94		man/*.{1,5,8}
95
96	# adjust sendmail path
97	sed -i "s,/usr/sbin/sendmail,/bin/sendmail," src/cron.c anacron/global.h
98}
99
100BUILD()
101{
102	./autogen.sh
103
104	CFLAGS="-D_PATH_STDPATH='\"`findpaths -c: B_FIND_PATH_BIN_DIRECTORY`\"'" \
105	MAILARG="/bin/sendmail" \
106	runConfigure --omit-dirs "binDir sbinDir" ./configure \
107		--bindir=$commandBinDir \
108		--sbindir=$commandBinDir \
109		--with-editor=nano \
110		--enable-anacron \
111		--with-daemon_username=crond \
112		--with-daemon_groupname=crond
113
114	make $jobArgs
115}
116
117INSTALL()
118{
119	make install
120
121	chmod u+s $commandBinDir/crontab
122
123	install -d $settingsDir/cron.{d,hourly,daily,weekly,monthly}
124
125	install -Dm0644 $portDir/additional-files/cron.deny $settingsDir/cron.deny
126	install -Dm0644 $portDir/additional-files/crontab $settingsDir/crontab
127	install -Dm0644 $portDir/additional-files/anacrontab $settingsDir/anacrontab
128	install -Dm0644 $portDir/additional-files/0hourly $settingsDir/cron.d/0hourly
129	install -Dm0755 $portDir/additional-files/0anacron $settingsDir/cron.hourly/0anacron
130
131	install -d $dataDir/launch
132	sed -e "s|@CROND_BIN@|$commandBinDir/crond|" \
133		$portDir/additional-files/cronie.launch.in > $dataDir/launch/cronie.launch
134
135	install -Dm0755 $portDir/additional-files/cronie-finish-setup.sh \
136		$postInstallDir/cronie-finish-setup.sh
137}
138