1 # Maintainer: taca <taca@kadisius.eu>
8 'nosh-service-management'
9 'nosh-service-management-extras'
10 'nosh-terminal-management'
11 'nosh-terminal-extras'
19 'nosh-service-command-shim'
25 'nosh-ucspi-tcp-shims'
27 'nosh-net-tools-shims'
28 #'nosh-logrotate-shims'
29 'nosh-bcron-as-cron-shims'
30 'nosh-desktop-bus-shims'
32 'nosh-debian-crontab-no-anacron'
33 'nosh-debian-crontab-anacron'
34 'nosh-run-system-manager'
35 'nosh-run-debian-desktop-base'
36 'nosh-run-debian-server-base'
39 'nosh-run-via-open-rc'
40 'nosh-run-via-systemd'
41 'nosh-run-virtualbox-guest'
42 'nosh-run-freedesktop-system-bus'
43 'nosh-run-freedesktop-kits'
44 'nosh-run-openssh-server'
47 'nosh-run-systemd-udev'
48 'nosh-run-busybox-mdev'
49 'nosh-run-suckless-mdev'
52 'nosh-run-local-syslog'
58 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."
60 url="https://jdebp.eu/Softwares/nosh/index.html"
61 license=('custom:MIT Expat' 'custom:FreeBSD' 'custom:ISC' 'custom:Simplified BSD')
64 makedepends=('pax' 'docbook-xml' 'docbook-xsl' 'xmlto' 'redo-jdebp')
73 changelog="archnosh.changelog"
75 # packages with maintenance scripts
78 "nosh-desktop-bus-shims"
80 "nosh-run-busybox-mdev"
81 "nosh-run-debian-desktop-base"
82 "nosh-run-debian-server-base"
83 "nosh-run-freedesktop-kits"
84 "nosh-run-freedesktop-system-bus"
87 "nosh-run-local-syslog"
88 "nosh-run-openssh-server"
89 "nosh-run-suckless-mdev"
90 "nosh-run-systemd-udev"
91 "nosh-run-system-manager"
94 "nosh-run-via-open-rc"
95 "nosh-run-via-systemd"
96 "nosh-run-virtualbox-guest"
99 # no point in distributing empty files, create them now, they are filled in later
100 for i in ${_pkginstalls[@]}
105 source=("https://jdebp.eu/Repository/freebsd/nosh-$pkgver.tar.gz"
107 "maintenance-scripts.patch"
108 "scriptletbuilder.sh"
111 "nosh-bundles.install"
112 "nosh-desktop-bus-shims.install"
113 "nosh-run-bcron.install"
114 "nosh-run-busybox-mdev.install"
115 "nosh-run-debian-desktop-base.install"
116 "nosh-run-debian-server-base.install"
117 "nosh-run-freedesktop-kits.install"
118 "nosh-run-freedesktop-system-bus.install"
119 "nosh-run-kernel-vt.install"
120 "nosh-run-klog.install"
121 "nosh-run-local-syslog.install"
122 "nosh-run-openssh-server.install"
123 "nosh-run-suckless-mdev.install"
124 "nosh-run-systemd-udev.install"
125 "nosh-run-system-manager.install"
126 "nosh-run-udev.install"
127 "nosh-run-user-vt.install"
128 "nosh-run-via-systemd.install"
129 "nosh-run-via-open-rc.install"
130 "nosh-run-virtualbox-guest.install"
134 '263982c4ba2889f823f9d4be6ac2daafd1af5b341f9e02f2ed7b28b0788e02c3' # nosh-1.40.tar.gz
135 '21f94e9eb2ddb4f3e1590177f62385b30a263fc43281b5d4cace38abb7723bb5' # staging.patch
136 '1713514f1e702b1fa663a84108c37d2cd28f70e1eea31e4c4ffb7d5ff940fa03' # maintenance-scripts.patch
137 '907d92546845ab087be38515fcbd04bec68b68a250534063695e73646241454c' # scriptletbuilder.sh
140 'SKIP' # nosh-bundles.install
141 'SKIP' # nosh-desktop-bus-shims.install
142 'SKIP' # nosh-run-bcron.install
143 'SKIP' # nosh-run-busybox-mdev.install
144 'SKIP' # nosh-run-debian-desktop-base.install
145 'SKIP' # nosh-run-debian-server-base.install
146 'SKIP' # nosh-run-freedesktop-kits.install
147 'SKIP' # nosh-run-freedesktop-system-bus.install
148 'SKIP' # nosh-run-kernel-vt.install
149 'SKIP' # nosh-run-klog.install
150 'SKIP' # nosh-run-local-syslog.install
151 'SKIP' # nosh-run-openssh-server.install
152 'SKIP' # nosh-run-suckless-mdev.install
153 'SKIP' # nosh-run-systemd-udev.install
154 'SKIP' # nosh-run-system-manager.install
155 'SKIP' # nosh-run-udev.install
156 'SKIP' # nosh-run-user-vt.install
157 'SKIP' # nosh-run-via-systemd.install
158 'SKIP' # nosh-run-via-open-rc.install
159 'SKIP' # nosh-run-virtualbox-guest.install
165 # ncurses headers different to Debian layout, patch out the ncursesw directory in cpp Includes
166 # taken from https://github.com/atweiden/pkgbuilds/blob/master/nosh/PKGBUILD
167 msg2 "Fix ncurses header import issues"
168 cd "${srcdir}"/source
169 find . -type f -print0 | xargs -0 sed -i 's@ncursesw/curses\.h@curses.h@g'
171 # patch package/stage for Archlinux filesystem layout
172 msg2 "Align staging with Arch FS hierarchy guidelines"
174 patch -p1 -i "${srcdir}"/staging.patch
176 # patch debian maintenance scripts
177 msg2 "Adapting maintenance scripts"
178 cd "${srcdir}"/package/debian
179 sed -i 's@usr/local/lib@usr/lib@g' nosh-run-via-systemd.post_install.extra nosh-run-via-systemd.post_upgrade.extra
181 patch -p1 -i "${srcdir}"/maintenance-scripts.patch
186 msg2 "Building main source"
187 "${srcdir}"/package/compile
189 msg2 "Generating .install files"
190 source "${srcdir}"/scriptletbuilder.sh
191 for i in ${_pkginstalls[@]}
193 echo "Bulding $i.install"
194 _buildinstall $i > $i.install
197 msg2 "Staging packages"
198 # stage packages to 'staging' directory
199 "${srcdir}"/package/stage "${srcdir}" "${srcdir}"/staging
203 # no test available for the moment
204 msg "Checking skipped..."
207 package_nosh-common() {
209 # provide license (can't be done in each package, it creates file conflicts on install)
210 install -Dm 644 "${srcdir}"/source/COPYING "${pkgdir}"/usr/share/licenses/nosh/COPYING
214 # refactor the packaging, need special case for non-conforming package
215 for _pkg in ${pkgname[@]}
217 if test "$_pkg" != "nosh-common"
219 eval "package_${_pkg}() { _package $_pkg; }"
227 pkgdesc="User guide for the various nosh-* packages"
228 depends+=( 'nosh-common')
231 pkgdesc="Minimal non-shell script processor and various chain-load utilities useful for services"
232 depends+=( 'nosh-common')
233 conflicts+=( 'daemontools' 'daemontools-encore' 'nosh-bundles<=1.33')
235 nosh-service-management)
236 pkgdesc="Service and system management utilities"
237 depends+=( 'nosh-common' 'glibc>=2.13')
238 conflicts+=( 'nosh-bundles<=1.30' 'daemontools' 'daemontools-encore' )
240 nosh-service-management-extras)
241 pkgdesc="Extra service and system management utilities"
242 depends+=( 'nosh-common' 'glibc>=2.13' )
243 conflicts+=( 'nosh-bundles<=1.30' )
245 nosh-terminal-management)
246 pkgdesc="Virtual terminal, pseudo-terminal, and TUI login tools"
247 depends+=( 'nosh-common' 'nosh-service-management>=1.14' )
248 conflicts+=( 'nosh-bundles<=1.20')
250 nosh-terminal-extras)
251 pkgdesc="Extra terminal utilities"
252 depends+=( 'nosh-common' 'nosh-terminal-management' )
255 pkgdesc="Z Shell completion functions for the nosh toolset"
256 depends+=( 'nosh-common')
257 optdepends=( 'zsh: for actual ZSH support' )
260 pkgdesc="BSD and System 5 shim service and system management utilities"
261 depends+=( 'nosh-common' 'nosh-service-management' )
262 conflicts+=( 'systemd-sysvcompat')
265 pkgdesc="Systemd shim service and system management utilities"
266 depends+=( 'nosh-common' 'nosh-service-management' )
267 #conflicts+=( 'systemd' ) # conflict not set, to allow selective pacman --overwrite
270 pkgdesc="Upstart shim service and system management utilities"
271 depends+=( 'nosh-common' 'nosh-service-management' )
274 pkgdesc="Execline utility shims"
275 depends+=( 'nosh-common' 'nosh-exec' )
276 conflicts+=( 'execline' )
279 pkgdesc="Core utility shims"
280 depends+=( 'nosh-common' 'nosh-exec' )
281 #conflicts+=( 'coreutils' 'util-linux' ) # conflict not set, to allow selective pacman --overwrite
284 pkgdesc="Linux utility shims"
285 depends+=( 'nosh-common' 'nosh-exec' 'nosh-terminal-management' )
286 #conflicts+=( 'coreutils' 'util-linux' ) # conflict not set, to allow selective pacman --overwrite
288 nosh-service-command-shim)
289 pkgdesc="Shim for the old BSD and System 5 service command"
290 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-systemv-shims' )
291 conflicts+=( 'systemd-sysvcompat' 'sysvinit' 'nosh-systemv-shims<=1.36')
294 pkgdesc="Debian shim service and system management utilities"
295 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-service-command-shim' 'nosh-systemv-shims' )
296 conflicts+=( 'upstart' 'sysvinit' 'systemd' )
299 pkgdesc="OpenRC shim service and system management utilities"
300 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-systemv-shims' )
301 conflicts+=( 'openrc' 'upstart' 'sysvinit' 'systemd' )
304 pkgdesc="OpenBSD shim service and system management utilities"
305 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-systemv-shims>=1.28' )
306 conflicts+=( 'nosh-systemv-shims<=1.27')
309 pkgdesc="FreeBSD shim service and system management utilities"
310 depends+=( 'nosh-terminal-management' )
311 conflicts+=( 'nosh-systemv-shims<=1.27' )
314 pkgdesc="BSD shim service and system management utilities"
315 depends+=( 'nosh-common' 'nosh-service-management' )
316 conflicts+=( 'android-tools' )
318 nosh-ucspi-tcp-shims)
319 pkgdesc="Bernstein UCSPI-TCP shim service utilities"
320 depends+=( 'nosh-common' 'nosh-exec' )
321 conflicts+=( 'ucspi-tcp' 'nosh-exec<=1.32')
324 pkgdesc="Shim kbd utilities"
325 depends+=( 'nosh-common' 'nosh-terminal-management' )
327 nosh-net-tools-shims)
328 pkgdesc="Linux utility shims"
329 depends+=( 'nosh-common' 'nosh-exec' )
331 #nosh-logrotate-shims)
332 # pkgdesc="Shim for the logrotate package"
333 # depends+=( 'nosh-common' 'nosh-bundles' )
335 nosh-bcron-as-cron-shims)
336 pkgdesc="Shim for the bcron package"
337 depends+=( 'nosh-common' 'bcron' )
339 nosh-desktop-bus-shims)
340 pkgdesc="Replacements for Desktop Bus utilities"
341 depends+=( 'nosh-common' 'nosh-exec>=1.38' )
342 install="nosh-desktop-bus-shims.install"
345 pkgdesc="Service bundles"
346 depends+=( 'nosh-common' 'nosh-service-management>=1.39' 'nosh-exec>=1.39' 'nosh-terminal-management>=1.39' 'shadow' )
347 install="nosh-bundles.install"
349 nosh-debian-crontab-no-anacron)
350 pkgdesc="Debian common crontab (not-anacron version)"
351 depends+=( 'nosh-common' )
352 conflicts+=( 'anacron' 'nosh-debian-crontab-anacron' )
354 nosh-debian-crontab-anacron)
355 pkgdesc="Debian common crontab (anacron version)"
356 depends+=( 'nosh-common' )
357 conflicts+=( 'nosh-debian-crontab-no-anacron' )
359 nosh-run-system-manager)
360 pkgdesc="Run the nosh system manager"
361 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'nosh-exec' 'nosh-bundles' 'redo-jdebp' )
362 conflicts+=( 'nosh-run-via-systemd' 'upstart' 'sysvinit' 'systemd-sysvcompat') #'systemd'
363 install="nosh-run-system-manager.install"
365 nosh-run-debian-desktop-base)
366 pkgdesc="Run the local syslog service"
367 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.33' 'nosh-terminal-management' )
368 conflicts+=( 'nosh-run-debian-server-base' 'nosh-bundles<=1.32')
369 install="nosh-run-debian-desktop-base.install"
370 backup=( 'usr/share/system-control/presets/90-linux-static-networking.preset'
371 'usr/share/system-control/presets/50-Debian-Server-Basic.preset'
372 'usr/share/system-control/presets/50-Debian-Desktop-Basic.preset'
373 'usr/share/system-control/presets/90-linux-boot-essentials.preset'
374 'usr/share/system-control/presets/90-common-boot-essentials.preset'
377 nosh-run-debian-server-base)
378 pkgdesc="Run the local syslog service"
379 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.33' 'nosh-terminal-management' )
380 conflicts+=( 'nosh-run-debian-desktop-base' 'nosh-bundles<=1.32')
381 install="nosh-run-debian-server-base.install"
382 backup=( 'usr/share/system-control/presets/90-linux-static-networking.preset'
383 'usr/share/system-control/presets/50-Debian-Server-Basic.preset'
384 'usr/share/system-control/presets/90-linux-boot-essentials.preset'
385 'usr/share/system-control/presets/90-common-boot-essentials.preset'
389 pkgdesc="Run old-style kernel virtual terminals"
390 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-terminal-management' 'nosh-bundles' )
391 install="nosh-run-kernel-vt.install"
392 backup=( 'usr/share/system-control/presets/80-linux-ttylogin-tty.preset'
393 'usr/share/system-control/presets/80-enable-kernel-vt.preset'
397 pkgdesc="Run new-style application-mode virtual terminals"
398 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-terminal-management' 'nosh-bundles>=1.37' )
399 install="nosh-run-user-vt.install"
400 backup=( 'usr/share/system-control/presets/80-enable-user-vt.preset'
401 'usr/share/system-control/presets/80-linux-ttylogin-vc.preset'
404 nosh-run-via-open-rc)
405 pkgdesc="Run the nosh service manager and daemontools service scanner via OpenRC"
406 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'systemd' 'nosh-bundles>=1.40' )
407 install="nosh-run-via-open-rc.install"
409 nosh-run-via-systemd)
410 pkgdesc="Run the nosh service manager and daemontools service scanner via systemd"
411 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'systemd' 'nosh-bundles>=1.40' )
412 install="nosh-run-via-systemd.install"
413 backup=( 'usr/share/system-control/presets/80-disable-sysinit.preset'
414 'usr/share/system-control/presets/80-disable-dbus.preset'
415 'usr/share/system-control/presets/80-disable-local-syslog.preset'
416 'usr/share/system-control/presets/80-disable-remote-fs.preset'
417 'usr/share/system-control/presets/80-disable-networking.preset'
418 'usr/lib/systemd/system/service-manager-svscan.path'
419 'usr/lib/systemd/system/system-control-normal.service'
420 'usr/lib/systemd/system/service-manager.socket'
421 'usr/lib/systemd/system/service-manager-svscan.service'
422 'usr/lib/systemd/system/vc-getty@.service'
423 'usr/lib/systemd/system/service-manager.service'
424 'usr/lib/tmpfiles.d/terminal-emulator.conf'
425 'usr/lib/tmpfiles.d/service-manager.conf'
426 'usr/lib/tmpfiles.d/system-manager.conf'
429 nosh-run-virtualbox-guest)
430 pkgdesc="Run VirtualBox guest additions"
431 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
432 install="nosh-run-virtualbox-guest.install"
433 backup=( 'usr/share/system-control/presets/80-virtualbox-guest.preset' )
435 nosh-run-freedesktop-system-bus)
436 pkgdesc="Run the system-wide message bus from freedesktop.org"
437 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
438 install="nosh-run-freedesktop-system-bus.install"
439 backup=('usr/share/system-control/presets/80-enable-freedesktop-system-bus.preset' )
441 nosh-run-freedesktop-kits)
442 pkgdesc="Run the various "kit" programs from freedesktop.org"
443 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
444 install="nosh-run-freedesktop-kits.install"
445 backup=( 'usr/share/system-control/presets/40-PackageKit.preset'
446 'usr/share/system-control/presets/40-PolicyKit.preset'
447 'usr/share/system-control/presets/40-UPower.preset'
448 'usr/share/system-control/presets/40-ColourManager.preset'
449 'usr/share/system-control/presets/40-ConsoleKit.preset'
450 'usr/share/system-control/presets/40-UDisks.preset'
451 'usr/share/system-control/presets/40-NetworkManager.preset'
452 'usr/share/system-control/presets/40-ModemManager.preset'
453 'usr/share/system-control/presets/40-Avahi.preset'
456 nosh-run-openssh-server)
457 pkgdesc="Run the OpenSSH server"
458 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
459 install="nosh-run-openssh-server.install"
460 backup=( 'usr/share/system-control/presets/40-OpenSSHServer.preset' )
463 pkgdesc="Run the various AppleTalk service"
464 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
465 backup=( 'usr/share/system-control/presets/40-AppleTalk.preset' )
468 pkgdesc="Run udev as the device manager"
469 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
470 optdepends+=( 'eudev: alternative udev implementation' )
471 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
472 install="nosh-run-udev.install"
473 backup=( 'usr/share/system-control/presets/80-enable-udev.preset' )
475 nosh-run-systemd-udev)
476 pkgdesc="Run systemd-udev as the device manager"
477 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.34' 'systemd')
478 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-udev')
479 install="nosh-run-systemd-udev.install"
480 backup=( 'usr/share/system-control/presets/80-enable-systemd-udev.preset' )
482 nosh-run-busybox-mdev)
483 pkgdesc="Run BusyBox mdev as the device manager"
484 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'busybox')
485 conflicts+=('nosh-run-udev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
486 install="nosh-run-busybox-mdev.install"
487 backup=( 'usr/share/system-control/presets/80-enable-busybox-mdev.preset' )
489 nosh-run-suckless-mdev)
490 pkgdesc="Run SuckLess mdev as the device manager"
491 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'smdev')
492 conflicts+=('nosh-run-udev' 'nosh-run-busybox-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
493 install="nosh-run-suckless-mdev.install"
494 backup=( 'usr/share/system-control/presets/80-enable-suckless-mdev.preset' )
497 pkgdesc="Run vdev as the device manager"
498 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'vdev-git')
499 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-udev' 'nosh-run-systemd-udev')
500 # no run script so far
501 # install="nosh-run-vdev.install"
502 backup=( 'usr/share/system-control/presets/80-enable-vdev.preset' )
505 pkgdesc="Run Laurent Bercot's mdevd as the device manager"
506 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'nosh-bundles' )
507 backup=( 'usr/share/system-control/presets/80-enable-mdevd.preset' )
509 nosh-run-local-syslog)
510 pkgdesc="Run the local syslog service"
511 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
512 conflicts+=( 'systemd-sysvcompat' )
513 install="nosh-run-local-syslog.install"
514 backup=( 'usr/share/system-control/presets/80-enable-local-syslog.preset' )
517 pkgdesc="Run the klog service"
518 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
519 conflicts+=( 'systemd-sysvcompat' )
520 install="nosh-run-klog.install"
521 backup=( 'usr/share/system-control/presets/80-enable-klog.preset' )
524 pkgdesc="Run the bcron services"
525 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'bcron' )
526 conflicts=( 'bcron-run' )
527 provides=( 'bcron-run' )
531 # copy over the staging files
532 (cd "${srcdir}"/staging/"${1}"/ && pax -r -w -l -- * "${pkgdir}"/)