Skip to content
Snippets Groups Projects
Commit b0a83e81 authored by Natanael Copa's avatar Natanael Copa
Browse files

core/busybox-initscripts: added klogd script and mdev stuff

we split the syslogd and klogd into different scripts since klog should
not be run in vserver while syslog should.

the mdev config and helper scripts were moved from alpine-baselayout too
parent f0ce4679
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=busybox-initscripts
pkgver=2.0
pkgrel=0
pkgrel=1
pkgdesc="Init scripts for busybox daemons"
url="http://git.alpinelinux.org/cgit/aports/tree/core/busybox-initscripts"
license="GPL-2"
......@@ -10,33 +10,43 @@ depends="busybox"
makedepends=
install=
subpackages=
source="cron.initd dnsd.initd httpd.initd inetd.initd mdev-mount.initd
mdev.initd rdate.initd syslog.initd watchdog.initd
cron.confd rdate.confd syslog.confd watchdog.confd"
source="cron.initd dnsd.initd httpd.initd inetd.initd klogd.initd
mdev-mount.initd mdev.initd rdate.initd syslog.initd watchdog.initd
cron.confd klogd.confd rdate.confd syslog.confd watchdog.confd
mdev.conf dvbdev ide_links usbdev usbdisk_link"
build() {
local i
cd "$srcdir"
mkdir -p "$pkgdir"/etc/conf.d "$pkgdir"/etc/init.d
mkdir -p "$pkgdir"/etc/conf.d "$pkgdir"/etc/init.d "$pkgdir"/lib/mdev
for i in *.initd; do
install -m755 "$srcdir"/$i "$pkgdir"/etc/init.d/${i%.*} || return 1
done
for i in *.confd; do
install -m644 "$srcdir"/$i "$pkgdir"/etc/conf.d/${i%.*} || return 1
done
install -m644 mdev.conf "$pkgdir"/etc
install -m755 dvbdev ide_links usbdev usbdisk_link "$pkgdir"/lib/mdev/
}
md5sums="45b4ca78fad54f56018b9a2e9358dc68 cron.initd
3af526f4de1a607f7932a15f7c8e8eb1 dnsd.initd
f7daf05f9984aa398fdbd3fe02e82678 httpd.initd
dad8e381142dfb42483de324aff4cf28 inetd.initd
e22077bfe7b8b0fe7c06cfe208e68dca klogd.initd
823308d5691bd6ece04a040b23925d40 mdev-mount.initd
ef3e93fe17964dd600364b1340654b5b mdev.initd
533288e7df1fdfc029b1048b8e6c770f rdate.initd
b1bd58e5580d6d2bd88bd6cfb0ae8876 syslog.initd
b5b23dd06cea120bd8d850b54bca0b59 syslog.initd
254186e513ff9fb9ede6a2e92257b247 watchdog.initd
8ddb8d040c9c7a32c63039a2c80ff496 cron.confd
60bc14cc3163d76f41bcc93dc0f9984b klogd.confd
22adbf155ffc4595206ded6daad07812 rdate.confd
69d83e8af870c419847b81bee1ccd2d9 syslog.confd
0bb55dde32f5e119111fa4938daaef3d watchdog.confd"
77fb31a75511247bf4e3430565a276bc syslog.confd
0bb55dde32f5e119111fa4938daaef3d watchdog.confd
022b670c549e402573797cc72fa12032 mdev.conf
ad1556961294e4aa2abca6be52138b7c dvbdev
5c8725b4cbdeda23b00f08124a0d20bf ide_links
1acfd58dfd1cf324c90ca3a3be519510 usbdev
30b0c85956b6701caf55309a17e537f6 usbdisk_link"
#!/bin/sh
# MDEV=dvb0.demux1 -> ADAPTER=dvb0 -> N=0
ADAPTER=${MDEV%.*}
N=${ADAPTER#dvb}
# MDEV=dvb0.demux1 -> DEVB_DEV=demux1
DVB_DEV=${MDEV#*.}
case "$ACTION" in
add|"")
mkdir -p dvb/adapter${N}
mv ${MDEV} dvb/adapter${N}/${DVB_DEV}
;;
remove)
rm -f dvb/adapter${N}/${DVB_DEV}
rmdir dvb/adapter${N} 2>/dev/null
rmdir dvb/ 2>/dev/null
esac
#!/bin/sh
[ -f /proc/ide/$MDEV/media ] || exit
media=`cat /proc/ide/$MDEV/media`
for i in $media $media[0-9]* ; do
if [ "`readlink $i 2>/dev/null`" = $MDEV ] ; then
LINK=$i
break
fi
done
# link exist, remove if necessary and exit
if [ "$LINK" ] ; then
[ "$ACTION" = remove ] && rm $LINK
exit
fi
# create a link
num=`ls $media[0-9]* 2>/dev/null | wc -l`
ln -sf $MDEV "$media`echo $num`"
[ -e "$media" ] || ln -sf $MDEV "$media"
KLOGD_OPTS=""
#!/sbin/runscript
depend() {
need clock hostname
provide logger
keyword novserver
}
start() {
ebegin "Starting busybox kernel logging"
start-stop-daemon --start --exec /sbin/klogd -- ${KLOGD_OPTS}
eend $?
}
stop () {
ebegin "Stopping busybox kernel logging"
start-stop-daemon --stop --exec /sbin/klogd
eend $?
}
#
# This is a sample mdev.conf.
#
# Devices:
# Syntax: %s %d:%d %s
# devices user:group mode
# null does already exist; therefore ownership has to be changed with command
null root:root 0666 @chmod 666 $MDEV
zero root:root 0666
grsec root:root 0660
full root:root 0666
random root:root 0666
urandom root:root 0444
hwrandom root:root 0660
# console does already exist; therefore ownership has to be changed with command
console root:tty 0600 @chmod 600 $MDEV && mkdir -p vc && ln -sf ../$MDEV vc/0
fd0 root:floppy 0660
kmem root:root 0640
mem root:root 0640
port root:root 0640
ptmx root:tty 0666
# ram.*
ram([0-9]*) root:disk 0660 >rd/%1
loop([0-9]+) root:disk 0660 >loop/
sd[a-z].* root:disk 0660 */lib/mdev/usbdisk_link
hd[a-z][0-9]* root:disk 0660 */lib/mdev/ide_links
md[0-9] root:disk 0660
tty root:tty 0666
tty[0-9] root:root 0600
tty[0-9][0-9] root:tty 0660
ttyS[0-9]* root:uucp 0660
pty.* root:tty 0660
vcs[0-9]* root:tty 0660
vcsa[0-9]* root:tty 0660
ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem
ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem
slamr root:dialout 0660 @ln -sf $MDEV slamr0
slusb root:dialout 0660 @ln -sf $MDEV slusb0
fuse root:root 0666
# dri device
card[0-9] root:video 0660 =dri/
# alsa sound devices and audio stuff
pcm.* root:audio 0660 =snd/
control.* root:audio 0660 =snd/
midi.* root:audio 0660 =snd/
seq root:audio 0660 =snd/
timer root:audio 0660 =snd/
adsp root:audio 0660 >sound/
audio root:audio 0660 >sound/
dsp root:audio 0660 >sound/
mixer root:audio 0660 >sound/
sequencer.* root:audio 0660 >sound/
# misc stuff
agpgart root:root 0660 >misc/
psaux root:root 0660 >misc/
rtc root:root 0664 >misc/
# input stuff
event[0-9]+ root:root 0640 =input/
mice root:root 0640 =input/
mouse[0-9] root:root 0640 =input/
ts[0-9] root:root 0600 =input/
# v4l stuff
vbi[0-9] root:video 0660 >v4l/
video[0-9] root:video 0660 >v4l/
# dvb stuff
dvb.* root:video 0660 */lib/mdev/dvbdev
# load drivers for usb devices
usbdev[0-9].[0-9] root:root 0660 */lib/mdev/usbdev
usbdev[0-9].[0-9]_.* root:root 0660
# net devices
tun[0-9]* root:root 0600 =net/
tap[0-9]* root:root 0600 =net/
# zaptel devices
zap(.*) root:dialout 0660 =zap/%1
dahdi!(.*) root:dialout 0660 =dahdi/%1
# raid controllers
cciss!(.*) root:disk 0660 =cciss/%1
ida!(.*) root:disk 0660 =ida/%1
rd!(.*) root:disk 0660 =rd/%1
sr[0-9] root:cdrom 0660 >cdrom
SYSLOGD_OPTS=""
KLOGD_OPTS=""
#!/sbin/runscript
depend() {
need clock hostname klogd
provide logger
}
start() {
ebegin "Starting busybox system logging"
start-stop-daemon --start --exec /usr/sbin/klogd -- ${KLOGD_OPTS}
start-stop-daemon --start --exec /usr/sbin/syslogd -- ${SYSLOGD_OPTS}
start-stop-daemon --start --exec /sbin/syslogd -- ${SYSLOGD_OPTS}
eend $?
}
stop () {
ebegin "Stopping busybox system logging"
start-stop-daemon --stop --exec /usr/sbin/klogd
start-stop-daemon --stop --exec /usr/sbin/syslogd
start-stop-daemon --stop --exec /sbin/syslogd
eend $?
}
#!/bin/sh
# script is buggy; until patched just do exit 0
#exit 0
# add zeros to device or bus
add_zeros () {
case "$(echo $1 | wc -L)" in
1) echo "00$1" ;;
2) echo "0$1" ;;
*) echo "$1"
esac
exit 0
}
# bus and device dirs in /sys
local USB_PATH=$(echo $MDEV | sed -e 's/usbdev\([0-9]\).[0-9]/usb\1/')
USB_PATH=$(find /sys/devices -type d -name "$USB_PATH")
local USB_DEV_DIR=$(echo $MDEV | sed -e 's/usbdev\([0-9]\).\([0-9]\)/\1-\2/')
# dir names in /dev
local BUS=$(add_zeros $(echo $MDEV | sed -e 's/^usbdev\([0-9]\).[0-9]/\1/'))
local USB_DEV=$(add_zeros $(echo $MDEV | sed -e 's/^usbdev[0-9].\([0-9]\)/\1/'))
# try to load the proper driver for usb devices
case "$ACTION" in
add|"")
# load usb bus driver
for i in $USB_PATH/*/modalias ; do
modprobe `cat $i` 2>/dev/null
done
# load usb device driver if existent
if [ -d $USB_PATH/$USB_DEV_DIR ]; then
for i in $USB_PATH/$USB_DEV_DIR/*/modalias ; do
modprobe `cat $i` 2>/dev/null
done
fi
# move usb device file
mkdir -p bus/usb/$BUS
mv $MDEV bus/usb/$BUS/$USB_DEV
;;
remove)
# unload device driver, if device dir is existent
if [ -d $USB_PATH/$USB_DEV_DIR ]; then
for i in $USB_PATH/$USB_DEV_DIR/*/modalias ; do
modprobe -r `cat $i` 2>/dev/null
done
fi
# unload usb bus driver. Does this make sense?
# what happens, if two usb devices are plugged in
# and one is removed?
for i in $USB_PATH/*/modalias ; do
modprobe -r `cat $i` 2>/dev/null
done
# remove device file and possible empty dirs
rm -f bus/usb/$BUS/$USB_DEV
rmdir bus/usb/$BUS/ 2>/dev/null
rmdir bus/usb/ 2>/dev/null
rmdir bus/ 2>/dev/null
esac
#!/bin/sh
# NOTE: since mdev -s only provide $MDEV, don't depend on any hotplug vars.
current=$(readlink usbdisk)
if [ "$current" = "$MDEV" ] && [ "$ACTION" = "remove" ]; then
rm -f usbdisk usba1
fi
[ -n "$current" ] && exit
if [ -e /sys/block/$MDEV ]; then
SYSDEV=$(readlink -f /sys/block/$MDEV/device)
# if /sys device path contains '/usb[0-9]' then we assume its usb
# also, if its an usb without partitions we require FAT
if [ "${SYSDEV##*/usb[0-9]}" != "$SYSDEV" ]; then
# do not create link if there is not FAT
dd if=/dev/$MDEV bs=512 count=1 2>/dev/null | strings | grep FAT >/dev/null || exit 0
ln -sf $MDEV usbdisk
# keep this for compat. people have it in fstab
ln -sf $MDEV usba1
fi
elif [ -e /sys/block/*/$MDEV ] ; then
PARENT=$(dirname /sys/block/*/$MDEV)
SYSDEV=$(readlink -f $PARENT/device)
if [ "${SYSDEV##*/usb[0-9]}" != "$SYSDEV" ]; then
ln -sf $MDEV usbdisk
# keep this for compat. people have it in fstab
ln -sf $MDEV usba1
fi
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment