lsb 1.2-5.woody.1 Debian release.
authorChris Lawrence <lawrencc@debian.org>
Wed, 3 Jul 2002 00:48:35 +0000 (19:48 -0500)
committerDidier Raboud <odyx@debian.org>
Wed, 3 Jul 2002 00:48:35 +0000 (19:48 -0500)
debian/README.Debian
debian/changelog
debian/control
debian/postinst
debian/templates
init-functions
initdutils.py
install_initd
remove_initd

index 6962cefecd8b1426eac592f3b1e511fc50cb1143..6c6cfdeb590cba0a30a4812403bdf31e65ff2920 100644 (file)
@@ -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.
 
index ed33790185360755f9976926276a3b11445c9212..89051d7edb74ce38a7af0c91148a3c5e91dcae78 100644 (file)
@@ -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 <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
index 0ff824d2266aa7a466bf8111594cca97f5882004..4ca83bd0a3da71e356653899e81d9095b8b18b8c 100644 (file)
@@ -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
index 86753a0efa023e1516dbd6616b2f57f3076cbe52..ac31180de710f2769c83d00660f85af063112d1c 100755 (executable)
@@ -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
 
index 64ce2f4268e3746c8e955377fa8030ade1d3f343..afd1e6941dfc07993929edd7fedda48a1f539510 100644 (file)
@@ -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
index 758bdab115def043f65822f7b113c342606cb471..9dfb9466ab123c326e2ceafc5925acfd2e593f3f 100644 (file)
@@ -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
 }
 
index 856e094a9128d4f87fe1e112065a429ffeb02dc0..d37b46b5c62caf1e666d4d90675da6988a81d922 100644 (file)
@@ -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
 
index cafa58e1810a4f5362a851f20a5684bd35755ab9..888f1a1a77e3653307c84109e39ef67ef8ebfda3 100755 (executable)
@@ -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()
index 641e2cb3ac835c6fdfad2d8a69cd836a54286c03..c7dc827453907a688b39f09850f375b05c158f65 100755 (executable)
@@ -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)