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
(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
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.)
(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
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
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.
+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 <lawrencc@debian.org> 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
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
#!/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
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
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
# 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
}
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()
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
"$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()
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)