]> Frank Brehm's Git Trees - config/samara/etc.git/commitdiff
saving uncommitted changes in /etc prior to emerge run
authorFrank Brehm <frank.brehm@profitbricks.com>
Mon, 18 Jan 2016 17:48:15 +0000 (18:48 +0100)
committerroot Samara <root@samara.pb.local>
Mon, 18 Jan 2016 17:48:15 +0000 (18:48 +0100)
._cfg0000_rc.conf [new file with mode: 0644]
conf.d/bootmisc
conf.d/net-online [new file with mode: 0644]
conf.d/netmount
init.d/bootmisc
init.d/net-online [new file with mode: 0755]
init.d/sysfs

diff --git a/._cfg0000_rc.conf b/._cfg0000_rc.conf
new file mode 100644 (file)
index 0000000..9209bc6
--- /dev/null
@@ -0,0 +1,241 @@
+# Global OpenRC configuration settings
+
+# Set to "YES" if you want the rc system to try and start services
+# in parallel for a slight speed improvement. When running in parallel we
+# prefix the service output with its name as the output will get
+# jumbled up.
+# WARNING: whilst we have improved parallel, it can still potentially lock
+# the boot process. Don't file bugs about this unless you can supply
+# patches that fix it without breaking other things!
+#rc_parallel="NO"
+
+# Set rc_interactive to "YES" and you'll be able to press the I key during
+# boot so you can choose to start specific services. Set to "NO" to disable
+# this feature. This feature is automatically disabled if rc_parallel is
+# set to YES.
+#rc_interactive="YES"
+
+# If we need to drop to a shell, you can specify it here.
+# If not specified we use $SHELL, otherwise the one specified in /etc/passwd,
+# otherwise /bin/sh
+# Linux users could specify /sbin/sulogin
+rc_shell=/sbin/sulogin
+
+# Do we allow any started service in the runlevel to satisfy the dependency
+# or do we want all of them regardless of state? For example, if net.eth0
+# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
+# both will be started, but services that depend on 'net' will work if either
+# one comes up. With rc_depend_strict="YES" we would require them both to
+# come up.
+#rc_depend_strict="YES"
+
+# rc_hotplug controls which services we allow to be hotplugged.
+# A hotplugged service is one started by a dynamic dev manager when a matching
+# hardware device is found.
+# Hotplugged services appear in the "hotplugged" runlevel.
+# If rc_hotplug is set to any value, we compare the name of this service
+# to every pattern in the value, from left to right, and we allow the
+# service to be hotplugged if it matches a pattern, or if it matches no
+# patterns. Patterns can include shell wildcards.
+# To disable services from being hotplugged, prefix patterns with "!".
+#If rc_hotplug is not set or is empty, all hotplugging is disabled.
+# Example - rc_hotplug="net.wlan !net.*"
+# This allows net.wlan and any service not matching net.* to be hotplugged.
+# Example - rc_hotplug="!net.*"
+# This allows services that do not match "net.*" to be hotplugged.
+
+# rc_logger launches a logging daemon to log the entire rc process to
+# /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"
+
+# Through rc_log_path you can specify a custom log file.
+# The default value is: /var/log/rc.log
+#rc_log_path="/var/log/rc.log"
+
+# If you want verbose output for OpenRC, set this to yes. If you want
+# verbose output for service foo only, set it to yes in /etc/conf.d/foo.
+#rc_verbose=no
+
+# 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.
+#rc_env_allow="VAR1 VAR2"
+
+# By default we assume that all daemons will start correctly.
+# However, some do not - a classic example is that they fork and return 0 AND
+# then child barfs on a configuration error. Or the daemon has a bug and the
+# child crashes. You can set the number of milliseconds start-stop-daemon
+# waits to check that the daemon is still running after starting here.
+# The default is 0 - no checking.
+#rc_start_wait=100
+
+# rc_nostop is a list of services which will not stop when changing runlevels.
+# This still allows the service itself to be stopped when called directly.
+#rc_nostop=""
+
+# rc will attempt to start crashed services by default.
+# However, it will not stop them by default as that could bring down other
+# critical services.
+#rc_crashed_stop=NO
+#rc_crashed_start=YES
+
+# Set rc_nocolor to yes if you do not want colors displayed in OpenRC
+# output.
+#rc_nocolor=NO
+
+##############################################################################
+# MISC CONFIGURATION VARIABLES
+# There variables are shared between many init scripts
+
+# Set unicode to YES to turn on unicode support for keyboards and screens.
+unicode="YES"
+
+# This is how long fuser should wait for a remote server to respond. The
+# default is 60 seconds, but  it can be adjusted here.
+#rc_fuser_timeout=60
+
+# Below is the default list of network fstypes.
+#
+# afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs
+# nfs nfs4 ocfs2 shfs smbfs
+#
+# If you would like to add to this list, you can do so by adding your
+# own fstypes to the following variable.
+#extra_net_fs_list=""
+
+##############################################################################
+# SERVICE CONFIGURATION VARIABLES
+# These variables are documented here, but should be configured in
+# /etc/conf.d/foo for service foo and NOT enabled here unless you
+# really want them to work on a global basis.
+# If your service has characters in its name which are not legal in
+# shell variable names and you configure the variables for it in this
+# file, those characters should be replaced with underscores in the
+# variable names as shown below.
+
+# Some daemons are started and stopped via start-stop-daemon.
+# We can set some things on a per service basis, like the nicelevel.
+#SSD_NICELEVEL="-19"
+
+# Pass ulimit parameters
+# If you are using bash in POSIX mode for your shell, note that the
+# ulimit command uses a block size of 512 bytes for the -c and -f
+# options
+#rc_ulimit="-u 30"
+
+# It's possible to define extra dependencies for services like so
+#rc_config="/etc/foo"
+#rc_need="openvpn"
+#rc_use="net.eth0"
+#rc_after="clock"
+#rc_before="local"
+#rc_provide="!net"
+
+# You can also enable the above commands here for each service. Below is an
+# example for service foo.
+#rc_foo_config="/etc/foo"
+#rc_foo_need="openvpn"
+#rc_foo_after="clock"
+
+# Below is an example for service foo-bar. Note that the '-' is illegal
+# in a shell variable name, so we convert it to an underscore.
+# example for service foo-bar.
+#rc_foo_bar_config="/etc/foo-bar"
+#rc_foo_bar_need="openvpn"
+#rc_foo_bar_after="clock"
+
+# You can also remove dependencies.
+# This is mainly used for saying which servies do NOT provide net.
+#rc_net_tap0_provide="!net"
+
+##############################################################################
+# LINUX SPECIFIC OPTIONS
+
+# This is the subsystem type. Valid options on Linux:
+# ""               - nothing special
+# "docker"         - Docker container manager
+# "lxc"            - Linux Containers
+# "openvz"         - Linux OpenVZ
+# "prefix"         - Prefix
+# "rkt"            - CoreOS container management system
+# "uml"            - Usermode Linux
+# "vserver"        - Linux vserver
+# "systemd-nspawn" - Container created by the systemd-nspawn utility
+# "xen0"           - Xen0 Domain
+# "xenU"           - XenU Domain
+# If this is commented out, automatic detection will be used.
+#
+# This should be set to the value representing the environment this file is
+# PRESENTLY in, not the virtualization the environment is capable of.
+#rc_sys=""
+
+# This is the number of tty's used in most of the rc-scripts (like
+# consolefont, numlock, etc ...)
+rc_tty_number=12
+
+##############################################################################
+# CGROUPS RESOURCE MANAGEMENT
+
+# If you have cgroups turned on in your kernel, this switch controls
+# whether or not a group for each controller is mounted under
+# /sys/fs/cgroup.
+# None of the other options in this section work if this is set to "NO".
+#rc_controller_cgroups="YES"
+
+# The following settings allow you to set up values for the cgroup
+# controllers for your services.
+# They can be set in this file;, however, if you do this, the settings
+# will apply to all of your services.
+# If you want different settings for each service, place the settings in
+# /etc/conf.d/foo for service foo.
+# The format is to specify the names of the settings followed by their
+# values. Each variable can hold multiple settings.
+# For example, you would use this to set the cpu.shares setting in the
+# cpu controller to 512 for your service.
+# rc_cgroup_cpu="
+# cpu.shares 512
+# "
+#
+#For more information about the adjustments that can be made with
+#cgroups, see Documentation/cgroups/* in the linux kernel source tree.
+
+# Set the blkio controller settings for this service.
+#rc_cgroup_blkio=""
+
+# Set the cpu controller settings for this service.
+#rc_cgroup_cpu=""
+
+# Add this service to the cpuacct controller (any value means yes).
+#rc_cgroup_cpuacct=""
+
+# Set the cpuset controller settings for this service.
+#rc_cgroup_cpuset=""
+
+# Set the devices controller settings for this service.
+#rc_cgroup_devices=""
+
+# Set the hugetlb controller settings for this service.
+#rc_cgroup_hugetlb=""
+
+# Set the memory controller settings for this service.
+#rc_cgroup_memory=""
+
+# Set the net_cls controller settings for this service.
+#rc_cgroup_net_cls=""
+
+# Set the net_prio controller settings for this service.
+#rc_cgroup_net_prio=""
+
+# Set the pids controller settings for this service.
+#rc_cgroup_pids=""
+
+# Set this to YES if yu want all of the processes in a service's cgroup
+# killed when the service is stopped or restarted.
+# This should not be set globally because it kills all of the service's
+# child processes, and most of the time this is undesirable. Please set
+# it in /etc/conf.d/<service>.
+# To perform this cleanup manually for a stopped service, you can
+# execute cgroup_cleanup with /etc/init.d/<service> cgroup_cleanup or
+# rc-service <service> cgroup_cleanup.
+# rc_cgroup_cleanup="NO"
index d79706cc7729ee28b3a20d1971aed75d8ffe61aa..5371209767b737eda1402fd710dbe4dd7a8a098e 100644 (file)
@@ -8,3 +8,8 @@ wipe_tmp="YES"
 # Write the initial dmesg log into /var/log/dmesg after boot
 # This may be useful if you need the kernel boot log afterwards
 log_dmesg="YES"
+
+# Save the previous dmesg log to dmesc.old
+# This may be useful if you need to compare the current boot to the
+# previous one.
+#previous_dmesg=no
diff --git a/conf.d/net-online b/conf.d/net-online
new file mode 100644 (file)
index 0000000..bf0b09a
--- /dev/null
@@ -0,0 +1,15 @@
+# The interfaces setting controls which interfaces the net-online
+# service considers in deciding whether the network is active. By
+# default, it is all ethernet or wireless LAN interfaces.
+#interfaces=""
+
+# This setting controls whether a ping to the default gateway is
+# included in the test for network connectivity after all interfaces
+# are active.
+#ping_default_gateway=no
+
+# The timeout setting controls how long the net-online service waits
+# for the network to be configured.
+# The default is 120 seconds.
+# if this is set to 0, the wait is infinite.
+#timeout=120
index fc19fd489b14d6100ce5a5bc0a8f01d47d7da939..53717fcd822e9b0d08aa146fa078aae5c265bbcf 100644 (file)
 #rc_need="net.eth1 net.eth2"
 #
 # If you are using a dynamic network management tool like
-# networkmanager, dhcpcd in standalone mode, wicd, badvpn-ncd, etc, to
+# NetworkManager, dhcpcd in standalone mode, wicd, badvpn-ncd, etc, to
 # manage the network interfaces with the routes to your netmounts, you
 # should list that tool.
 #
-#rc_need="networkmanager"
+#rc_need="NetworkManager"
 #rc_need="dhcpcd"
 #rc_need="wicd"
 #
index c8c0cf5464bde10fa85a84215438c0515ee8603c..03f8924381115a62b70ba0da890206d49b67764e 100755 (executable)
@@ -216,6 +216,9 @@ start()
                        case "$RC_SYS" in
                                VSERVER|OPENVZ|LXC|SYSTEMD-NSPAWN) ;;
                                *)
+                                       if yesno ${previous_dmesg:-no}; then
+                                               mv /var/log/dmesg /var/log/dmesg.old
+                                       fi
                                        dmesg > /var/log/dmesg
                                        chmod 640 /var/log/dmesg
                                        ;;
diff --git a/init.d/net-online b/init.d/net-online
new file mode 100755 (executable)
index 0000000..3ef1481
--- /dev/null
@@ -0,0 +1,69 @@
+#!/sbin/openrc-run
+# Copyright (C) 2015 William Hubbs <w.d.hubbs@gmail.com>
+# Released under the 2-clause BSD license.
+
+description="Delays until the network is online or a specific timeout"
+
+depend()
+{
+       after modules
+       need sysfs
+       keyword -jail -lxc -openvz -prefix -systemd-nspawn -uml -vserver
+}
+
+get_interfaces()
+{
+       local ifname iftype
+       for ifname in /sys/class/net/*; do
+               read iftype < ${ifname}/type
+               [ "$iftype" = "1" ] && printf "%s " ${ifname##*/}
+       done
+}
+
+get_default_gateway()
+{
+       local cmd gateway
+       if command -v ip > /dev/null 2>&1; then
+               cmd="ip route show"
+       else
+               cmd=route
+       fi
+       set -- $($cmd | grep default)
+       [ "$2" != via ] && gateway="$2" || gateway="$3"
+       printf "%s" $gateway
+}
+
+start ()
+{
+       local carriers configured dev gateway ifcount infinite interfaces
+       local rc state timeout x
+
+       ebegin "Checking to see if the network is online"
+       rc=0
+       interfaces=${interfaces:-$(get_interfaces)}
+       timeout=${timeout:-120}
+ [ $timeout -eq 0 ] && infinite=true || infinite=false
+ while $infinite || [ $timeout -gt 0 ]; do
+       carriers=0
+       configured=0
+       ifcount=0
+       for dev in ${interfaces}; do
+               : $((ifcount += 1))
+               read x < /sys/class/net/$dev/carrier
+               [ $x -eq 1 ] && : $((carriers += 1))
+               read x < /sys/class/net/$dev/operstate
+               [ "$x" = up ] && : $((configured += 1))
+       done
+       [ $configured -eq $ifcount ] && [ $carriers -ge 1 ] && break
+       sleep 1
+       : $((timeout -= 1))
+ done
+ ! $infinite && [ $timeout -eq 0 ] && rc=1
+ if [ $rc -eq 0 ] && yesno ${ping_default_gateway:-no}; then
+       gateway="$(get_default_gateway)"
+       if [ -n "$gateway" ] && ! ping -c 1 $gateway > /dev/null 2>&1; then
+               rc=1
+       fi
+ fi
+ eend $rc "The network is offline"
+}
index 70eaaa9e4efe21045b8d15b46c54d67632a0b74b..24b781e0a131be495616d6783b54fda0d64ba1aa 100755 (executable)
@@ -61,16 +61,6 @@ mount_misc()
                fi
        fi
 
-       # set up kernel support for cgroups
-       if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then
-               if grep -qs cgroup /proc/filesystems; then
-                       ebegin "Mounting cgroup filesystem"
-                       local opts="${sysfs_opts},mode=755,size=${rc_cgroupsize:-10m}"
-                       mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup
-                       eend $?
-               fi
-       fi
-
        # set up kernel support for fusectl
        if [ -d /sys/fs/fuse/connections ] \
                && ! mountinfo -q /sys/fs/fuse/connections; then
@@ -108,6 +98,16 @@ mount_misc()
 
 mount_cgroups()
 {
+       # set up kernel support for cgroups
+       if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then
+               if grep -qs cgroup /proc/filesystems; then
+                       ebegin "Mounting cgroup filesystem"
+                       local opts="${sysfs_opts},mode=755,size=${rc_cgroupsize:-10m}"
+                       mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup
+                       eend $?
+               fi
+       fi
+
        mountinfo -q /sys/fs/cgroup || return 0
 
        if ! mountinfo -q /sys/fs/cgroup/openrc; then