1 # Maintainer: taca <taca@kadisius.eu>
8 'nosh-service-management'
9 'nosh-terminal-management'
10 'nosh-terminal-extras'
17 'nosh-service-command-shim'
22 'nosh-ucspi-tcp-shims'
24 #'nosh-logrotate-shims'
26 'nosh-run-system-manager'
27 'nosh-run-debian-desktop-base'
28 'nosh-run-debian-server-base'
31 'nosh-run-via-systemd'
32 'nosh-run-virtualbox-guest'
33 'nosh-run-freedesktop-system-bus'
34 'nosh-run-freedesktop-kits'
35 'nosh-run-openssh-server'
38 'nosh-run-systemd-udev'
39 'nosh-run-busybox-mdev'
40 'nosh-run-suckless-mdev'
42 'nosh-run-local-syslog'
47 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."
49 url="https://jdebp.eu/Softwares/nosh/index.html"
50 license=('custom:MIT Expat' 'custom:FreeBSD' 'custom:ISC' 'custom:Simplified BSD')
53 makedepends=('pax' 'docbook-xml' 'docbook-xsl' 'xmlto' 'redo-jdebp')
62 changelog="archnosh.changelog"
64 # packages with maintenance scripts
67 "nosh-run-busybox-mdev"
68 "nosh-run-debian-desktop-base"
69 "nosh-run-debian-server-base"
70 "nosh-run-freedesktop-kits"
71 "nosh-run-freedesktop-system-bus"
74 "nosh-run-local-syslog"
75 "nosh-run-openssh-server"
76 "nosh-run-suckless-mdev"
77 "nosh-run-systemd-udev"
78 "nosh-run-system-manager"
81 "nosh-run-via-systemd"
82 "nosh-run-virtualbox-guest"
83 "nosh-service-management"
86 # no point in distributing empty files, create them now, they are filled in later
87 for i in ${_pkginstalls[@]}
92 source=("https://jdebp.eu/Repository/freebsd/nosh-$pkgver.tar.gz"
94 "maintenance-scripts.patch"
98 "gnome-maps.service.linux"
99 "gnome-weather-application.service.linux"
105 "nosh-bundles.install"
106 "nosh-run-busybox-mdev.install"
107 "nosh-run-debian-desktop-base.install"
108 "nosh-run-debian-server-base.install"
109 "nosh-run-freedesktop-kits.install"
110 "nosh-run-freedesktop-system-bus.install"
111 "nosh-run-kernel-vt.install"
112 "nosh-run-klog.install"
113 "nosh-run-local-syslog.install"
114 "nosh-run-openssh-server.install"
115 "nosh-run-suckless-mdev.install"
116 "nosh-run-systemd-udev.install"
117 "nosh-run-system-manager.install"
118 "nosh-run-udev.install"
119 "nosh-run-user-vt.install"
120 "nosh-run-via-systemd.install"
121 "nosh-run-virtualbox-guest.install"
122 "nosh-service-management.install"
126 'a8bfe55b9f3e61097c1dfaa23c8d5ea0c39e1dc1ddf0b669133c1d7723911c93' # nosh-1.37.tar.gz
127 'e7fc3022780a179a0da293b0da4094deef770cb6f4572b39c6bec4e38752f0d5' # staging.patch
128 '8f2a1ba80ac5a6a912579a70454bc843d551db22bd1ef7e6dda9124167a7fa00' # maintenance-scripts.patch
129 '907d92546845ab087be38515fcbd04bec68b68a250534063695e73646241454c' # scriptletbuilder.sh
130 'fd07dd551ad82a813bcd50d91f0395e26dbae93e36f76ac21c2439683ab777a6' # misc.patch
131 '156a4251a0acb56ff999a543563c91a6268294da92e45c030bbad8719d9b425b' # os_version.do
132 '12e480b923b4828dc30907fa0e4deffbf68d1eff2da672fb7933f0bf5a829c93' # gnome-maps.service.linux
133 '65a81acca6504d4bf0843b59d7f70228499f84d79e13d68968eacdba7b9e60f8' # gnome-weather-application.service.linux
134 'ed18d04556bdf208a4a69ff866d49bdf65129639b32f15a4aab5193477bb8f37' # watchman.service
135 '944e8a7a4662ce8e3ebccf64db792407e0ac5e16fb91324513e37bc042c7d56f' # watchman.socket
136 '37fcde3d74c70e92ee7b606fd50cdffbd45a70a7348745cf5756b762b3602aab' # uscheduled.service
137 'bda8c7717fd71ee49c8d99e0fc0c595068d7e9bc7dc9aa9dda9d2840e9ef04cb' # uscheduled.socket
139 'SKIP' # nosh-bundles.install
140 'SKIP' # nosh-run-busybox-mdev.install
141 'SKIP' # nosh-run-debian-desktop-base.install
142 'SKIP' # nosh-run-debian-server-base.install
143 'SKIP' # nosh-run-freedesktop-kits.install
144 'SKIP' # nosh-run-freedesktop-system-bus.install
145 'SKIP' # nosh-run-kernel-vt.install
146 'SKIP' # nosh-run-klog.install
147 'SKIP' # nosh-run-local-syslog.install
148 'SKIP' # nosh-run-openssh-server.install
149 'SKIP' # nosh-run-suckless-mdev.install
150 'SKIP' # nosh-run-systemd-udev.install
151 'SKIP' # nosh-run-system-manager.install
152 'SKIP' # nosh-run-udev.install
153 'SKIP' # nosh-run-user-vt.install
154 'SKIP' # nosh-run-via-systemd.install
155 'SKIP' # nosh-run-virtualbox-guest.install
156 'SKIP' # nosh-service-management.install
162 # ncurses headers different to Debian layout, patch out the ncursesw directory in cpp Includes
163 # taken from https://github.com/atweiden/pkgbuilds/blob/master/nosh/PKGBUILD
164 msg2 "Fix ncurses header import issues"
165 cd "${srcdir}"/source
166 find . -type f -print0 | xargs -0 sed -i 's@ncursesw/curses\.h@curses.h@g'
168 # patch package/stage for Archlinux filesystem layout
169 msg2 "Align staging with Arch FS hierarchy guidelines"
171 patch -p1 -i "${srcdir}"/staging.patch
173 # patch debian maintenance scripts
174 msg2 "Adapting maintenance scripts"
175 cd "${srcdir}"/package/debian
176 sed -i 's@usr/local/lib@usr/lib@g' nosh-run-via-systemd.post_install.extra nosh-run-via-systemd.post_upgrade.extra
178 patch -p1 -i "${srcdir}"/maintenance-scripts.patch
179 patch -p1 -i "${srcdir}"/misc.patch
181 # add 1.38 backported os_version, needed at build time
182 install -v -m 755 "${srcdir}"/os_version.do "${srcdir}"/source/
187 msg2 "Building main source"
188 "${srcdir}"/package/compile
190 msg2 "Generating .install files"
191 source "${srcdir}"/scriptletbuilder.sh
192 for i in ${_pkginstalls[@]}
194 echo "Bulding $i.install"
195 _buildinstall $i > $i.install
198 msg2 "Staging packages"
199 # stage packages to 'staging' directory
200 "${srcdir}"/package/stage "${srcdir}" "${srcdir}"/staging
204 # no test available for the moment
205 msg "Checking skipped..."
208 package_nosh-common() {
210 # provide license (can't be done in each package, it creates file conflicts on install)
211 install -Dm 644 "${srcdir}"/source/COPYING "${pkgdir}"/usr/share/licenses/nosh/COPYING
215 # refactor the packaging, need special case for non-conforming package
216 for _pkg in ${pkgname[@]}
218 if test "$_pkg" != "nosh-common"
220 eval "package_${_pkg}() { _package $_pkg; }"
228 pkgdesc="User guide for the various nosh-* packages"
229 depends+=( 'nosh-common')
232 pkgdesc="Minimal non-shell script processor and various chain-load utilities useful for services"
233 depends+=( 'nosh-common')
234 conflicts+=( 'daemontools' 'daemontools-encore' 'nosh-bundles<=1.33')
236 nosh-service-management)
237 pkgdesc="Service and system management utilities"
238 depends+=( 'nosh-common' 'glibc>=2.13')
239 conflicts+=( 'nosh-bundles<=1.30' 'daemontools' 'daemontools-encore' )
240 install="nosh-service-management.install"
242 nosh-terminal-management)
243 pkgdesc="Virtual terminal, pseudo-terminal, and TUI login tools"
244 depends+=( 'nosh-common' 'nosh-service-management>=1.14' )
245 conflicts+=( 'nosh-bundles<=1.20')
247 nosh-terminal-extras)
248 pkgdesc="Extra terminal utilities"
249 depends+=( 'nosh-common' 'nosh-terminal-management' )
252 pkgdesc="Z Shell completion functions for the nosh toolset"
253 depends+=( 'nosh-common')
254 optdepends=( 'zsh: for actual ZSH support' )
257 pkgdesc="BSD and System 5 shim service and system management utilities"
258 depends+=( 'nosh-common' 'nosh-service-management' )
259 conflicts+=( 'systemd-sysvcompat')
262 pkgdesc="Systemd shim service and system management utilities"
263 depends+=( 'nosh-common' 'nosh-service-management' )
264 conflicts+=( 'systemd' )
267 pkgdesc="Upstart shim service and system management utilities"
268 depends+=( 'nosh-common' 'nosh-service-management' )
271 pkgdesc="Execline utility shims"
272 depends+=( 'nosh-common' 'nosh-exec' )
273 conflicts+=( 'execline' )
276 pkgdesc="Core utility shims"
277 depends+=( 'nosh-common' 'nosh-exec' )
278 conflicts+=( 'coreutils' 'util-linux' )
280 nosh-service-command-shim)
281 pkgdesc="Shim for the old BSD and System 5 service command"
282 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-systemv-shims' )
283 conflicts+=( 'systemd-sysvcompat' 'sysvinit' 'nosh-systemv-shims<=1.36')
286 pkgdesc="Debian shim service and system management utilities"
287 depends+=( 'nosh-common' 'nosh-service-management' )
288 conflicts+=( 'nosh-run-via-systemd' 'upstart' 'sysvinit' 'systemd' )
291 pkgdesc="OpenBSD shim service and system management utilities"
292 depends+=( 'nosh-common' 'nosh-service-management' 'nosh-systemv-shims>=1.28' )
293 conflicts+=( 'nosh-systemv-shims<=1.27')
296 pkgdesc="FreeBSD shim service and system management utilities"
297 depends+=( 'nosh-terminal-management' )
298 conflicts+=( 'nosh-sistemv-shims<=1.27' )
301 pkgdesc="BSD shim service and system management utilities"
302 depends+=( 'nosh-common' 'nosh-service-management' )
303 conflicts+=( 'android-tools' )
305 nosh-ucspi-tcp-shims)
306 pkgdesc="Bernstein UCSPI-TCP shim service utilities"
307 depends+=( 'nosh-common' 'nosh-exec' )
308 conflicts+=( 'ucspi-tcp' 'nosh-exec<=1.32')
311 pkgdesc="Shim kbd utilities"
312 depends+=( 'nosh-common' 'nosh-terminal-management' )
315 #nosh-logrotate-shims)
316 # pkgdesc="Shim for the logrotate package"
317 # depends+=( 'nosh-common' 'nosh-bundles' )
320 pkgdesc="Service bundles"
321 depends+=( 'nosh-common' 'nosh-service-management>=1.37' 'nosh-exec>=1.37' 'nosh-terminal-management>=1.22' 'shadow' )
322 install="nosh-bundles.install"
323 install -D -v -m 444 "${srcdir}"/gnome-maps.service.linux "${pkgdir}"/etc/system-control/convert/per-user/gnome-maps.service
324 install -v -m 444 "${srcdir}"/gnome-weather-application.service.linux "${pkgdir}"/etc/system-control/convert/per-user/gnome-weather-application.service
325 install -v -m 444 "${srcdir}"/watchman.service "${pkgdir}"/etc/system-control/convert/per-user/
326 install -v -m 444 "${srcdir}"/watchman.socket "${pkgdir}"/etc/system-control/convert/per-user/
327 install -v -m 444 "${srcdir}"/uscheduled.service "${pkgdir}"/etc/system-control/convert/per-user/
328 install -v -m 444 "${srcdir}"/uscheduled.socket "${pkgdir}"/etc/system-control/convert/per-user/
330 nosh-run-system-manager)
331 pkgdesc="Run the nosh system manager"
332 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'nosh-exec' 'nosh-bundles' 'redo-jdebp' )
333 conflicts+=( 'nosh-run-via-systemd' 'upstart' 'sysvinit' 'systemd-sysvcompat') #'systemd'
334 install="nosh-run-system-manager.install"
336 nosh-run-debian-desktop-base)
337 pkgdesc="Run the local syslog service"
338 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.33' 'nosh-terminal-management' )
339 conflicts+=( 'nosh-run-debian-server-base' 'nosh-bundles<=1.32')
340 install="nosh-run-debian-desktop-base.install"
341 backup=( 'usr/share/system-control/presets/90-linux-static-networking.preset'
342 'usr/share/system-control/presets/50-Debian-Server-Basic.preset'
343 'usr/share/system-control/presets/50-Debian-Desktop-Basic.preset'
344 'usr/share/system-control/presets/90-linux-boot-essentials.preset'
345 'usr/share/system-control/presets/90-common-boot-essentials.preset'
348 nosh-run-debian-server-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-desktop-base' 'nosh-bundles<=1.32')
352 install="nosh-run-debian-server-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/90-linux-boot-essentials.preset'
356 'usr/share/system-control/presets/90-common-boot-essentials.preset'
360 pkgdesc="Run old-style kernel virtual terminals"
361 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-terminal-management' 'nosh-bundles' )
362 install="nosh-run-kernel-vt.install"
363 backup=( 'usr/share/system-control/presets/80-linux-ttylogin-tty.preset'
364 'usr/share/system-control/presets/80-enable-kernel-vt.preset'
368 pkgdesc="Run new-style application-mode virtual terminals"
369 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-terminal-management' 'nosh-bundles' )
370 install="nosh-run-user-vt.install"
371 backup=( 'usr/share/system-control/presets/80-enable-user-vt.preset'
372 'usr/share/system-control/presets/80-linux-ttylogin-vc.preset'
375 nosh-run-via-systemd)
376 pkgdesc="Run the nosh service manager and daemontools service scanner via systemd"
377 depends+=( 'nosh-common' 'nosh-service-management>=1.33' 'systemd' 'nosh-bundles' )
378 install="nosh-run-via-systemd.install"
379 backup=( 'usr/share/system-control/presets/80-disable-sysinit.preset'
380 'usr/share/system-control/presets/80-disable-dbus.preset'
381 'usr/share/system-control/presets/80-disable-local-syslog.preset'
382 'usr/share/system-control/presets/80-disable-remote-fs.preset'
383 'usr/share/system-control/presets/80-disable-networking.preset'
384 'usr/lib/systemd/system/service-manager-svscan.path'
385 'usr/lib/systemd/system/system-control-normal.service'
386 'usr/lib/systemd/system/service-manager.socket'
387 'usr/lib/systemd/system/service-manager-svscan.service'
388 'usr/lib/systemd/system/vc-getty@.service'
389 'usr/lib/systemd/system/service-manager.service'
390 'usr/lib/tmpfiles.d/terminal-emulator.conf'
391 'usr/lib/tmpfiles.d/service-manager.conf'
392 'usr/lib/tmpfiles.d/system-manager.conf'
395 nosh-run-virtualbox-guest)
396 pkgdesc="Run VirtualBox guest additions"
397 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
398 install="nosh-run-virtualbox-guest.install"
399 backup=( 'usr/share/system-control/presets/80-virtualbox-guest.preset' )
401 nosh-run-freedesktop-system-bus)
402 pkgdesc="Run the system-wide message bus from freedesktop.org"
403 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
404 install="nosh-run-freedesktop-system-bus.install"
405 backup=('usr/share/system-control/presets/80-enable-freedesktop-system-bus.preset' )
407 nosh-run-freedesktop-kits)
408 pkgdesc="Run the various "kit" programs from freedesktop.org"
409 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
410 install="nosh-run-freedesktop-kits.install"
411 backup=( 'usr/share/system-control/presets/40-PackageKit.preset'
412 'usr/share/system-control/presets/40-PolicyKit.preset'
413 'usr/share/system-control/presets/40-UPower.preset'
414 'usr/share/system-control/presets/40-ColourManager.preset'
415 'usr/share/system-control/presets/40-ConsoleKit.preset'
416 'usr/share/system-control/presets/40-UDisks.preset'
417 'usr/share/system-control/presets/40-NetworkManager.preset'
418 'usr/share/system-control/presets/40-ModemManager.preset'
419 'usr/share/system-control/presets/40-Avahi.preset'
422 nosh-run-openssh-server)
423 pkgdesc="Run the OpenSSH server"
424 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
425 install="nosh-run-openssh-server.install"
426 backup=( 'usr/share/system-control/presets/40-OpenSSHServer.preset' )
429 pkgdesc="Run the various AppleTalk service"
430 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
431 backup=( 'usr/share/system-control/presets/40-AppleTalk.preset' )
434 pkgdesc="Run udev as the device manager"
435 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
436 optdepends+=( 'eudev: alternative udev implementation' )
437 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
438 install="nosh-run-udev.install"
439 backup=( 'usr/share/system-control/presets/80-enable-udev.preset' )
441 nosh-run-systemd-udev)
442 pkgdesc="Run systemd-udev as the device manager"
443 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles>=1.34' 'systemd')
444 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-udev')
445 install="nosh-run-systemd-udev.install"
446 backup=( 'usr/share/system-control/presets/80-enable-systemd-udev.preset' )
448 nosh-run-busybox-mdev)
449 pkgdesc="Run BusyBox mdev as the device manager"
450 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'busybox')
451 conflicts+=('nosh-run-udev' 'nosh-run-suckless-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
452 install="nosh-run-busybox-mdev.install"
453 backup=( 'usr/share/system-control/presets/80-enable-busybox-mdev.preset' )
455 nosh-run-suckless-mdev)
456 pkgdesc="Run SuckLess mdev as the device manager"
457 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' 'smdev')
458 conflicts+=('nosh-run-udev' 'nosh-run-busybox-mdev' 'nosh-run-vdev' 'nosh-run-systemd-udev')
459 install="nosh-run-suckless-mdev.install"
460 backup=( 'usr/share/system-control/presets/80-enable-suckless-mdev.preset' )
463 pkgdesc="Run vdev as the device manager"
464 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management' 'nosh-bundles' 'vdev-git')
465 conflicts+=('nosh-run-busybox-mdev' 'nosh-run-suckless-mdev' 'nosh-run-udev' 'nosh-run-systemd-udev')
466 # no run script so far
467 # install="nosh-run-vdev.install"
468 backup=( 'usr/share/system-control/presets/80-enable-vdev.preset' )
470 nosh-run-local-syslog)
471 pkgdesc="Run the local syslog service"
472 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
473 #conflicts+=( 'systemd' )
474 install="nosh-run-local-syslog.install"
475 backup=( 'usr/share/system-control/presets/80-enable-local-syslog.preset' )
478 pkgdesc="Run the klog service"
479 depends+=( 'nosh-common' 'nosh-exec' 'nosh-service-management>=1.33' 'nosh-bundles' )
480 #conflicts+=( 'systemd' )
481 install="nosh-run-klog.install"
482 backup=( 'usr/share/system-control/presets/80-enable-klog.preset' )
486 # copy over the staging files
487 (cd "${srcdir}"/staging/"${1}"/ && pax -r -w -l -- * "${pkgdir}"/)