From: Chris Lawrence Date: Wed, 3 Jul 2002 00:48:35 +0000 (-0500) Subject: lsb 1.2-5.woody.1 Debian release. X-Git-Tag: archive/raspbian/10.2018112800+rpi1^2~269 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=899197d7a7a690a5c94ae7c2a96c02f8234b0f61;p=lsb.git lsb 1.2-5.woody.1 Debian release. --- diff --git a/debian/README.Debian b/debian/README.Debian index 6962cef..6c6cfde 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -43,19 +43,20 @@ It does so in a number of ways: provided here. The intent of this package is to provide a best current practice way -of installing LSB packages on Debian woody on the ia32 architecture. -Its presence does not imply that I believe that Debian fully complies -with the Linux Standard Base, and should not be construed as a -statement that Debian is LSB-compliant. +of installing LSB packages on Debian using the Intel and PowerPC +32-bit architectures with the Linux kernel ("ia32" and "ppc32"). Its +presence does not imply that I or the Debian project believe that +Debian fully complies with the Linux Standard Base, and should not be +construed as a statement that Debian is LSB-compliant. The specification is available at http://www.linuxbase.org/spec/ -DEVIATIONS FROM LSB 1.1 +DEVIATIONS FROM LSB 1.2 The package and its dependencies implement all of LSB on Debian, with these exceptions: -- LSB 1.1 assumes a 2.4 kernel. Debian ships a 2.2 kernel by default +- LSB 1.2 assumes a 2.4 kernel. Debian ships a 2.2 kernel by default as of woody, although 2.4 is optional. There is no way in the Debian system to ensure a package is only installed on a specific kernel release. Running LSB applications on 2.2 kernels may result @@ -64,27 +65,7 @@ these exceptions: (We do not consider this a bug in the package.) -- LSB 1.1 specifies definitions for run levels 2-5 that correspond - with most Red Hat-like distributions. Debian does not specify run - levels 3-5, and RL 2 can theoretically encompass any of LSB 2-5. - - (LSB probably should implement init dependencies for facilities - expected in run levels, rather than using run levels directly.) - - As LSB's "run levels" are virtual run levels that can be remapped by - distribuitions (per discussion on the LSB lists), we treat runlevels - as follows: - - LSB <-> Debian - 0 0 - 1 1 - 2 2,3,4,5 - 3 2,3,4,5 - 4 2,3,4,5 - 5 2,3,4,5 - 6 6 - -- LSB 1.1 doesn't fully specify what the init_functions should do. I +- LSB 1.2 doesn't fully specify what the init_functions should do. I have chosen to implement them in a way that is consistent with Debian current practice, using the start-stop-daemon utility and the echo command. For woody+1, I expect a nicer init logging facility @@ -95,20 +76,12 @@ these exceptions: should create the pid file, therefore I assume the binary will produce its own /var/run/basename.pid file. -- LSB 1.1 specifies that the bin user and group should have uid 1 and - gid 1 respectively. Debian uses uid 2, gid 2. This could only - break applications that use numeric uid/gids, which is bad hoodoo - anyway, but it deviates from the spec. - - We believe this requirement will be removed in a subsequent revision - of the LSB specification. - - Debian only implements certain features of adduser if shadow - passwords are enabled. The lsb package, as of 1.1.0-5, will prompt - the user to enable shadow passwords if they appear to be disabled; - however, it does not force this choice on the administrator. - Administrators who disable shadow passwords may find that some LSB - applications fail to operate correctly as a result. + passwords are enabled. The lsb package will prompt the user to + enable shadow passwords if they appear to be disabled; however, it + does not force this choice on the administrator. Administrators who + disable shadow passwords may find that some LSB applications fail to + operate correctly as a result. (We do not consider this a bug in the package.) @@ -127,6 +100,10 @@ these exceptions: (This appears to be a deficiency in debianutils.) +- The results of running the LSB test suite against Debian with the + LSB package and its dependencies installed are available at + http://people.debian.org/~joeyh/lsbtest/current/, courtesy of Joey Hess. + There may be other deviations from the spec; they are bugs in this package and should be reported as such using Debian's bug tracking system: see reportbug(1) or your favorite bug reporting tool. (The @@ -137,7 +114,7 @@ we hope to resolve in the near future.) For more discussion of these deviations, see: http://lists.debian.org/lsb-spec/2001/lsb-spec-200107/msg00002.html - (a discussion of deficiencies in LSB 1.0, most of which remain.) + (a discussion of deficiencies in LSB 1.0, mostly resolved) DESIGN DECISIONS @@ -145,7 +122,7 @@ DESIGN DECISIONS update-rc.d support. A registry of package-provided facilities and their start and stop priorities is retained in /var/lib/lsb/facilities. Priorities are assigned to the system - facilities as found on my unstable boxen as of today; perhaps system + facilities as found on my sid systems as of today; perhaps system facilities should be registered by the appropriate packages, and not managed by the lsb package, but that is a woody+1 policy decision. diff --git a/debian/changelog b/debian/changelog index ed33790..89051d7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,26 @@ +lsb (1.2-5.woody.1) stable; urgency=high + + * Support LSB 1.2 in woody. Includes all changes through 1.2-6 in sid. + * Fix call to shadowconfig in postinst. (Closed: #166041) + * Add text to the debconf template that lets the user know that shadow + passwords are not needed by most LSB applications. + * Remove duplicate --retry 5 from start-stop-daemon call. (Closed: #165395) + * Fix bugs in the init script registry code. (Closed: #165038) + * Support more specifications for the signal in "killproc". + (Closed: #163109) + * Return non-zero exit status if "pidofproc" can't find the process. + (Closed: #157314) + * Fix silly typos in install_initd. (Closed: #152544) + * Fix duplicated --retry 5. (Closed: #152552) + * Added support for facilities introduced in gLSB 1.2. (Closed: #148568) + - $time: start >= S24, stop <= K21 + - $portmap: start >= S19, stop <= K34 + * Removed support for the $netdaemons facility, which vanished from the + specification. Hopefully nobody is using it... + * Call pidof if it's available and /var/run/$1.pid doesn't exist. + + -- Chris Lawrence Tue, 2 Jul 2002 19:48:35 -0500 + lsb (1.1.0-11) unstable; urgency=low * Note that Debian's run-parts ignores certain lsb cron.* scripts, in diff --git a/debian/control b/debian/control index 0ff824d..4ca83bd 100644 --- a/debian/control +++ b/debian/control @@ -9,13 +9,14 @@ Package: lsb Architecture: all Depends: lsb-release, libgl1, xlibs, libz1, exim | mail-transport-agent, at, bc, binutils, bsdmainutils, cpio, cron, file, libc6-dev | libc-dev, locales, lpr, m4, make, man-db, mawk | awk, ncurses-term, passwd, patch, procps, psmisc, rsync, alien (>= 8.00), python (>> 2.1), ${misc:Depends} Conflicts: python (>> 2.3) -Description: Linux Standard Base 1.1 core support package +Description: Linux Standard Base 1.2 core support package The Linux Standard Base (http://www.linuxbase.org/) is a standard core system that third-party applications can depend upon. . - This package provides an implementation of version 1.1.0 of the Linux - Standard Base for Debian on the Intel x86 architecture with the Linux - kernel. Future revisions may support the LSB on additional + This package provides an implementation of version 1.2 of the Linux + Standard Base for Debian on the Intel x86 and PowerPC 32-bit + architectures with the Linux kernel. Future revisions of the + specification and this package may support the LSB on additional architectures and kernels. . The intent of this package is to provide a best current practice way diff --git a/debian/postinst b/debian/postinst index 86753a0..ac31180 100755 --- a/debian/postinst +++ b/debian/postinst @@ -1,11 +1,14 @@ #!/bin/sh -e +PATH=/sbin:/usr/sbin:$PATH +export PATH + . /usr/share/debconf/confmodule if [ ! -e /etc/shadow ]; then db_get lsb/shadowconfig if [ "$RET" = "true" ]; then - /usr/sbin/shadowconfig on >&2 || true + shadowconfig on >&2 || true fi fi diff --git a/debian/templates b/debian/templates index 64ce2f4..afd1e69 100644 --- a/debian/templates +++ b/debian/templates @@ -8,6 +8,9 @@ Description: Should shadow passwords be enabled? enabled; however, your system currently has shadow passwords disabled. . + Most LSB applications will work fine with either setting, but 100% + conformance requires shadow passwords to be enabled. + . Generally speaking, it is considered good practice to enable shadow passwords. However, there are some situations in which shadow passwords may not work properly (most notably, if non-root users need diff --git a/init-functions b/init-functions index 758bdab..9dfb946 100644 --- a/init-functions +++ b/init-functions @@ -54,6 +54,8 @@ start_daemon () { pidofproc () { if [ -e /var/run/$1.pid ]; then cat /var/run/$1.pid + elif [ -x /bin/pidof ]; then + /bin/pidof -s $1 else echo fi @@ -63,9 +65,11 @@ pidofproc () { # start-stop-daemon uses the same algorithm as "pidofproc" above. killproc () { if [ $2 ]; then - /sbin/start-stop-daemon --stop --pidfile /var/run/$1.pid --retry 5 --signal $2 --quiet --oknodo + sig=$(echo $2 | sed -e 's/^-\(.*\)/\1/') + sig=$(echo $sig | sed -e 's/^SIG\(.*\)/\1/') + /sbin/start-stop-daemon --stop --pidfile /var/run/$1.pid --retry 5 --signal $sig --quiet --oknodo else - /sbin/start-stop-daemon --stop --pidfile /var/run/$1.pid --retry 5 --retry 5 --quiet --oknodo + /sbin/start-stop-daemon --stop --pidfile /var/run/$1.pid --retry 5 --quiet --oknodo fi } diff --git a/initdutils.py b/initdutils.py index 856e094..d37b46b 100644 --- a/initdutils.py +++ b/initdutils.py @@ -56,11 +56,10 @@ def save_facilities(facilities): pass return - items = facilities.items() fh = open(FACILITIES, 'w') - for facility, entries in items: + for facility, entries in facilities.items(): if facility[0] == '$': continue - for scriptname, pri in entries.items(): + for (scriptname, pri) in entries.items(): start, stop = pri print >> fh, "%(scriptname)s %(facility)s %(start)d %(stop)d" % locals() fh.close() @@ -71,7 +70,8 @@ def load_facilities(): for line in open(FACILITIES).xreadlines(): try: scriptname, name, start, stop = line.strip().split() - facilities.get(name, {})[scriptname] = (int(start), int(stop)) + facilities.setdefault(name, {})[scriptname] = (int(start), + int(stop)) except ValueError, x: print >> sys.stderr, 'Invalid facility line', line diff --git a/install_initd b/install_initd index cafa58e..888f1a1 100755 --- a/install_initd +++ b/install_initd @@ -20,7 +20,11 @@ os_facilities = { "$remote_fs" : {'lsb ': (19, 20)}, "$named" : {'lsb': (19, 19)}, "$syslog" : {'lsb' : (10, 89)}, - "$netdaemons" : {'lsb': (80, 19)}, + # No longer present in gLSB 1.2; dropping + #"$netdaemons" : {'lsb': (80, 19)}, + # gLSB 1.2 + "$portmap" : {'lsb' : (19, 34)}, + "$time" : {'lsb' : (24, 21)}, } facilities = initdutils.load_facilities() diff --git a/remove_initd b/remove_initd index 641e2cb..c7dc827 100755 --- a/remove_initd +++ b/remove_initd @@ -16,10 +16,10 @@ if provides: for facility in provides: if facilities.has_key(facility): - entries = [] - for entry in facilities[facility]: + entries = {} + for entry in facilities[facility].items(): if entry[0] != initfile: - entries.append(entry) + entries[entry[0]] = entry[1] facilities[facility] = entries initdutils.save_facilities(facilities)