diff --git a/doc/Changelog b/doc/Changelog index c5b540c..286f449 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -83,6 +83,8 @@ sysvinit (2.89) UNRELEASED; urgency=low Gislason and Debian. * Port ifdown.c to FreeBSD. Patch from Guillem Jover and Debian. * Drop dsf part from version number. It no longer make sense to keep. + * Remove obsolete/ directory from tarball. None of it have been useful + for many years. -- Petter Reinholdtsen Sun Apr 11 11:28:55 CEST 2010 diff --git a/obsolete/README.RIGHT.NOW b/obsolete/README.RIGHT.NOW deleted file mode 100644 index 7a6fb1d..0000000 --- a/obsolete/README.RIGHT.NOW +++ /dev/null @@ -1,58 +0,0 @@ -WARNING: - - This version of sysvinit is really different from the 2.50 and - earlier version. - - Shutdown now puts the system into runlevel 6 (reboot), 0 (halt) - or 1 (single user). This can cause unexpected results if you - install the binaries from this release into Slackware distributions - older than Slackware 3.0. - -SUPPORTED DISTRIBUTIONS: - - The binaries from this package can be installed in: - - o Debian 1.3 and later - o RedHat 3.x and later - o Slackware 3.0 (UNTESTED but it might work - no complaints yet). - Also read the INIT.README in the slackware/ directory. - o Slackware 2.x: see the slackware/ directory - - Do not install any of the scripts from the debian/ directory unless - you know what you are doing. - -UNSUPPORTED DISTRIBUTIONS: - - o The rest :) - - If you have a non-supported system, please upgrade to the latest version - of your distribution that supports the Linux 2.0.x kernel (probably - the reason why you are installing this newer sysvinit). - - You might get away by installing *just* the "init" binary, and nothing - else. Do _not_ replace your existing halt, reboot or shutdown programs. - -HOW TO NON DESTRUCTIVELY TEST THE NEW INIT: - - Install *just* the init binary as /sbin/init.new. Now reboot the system, - and stop your bootloader so you can give arguments on the command line. - With LILO you can usually achieve this by keeping the SHIFT key - pressed during boot up. Enter the name of the kernel image (for LILO, - TAB shows a list) followed by the argument "init=/sbin/init.new". - The name "init.new" is special, do not use something like "init.test". - - For example: - - boot: linux init=/sbin/init.new - - YOU CANNOT SHUTDOWN IN A CLEAN WAY AFTER THIS. Your best bet is to use - the "-n" flag to shutdown. This is because init is not running as process #1 - if you use this method. Anyway, if this works, you can remove the old init - and copy the new init into place. - -DISCLAIMER: - - If it breaks you get to keep both pieces. If you want to run the latest - Linux 2.0.x kernel and you can't get init to work just upgrade your entire - distribution to a newer version that supports the 2.0.x kernel properly. - diff --git a/obsolete/bootlogd.init b/obsolete/bootlogd.init deleted file mode 100755 index cf7b9eb..0000000 --- a/obsolete/bootlogd.init +++ /dev/null @@ -1,67 +0,0 @@ -#! /bin/sh -# -# bootlogd One of the first scripts to be executed. Starts or stops -# the bootlogd log program. If this script is called as -# "stop-bootlogd", it will stop the daemon instead of -# starting it even when called with the "start" argument. -# -# Version: @(#)bootlogd 2.77 24-Aug-1999 miquels@cistron.nl -# - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/sbin/bootlogd -NAME=bootlogd -DESC="Bootlog daemon" -PIDFILE=/var/run/$NAME.pid - -test -f $DAEMON || exit 0 - -## set -e # not needed - -. /etc/default/rcS - -case "$0" in - *stop-bootlog*) - stopper=yes - ;; -esac - -case "$1" in - start|stop) - if [ "$stopper" ] || [ "$1" = "stop" ] - then - echo -n "Stopping $DESC: " - start-stop-daemon --stop --quiet --exec $DAEMON - else - echo -n "Starting $DESC: " - start-stop-daemon --start --quiet --exec $DAEMON -- -r - fi - if [ "$stopper" ] && [ -f /var/log/boot.log ] && \ - [ -f /var/log/boot.log~ ] - then - cd /var/log - savelog -p -c 5 boot.log > /dev/null 2>&1 - mv boot.log.0 boot.log - mv boot.log~ boot.log.0 - fi - echo "$NAME." - ;; - restart|force-reload) - echo -n "Restarting $DESC: " - start-stop-daemon --stop --quiet --pidfile \ - $PIDFILE --exec $DAEMON -- -p $PIDFILE - sleep 1 - start-stop-daemon --start --quiet --pidfile \ - $PIDFILE --exec $DAEMON -- -p $PIDFILE - echo "$NAME." - ;; - *) - N=${0##*/} - N=${N#[SK]??} - echo "Usage: $N {start|stop|restart|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 - diff --git a/obsolete/powerd.8 b/obsolete/powerd.8 deleted file mode 100644 index c1c27e3..0000000 --- a/obsolete/powerd.8 +++ /dev/null @@ -1,73 +0,0 @@ -'\" -*- coding: UTF-8 -*- -.\" Copyright (C) 1994 Miquel van Smoorenburg. -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or -.\" (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -.\" -.TH POWERD 8 "Feb 14, 1994" "" "Linux System Administrator's Manual" -.SH NAME -.\" powerd \(em monitor a serial line connected to an UPS. -powerd -- monitor a serial line connected to an UPS. -.SH SYNOPSIS -.B /sbin/powerd -.RB " serial-device " -.SH DESCRIPTION -.B Powerd -is a daemon process that sits in the background and monitors the state -of the DCD line of the serial device. This line is meant to be -connected to a UPS (Uninterruptible Power Supply) so that \fBpowerd\fP knows -about the state of the UPS. As soon as \fBpowerd\fP senses that the -power is failing (it sees that DCD goes low) it notifies \fBinit\fP(8), -and \fBinit\fP then executes the \fBpowerwait\fP and \fBpowerfail\fP entries. -If \fBpowerd\fP senses that the power has been restored, it notifies \fBinit\fP -again and \fBinit\fP will execute the \fBpowerokwait\fP entries. -.SH ARGUMENTS -.IP serial-device -Some serial port that is not being used by some other device, and does not -share an interrupt with any other serial port. -.SH DIAGNOSTICS -\fBPowerd\fP regularly checks the \fBDSR\fP line to see if it's high. -\fBDSR\fP should be directly connected to \fBDTR\fP and \fBpowerd\fP -keeps that line high, so if \fBDSR\fP is low then something is wrong -with the connection. \fBPowerd\fP will notify you about this fact every -two minutes. When it sees that the connection has been restored it -will say so. -.SH HOWTO -It's pretty simple to connect your UPS to the Linux machine. The steps -are easy: -.TP 0.5i -.B 1. -Make sure you have an UPS with a simple relay output: it should -close its connections (make) if the power is gone, and it should -open its connections (break) if the power is good. -.TP 0.5i -.B 2. -Buy a serial plug. Connect the DTR line to the DSR line directly. -Connect the DTR line and the DCD line with a \fB10 kilo ohm\fP -resistor. Now connect the relay output of the UPS to GROUND -and the DCD line. If you don't know what pins DSR, DTR, DCD and -GROUND are you can always ask at the store where you bought the plug. -.TP 0.5i -.B 3. -You're all set. -.SH BUGS -Well, not a real bug but \fBpowerd\fP should be able to do a broadcast or -something on the ethernet in case more Linux-boxes are connected to -the same UPS and only one of them is connected to the UPS status line. -.SH SEE ALSO -.BR shutdown (8), -.BR init (8), -.BR inittab (5) -.SH AUTHOR -Miquel van Smoorenburg, miquels@cistron.nl diff --git a/obsolete/powerd.README b/obsolete/powerd.README deleted file mode 100644 index dd0563c..0000000 --- a/obsolete/powerd.README +++ /dev/null @@ -1,36 +0,0 @@ -There are 2 *much* better powerd's than the one that is included as -an example with sysvinit. The powerd.c in this distribution is just ment -as a programming example, not to be used in a real life situation. - -1. GENPOWERD. - -This is a powerd written by Tom Webster . It's a -nice package, you can find info at http://www.kaiwan.com/~webster/genpower.html - -2. POWERD-2.0. - -This is another powerd, written by rubini@ipvvis.unipv.it (Alessandro Rubini). -The main advantage over genpowerd is that it can signal other machines over -the network. - -This LSM may be out of date. Please check if a newer version exists. - -Begin3 -Title: powerd -Version: 2.0 -Entered-date: Sep 26 1995 -Description: A daemon to shut down and up computers connected to ups's. - Network-aware: server-mode and client-mode allowed. -Keywords: ups, powerd, init -Author: Alessandro Rubini (based on Miquel van Smoorenburg's work). -Maintained-by: rubini@ipvvis.unipv.it (Alessandro Rubini) -Primary-site: sunsite.unc.edu /pub/Linux/system/UPS/powerd-2.0.tar.gz - 25kB powerd-2.0.tar.gz - 1kB powerd-2.0.lsm -Alternate-site: -Original-site: iride.unipv.it /pub/linux - 25kB powerd-2.0.tar.gz - 1kB powerd-2.0.lsm -Platform: Linux. Porting is foreseeable. -Copying-policy: GPL -End diff --git a/obsolete/powerd.c b/obsolete/powerd.c deleted file mode 100644 index fdd31d8..0000000 --- a/obsolete/powerd.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - * powerd Monitor the DCD line of a serial port connected to - * an UPS. If the power goes down, notify init. - * If the power comes up again, notify init again. - * As long as the power is OK, the DCD line should be - * "HIGH". When the power fails, DCD should go "LOW". - * Powerd keeps DTR high so that you can connect - * DCD and DTR with a resistor of 10 Kilo Ohm and let the - * UPS or some relais pull the DCD line to ground. - * You also need to connect DTR and DSR together. This - * way, powerd can check now and then if DSR is high - * so it knows the UPS is connected!! - * - * Usage: powerd /dev/cua4 (or any other serial device). - * - * Author: Miquel van Smoorenburg, . - * - * Version: 1.31, 29-Feb-1996. - * - * This program was originally written for my employer, - * ** Cistron Electronics ** - * who has given kind permission to release this program - * for general puppose. - * - * Copyright (C) 1991-1996 Cistron Electronics. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/* Use the new way of communicating with init. */ -#define NEWINIT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "paths.h" -#ifdef NEWINIT -#include "initreq.h" -#endif - -#ifndef SIGPWR -# define SIGPWR SIGUSR1 -#endif - -#ifdef NEWINIT -void alrm_handler() -{ -} -#endif - -/* Tell init the power has either gone or is back. */ -void powerfail(ok) -int ok; -{ - int fd; -#ifdef NEWINIT - struct init_request req; - - /* Fill out the request struct. */ - memset(&req, 0, sizeof(req)); - req.magic = INIT_MAGIC; - req.cmd = ok ? INIT_CMD_POWEROK : INIT_CMD_POWERFAIL; - - /* Open the fifo (with timeout) */ - signal(SIGALRM, alrm_handler); - alarm(3); - if ((fd = open(INIT_FIFO, O_WRONLY)) >= 0 - && write(fd, &req, sizeof(req)) == sizeof(req)) { - close(fd); - return; - } - /* Fall through to the old method.. */ -#endif - - /* Create an info file for init. */ - unlink(PWRSTAT); - if ((fd = open(PWRSTAT, O_CREAT|O_WRONLY, 0644)) >= 0) { - if (ok) - write(fd, "OK\n", 3); - else - write(fd, "FAIL\n", 5); - close(fd); - } - kill(1, SIGPWR); -} - -/* Main program. */ -int main(int argc, char **argv) -{ - int fd; - int dtr_bit = TIOCM_DTR; - int flags; - int status, oldstat = -1; - int count = 0; - int tries = 0; - - if (argc < 2) { - fprintf(stderr, "Usage: powerd \n"); - exit(1); - } - - /* Start syslog. */ - openlog("powerd", LOG_CONS|LOG_PERROR, LOG_DAEMON); - - /* Open monitor device. */ - if ((fd = open(argv[1], O_RDWR | O_NDELAY)) < 0) { - syslog(LOG_ERR, "%s: %s", argv[1], sys_errlist[errno]); - closelog(); - exit(1); - } - - /* Line is opened, so DTR is high. Force it anyway to be sure. */ - ioctl(fd, TIOCMBIS, &dtr_bit); - - /* Daemonize. */ - switch(fork()) { - case 0: /* Child */ - closelog(); - setsid(); - break; - case -1: /* Error */ - syslog(LOG_ERR, "can't fork."); - closelog(); - exit(1); - default: /* Parent */ - closelog(); - exit(0); - } - - /* Restart syslog. */ - openlog("powerd", LOG_CONS, LOG_DAEMON); - - /* Now sample the DCD line. */ - while(1) { - /* Get the status. */ - ioctl(fd, TIOCMGET, &flags); - - /* Check the connection: DSR should be high. */ - tries = 0; - while((flags & TIOCM_DSR) == 0) { - /* Keep on trying, and warn every two minutes. */ - if ((tries % 60) == 0) - syslog(LOG_ALERT, "UPS connection error"); - sleep(2); - tries++; - ioctl(fd, TIOCMGET, &flags); - } - if (tries > 0) - syslog(LOG_ALERT, "UPS connection OK"); - - /* Calculate present status. */ - status = (flags & TIOCM_CAR); - - /* Did DCD drop to zero? Then the power has failed. */ - if (oldstat != 0 && status == 0) { - count++; - if (count > 3) - powerfail(0); - else { - sleep(1); - continue; - } - } - /* Did DCD come up again? Then the power is back. */ - if (oldstat == 0 && status > 0) { - count++; - if (count > 3) - powerfail(1); - else { - sleep(1); - continue; - } - } - /* Reset count, remember status and sleep 2 seconds. */ - count = 0; - oldstat = status; - sleep(2); - } - /* Never happens */ - return(0); -} diff --git a/obsolete/powerd.cfg b/obsolete/powerd.cfg deleted file mode 100644 index 65a76f0..0000000 --- a/obsolete/powerd.cfg +++ /dev/null @@ -1,58 +0,0 @@ -# Example configuration for power daemon. -# NOTE: this is not implemented yet, just a design. -# -# @(#) powerd.cfg 1.01 01-Oct-1994 MvS -# - -# This is the setup section. It sets up the default line -# signals that your UPS likes to see. -[ setup ] -dtr = 1 -rts = 1 -baud = 2400 -send "AAAA" - -# Now: how to tell UPS to turn off the power. -[ powerdown ] -dtr = 0 -send "BYE" - -# How to monitor the UPS, or a remote UPS. -# Possible line signals: dcd cts dsr ring -# -# Comment out the parts you don't want. -# -# All of this (1, 2, 3) can be combined. -[ monitor ] - -# First, do we want to broadcast the UPS status -# on ethernet when something happens? -# Comment out to disable. -# Syntax: address, portnumber -# address: broadcast adress on ethernet -# portnumber: unused priviliged port (under 1024) -broadcast = 10.0.33.255,15 - -# monitor type 1. This tells powerd to monitor line signals. -ok = dcd -fail = !dcd -lowbat = rts - -# Monitor type 2. Tell powerd to look for data. -ok = "OK" -fail = "!" - -# Monitor type 3. Listen to the ethernet. -# -# Warn_host is the hostname of the system with the UPS -# This is for security, so that someone on a DOS box -# can't spoof the powerd broadcast. The number after it -# is the portnumber to listen to (see above: broadcast). -# -# Note: if the broadcast address set above is enabled -# and we receive a message from a remote powerd, we check -# the received broadcast address. If this is the same -# as from the broadcast we just received, -# it will not be repeated (guess why). -remote = warn_host,15 - diff --git a/obsolete/utmpdump.c.OLD b/obsolete/utmpdump.c.OLD deleted file mode 100644 index 9161396..0000000 --- a/obsolete/utmpdump.c.OLD +++ /dev/null @@ -1,70 +0,0 @@ -/* - * utmpdump Simple program to dump UTMP and WTMP files in - * raw format, so they can be examined. - * - * Version: @(#)utmpdump.c 13-Aug-1996 1.00 miquels@cistron.nl - * - * This file is part of the sysvinit suite, - * Copyright (C) 1991-1996 Miquel van Smoorenburg. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include -#include - -void dump(fp) -FILE *fp; -{ - struct utmp ut; - int f; - time_t tm; - - while (fread(&ut, sizeof(struct utmp), 1, fp) == 1) { - for(f = 0; f < 12; f++) if (ut.ut_line[f] == ' ') ut.ut_line[f] = '_'; - for(f = 0; f < 8; f++) if (ut.ut_name[f] == ' ') ut.ut_name[f] = '_'; - tm = ut.ut_time; - printf("[%d] [%05d] [%-4.4s] [%-8.8s] [%-12.12s] [%-15.15s]\n", - ut.ut_type, ut.ut_pid, ut.ut_id, ut.ut_user, - ut.ut_line, 4 + ctime(&tm)); - } -} - -int main(argc, argv) -int argc; -char **argv; -{ - int f; - FILE *fp; - - if (argc < 2) { - argc = 2; - argv[1] = UTMP_FILE; - } - - for(f = 1; f < argc; f++) { - if (strcmp(argv[f], "-") == 0) { - printf("Utmp dump of stdin\n"); - dump(stdin); - } else if ((fp = fopen(argv[f], "r")) != NULL) { - printf("Utmp dump of %s\n", argv[f]); - dump(fp); - fclose(fp); - } else - perror(argv[f]); - } - return(0); -}