diff options
author | Chris Lawrence <lawrencc@debian.org> | 2002-04-15 02:25:51 -0500 |
---|---|---|
committer | Didier Raboud <odyx@debian.org> | 2002-04-15 02:25:51 -0500 |
commit | 615eefac454a2c04545dee376659cfdbe9e54d4b (patch) | |
tree | 251ec3478ffa07606e624381d96b9ac7b8dddc08 |
lsb 1.1.0-11 Debian release.
-rw-r--r-- | debian/README.Debian | 163 | ||||
-rw-r--r-- | debian/changelog | 96 | ||||
-rwxr-xr-x | debian/config | 8 | ||||
-rw-r--r-- | debian/control | 25 | ||||
-rw-r--r-- | debian/copyright | 23 | ||||
-rw-r--r-- | debian/dirs | 4 | ||||
-rw-r--r-- | debian/doc-base.lsb | 10 | ||||
-rw-r--r-- | debian/docs | 0 | ||||
-rw-r--r-- | debian/lsb.docs | 1 | ||||
-rwxr-xr-x | debian/postinst | 12 | ||||
-rwxr-xr-x | debian/rules | 99 | ||||
-rw-r--r-- | debian/templates | 17 | ||||
-rw-r--r-- | html/DEBtoLSB | 63 | ||||
-rw-r--r-- | html/LSBtoDEB | 193 | ||||
-rw-r--r-- | html/deblist | 49 | ||||
-rw-r--r-- | html/depends | 9 | ||||
-rw-r--r-- | html/fresh.common | 44 | ||||
-rw-r--r-- | html/fresh.extra | 129 | ||||
-rw-r--r-- | html/fresh.new | 5 | ||||
-rw-r--r-- | html/freshinstall | 173 | ||||
-rw-r--r-- | html/index.html | 48 | ||||
-rw-r--r-- | html/needed | 14 | ||||
-rw-r--r-- | html/super.extra | 138 | ||||
-rw-r--r-- | html/superset | 187 | ||||
-rw-r--r-- | init-fragment | 12 | ||||
-rw-r--r-- | init-functions | 81 | ||||
-rw-r--r-- | initdutils.py | 78 | ||||
-rwxr-xr-x | install_initd | 91 | ||||
-rw-r--r-- | lsb.8 | 35 | ||||
-rwxr-xr-x | remove_initd | 28 |
30 files changed, 1835 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..6962cef --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,163 @@ +lsb for Debian +-------------- + +This package provides the Linux Standard Base on Debian systems. The +LSB is a specification for allowing the same binary package to be used +on multiple distributions. + +The "lsb" package depends on a number of other Debian packages that +are required for full LSB compliance. It also includes some +subroutines that are used by some LSB-compliant applications when they +are being installed or removed. + +INSTALLING LSB PACKAGES + +The "alien" package supports LSB packages on Debian. For example, to +install an LSB package "lsb-mozilla-1.2-1_i386.rpm", type (as root): + +alien -i lsb-mozilla-1.2-1_i386.rpm + +Ideally, the package should be converted to a Debian package and then +installed by dpkg. If this fails, there may be a problem with either +the lsb package (most likely) or alien (less likely), and you should +contact the vendor of the lsb package to resolve the problem. + +IMPLEMENTATION ISSUES + +This package attempts to implement the core LSB specification. Much +of the implementation is drawn on a talk by Wichert Akkerman +(http://www.liacs.nl/~wichert/talks/LSBDistro/html/) and Matt +Taggart's discussion of LSB 1.0 and Debian. Matt's discussion is +provided in the /usr/share/doc/lsb/html directory. + +It does so in a number of ways: + +- Depending upon packages that implement OS services required by the + LSB, including libraries and programs. + +- Including the ld-lsb.so.1 symlink to the dynamic linker. + +- Providing the LSB init script functionality. Some of the LSB init + functionality cannot be implemented without cooperation from other + packages or changes in policy for woody+1; however, the remainder is + 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. + +The specification is available at http://www.linuxbase.org/spec/ + +DEVIATIONS FROM LSB 1.1 + +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 + 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 + in subtle bugs or failures, particularly if they depend on large + file support or new syscall interfaces introduced in Linux 2.3+. + + (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 + 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 + that could be used. + +- LSB specifies no way for a binary to request that a pid file be + created for it, and the spec is ambiguous about whether start_daemon + 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. + + (We do not consider this a bug in the package.) + +- The LSB specifies that several X libraries must be available on the + system, but does not specify the presence of either an X server or + any X clients. However, many LSB packages may expect these things + to be present, despite their absence from the spec. + + (This may be a deficiency in the spec. However, we comply as-written.) + +- The LSB specifies that cron scripts can be placed in cron.daily and + other directories; however, Debian's run-parts appears to ignore + these scripts if they contain a dot in their names. (See #118646) + Once this deficiency is fixed, a versioned dependency will be added + to this package. + + (This appears to be a deficiency in debianutils.) + +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 +aforementioned deviations are generally bugs in the package that +cannot be easily fixed, or are bugs in the specification itself that +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.) + +DESIGN DECISIONS + +- I implemented the LSB init dependencies based on Debian policy's + 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 should be registered by the appropriate packages, and not + managed by the lsb package, but that is a woody+1 policy decision. + +- The facility handling scripts are written in Python. I am not + particularly attached to them being written in Python, but at the + same time I do not forsee rewriting them in $language_of_choice. + +COMPLIANCE TESTING + +I have been unable to locate any LSB package that tests the init +script functionality of the spec. I am therefore unable to say +whether this package actually works as advertised. I would appreciate +any reports of its success or failure. + + -- Chris Lawrence <lawrencc@debian.org>, Sun, 17 Feb 2002 14:07:32 -0600 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..ed33790 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,96 @@ +lsb (1.1.0-11) unstable; urgency=low + + * Note that Debian's run-parts ignores certain lsb cron.* scripts, in + violation of the LSB specification. See #118646. + (If necessary, run-parts may be diverted by this package to conform.) + + -- Chris Lawrence <lawrencc@debian.org> Mon, 15 Apr 2002 02:25:51 -0500 + +lsb (1.1.0-10) unstable; urgency=low + + * Force removal of rc.d links in remove_initd. (Closes: #139400) + + -- Chris Lawrence <lawrencc@debian.org> Thu, 21 Mar 2002 22:43:01 -0600 + +lsb (1.1.0-9) unstable; urgency=low + + * Improve error handing in {install,remove}_initd when no argument is + specified. + * Fix minor syntax error in outputing the facilities file. + * Move facilities file handling into the initdutils module. + * Changed facilities file format to allow multiple init scripts to + provide the same facility w/o crashing. + * These changes should solve all the init script handing bugs; thanks to + Tobias Burnus <tburnus@physik.fu-berlin.de> for his testing. + + -- Chris Lawrence <lawrencc@debian.org> Tue, 19 Mar 2002 20:40:50 -0600 + +lsb (1.1.0-8) unstable; urgency=low + + * Fix typo in debian/rules. (Closes: #138945) + * Rewrite the init script handling to improve modularity. + * Fix typos in regexes in init script handling. (Closes: #138946) + + -- Chris Lawrence <lawrencc@debian.org> Tue, 19 Mar 2002 14:47:43 -0600 + +lsb (1.1.0-7) unstable; urgency=low + + * Fix remove_initd in line with the changes to install_initd. + + -- Chris Lawrence <lawrencc@debian.org> Sun, 17 Mar 2002 19:46:21 -0600 + +lsb (1.1.0-6) unstable; urgency=medium + + * Fix typos in init functions. (Closes: #138766) + * Move init-functions to /lib/lsb. (Closes: #138762) + * Fix logic errors in start_daemon. (Closes: #138771) + * Fix init script header processing to accomodate minor deviations from + the LSB spec. (Closes: #138789) + + -- Chris Lawrence <lawrencc@debian.org> Sun, 17 Mar 2002 18:27:42 -0600 + +lsb (1.1.0-5) unstable; urgency=low + + * Include /usr/X11R6/bin to make the LSB test suite happy. Document + LSB's lack of specification of an X server or any clients as required + for compliance (hence making it odd that /usr/X11R6/bin would be + needed, as it could conceivably be empty). (Closes: #136713) + * Prompt on installation if shadow passwords appear to be disabled, and + enable them if requested. (Closes: #136806) + * Fix the spelling of Matt Taggart's name in README.Debian. + + -- Chris Lawrence <lawrencc@debian.org> Fri, 8 Mar 2002 23:19:39 -0600 + +lsb (1.1.0-4) unstable; urgency=low + + * Clean up directories to omit those present in current base-files. + * Rearrange README.Debian to put installation discussion near the top. + + -- Chris Lawrence <lawrencc@debian.org> Sun, 24 Feb 2002 23:51:05 -0600 + +lsb (1.1.0-3) unstable; urgency=low + + * Release candidate. + * Include HTML files from Matt Taggart <taggart@debian.org> comparing + the LSB spec to Debian. + * Clean up dependency list. + * Convert to arch-independent package. + * Add lsb(8) manpage. + + -- Chris Lawrence <lawrencc@debian.org> Sun, 24 Feb 2002 21:42:26 -0600 + +lsb (1.1.0-2) unstable; urgency=low + + * Update README.Debian and install_initd to implement a few changes: + - uid/gid for bin is documented. + - treat RL 2-5 as the same, because nothing else sensible seems + available. + + -- Chris Lawrence <lawrencc@debian.org> Mon, 18 Feb 2002 20:08:23 -0600 + +lsb (1.1.0-1) unstable; urgency=low + + * Initial Release. (Closes: #134658) + + -- Chris Lawrence <lawrencc@debian.org> Sun, 17 Feb 2002 14:07:32 -0600 + diff --git a/debian/config b/debian/config new file mode 100755 index 0000000..e927aac --- /dev/null +++ b/debian/config @@ -0,0 +1,8 @@ +#!/bin/sh -e + +. /usr/share/debconf/confmodule + +if [ ! -e /etc/shadow ]; then + db_input medium lsb/shadowconfig || true +fi +db_go diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..0ff824d --- /dev/null +++ b/debian/control @@ -0,0 +1,25 @@ +Source: lsb +Section: misc +Priority: extra +Maintainer: Chris Lawrence <lawrencc@debian.org> +Build-Depends-Indep: debhelper (>> 3.0.0) +Standards-Version: 3.5.2 + +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 + 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 + architectures and kernels. + . + The intent of this package is to provide a best current practice way + of installing and running LSB packages on Debian GNU/Linux. Its + presence does not imply that we believe that Debian fully complies + with the Linux Standard Base, and should not be construed as a + statement that Debian is LSB-compliant. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..5843769 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,23 @@ +This package was created by Chris Lawrence <lawrencc@debian.org> on +Sun, 17 Feb 2002 14:07:32 -0600. + +The HTML files in html/ were written by Matt Taggart <taggart@debian.org> + +Copyright: + + This package 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; version 2 dated June, 1991. + + This package 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 package; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. + +On Debian systems, the complete text of the GNU General Public License +can be found in `/usr/share/common-licenses/GPL'. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..313fdfe --- /dev/null +++ b/debian/dirs @@ -0,0 +1,4 @@ +lib/lsb +usr/X11R6/bin +usr/lib/lsb +var/lib/lsb diff --git a/debian/doc-base.lsb b/debian/doc-base.lsb new file mode 100644 index 0000000..321bac5 --- /dev/null +++ b/debian/doc-base.lsb @@ -0,0 +1,10 @@ +Document: lsb +Title: LSB as it Relates to Debian +Author: Matt Taggart <taggart@debian.org> +Abstract: This document compares the general Linux Standards Base written + specification to Debian. +Section: misc + +Format: HTML +Index: /usr/share/doc/lsb/html/index.html +Files: /usr/share/doc/lsb/html/* diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/debian/docs diff --git a/debian/lsb.docs b/debian/lsb.docs new file mode 100644 index 0000000..5ccff1a --- /dev/null +++ b/debian/lsb.docs @@ -0,0 +1 @@ +html/ diff --git a/debian/postinst b/debian/postinst new file mode 100755 index 0000000..86753a0 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,12 @@ +#!/bin/sh -e + +. /usr/share/debconf/confmodule + +if [ ! -e /etc/shadow ]; then + db_get lsb/shadowconfig + if [ "$RET" = "true" ]; then + /usr/sbin/shadowconfig on >&2 || true + fi +fi + +##DEBHELPER## diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..ff1c00e --- /dev/null +++ b/debian/rules @@ -0,0 +1,99 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatibility version to use. +export DH_COMPAT=3 + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + CFLAGS += -g +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + #$(MAKE) + #/usr/bin/docbook-to-man debian/lsb.sgml > lsb.1 + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp *.py[co] + + # Add here commands to clean up after the build process. + -$(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/lsb. + #$(MAKE) install DESTDIR=$(CURDIR)/debian/lsb + # IA32 spec: + ln -s ld-linux.so.2 debian/lsb/lib/ld-lsb.so.1 + cp initdutils.py install_initd remove_initd debian/lsb/usr/lib/lsb + cp init-functions debian/lsb/lib/lsb + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installdebconf + dh_installdocs + dh_installexamples + dh_installmenu +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit + dh_installcron + dh_installman lsb.8 + dh_installinfo +# dh_undocumented + dh_installchangelogs + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/debian/templates b/debian/templates new file mode 100644 index 0000000..64ce2f4 --- /dev/null +++ b/debian/templates @@ -0,0 +1,17 @@ +Template: lsb/shadowconfig +Type: boolean +Default: true +Description: Should shadow passwords be enabled? + The Linux Standard Base requires that certain features of adduser(8) + be available to conforming applications (such as password aging). + Debian only provides these features when shadow passwords are + enabled; however, your system currently has shadow passwords + disabled. + . + 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 + to authenticate passwords against /etc/passwd). + . + If you answer in the affirmative, the command 'shadowconfig on' will + be run to enable shadow passwords. diff --git a/html/DEBtoLSB b/html/DEBtoLSB new file mode 100644 index 0000000..3bdc326 --- /dev/null +++ b/html/DEBtoLSB @@ -0,0 +1,63 @@ +This file provides a mapping from Debian packages needed by the LSB 1.0 spec +to the requirements of the spec that they fulfill. Section of the spec is +"Chapter 14 - Commands" unless otherwise noted. + +Last Updated: August 2, 2001 + +Debian Package Parts of LSB 1.0 +-------------- ---------------- +lsb-release lsb_release +alien lsb package format (Ch. 13) +at at,batch +base-files FHS (Ch. 17) +base-passwd defined users and groups (Ch. 16) +bash sh,time, a posix shell for /bin/sh (Ch. 15) +bc bc +binutils ar,strip +bsdmainutils col +bsdutils renice +cpio cpio +cron crontab,cron (Ch. 18) +debianutils mktemp +diff cmp,diff +dpkg md5sum +exim sendmail +file file +fileutils chgrp,chmod,chown,cp,dd,df,du,install,ln,ls,mkdir,mv,rm, + rmdir,sync,touch,find,xargs +grep egrep,fgrep,grep +gzip gunzip,gzip +hostname hostname +libc6 libc,libm,libpthread,libdl,libcrypt,librt(Ch. 10) + libutil (Ch. 11) + iconv,locale,localedef +libc6-dev gencat,getconf +libncurses5 libncurses (Ch. 11) +locales libc,locale,localedef +login newgrp,su +lpr lpr +m4 m4 +make make +man-db man +mawk awk +mount mount,umount +ncurses-base libncurses (Ch. 11) +ncurses-bin libncurses (Ch. 11) +ncurses-term libncurses (Ch. 11) +passwd chfn,chsh,groupadd,groupdel,groupmod,passwd,useradd,userdel, + usermod +patch patch +procps kill,ps +psmisc fuser,killall +rsync rsync +sed sed +shellutils basename,date,dirname,echo,env,expr,false,groups,id,logname, + nice,nohup,pathchk,printf,pwd,sleep,stty,tee,test,true,tty,uname +sysvinit init (Ch. 18), pidof +tar tar +textutils cat,cksum,comm,csplit,cut,expand,fold,head,join,nl,od,paste,pr, + sort,split,sum,tail,tr,tsort,unexpand,uniq,wc +util-linux ipcrm,ipcs,more +xlibmesa3 libGL (Ch. 12) +xlibs libX11,libXext,libSM,libICE,libXt (Ch. 12) +zlib1g libz (Ch. 11) diff --git a/html/LSBtoDEB b/html/LSBtoDEB new file mode 100644 index 0000000..23ab10c --- /dev/null +++ b/html/LSBtoDEB @@ -0,0 +1,193 @@ +This file provides a mapping from the LSB 1.0 spec to the corresponding packages +in the Debian "unstable" release. + +Last Updated: July 16th, 2001 + +Chapter 10 +---------- +Library Package +------- ------- +libc libc6,locales +libm libc6 +libpthread libc6 +libdl libc6 +libcrypt libc6 +librt libc6 + + +Chapter 11 +---------- +Library Package +------- ------- +libz zlib1g +libncurses libncurses5,ncurses-base,ncurses-bin,ncurses-term +libutil libc6 + + +Chapter 12 +---------- +Library Package +------- ------- +libX11 xlibs +libXext xlibs +libsm xlibs +libice xlibs +libXt xlibs +libGL xlibmesa3 + + +Chapter 13 +---------- +Command Package +------- ------- +rpm alien + + +Chapter 14 +---------- +Command Package +------- ------- +ar binutils +at at +awk mawk +basename shellutils +batch at +bc bc +cat textutils +chfn passwd +chgrp fileutils +chmod fileutils +chown fileutils +chsh passwd +cksum textutils +cmp diff +col bsdmainutils +comm textutils +cp fileutils +cpio cpio +crontab cron +csplit textutils +cut textutils +date shellutils +dd fileutils +df fileutils +diff diff +dirname shellutils +du fileutils +echo shellutils +egrep grep +env shellutils +expand textutils +expr shellutils +false shellutils +fgrep grep +file file +find findutils +fold textutils +fuser psmisc +gencat libc6-dev +getconf libc6-dev +grep grep +groupadd passwd +groupdel passwd +groupmod passwd +groups shellutils +gunzip gzip +gzip gzip +head textutils +hostname hostname +iconv libc6 +id shellutils +install fileutils +ipcrm util-linux +ipcs util-linux +join textutils +kill procps +killall psmisc +ln fileutils +locale libc6,locales +localedef libc6,locales +logname shellutils +lpr lpr +ls fileutils +lsb_release lsb-release +m4 m4 +make make +man man-db +md5sum dpkg +mkdir fileutils +mkfifo fileutils +mknod fileutils +mktemp debianutils +more util-linux +mount mount +mv fileutils +newgrp login +nice shellutils +nl textutils +nohup shellutils +od textutils +passwd passwd +paste textutils +patch patch +pathchk shellutils +pidof sysvinit +pr textutils +printf shellutils +ps procps +pwd shellutils +renice bsdutils +rm fileutils +rmdir fileutils +rsync rsync +sed sed +sendmail exim +sh bash +sleep shellutils +sort textutils +split textutils +strip binutils +stty shellutils +su login +sum textutils +sync fileutils +tail textutils +tar tar +tee shellutils +test shellutils +time bash +touch fileutils +tr textutils +true shellutils +tsort textutils +tty shellutils +umount mount +uname shellutils +unexpand textutils +uniq textutils +useradd passwd +userdel passwd +usermod passwd +wc textutils +xargs findutils + + +Chapter 15 - Shell +------------------ +posix bash + + +Chapter 16 - users & groups +--------------------------- + base-passwd + + +Chapter 17 - FHS +---------------- + base-files + + +Chapter 18 +---------- +cron cron +init sysvinit diff --git a/html/deblist b/html/deblist new file mode 100644 index 0000000..e1a46c2 --- /dev/null +++ b/html/deblist @@ -0,0 +1,49 @@ +alien +at +base-files +base-passwd +bash +bc +binutils +bsdmainutils +bsdutils +cpio +cron +debianutils +diff +dpkg +exim +file +fileutils +grep +gzip +hostname +libc6 +libc6-dev +libncurses5 +locales +login +lpr +lsb-release +m4 +make +man-db +mawk +mount +ncurses-base +ncurses-bin +ncurses-term +passwd +patch +procps +psmisc +rsync +sed +shellutils +sysvinit +tar +textutils +util-linux +xlibmesa3 +xlibs +zlib1g diff --git a/html/depends b/html/depends new file mode 100644 index 0000000..cac67c7 --- /dev/null +++ b/html/depends @@ -0,0 +1,9 @@ +bzip2 +debconf-utils +debhelper +html2text +libbz2-1.0 +libfreetype6 +librpm0 +rpm +xfree86-common diff --git a/html/fresh.common b/html/fresh.common new file mode 100644 index 0000000..dcafcbc --- /dev/null +++ b/html/fresh.common @@ -0,0 +1,44 @@ +at +base-files +base-passwd +bash +bc +binutils +bsdmainutils +bsdutils +cpio +cron +debianutils +diff +dpkg +exim +file +fileutils +grep +gzip +hostname +libc6 +libc6-dev +libncurses5 +locales +login +lpr +m4 +make +man-db +mawk +mount +ncurses-base +ncurses-bin +ncurses-term +passwd +patch +procps +psmisc +sed +shellutils +sysvinit +tar +textutils +util-linux +zlib1g diff --git a/html/fresh.extra b/html/fresh.extra new file mode 100644 index 0000000..3c8f9b6 --- /dev/null +++ b/html/fresh.extra @@ -0,0 +1,129 @@ +adduser +apt +apt-utils +base-config +biff +bin86 +bison +console-common +console-data +console-tools +console-tools-libs +cpp +cpp-2.95 +cpp-3.0 +dc +debconf +dhcp-client +doc-debian +doc-linux-text +dpkg-dev +e2fsprogs +ed +fdflush +fdutils +findutils +finger +flex +ftp +g++ +g++-2.95 +gcc +gcc-2.95 +gcc-3.0 +gcc-3.0-base +gdb +gettext-base +gpm +groff-base +host +iamerican +ibritish +ifupdown +info +ipchains +ipmasqadm +ispell +klogd +less +libcap1 +libdb2 +libdb3 +libgcc1 +libgdbmg1 +libident +libldap2 +liblockfile1 +libncurses4 +libnewt0 +libnss-db +libpam-modules +libpam-runtime +libpam0g +libpcre3 +libperl5.6 +libpng2 +libpopt0 +libreadline4 +libsasl-modules +libsasl7 +libstdc++2.10-dev +libstdc++2.10-glibc2.2 +libstdc++3 +libwrap0 +lilo +logrotate +lsof +lynx +mailx +makedev +manpages +manpages-dev +mbr +mime-support +modconf +modutils +mpack +mtools +mtr-tiny +mutt +nano +net-tools +netbase +netkit-inetd +netkit-ping +nfs-common +nfs-kernel-server +nvi +pciutils +perl +perl-base +perl-modules +pidentd +portmap +ppp +pppoe +procmail +python-base +python-newt +rblcheck +rcs +reportbug +setserial +sharutils +slang1 +strace +sysklogd +syslinux +tasksel +tcpd +tcsh +telnet +texinfo +time +update +util-linux-locales +vacation +wenglish +whiptail +whois diff --git a/html/fresh.new b/html/fresh.new new file mode 100644 index 0000000..f755ba8 --- /dev/null +++ b/html/fresh.new @@ -0,0 +1,5 @@ +alien +lsb-release +rsync +xlibmesa3 +xlibs diff --git a/html/freshinstall b/html/freshinstall new file mode 100644 index 0000000..379f576 --- /dev/null +++ b/html/freshinstall @@ -0,0 +1,173 @@ +adduser +apt +apt-utils +at +base-config +base-files +base-passwd +bash +bc +biff +bin86 +binutils +bison +bsdmainutils +bsdutils +console-common +console-data +console-tools +console-tools-libs +cpio +cpp +cpp-2.95 +cpp-3.0 +cron +dc +debconf +debianutils +dhcp-client +diff +doc-debian +doc-linux-text +dpkg +dpkg-dev +e2fsprogs +ed +exim +fdflush +fdutils +file +fileutils +findutils +finger +flex +ftp +g++ +g++-2.95 +gcc +gcc-2.95 +gcc-3.0 +gcc-3.0-base +gdb +gettext-base +gpm +grep +groff-base +gzip +host +hostname +iamerican +ibritish +ifupdown +info +ipchains +ipmasqadm +ispell +klogd +less +libc6 +libc6-dev +libcap1 +libdb2 +libdb3 +libgcc1 +libgdbmg1 +libident +libldap2 +liblockfile1 +libncurses4 +libncurses5 +libnewt0 +libnss-db +libpam-modules +libpam-runtime +libpam0g +libpcre3 +libperl5.6 +libpng2 +libpopt0 +libreadline4 +libsasl-modules +libsasl7 +libstdc++2.10-dev +libstdc++2.10-glibc2.2 +libstdc++3 +libwrap0 +lilo +locales +login +logrotate +lpr +lsof +lynx +m4 +mailx +make +makedev +man-db +manpages +manpages-dev +mawk +mbr +mime-support +modconf +modutils +mount +mpack +mtools +mtr-tiny +mutt +nano +ncurses-base +ncurses-bin +ncurses-term +net-tools +netbase +netkit-inetd +netkit-ping +nfs-common +nfs-kernel-server +nvi +passwd +patch +pciutils +perl +perl-base +perl-modules +pidentd +portmap +ppp +pppoe +procmail +procps +psmisc +python-base +python-newt +rblcheck +rcs +reportbug +sed +setserial +sharutils +shellutils +slang1 +strace +sysklogd +syslinux +sysvinit +tar +tasksel +tcpd +tcsh +telnet +texinfo +textutils +time +update +util-linux +util-linux-locales +vacation +wenglish +whiptail +whois +zlib1g diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..0f8f54e --- /dev/null +++ b/html/index.html @@ -0,0 +1,48 @@ +<HTML> +<HEAD> +<TITLE>LSB as it relates to Debian</TITLE> +</HEAD> +<BODY> +<H2>LSB as it relates to Debian</H2> +This document compares the <A HREF="http://www.linuxbase.org/spec/">LSB written specification</A> to Debian. This changes on a continual basis so check the date at the bottom for when this comparison was last updated. This is a work in progress. Please point out any errors you may find.<BR> +<BR> +<I>Package lists last updated using woody on 2001-09-13</I><BR> +<H3>Required by the Specification</H3> +First we review the spec and see what that means in terms of Debian packages. +<UL> +<LI>Mapping of <A HREF="LSBtoDEB">LSB to Debian packages</A>[1]<BR> +<LI>Mapping of those <A HREF="DEBtoLSB">Debian packages back to the LSB</A>[2]<BR> +<LI><A HREF="deblist">List</A>[3] of Debian packages required by LSB<BR> +</UL> +<H3>Creating a Debian system plus LSB</H3> +Now that we know what packages the spec requires we +<OL> +<LI>Install a "base" Debian system(including everything "required" by Debian).<BR> +This results in, +<UL> +<LI>the <A HREF="freshinstall">following</A>[4] packages on the system +<LI><A HREF="fresh.common">these</A>[5] are in common with [3]. +<LI><A HREF="fresh.new">these</A>[6] are in the LSB but not on the system +<LI><A HREF="fresh.extra">these</A>[7] are on the system but not in LSB +</UL> +<LI>Now install the packages from [3] that aren't already installed(which were identified above as [6]) +<LI>Allow all dependencies of those packages to be fulfilled<BR> +This results in, +<UL> +<LI>the <A HREF="superset">following</A>[8] packages on the system +<LI>the entire list([3]) of Debian packages required by LSB have been installed +<LI><A HREF="super.extra">this</A>[9] is the list of packages on the system but not in LSB +</UL> +</OL> +<H3>Observations</H3> +<UL> +<LI>List [8] is <A HREF="superset">The Debian LSB Sample Implementation</A> +<LI>[7] is <A HREF="fresh.extra">the list of packages that Debian considers "Required, Important, and Standard" which are not in the LSB</A>. Some of these may deserve consideration for a future version of the LSB. +<LI>[8] minus [4] yields <A HREF="needed">the packages needed in the Debian base install to make it more LSB compliant</A>[10] +<LI>[9] minus [7] yields <A HREF="depends">the packages pulled in as dependencies as a result of adding [6] to the system</A>[11] +</UL> +<HR> +Matt Taggart <A HREF="mailto:taggart@debian.org"><taggart@debian.org></A><BR> +Last updated September 13, 2001</I> +</BODY> +</HTML> diff --git a/html/needed b/html/needed new file mode 100644 index 0000000..dd74928 --- /dev/null +++ b/html/needed @@ -0,0 +1,14 @@ +alien +bzip2 +debconf-utils +debhelper +html2text +libbz2-1.0 +libfreetype6 +librpm0 +lsb-release +rpm +rsync +xfree86-common +xlibmesa3 +xlibs diff --git a/html/super.extra b/html/super.extra new file mode 100644 index 0000000..294a146 --- /dev/null +++ b/html/super.extra @@ -0,0 +1,138 @@ +adduser +apt +apt-utils +base-config +biff +bin86 +bison +bzip2 +console-common +console-data +console-tools +console-tools-libs +cpp +cpp-2.95 +cpp-3.0 +dc +debconf +debconf-utils +debhelper +dhcp-client +doc-debian +doc-linux-text +dpkg-dev +e2fsprogs +ed +fdflush +fdutils +findutils +finger +flex +ftp +g++ +g++-2.95 +gcc +gcc-2.95 +gcc-3.0 +gcc-3.0-base +gdb +gettext-base +gpm +groff-base +host +html2text +iamerican +ibritish +ifupdown +info +ipchains +ipmasqadm +ispell +klogd +less +libbz2-1.0 +libcap1 +libdb2 +libdb3 +libfreetype6 +libgcc1 +libgdbmg1 +libident +libldap2 +liblockfile1 +libncurses4 +libnewt0 +libnss-db +libpam-modules +libpam-runtime +libpam0g +libpcre3 +libperl5.6 +libpng2 +libpopt0 +libreadline4 +librpm0 +libsasl-modules +libsasl7 +libstdc++2.10-dev +libstdc++2.10-glibc2.2 +libstdc++3 +libwrap0 +lilo +logrotate +lsof +lynx +mailx +makedev +manpages +manpages-dev +mbr +mime-support +modconf +modutils +mpack +mtools +mtr-tiny +mutt +nano +net-tools +netbase +netkit-inetd +netkit-ping +nfs-common +nfs-kernel-server +nvi +pciutils +perl +perl-base +perl-modules +pidentd +portmap +ppp +pppoe +procmail +python-base +python-newt +rblcheck +rcs +reportbug +rpm +setserial +sharutils +slang1 +strace +sysklogd +syslinux +tasksel +tcpd +tcsh +telnet +texinfo +time +update +util-linux-locales +vacation +wenglish +whiptail +whois +xfree86-common diff --git a/html/superset b/html/superset new file mode 100644 index 0000000..63cde84 --- /dev/null +++ b/html/superset @@ -0,0 +1,187 @@ +adduser +alien +apt +apt-utils +at +base-config +base-files +base-passwd +bash +bc +biff +bin86 +binutils +bison +bsdmainutils +bsdutils +bzip2 +console-common +console-data +console-tools +console-tools-libs +cpio +cpp +cpp-2.95 +cpp-3.0 +cron +dc +debconf +debconf-utils +debhelper +debianutils +dhcp-client +diff +doc-debian +doc-linux-text +dpkg +dpkg-dev +e2fsprogs +ed +exim +fdflush +fdutils +file +fileutils +findutils +finger +flex +ftp +g++ +g++-2.95 +gcc +gcc-2.95 +gcc-3.0 +gcc-3.0-base +gdb +gettext-base +gpm +grep +groff-base +gzip +host +hostname +html2text +iamerican +ibritish +ifupdown +info +ipchains +ipmasqadm +ispell +klogd +less +libbz2-1.0 +libc6 +libc6-dev +libcap1 +libdb2 +libdb3 +libfreetype6 +libgcc1 +libgdbmg1 +libident +libldap2 +liblockfile1 +libncurses4 +libncurses5 +libnewt0 +libnss-db +libpam-modules +libpam-runtime +libpam0g +libpcre3 +libperl5.6 +libpng2 +libpopt0 +libreadline4 +librpm0 +libsasl-modules +libsasl7 +libstdc++2.10-dev +libstdc++2.10-glibc2.2 +libstdc++3 +libwrap0 +lilo +locales +login +logrotate +lpr +lsb-release +lsof +lynx +m4 +mailx +make +makedev +man-db +manpages +manpages-dev +mawk +mbr +mime-support +modconf +modutils +mount +mpack +mtools +mtr-tiny +mutt +nano +ncurses-base +ncurses-bin +ncurses-term +net-tools +netbase +netkit-inetd +netkit-ping +nfs-common +nfs-kernel-server +nvi +passwd +patch +pciutils +perl +perl-base +perl-modules +pidentd +portmap +ppp +pppoe +procmail +procps +psmisc +python-base +python-newt +rblcheck +rcs +reportbug +rpm +rsync +sed +setserial +sharutils +shellutils +slang1 +strace +sysklogd +syslinux +sysvinit +tar +tasksel +tcpd +tcsh +telnet +texinfo +textutils +time +update +util-linux +util-linux-locales +vacation +wenglish +whiptail +whois +xfree86-common +xlibmesa3 +xlibs +zlib1g diff --git a/init-fragment b/init-fragment new file mode 100644 index 0000000..65efa70 --- /dev/null +++ b/init-fragment @@ -0,0 +1,12 @@ +### BEGIN INIT INFO +# X-ZEDV-Note: This should be only installed on Systems in @amd +# Provides: sshd2 +# Required-Start: $network +# Required-Stop: $network +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Starts the secondary SSHD deamon used for rdist +# Description: This script runs a second SSH daemon which listens on +# a different port (1000) and uses an extra config file. +# This is thought be used for system administration. +### END INIT INFO diff --git a/init-functions b/init-functions new file mode 100644 index 0000000..758bdab --- /dev/null +++ b/init-functions @@ -0,0 +1,81 @@ +# /lib/lsb/init-functions for Debian -*- shell-script -*- +# +#Copyright (c) 2002 Chris Lawrence +#All rights reserved. +# +#Redistribution and use in source and binary forms, with or without +#modification, are permitted provided that the following conditions +#are met: +#1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +#2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +#3. Neither the name of the author nor the names of other contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +#THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +#ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +#IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +#ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +#FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +#DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +#OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +#HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +#LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +#OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +#SUCH DAMAGE. + +start_daemon () { + local force nice + set -- `POSIXLY_CORRECT=1 getopt "fn:" $*` + force=0 + nice=0 + + for i in $*; do + case $i in + -f) force=1; shift;; + -n) nice=$2; shift 2;; + --) shift; break;; + esac + done + + exec=$1; shift + + if [ $force = 1 ]; then + /sbin/start-stop-daemon --start --nicelevel $nice --quiet --startas $exec --pidfile /dev/null --oknodo -- $* + else + /sbin/start-stop-daemon --start --nicelevel $nice --quiet --exec $exec --oknodo -- $* + fi +} + +# The definition of "return" in the LSB documentation is ambiguous. +pidofproc () { + if [ -e /var/run/$1.pid ]; then + cat /var/run/$1.pid + else + echo + fi + return 0 +} + +# 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 + else + /sbin/start-stop-daemon --stop --pidfile /var/run/$1.pid --retry 5 --retry 5 --quiet --oknodo + fi +} + +# Something fancier might be nice. But it meets the spec. +log_success_msg () { + echo "Success: $1" +} +log_failure_msg () { + echo "Failure: $1" +} +log_warning_msg () { + echo "Warning: $1" +} diff --git a/initdutils.py b/initdutils.py new file mode 100644 index 0000000..856e094 --- /dev/null +++ b/initdutils.py @@ -0,0 +1,78 @@ +# Support for scanning init scripts for LSB info + +import re, sys, os + +FACILITIES = '/var/lib/lsb/facilities' + +beginre = re.compile(re.escape('### BEGIN INIT INFO')) +endre = re.compile(re.escape('### END INIT INFO')) +linere = re.compile(r'\#\s+([^:]+):\s*(.*)') + +def scan_initfile(initfile): + headers = {'Description': []} + scanning = 0 + + for line in open(initfile).xreadlines(): + line = line.rstrip() + if beginre.match(line): + scanning = 1 + continue + elif scanning and endre.match(line): + scanning = 0 + continue + elif not scanning: + continue + + if line[0] != '#': + continue + + if line[1:3] == ' ' or line[1] == '\t': + headers['Description'].append(line[1:].strip()) + continue + + match = linere.match(line) + if not match: + print >> sys.stderr, "Warning: ignoring invalid init info line" + print >> sys.stderr, "-> %s" % line + continue + + header, body = match.groups() + if header == "Description": + headers[header].append(body.strip()) + elif header in ('Default-Start', 'Default-Stop'): + headers[header] = map(int, body.split()) + elif header in ('Required-Start', 'Required-Stop', 'Provides'): + headers[header] = body.split() + else: + headers[header] = body + + return headers + +def save_facilities(facilities): + if not facilities: + try: + os.unlink(FACILITIES) + except OSError: + pass + return + + items = facilities.items() + fh = open(FACILITIES, 'w') + for facility, entries in items: + if facility[0] == '$': continue + for scriptname, pri in entries.items(): + start, stop = pri + print >> fh, "%(scriptname)s %(facility)s %(start)d %(stop)d" % locals() + fh.close() + +def load_facilities(): + facilities = {} + if os.path.exists(FACILITIES): + for line in open(FACILITIES).xreadlines(): + try: + scriptname, name, start, stop = line.strip().split() + facilities.get(name, {})[scriptname] = (int(start), int(stop)) + except ValueError, x: + print >> sys.stderr, 'Invalid facility line', line + + return facilities diff --git a/install_initd b/install_initd new file mode 100755 index 0000000..cafa58e --- /dev/null +++ b/install_initd @@ -0,0 +1,91 @@ +#!/usr/bin/python + +import sys, re, os, initdutils + +if len(sys.argv) > 1: + initfile = sys.argv[1] +else: + print >> sys.stderr, 'Usage: %s /etc/init.d/<init-script>' % sys.argv[0] + sys.exit(1) + +# Default priorities +startpri = stoppri = 20 +defstart = [2, 3, 4, 5] +defstop = [0, 1, 6] + +# Priorities of these facilities in Debian +os_facilities = { + "$local_fs" : {'lsb' : (0, 100)}, + "$network" : {'lsb' : (10, 50)}, + "$remote_fs" : {'lsb ': (19, 20)}, + "$named" : {'lsb': (19, 19)}, + "$syslog" : {'lsb' : (10, 89)}, + "$netdaemons" : {'lsb': (80, 19)}, + } + +facilities = initdutils.load_facilities() +facilities.update(os_facilities) + +headers = initdutils.scan_initfile(initfile) + +reqstart = headers.get('Required-Start', []) +if reqstart: + startpri = 5 + for facility in reqstart: + if not facilities.has_key(facility): + print >> sys.stderr, 'Missing expected start facility', facility + else: + for script, pri in facilities[facility].items(): + if script != initfile: + start, stop = pri + startpri = max(startpri, start+1) + startpri = min(max(startpri, 1), 99) + +reqstop = headers.get('Required-Stop', []) +if reqstop: + stoppri = 95 + for facility in reqstop: + if not facilities.has_key(facility): + print >> sys.stderr, 'Missing expected stop facility', facility + else: + for script, pri in facilities[facility].items(): + if script != initfile: + start, stop = pri + stoppri = min(stoppri, stop-1) + stoppri = min(max(stoppri, 1), 99) + +provides = headers.get('Provides', []) +if provides: + for facility in provides: + if facility[0] == '$': + print >> sys.stderr, 'Ignoring system-provided facility', facility + continue + if not facilities.has_key(facility): + facilities[facility] = {} + + facilities[facility][initfile] = (startpri, stoppri) + initdutils.save_facilities(facilities) + +defstart = headers.get('Default-Start', defstart) +defstop = headers.get('Default-Stop', defstop) + +# A set type would be nice... [range(2,6) = 2..5] +for level in range(2,6): + if level in defstart: + for i in range(2,6): + if i not in defstart: + defstart.append(i) + if level in defstop: + for i in range(2,6): + if i not in defstop: + defstop.append(i) + +defstart.sort() +defstop.sort() + +start_runlevels = " ".join(map(str, defstart)) +stop_runlevels = " ".join(map(str, defstop)) + +initfile = initfile.replace('/etc/init.d/', '') + +os.system("/usr/sbin/update-rc.d %(initfile)s start %(startpri)d %(start_runlevels)s . stop %(stoppri)d %(stop_runlevels)s ." % locals()) @@ -0,0 +1,35 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH lsb 8 "2002-02-24" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +lsb \- Linux Standard Base support for Debian +.SH DESCRIPTION +The \fBlsb\fP package provides infrastructure for installing Linux +Standard Base applications on Debian. This manual page is designed to +refer system adminstrators and others to the documentation available. +.PP +The Linux Standard Base is a common runtime environment for +third-party packages. The goal of the LSB is to make it easy to +create binary packages that will run on any Linux distribution. For +more information on the standard, please see the LSB web site. +.SH SEE ALSO +.BR /usr/share/doc/lsb/README.Debian +.BR /usr/share/doc/lsb/html/ +.BR http://www.linuxbase.org/ +.SH AUTHOR +This manual page was written by Chris Lawrence <lawrencc@debian.org> +for the Debian system (but may be used by others). diff --git a/remove_initd b/remove_initd new file mode 100755 index 0000000..641e2cb --- /dev/null +++ b/remove_initd @@ -0,0 +1,28 @@ +#!/usr/bin/python + +import sys, re, os, initdutils + +if len(sys.argv) > 1: + initfile = sys.argv[1] +else: + print >> sys.stderr, 'Usage: %s /etc/init.d/<init-script>' % sys.argv[0] + sys.exit(1) + +headers = initdutils.scan_initfile(initfile) + +provides = headers.get('Provides') +if provides: + facilities = initdutils.load_facilities() + + for facility in provides: + if facilities.has_key(facility): + entries = [] + for entry in facilities[facility]: + if entry[0] != initfile: + entries.append(entry) + facilities[facility] = entries + + initdutils.save_facilities(facilities) + +initfile = initfile.replace('/etc/init.d/', '') +os.system('/usr/sbin/update-rc.d -f %s remove' % initfile) |