47075ccee9
* Do not add / with rootfs type in /etc/mtab in devfs service. * Mount /var/run, /var/lock and /var/tmp as tmpfs in sysfs service. * Do not clean up /var/run as it is redundant now in bootmisc service.
250 lines
8 KiB
Diff
250 lines
8 KiB
Diff
xbps changes:
|
|
|
|
* Installs a "locale" service into the "boot" runlevel to set
|
|
a global system locale.
|
|
* Adds consolefont by default in "boot" runlevel.
|
|
* Removes hardcoded rpath for bins/lib.
|
|
* Modified inittab to pass correct parameters to reboot(8).
|
|
* Sets unicode, rc_logger and rc_shell in /etc/rc.conf by default.
|
|
* Sets windowkeys and fix_euro in /etc/conf.d/keymaps by default.
|
|
* In local service, start/stop vmware-tools services if script exists.
|
|
* The sysfs service mounts /var/run, /var/lock and /var/tmp as tmpfs with
|
|
appropiate permissions.
|
|
* The bootmisc service no longer cleans up /var/run, as it is now mounted tmpfs.
|
|
* The devfs service mounts /dev/shm with type tmpfs rather than "shm".
|
|
* The mtab service checks if / is of type rootfs and tmpfs, and don't add it
|
|
into /etc/mtab, which is redundant.
|
|
|
|
--- runlevels/Makefile.Linux.orig 2009-05-07 15:48:37.075825332 +0000
|
|
+++ runlevels/Makefile.Linux 2009-05-07 15:48:52.008557039 +0000
|
|
@@ -1,3 +1,3 @@
|
|
SYSINIT+= devfs dmesg
|
|
-BOOT+= hwclock keymaps modules mtab procfs termencoding
|
|
+BOOT+= consolefont hwclock keymaps modules mtab procfs termencoding locale
|
|
SHUTDOWN+= killprocs mount-ro
|
|
--- init.d/Makefile.Linux.orig 2009-05-07 15:55:26.156910483 +0000
|
|
+++ init.d/Makefile.Linux 2009-05-07 15:55:35.682853819 +0000
|
|
@@ -2,7 +2,7 @@ NET_LO= net.lo
|
|
|
|
SRCS+= devfs.in dmesg.in hwclock.in consolefont.in keymaps.in killprocs.in \
|
|
modules.in mount-ro.in mtab.in numlock.in procfs.in sysfs.in \
|
|
- termencoding.in
|
|
+ termencoding.in locale.in
|
|
|
|
.SUFFIXES: .Linux.in
|
|
|
|
--- support/sysvinit/inittab.orig 2009-05-07 12:03:07.533948107 +0000
|
|
+++ support/sysvinit/inittab 2009-05-07 12:04:45.178070711 +0000
|
|
@@ -18,7 +18,7 @@ l3:3:wait:/sbin/rc default
|
|
l4:4:wait:/sbin/rc default
|
|
l5:5:wait:/sbin/rc default
|
|
l6:6:wait:/sbin/rc reboot
|
|
-l6r:6:wait:/sbin/reboot -dk
|
|
+l6r:6:wait:/sbin/reboot -dfi
|
|
#z6:6:respawn:/sbin/sulogin
|
|
|
|
# new-style single-user
|
|
.Linux.in:
|
|
--- conf.d/keymaps.orig 2009-10-09 17:09:02.537481085 +0200
|
|
+++ conf.d/keymaps 2009-10-09 17:12:19.694535631 +0200
|
|
@@ -1,10 +1,14 @@
|
|
# Use KEYMAP to specify the default console keymap. There is a complete tree
|
|
# of keymaps in /usr/share/keymaps to choose from.
|
|
-keymap="us"
|
|
+#
|
|
+# Please note that is mandatory to also specify the keyboard layout model,
|
|
+# i.e qwerty, dvorak, etc; because otherwise loadkeys(1) will use the first
|
|
+# one it finds and some keymaps do have the same name.
|
|
+keymap="qwerty/us"
|
|
|
|
# Should we first load the 'windowkeys' console keymap? Most x86 users will
|
|
# say "yes" here. Note that non-x86 users should leave it as "no".
|
|
-windowkeys="NO"
|
|
+windowkeys="yes"
|
|
|
|
# The maps to load for extended keyboards. Most users will leave this as is.
|
|
extended_keymaps=""
|
|
@@ -18,4 +22,4 @@ dumpkeys_charset=""
|
|
|
|
# Some fonts map AltGr-E to the currency symbol ¤ instead of the Euro €
|
|
# To fix this, set to "yes"
|
|
-fix_euro="NO"
|
|
+fix_euro="yes"
|
|
--- mk/prog.mk.orig 2009-10-21 11:00:28.000000000 +0200
|
|
+++ mk/prog.mk 2009-10-21 11:00:36.000000000 +0200
|
|
@@ -17,7 +17,6 @@ _DYNLINK_SH= if test "${PREFIX}" = "" &
|
|
fi
|
|
_DYNLINK!= ${_DYNLINK_SH}
|
|
LDFLAGS+= ${_DYNLINK}$(shell ${_DYNLINK_SH})
|
|
-LDFLAGS+= -Wl,-rpath=${PREFIX}/${LIBNAME}
|
|
LDFLAGS+= ${PROGLDFLAGS}
|
|
|
|
CLEANFILES+= ${OBJS} ${PROG}
|
|
--- mk/lib.mk.orig 2009-10-21 11:00:57.000000000 +0200
|
|
+++ mk/lib.mk 2009-10-21 11:01:17.000000000 +0200
|
|
@@ -32,7 +32,7 @@ lib${LIB}.a: ${OBJS} ${STATICOBJS}
|
|
${SHLIB_NAME}: ${VERSION_MAP}
|
|
LDFLAGS+= -Wl,--version-script=${VERSION_MAP}
|
|
# We need to ensure we use libraries in /lib
|
|
-LDFLAGS+= -L/${LIBNAME} -Wl,-rpath=/${LIBNAME}
|
|
+LDFLAGS+= -L/${LIBNAME}
|
|
|
|
${SHLIB_NAME}: ${SOBJS}
|
|
@${ECHO} building shared library $@
|
|
--- conf.d/local.orig 2009-11-27 03:24:48.619351115 +0100
|
|
+++ conf.d/local 2009-11-27 03:26:21.519479673 +0100
|
|
@@ -5,6 +5,11 @@ local_start() {
|
|
# This is a good place to load any misc programs
|
|
# on startup (use &>/dev/null to hide output)
|
|
|
|
+ # Start vmware-tools services if script exists.
|
|
+ if [ -x /etc/init.d/vmware-tools ]; then
|
|
+ /etc/init.d/vmware-tools start
|
|
+ fi
|
|
+
|
|
# We should always return 0
|
|
return 0
|
|
}
|
|
@@ -13,6 +18,11 @@ local_stop() {
|
|
# This is a good place to unload any misc.
|
|
# programs you started above.
|
|
|
|
+ # Stop vmware-tools services if script exists
|
|
+ if [ -x /etc/init.d/vmware-tools ]; then
|
|
+ /etc/init.d/vmware-tools stop
|
|
+ fi
|
|
+
|
|
# We should always return 0
|
|
return 0
|
|
}
|
|
--- etc/rc.conf.in.orig 2009-12-05 03:30:48.675483763 +0100
|
|
+++ etc/rc.conf.in 2009-12-05 03:31:13.034222373 +0100
|
|
@@ -18,7 +18,7 @@
|
|
# If not specified we use $SHELL, otherwise the one specified in /etc/passwd,
|
|
# otherwise /bin/sh
|
|
# Linux users could specify /sbin/sulogin
|
|
-#rc_shell=/bin/sh
|
|
+rc_shell=/sbin/sulogin
|
|
|
|
# Do we allow any started service in the runlevel to satisfy the depedency
|
|
# or do we want all of them regardless of state? For example, if net.eth0
|
|
@@ -44,7 +44,7 @@
|
|
# /var/log/rc.log
|
|
# NOTE: Linux systems require the devfs service to be started before
|
|
# logging can take place and as such cannot log the sysinit runlevel.
|
|
-#rc_logger="YES"
|
|
+rc_logger="YES"
|
|
|
|
# By default we filter the environment for our running scripts. To allow other
|
|
# variables through, add them here. Use a * to allow all variables through.
|
|
@@ -73,7 +73,7 @@
|
|
# There variables are shared between many init scripts
|
|
|
|
# Set unicode to YES to turn on unicode support for keyboards and screens.
|
|
-#unicode="NO"
|
|
+unicode="YES"
|
|
|
|
# Network fstypes. Below is the default.
|
|
net_fs_list="afs cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs nfs nfs4 ocfs2 shfs smbfs"
|
|
--- init.d/sysfs.in.orig 2011-01-16 12:42:39.930029312 +0100
|
|
+++ init.d/sysfs.in 2011-01-16 12:43:08.090153349 +0100
|
|
@@ -52,13 +52,39 @@ mount_misc()
|
|
fi
|
|
}
|
|
|
|
+mount_var_run_lock()
|
|
+{
|
|
+ local _args _mode _mnt
|
|
+
|
|
+ for _mnt in run lock tmp; do
|
|
+ if [ "${_mnt}" != "run" ]; then
|
|
+ _mode=1777
|
|
+ _args="mode=${_mode},nosuid,noexec,nodev"
|
|
+ else
|
|
+ _mode=0755
|
|
+ _args="mode=${_mode},nosuid"
|
|
+ fi
|
|
+ if [ ! -d /var/${_mnt} ]; then
|
|
+ if ! mkdir -m ${_mode} /var/${_mnt}; then
|
|
+ ewarn "Could not create /var/${_mnt}!"
|
|
+ return 1
|
|
+ fi
|
|
+ fi
|
|
+
|
|
+ ebegin "Mounting /var/${_mnt}"
|
|
+ if ! fstabinfo --mount /var/${_mnt}; then
|
|
+ mount -n -t tmpfs -o ${_args} tmpfs /var/${_mnt}
|
|
+ fi
|
|
+ eend $?
|
|
+ done
|
|
+}
|
|
+
|
|
start()
|
|
{
|
|
- local retval
|
|
mount_sys
|
|
- retval=$?
|
|
- if [ $retval -eq 0 ]; then
|
|
+ if [ $? -eq 0 ]; then
|
|
mount_misc
|
|
fi
|
|
- return $retval
|
|
+ mount_var_run_lock
|
|
+ return $?
|
|
}
|
|
--- init.d/mtab.in.orig 2011-01-16 12:44:28.947251849 +0100
|
|
+++ init.d/mtab.in 2011-01-16 12:44:37.896926832 +0100
|
|
@@ -28,7 +28,7 @@ start()
|
|
# makes / readonly and dismounts all tmpfs even if in use which is
|
|
# not good. Luckily, umount uses /etc/mtab instead of /proc/mounts
|
|
# which allows this hack to work.
|
|
- grep -v "^[^ ]* / tmpfs " /proc/mounts > /etc/mtab
|
|
+ egrep -v "^[^ ]* / (rootfs|tmpfs) " /proc/mounts > /etc/mtab
|
|
|
|
# Remove stale backups
|
|
rm -f /etc/mtab~ /etc/mtab~~
|
|
--- init.d/bootmisc.in.orig 2011-01-16 12:45:10.633395765 +0100
|
|
+++ init.d/bootmisc.in 2011-01-16 12:46:00.591163353 +0100
|
|
@@ -97,31 +97,6 @@ start()
|
|
done
|
|
[ -e /var/log/wtmp ] || mkutmp /var/log/wtmp
|
|
eend 0
|
|
-
|
|
- ebegin "Cleaning /var/run"
|
|
- for x in $(find /var/run ! -type d ! -name utmp \
|
|
- ! -name random-seed ! -name dev.db \
|
|
- ! -name ld-elf.so.hints ! -name ld.so.hints);
|
|
- do
|
|
- # Clean stale sockets
|
|
- if [ -S "$x" ]; then
|
|
- if type fuser >/dev/null 2>&1; then
|
|
- fuser "$x" >/dev/null 2>&1 || rm -- "$x"
|
|
- else
|
|
- rm -- "$x"
|
|
- fi
|
|
- fi
|
|
- [ ! -f "$x" ] && continue
|
|
- # Do not remove pidfiles of already running daemons
|
|
- case "$x" in
|
|
- *.pid)
|
|
- start-stop-daemon --test --quiet \
|
|
- --stop --pidfile "$x" && continue
|
|
- ;;
|
|
- esac
|
|
- rm -f -- "$x"
|
|
- done
|
|
- eend 0
|
|
fi
|
|
|
|
# Clean up /tmp directories
|
|
--- init.d/devfs.in.orig 2011-01-16 12:46:46.645636416 +0100
|
|
+++ init.d/devfs.in 2011-01-16 12:46:58.783551737 +0100
|
|
@@ -13,7 +13,7 @@ start() {
|
|
# Mount required stuff as user may not have then in /etc/fstab
|
|
for x in \
|
|
"devpts /dev/pts 0755 ,gid=5,mode=0620 devpts" \
|
|
- "tmpfs /dev/shm 1777 ,nodev shm" \
|
|
+ "tmpfs /dev/shm 1777 ,nodev tmpfs" \
|
|
; do
|
|
set -- $x
|
|
grep -Eq "[[:space:]]+$1$" /proc/filesystems || continue
|