Perl and other issues
I recently installed Debian 0.91 thanks to a disk crash. I must say that
it's the cleanest system I've used yet, thanks to careful planning by both
the Debian developers and the filesystem standard people. Kudos to all!
That said, I have several topics to address, so bear with me.
1) The Perl package includes an incorrect perl binary and does not include
two binaries that it should. The problem with /usr/bin/perl can be
demonstrated by running it through the perl test suite; it will fail on
the pipe test. This is caused by an incorrect signal list, and affects
much more than pipes.
Also, because the Linux kernel disallows setuid scripts because of security
problems, perl needs to be compiled for setuid emulation.
Lastly, for non-STDSTDIO systems, the -T and -B operators (test for text
or binary files) fail for non-lseekable files. I have a patch to fix
2) The hostname and domainname are not set separately. Installing the hostname
from net-0.32, symlinking /bin/domainname to hostname, splitting the host.domain
name in /etc/HOSTNAME into host in /etc/HOSTNAME and domain in /etc/DOMAINNAME,
and changing the hostname line in /etc/rc.d/rc.inet1 to:
# Set hostname and domainname
/bin/hostname `cat /etc/HOSTNAME`
/bin/domainname `cat /etc/DOMAINNAME`
is one possible solution.
3) If you don't install the xtralib package (or whatever it's called) to get libg,
compiling with -g won't work. If xtralib isn't installed, /usr/lib/libg.a
should be a symlink to /usr/lib/libc.a (or similarly with lib[cg].sa).
I'm not sure of the utility of a real libg.a without libc source online anyway.
4) selection is resident in /usr/bin but is invoked (in rc.M) from /usr/sbin.
One of these should be altered.
5) If the idea of rewriting dpkg in perl is still alive, I may be able to
help: I have a working curseperl using native Linux (BSD) curses. I also
have a much more featureful ncurseperl using ncurses and the panel(3)
library for overlapping windows and menus. I'm using this for my
(temporarily on-hold) ext2fsperl dfs debugger/undelete/etc project.
6) I have a slightly primitive perl script that will take a list of files
and generate a package from it. I hear that development on packaging
tools is already going on, so I will consider this a stopgap measure.
However, if there is enough interest, I could clean this up and release
it when I have some spare time to fill the gap until the 'real thing' is
7) I wasn't yet on the debian-devel list when I mailed my package dependency
letter (due to a listserv bug, I think). So, to recap, I think that
each package should include a list of packages upon which it depends
instead of the current scheme of knowing which packages depend on it.
Did this suggestion receive any comments? If so, please restate them
Upgrades I think would be helpful and why:
(ar, gas, gprof, ld, nm, objdump, ranlib, size, strip)
from binutils-1.9l.3-as-2.2l.tar.gz - support for QMAGIC binaries
/sbin/arp /bin/hostname /bin/domainname /sbin/ifconfig
/bin/netstat /sbin/route /sbin/slattach
from net-0.32 - greater functionality and domainname
from sysklogd-1.1 - fixes "loose cannons" bug in syslogd
New packages I desire (and would be willing to maintain):
LISP development (CLISP)
Communications (term, sz/rz/sb/rb/sx/rx, etc.)
Archivers (zip/unzip, zoo, unarj)
Sound (/dev/*, midi player, mod player, Lsox for playback and
conversion, wavrec for recording, mixer and aumix for
Math (new category) with packages:
Calc 2.02b for Emacs 19 (can plot with gnuplot)
Maxima (symbolic math, can plot into PostScript)
gnuplot for svgalib and X11
Packages I can make available in contrib (not ready for mainstream):
GNU Pascal Compiler 2.5.7 BETA (already uploaded to contrib)
Perl5 alpha 6* (latest version of Larry's new OO Perl, passes all
regression tests, runs 25% faster than Perl4, and
supports MANY new features)
* Perl5 has no Configure support yet, so it requires some effort to compile
under Linux. This package is primarily useful for those who wish to
experiment with Perl5 under Linux but don't have the time to "port" it.
My port includes all the features of Perl5 except SDBM support and
dynamic loading of .o files. I'll be adding the latter in the future.
- strace(1) for system call tracing should be in one of the devel packages.
- tic/untic should be included with ncurses; panel(3) should be added as
- bash and ftp can be linked with the librl-1.2 shared readline library.
This saves space and increases ftp's functionality.
- for those of us using the cluster patches, update/bdflush should be started
*before* fsck -A is called, or buffers won't be flushed optimally and
the kernel will complain. Some care must be taken to ensure that it
is restarted after a multi-user -> single-user -> multi-user shutdown
Again, I am very impressed with Debian 0.91 and am almost happy my hard
drive crash forced me to change from Slackware. This letter lists almost
every change I've made to my system since installing it Friday. I doubt
I'll have to do much more to be completely satisfied with it. Debian
even got the /dev/hda permissions right (under Slackware, it was world