1 # Maintainer: taca <taca@kadisius.eu>
8 'nosh-service-management'
9 'nosh-service-management-extras'
10 'nosh-terminal-management'
11 'nosh-terminal-extras'
18 'nosh-service-command-shim'
23 'nosh-ucspi-tcp-shims'
25 #'nosh-logrotate-shims'
26 'nosh-bcron-as-cron-shims'
27 'nosh-desktop-bus-shims'
29 'nosh-debian-crontab-no-anacron'
30 'nosh-debian-crontab-anacron'
31 'nosh-run-system-manager'
32 'nosh-run-debian-desktop-base'
33 'nosh-run-debian-server-base'
36 'nosh-run-via-systemd'
37 'nosh-run-virtualbox-guest'
38 'nosh-run-freedesktop-system-bus'
39 'nosh-run-freedesktop-kits'
40 'nosh-run-openssh-server'
43 'nosh-run-systemd-udev'
44 'nosh-run-busybox-mdev'
45 'nosh-run-suckless-mdev'
47 'nosh-run-local-syslog'
53 pkgdesc="A suite of system-level utilities for initializing and running a BSD or Linux system, for managing daemons, for managing terminals, and for managing logging."
55 url="https://jdebp.eu/Softwares/nosh/index.html"
56 license=('custom:MIT Expat' 'custom:FreeBSD' 'custom:ISC' 'custom:Simplified BSD')
59 makedepends=('pax' 'docbook-xml' 'docbook-xsl' 'xmlto' 'redo-jdebp')
68 changelog="archnosh.changelog"
70 # packages with maintenance scripts
73 "nosh-desktop-bus-shims"
75 "nosh-run-busybox-mdev"
76 "nosh-run-debian-desktop-base"
77 "nosh-run-debian-server-base"
78 "nosh-run-freedesktop-kits"
79 "nosh-run-freedesktop-system-bus"
82 "nosh-run-local-syslog"
83 "nosh-run-openssh-server"
84 "nosh-run-suckless-mdev"
85 "nosh-run-systemd-udev"
86 "nosh-run-system-manager"
89 "nosh-run-via-systemd"
90 "nosh-run-virtualbox-guest"
91 "nosh-service-management"
94 # no point in distributing empty files, create them now, they are filled in later
95 for i in ${_pkginstalls[@]}
100 source=("https://jdebp.eu/Repository/freebsd/nosh-$pkgver.tar.gz"
102 "maintenance-scripts.patch"
103 "scriptletbuilder.sh"
106 "nosh-bundles.install"
107 "nosh-desktop-bus-shims.install"
108 "nosh-run-bcron.install"
109 "nosh-run-busybox-mdev.install"
110 "nosh-run-debian-desktop-base.install"
111 "nosh-run-debian-server-base.install"
112 "nosh-run-freedesktop-kits.install"
113 "nosh-run-freedesktop-system-bus.install"
114 "nosh-run-kernel-vt.install"
115 "nosh-run-klog.install"
116 "nosh-run-local-syslog.install"
117 "nosh-run-openssh-server.install"
118 "nosh-run-suckless-mdev.install"
119 "nosh-run-systemd-udev.install"
120 "nosh-run-system-manager.install"
121 "nosh-run-udev.install"
122 "nosh-run-user-vt.install"
123 "nosh-run-via-systemd.install"
124 "nosh-run-virtualbox-guest.install"
125 "nosh-service-management.install"
129 'cf89a5469d9e939dd1975f43f3d7997f389b78a35267253992e0307ece51cbc5' # nosh-1.38.tar.gz
130 '425edd614b1e9e5d7bf1fc45f71ce94e9782e8341066f7dbd2532e5c27ed2d2a' # staging.patch
131 '1713514f1e702b1fa663a84108c37d2cd28f70e1eea31e4c4ffb7d5ff940fa03' # maintenance-scripts.patch
132 '907d92546845ab087be38515fcbd04bec68b68a250534063695e73646241454c' # scriptletbuilder.sh
135 'SKIP' # nosh-bundles.install
136 'SKIP' # nosh-desktop-bus-shims.install
137 'SKIP' # nosh-run-bcron.install
138 'SKIP' # nosh-run-busybox-mdev.install
139 'SKIP' # nosh-run-debian-desktop-base.install
140 'SKIP' # nosh-run-debian-server-base.install
141 'SKIP' # nosh-run-freedesktop-kits.install
142 'SKIP' # nosh-run-freedesktop-system-bus.install
143 'SKIP' # nosh-run-kernel-vt.install
144 'SKIP' # nosh-run-klog.install
145 'SKIP' # nosh-run-local-syslog.install
146 'SKIP' # nosh-run-openssh-server.install
147 'SKIP' # nosh-run-suckless-mdev.install
148 'SKIP' # nosh-run-systemd-udev.install
149 'SKIP' # nosh-run-system-manager.install
150 'SKIP' # nosh-run-udev.install
151 'SKIP' # nosh-run-user-vt.install
152 'SKIP' # nosh-run-via-systemd.install
153 'SKIP' # nosh-run-virtualbox-guest.install
154 'SKIP' # nosh-service-management.install
160 # ncurses headers different to Debian layout, patch out the ncursesw directory in cpp Includes
161 # taken from https://github.com/atweiden/pkgbuilds/blob/master/nosh/PKGBUILD
162 msg2 "Fix ncurses header import issues"
163 cd "${srcdir}"/source
164 find . -type f -print0 | xargs -0 sed -i 's@ncursesw/curses\.h@curses.h@g'
166 # patch package/stage for Archlinux filesystem layout
167 msg2 "Align staging with Arch FS hierarchy guidelines"
169 patch -p1 -i "${srcdir}"/staging.patch
171 # patch debian maintenance scripts
172 msg2 "Adapting maintenance scripts"
173 cd "${srcdir}"/package/debian
174 sed -i 's@usr/local/lib@usr/lib@g' nosh-run-via-systemd.post_install.extra nosh-run-via-systemd.post_upgrade.extra
176 patch -p1 -i "${srcdir}"/maintenance-scripts.patch
181 msg2 "Building main source"
182 "${srcdir}"/package/compile
184 msg2 "Generating .install files"
185 source "${srcdir}"/scriptletbuilder.sh
186 for i in ${_pkginstalls[@]}
188 echo "Bulding $i.install"
189 _buildinstall $i > $i.install
192 msg2 "Staging packages"
193 # stage packages to 'staging' directory
194 "${srcdir}"/package/stage "${srcdir}" "${srcdir}"/staging
198 # no test available for the moment
199 msg "Checking skipped..."
202 package_nosh-common() {
204 # provide license (can't be done in each package, it creates file conflicts on install)
205 install -Dm 644 "${srcdir}"/source/COPYING "${pkgdir}"/usr/share/licenses/nosh/COPYING
209 # refactor the packaging, need special case for non-conforming package
210 for _pkg in ${pkgname[@]}
212 if test "$_pkg" != "nosh-common"
214 eval "package_${_pkg}() { _package $_pkg; }"
222 pkgdesc="User guide for the various nosh-* packages"
223 depends+=( 'nosh-common')
226 pkgdesc="Minimal non-shell script processor and various chain-load utilities useful for services"
227 depends+=( 'nosh-common')
228 conflicts+=( 'daemontools' 'daemontools-encore' 'nosh-bundles<=1.33')
230 nosh-service-management)
231 pkgdesc="Service and system management utilities"
232 depends+=( 'nosh-common' 'glibc>=2.13')
233 conflicts+=( 'nosh-bundles<=1.30' 'daemontools' 'daemontools-encore' )
234 install="nosh-service-management.install"
236 nosh-service-management-extras)
237 pkgdesc="Extra service and system management utilities"
238 depends+=( 'nosh-common' 'glibc>=2.13' )
239 conflicts+=( 'nosh-bundles<=1.30' )
241 nosh-terminal-management)
242 pkgdesc="Virtual terminal, pseudo-terminal, and TUI login tools"
243 depends+=( 'nosh-common' 'nosh-service-management>=1.14' )
244 conflicts+=( 'nosh-bundles<=1.20')
246 nosh-terminal-extras)
247 pkgdesc="Extra terminal utilities"
248 depends+=( 'nosh-common' 'nosh-terminal-management' )
251 pkgdesc="Z Shell completion functions for the nosh toolset"
252 depends+=( 'nosh-common')
253 optdepends=( 'zsh: for actual ZSH support' )
256 pkgdesc="BSD and System 5 shim service and system management utilities"
257 depends+=( 'nosh-common' 'nosh-service-management' )
258 conflicts+=( 'systemd-sysvcompat')
261 pkgdesc="Systemd shim service and system management utilities"
262 depends+=( 'nosh-common' 'nosh-service-management' )
263 #conflicts+=( 'systemd' ) # conflict not set, to allow selective pacman --overwrite
266 pkgdesc="Upstart shim service and system management utilities"
267 depends+=( 'nosh-common' 'nosh-service-management' )
270 pkgdesc="Execline utility shims"
271 depends+=( 'nosh-common' 'nosh-exec' )
272 conflicts+=( 'execline' )
275 pkgdesc="Core utility shims"
276 depends+=( 'nosh-common' 'nosh-exec' )
277 #conflicts+=( 'coreutils' 'util-linux' ) # conflict not set, to allow selective pacman --overwrite
279 nosh-service-command-shim)
280 pkgdesc="Shim for the old BSD and System 5 service command"
281 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-systemv-shims' )
282 conflicts+=( 'systemd-sysvcompat' 'sysvinit' 'nosh-systemv-shims<=1.36')
285 pkgdesc="Debian shim service and system management utilities"
286 depends+=( 'nosh-common' 'nosh-service-management' )
287 conflicts+=( 'upstart' 'sysvinit' 'systemd' )
290 pkgdesc="OpenBSD shim service and system management utilities"
291 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-systemv-shims>=1.28' )
292 conflicts+=( 'nosh-systemv-shims<=1.27')
295 pkgdesc="FreeBSD shim service and system management utilities"
296 depends+=( 'nosh-terminal-management' )
297 conflicts+=( 'nosh-systemv-shims<=1.27' )
300 pkgdesc="BSD shim service and system management utilities"
301 depends+=( 'nosh-common' 'nosh-service-management' )
302 conflicts+=( 'android-tools' )
304 nosh-ucspi-tcp-shims)
305 pkgdesc="Bernstein UCSPI-TCP shim service utilities"
306 depends+=( 'nosh-common' 'nosh-exec' )
307 conflicts+=( 'ucspi-tcp' 'nosh-exec<=1.32')
310 pkgdesc="Shim kbd utilities"
311 depends+=( 'nosh-common' 'nosh-terminal-management' )
314 #nosh-logrotate-shims)
315 # pkgdesc="Shim for the logrotate package"
316 # depends+=( 'nosh-common' 'nosh-bundles' )
318 nosh-bcron-as-cron-shims)
319 pkgdesc="Shim for the bcron package"
320 depends+=( 'nosh-common' 'bcron' )
322 nosh-desktop-bus-shims)
323 pkgdesc="Replacements for Desktop Bus utilities"
324 depends+=( 'nosh-common' 'nosh-exec>=1.38' )
325 install="nosh-desktop-bus-shims.install"
328 pkgdesc="Service bundles"
329 depends+=( 'nosh-common' 'nosh-service-management>=1.38' 'nosh-exec>=1.38' 'nosh-terminal-management>=1.22' 'shadow' )
330 install="nosh-bundles.install"
332 nosh-debian-crontab-no-anacron)
333 pkgdesc="Debian common crontab (not-anacron version)"
334 depends+=( 'nosh-common' )
335 conflicts+=( 'anacron' 'nosh-debian-crontab-anacron' )
337 nosh-debian-crontab-anacron)
338 pkgdesc="Debian common crontab (anacron version)"
339 depends+=( 'nosh-common' )
340 conflicts+=( 'nosh-debian-crontab-no-anacron' )
342 nosh-run-system-manager)
343 pkgdesc="Run the nosh system manager"
344 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'nosh-exec' 'nosh-bundles' 'redo-jdebp' )
345 conflicts+=( 'nosh-run-via-systemd' 'upstart' 'sysvinit' 'systemd-sysvcompat') #'systemd'
346 install="nosh-run-system-manager.install"
348 nosh-run-debian-desktop-base)
349 pkgdesc="Run the local syslog service"
350 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.33' 'nosh-terminal-management' )
351 conflicts+=( 'nosh-run-debian-server-base' 'nosh-bundles<=1.32')
352 install="nosh-run-debian-desktop-base.install"
353 backup=( 'usr/share/system-control/presets/90-linux-static-networking.preset'
354 'usr/share/system-control/presets/50-Debian-Server-Basic.preset'
355 'usr/share/system-control/presets/50-Debian-Desktop-Basic.preset'
356 'usr/share/system-control/presets/90-linux-boot-essentials.preset'
357 'usr/share/system-control/presets/90-common-boot-essentials.preset'
360 nosh-run-debian-server-base)
361 pkgdesc="Run the local syslog service"
362 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.33' 'nosh-terminal-management' )
363 conflicts+=( 'nosh-run-debian-desktop-base' 'nosh-bundles<=1.32')
364 install="nosh-run-debian-server-base.install"
365 backup=( 'usr/share/system-control/presets/90-linux-static-networking.preset'
366 'usr/share/system-control/presets/50-Debian-Server-Basic.preset'
367 'usr/share/system-control/presets/90-linux-boot-essentials.preset'
368 'usr/share/system-control/presets/90-common-boot-essentials.preset'
372 pkgdesc="Run old-style kernel virtual terminals"
373 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-terminal-management' 'nosh-bundles' )
374 install="nosh-run-kernel-vt.install"
375 backup=( 'usr/share/system-control/presets/80-linux-ttylogin-tty.preset'
376 'usr/share/system-control/presets/80-enable-kernel-vt.preset'
380 pkgdesc="Run new-style application-mode virtual terminals"
381 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-terminal-management' 'nosh-bundles' )
382 install="nosh-run-user-vt.install"
383 backup=( 'usr/share/system-control/presets/80-enable-user-vt.preset'
384 'usr/share/system-control/presets/80-linux-ttylogin-vc.preset'
387 nosh-run-via-systemd)
388 pkgdesc="Run the nosh service manager and daemontools service scanner via systemd"
389 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'systemd' 'nosh-bundles' )
390 install="nosh-run-via-systemd.install"
391 backup=( 'usr/share/system-control/presets/80-disable-sysinit.preset'
392 'usr/share/system-control/presets/80-disable-dbus.preset'
393 'usr/share/system-control/presets/80-disable-local-syslog.preset'
394 'usr/share/system-control/presets/80-disable-remote-fs.preset'
395 'usr/share/system-control/presets/80-disable-networking.preset'
396 'usr/lib/systemd/system/service-manager-svscan.path'
397 'usr/lib/systemd/system/system-control-normal.service'
398 'usr/lib/systemd/system/service-manager.socket'
399 'usr/lib/systemd/system/service-manager-svscan.service'
400 'usr/lib/systemd/system/vc-getty@.service'
401 'usr/lib/systemd/system/service-manager.service'
402 'usr/lib/tmpfiles.d/terminal-emulator.conf'
403 'usr/lib/tmpfiles.d/service-manager.conf'
404 'usr/lib/tmpfiles.d/system-manager.conf'
407 nosh-run-virtualbox-guest)
408 pkgdesc="Run VirtualBox guest additions"
409 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
410 install="nosh-run-virtualbox-guest.install"
411 backup=( 'usr/share/system-control/presets/80-virtualbox-guest.preset' )
413 nosh-run-freedesktop-system-bus)
414 pkgdesc="Run the system-wide message bus from freedesktop.org"
415 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
416 install="nosh-run-freedesktop-system-bus.install"
417 backup=('usr/share/system-control/presets/80-enable-freedesktop-system-bus.preset' )
419 nosh-run-freedesktop-kits)
420 pkgdesc="Run the various "kit" programs from freedesktop.org"
421 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
422 install="nosh-run-freedesktop-kits.install"
423 backup=( 'usr/share/system-control/presets/40-PackageKit.preset'
424 'usr/share/system-control/presets/40-PolicyKit.preset'
425 'usr/share/system-control/presets/40-UPower.preset'
426 'usr/share/system-control/presets/40-ColourManager.preset'
427 'usr/share/system-control/presets/40-ConsoleKit.preset'
428 'usr/share/system-control/presets/40-UDisks.preset'
429 'usr/share/system-control/presets/40-NetworkManager.preset'
430 'usr/share/system-control/presets/40-ModemManager.preset'
431 'usr/share/system-control/presets/40-Avahi.preset'
434 nosh-run-openssh-server)
435 pkgdesc="Run the OpenSSH server"
436 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
437 install="nosh-run-openssh-server.install"
438 backup=( 'usr/share/system-control/presets/40-OpenSSHServer.preset' )
441 pkgdesc="Run the various AppleTalk service"
442 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
443 backup=( 'usr/share/system-control/presets/40-AppleTalk.preset' )
446 pkgdesc="Run udev as the device manager"
447 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
448 optdepends+=( 'eudev: alternative udev implementation' )
449 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
450 install="nosh-run-udev.install"
451 backup=( 'usr/share/system-control/presets/80-enable-udev.preset' )
453 nosh-run-systemd-udev)
454 pkgdesc="Run systemd-udev as the device manager"
455 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.34' 'systemd')
456 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-udev')
457 install="nosh-run-systemd-udev.install"
458 backup=( 'usr/share/system-control/presets/80-enable-systemd-udev.preset' )
460 nosh-run-busybox-mdev)
461 pkgdesc="Run BusyBox mdev as the device manager"
462 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'busybox')
463 conflicts+=('nosh-run-udev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
464 install="nosh-run-busybox-mdev.install"
465 backup=( 'usr/share/system-control/presets/80-enable-busybox-mdev.preset' )
467 nosh-run-suckless-mdev)
468 pkgdesc="Run SuckLess mdev as the device manager"
469 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'smdev')
470 conflicts+=('nosh-run-udev' 'nosh-run-busybox-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
471 install="nosh-run-suckless-mdev.install"
472 backup=( 'usr/share/system-control/presets/80-enable-suckless-mdev.preset' )
475 pkgdesc="Run vdev as the device manager"
476 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management' 'nosh-bundles' 'vdev-git')
477 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-udev' 'nosh-run-systemd-udev')
478 # no run script so far
479 # install="nosh-run-vdev.install"
480 backup=( 'usr/share/system-control/presets/80-enable-vdev.preset' )
482 nosh-run-local-syslog)
483 pkgdesc="Run the local syslog service"
484 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
485 conflicts+=( 'systemd-sysvcompat' )
486 install="nosh-run-local-syslog.install"
487 backup=( 'usr/share/system-control/presets/80-enable-local-syslog.preset' )
490 pkgdesc="Run the klog service"
491 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
492 conflicts+=( 'systemd-sysvcompat' )
493 install="nosh-run-klog.install"
494 backup=( 'usr/share/system-control/presets/80-enable-klog.preset' )
497 pkgdesc="Run the bcron services"
498 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'bcron' )
499 conflicts=( 'bcron-run' )
500 provides=( 'bcron-run' )
504 # copy over the staging files
505 (cd "${srcdir}"/staging/"${1}"/ && pax -r -w -l -- * "${pkgdir}"/)