On Sun, Jul 28, 2002 at 07:29:57AM -0600, Julian Gilbey wrote: > To split the (often borderline) cases of specs versus guidelines seems > to me to be somewhat misguided.
Well, that's nice, but if our best reason is "it seems to me", we're not going to get anywhere, because it seems to me to be quite the opposite. We could arm wrestle for it, I guess? For a more useful take, here, roughly, is what I'd think the tables of contents for the two documents might look like: __Best Packaging Practices__ Making a package Locating your package (server, component, priority, tasks, sections) Versioning your package Architecture considerations When to use Depends/Pre-Depends/Recommends/Suggests/Provides Effects of Essential: yes? What to put in your Description Making a source package should you do things... by hand? with debhelper? with debstd? with dbs? with cvs-buildpackage? how you should write your changelog copyright file what gcc options to use, environment variables to use supporting DEB_BUILD_OPTIONS Other general stuff file locations /usr/share/doc symlinks users and groups file permissions dpkg-statoverride, and when packages should use it preinst, postinst, prerm, postrm what tools are available when to prompt configuration conffiles versus postinst when and how to change from to the other what happens when your conffile _has_ to change sharing configuration files amongst multiple packages that aren't installed together that are installed together automatically handling files in /etc automatically updating config files "/etc/auto" and symlinks, etc init scripts (which runlevels, messages, how to write them) cron jobs menus environment variables don't expect them $EDITOR || /bin/editor $PAGER || /bin/pager alternatives versus Provides/Conflicts MIME stuff /dev/* user configuration files log files ptys, wtmp, utmp, lastlog i18n/l10n references for gettext, man pages, debconf keyboard handling misc security info /tmp/races and how to avoid them renaming, merging and spliting packages don't do it! dummy packages replaces conflicts/provides Special cases for when you're packaging... ...scripts put a #! in them /bin/sh for POSIX scripts /bin/bash for bash scripts, but use /bin/sh if possible t/csh scripts need deps on c-shell perl scripts can only use stuff in perl-base python scripts need deps on python .../bin/sh interpretors diversions only (and how to manage it) what you have to comply with ...internet servers when to use inetd / standalone, how to offer the choice how to use inetd how to get /etc/services updated using TCP-wrappers ...documentation ...C libraries ...emacs stuff ...fonts ...games ...MTAs, MDAs and MUAs ...perl stuff ...python stuff ...webservers ...web services ...X servers ...X clients ...X terminal emulators ...X window managers There's probably a better way of structuring it. __Debian Standards Document__ dpkg: version format package format .deb is an ar of tars, etc maintainer scripts are run when and under what circumstances what control file fields mean source format .dsc fields .tar.gz, .diff.gz, .orig.tar.gz structure debian/rules interface contents/format of debian/control, debian/changelog etc dselect interfaces /var/lib/dpkg/status, available, dselect methods, etc internal dpkg interfaces /var/lib/dpkg/info, alternatives, statoverride debconf: .templates format .config arguments, etc interface for frontends update-menus / menu file format There're probably other interfaces that're complicated enough to deserve formal documentation. SELinux might be one, eventually. I'm not really sure, perhaps Manoj'll comment. Basically, to my mind, BPP should be focussing on the what and the why, and basically always refer the details of /how/ to other documents, either some program/package's manpages or the "Debian Specs Document". The "Or Else" should be kept minimal, and left entirely to other groups (the RM, the tech ctte, the archive scripts, eg), IMO. This is the "policy shouldn't be a stick" philosophy. So why should you care about either document? Abusing dpkg's internals will mean your programs don't work, so you should obviously care about the specs doc. And, really, who here *doesn't* want their packages to be the best they possibly can be? Forgetting whether all the above's good or bad momentarily, is it at least clear what I'm saying, and that for any given desirable bit of policy, there's some way of including it? Cheers, aj (Comparing the BPP/DSD dichotomy with the policy/packaging-manual split is left as an exercise to the reader...) -- Anthony Towns <[EMAIL PROTECTED]> <http://azure.humbug.org.au/~aj/> I don't speak for anyone save myself. GPG signed mail preferred. ``If you don't do it now, you'll be one year older when you do.''
pgpbHYqjsMHNq.pgp
Description: PGP signature