|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on Hurd (the old ones; I'm trying to clean them up)
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
# (find-eev-quick-intro)
# http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/hurd-old.e>
# or at <http://angg.twu.net/e/hurd-old.e.html>.
# See also <http://angg.twu.net/emacs.html>,
# <http://angg.twu.net/.emacs[.html]>,
# <http://angg.twu.net/.zshrc[.html]>,
# <http://angg.twu.net/escripts.html>,
# and <http://angg.twu.net/>.
#
#######
# «.hurd-install-easy» (to "hurd-install-easy")
# «.mke2fs» (to "mke2fs")
# «.tarball» (to "tarball")
# «.updating_hurd_debs» (to "updating_hurd_debs")
# «.dpkg-cross» (to "dpkg-cross")
# «.gnumach_from_linux» (to "gnumach_from_linux")
# «.help-hurd» (to "help-hurd")
# «.debian-hurd» (to "debian-hurd")
# «.edrx_hurd» (to "edrx_hurd")
# «.colortext» (to "colortext")
# «.gnumach_cvs» (to "gnumach_cvs")
# «.hurd_logo_mf» (to "hurd_logo_mf")
# «.cross-install_localrep» (to "cross-install_localrep")
# «.fsmunoz-template» (to "fsmunoz-template")
# «.oskit-mach» (to "oskit-mach")
# «.keymap» (to "keymap")
# «.ioctls» (to "ioctls")
# «.emptyhurd_newdpkg» (to "emptyhurd_newdpkg")
# «.emptyhurd_apt.conf» (to "emptyhurd_apt.conf")
# «.emptyhurd_newapt» (to "emptyhurd_newapt")
# «.sparse_super» (to "sparse_super")
# (find-deblistsw3 "debian-hurd-0008/msg00229.html")
# To do, urgently: adapt my use of the cross-install script to let it
# use the local mirror of dists/sid; learn to use apt-move and let
# cross-install fetch the missing packages from a remote place.
# (find-es "apache" "apt-http-local")
# (to "cross-install_localrep")
#####
#
# "The easy guide to installing Hurd on a Linux box"
# 2000jul01
#
#####
# «hurd-install-easy» (to ".hurd-install-easy")
# (find-shttpw3 "www.pick.ucam.org/~mcv21/hurd.html")
# (find-shttpw3 "www.gnu.org/software/hurd/easy.html")
# Convert easy.html to a txt that we can link to more easily:
lynx $S/http/www.gnu.org/software/hurd/easy.html -dump > ~/tmp/hurd-easy.txt
# Or execute this...
lynx $S/http/www.gnu.org/software/hurd/easy.html
# (find-fline "~/tmp/hurd-easy.txt")
# (find-fline "~/tmp/hurd-easy.txt" "the packages you need")
# (find-fline "~/tmp/hurd-easy.txt" "chmod +x cross-install")
# (find-fline "~/tmp/hurd-easy.txt" "untar the tarball")
#*
# «mke2fs» (to ".mke2fs")
# Format a partition with "-o hurd".
# (find-fline "~/tmp/hurd-easy.txt" "mke2fs -o")
# I'm using /dev/hda2 as my Hurd partition.
# Beware: currently Hurd can only use partitions with less that 1GB.
# (find-fline "/etc/fstab" "/gnu")
# /dev/hda2 /gnu ext2 defaults 0 2
# Prepare to clean it...
umount /gnu
# If it doesn't have bad blocks (i.e., if "dumpe2fs -b" outputs
# nothing) then it should be safe to omit the "-c" in mke2fs.
dumpe2fs -b /dev/hda2
# Now sparse_super is the default... (to "sparse_super")
# mke2fs -c -O sparse_super -o hurd /dev/hda2
mke2fs -O sparse_super -o hurd /dev/hda2
mount /gnu
#*
# «tarball» (to ".tarball")
# (find-fline "~/tmp/hurd-easy.txt" "Untar the tarball")
# anonftp ftp://alpha.gnu.org/gnu/hurd/contrib/marcus/
tar -xvzf $S/ftp/alpha.gnu.org/gnu/hurd/contrib/marcus/gnu-20010308.tar.gz \
-C /gnu
# (find-fline "/gnu/dev/")
#*
# Prepare to install the base packages.
# The list of packages in the version of the easy guide that I have is
# slightly wrong; this one is fixed, as it was taken from the
# "cross-install" script itself.
# (find-fline "~/tmp/hurd-easy.txt" "the packages you need")
# (find-fline "$S/http/www.debian.org/ports/hurd/extra-files/")
# (find-fline "$S/http/www.debian.org/ports/hurd/extra-files/cross-install" "plist=")
# Detect which packages are missing and which have many versions
# (find-fline "$SDEBIAN/dists/sid/main/binary-hurd-i386/")
plist=(adduser ae base-files base-passwd bash
bsdutils debconf libterm-stool-perl libterm-slang-perl
debianutils diff dpkg-ftp
dpkg-mountable dpkg e2fsprogs
fileutils findutils gettext-base gnumach
grep grub gzip hostname hurd
inetutils libc0.2 libgdbmg1 libncurses5
libnet-perl libreadline4
libstdc++2.10
libwrap0 mawk ncurses-base ncurses-bin
passwd libdb2 perl-base perl perl-modules sed
shellutils slang1 syslogd tar tcpd
textutils libncurses4
less ed)
# For repeated packages the "echo" in the loop below will give two or
# more package names in the same line; for the missing packages we
# should get some sort of globbing error from the shell.
cd $SDEBIAN/dists/sid/main/binary-hurd-i386/
for i in $plist; do
echo */${i}_*
done
#*
# To get the missing packages do something like this:
# cd $SDEBIAN/dists/sid/main/binary-hurd-i386/
# anonftp $FDEBIAN/dists/sid/main/binary-hurd-i386/ \
# 'mget base/dpkg-ftp_*' \
# 'mget base/libwrap0_*' \
# ...
# Here I'm using my "anonftp" script, but it should be trivial to
# change that to something more standard; wget's manpage says that it
# can deal with "*"s in file names, but I have never tried that...
# (find-fline "~/EXPECT/anonftp")
#*
# Note that in this block we need the variable "plist" defined above.
rm -Rv /tmp/hurd-easy/
mkdir /tmp/hurd-easy/
# cd $SDEBIAN/dists/sid/main/binary-hurd-i386/
# for i in $plist; do
# cp -v ${i}_* /tmp/hurd-easy/
# done
#
for i in $(cat ~/tmp/hurd-debs); do
cp -v $S/ftp/$i /tmp/hurd-easy/
done
mkdir /tmp/hurd-easy/partial/
# cp -v $SSIDMB/Packages.gz /tmp/hurd-easy/partial/
cd /tmp/hurd-easy/
dpkg-scanpackages . /dev/null > partial/Packages
gzip -c6 < partial/Packages > partial/Packages.gz
cd $S/http/www.debian.org/ports/hurd/extra-files/
for i in cross-install native-install dpkg-hurd; do
cp -v $i /tmp/hurd-easy/$i
chmod +x /tmp/hurd-easy/$i
done
patch -p0 cross-install <<'%%%'
142c142
< dpkg-mountable dpkg e2fsprogs
---
> apt dpkg e2fsprogs
%%%
# (find-fline "~/tmp/hurd-easy.txt" "chmod +x cross-install")
# (find-fline "/tmp/hurd-easy/cross-install" "# CONFIGURATION")
# umount /dev/hda2
mount /dev/hda2 /hda2
cd /tmp/hurd-easy/
./cross-install /gnu |& tee ~/tmp/ohurd-easy
#*
cp -v /tmp/hurd-easy/install.log ~/tmp/ohurd-easy.install.log
# (find-fline "/tmp/hurd-easy/")
# (find-fline "/tmp/hurd-easy/cross-install")
# (find-fline "/tmp/hurd-easy/cross-install" "Installing necessary packages")
# (find-fline "/tmp/hurd-easy/cross-install" "cross_install() {")
# (find-fline "~/tmp/ohurd-easy")
# (find-fline "~/tmp/ohurd-easy.install.log")
# (find-fline "/tmp/hurd-easy/cross-install" "Installing necessary packages,")
# Note that ~/tmp/ohurd-easy.install.log will now contains a series of
# dpkg-hurd errors and warnings that the cross-install script will
# ignore if they match a certain regexp:
# (find-fline "/tmp/hurd-easy/cross-install" "Installing necessary packages,")
# (find-fline "/tmp/hurd-easy/cross-install" "errors=`grep -v 'trying to")
#*
sort ~/tmp/ohurd-easy.install.log
#*
# (find-fline "~/tmp/hurd-easy.txt" "single-user")
# (find-fline "~/tmp/hurd-easy.txt" "./native-install")
# (find-fline "/gnu/native-install")
# (find-fline "/gnu/")
# I haven't tested the stuff below for a while. I gave up running the
# MAKEDEVs because I couldn't mount my usual Linux home partition from
# the Hurd (because it's >1GB, it seems), and if it's just a matter of
# remembering to do a "./native-install" after the first boot then I
# can do it without auxiliary scripts. I'll test this again when I
# have moved my /home to another partition.
cat > /gnu/tmp1.sh <<'---'
# source me after running native-install!
set -v
#./native-install
export TERM=mach
cd /dev
ls > /tmp/olsdev
./MAKEDEV hd0
./MAKEDEV hd0s1 hd0s2 hd0s3 hd0s5 hd0s6
./MAKEDEV hd2
./MAKEDEV hd2s1 hd2s2 hd2s5 hd2s6
./MAKEDEV hd3
./MAKEDEV hd3s1 hd3s2 hd3s5 hd3s6 hd3s8
./MAKEDEV fd0
ls -lAF
cd /
# (find-fline "~/tmp/hurd-easy.txt" "settrans /linux")
mkdir /hdd8
#settrans /hdd8 /hurd/ext2fs /dev/hd3s8
# Didn't work because /dev/hdd8 was too large (>1GB)...
# /sbin/reboot
set +v
---
#*
# Now we have to install Grub to boot the Hurd.
# But I moved my Grub notes to another file...
# (find-es "grub" "grub")
# Problems: kbleds and shift in the first boot; the translator I
# called to handle the linux partition complained about bad partition
# sizes (mm, it was the 1GB problem).
#####
#
# Adding more packages to make the Hurd usable
# 2000sep08
#
#####
# «updating_hurd_debs» (to ".updating_hurd_debs")
# Note that the difficult part here is to install new .debs on the
# Hurd from Linux without resorting to updating the "oplist" variable
# in the "cross-install" script and reinstalling everything again...
# If this works then it will become slightly easier to cross-compile
# .debs in Linux and install them on the Hurd.
# Note also that the following message from Igor Khavkine gives a
# script to download with wget the missing files:
# (find-deblistsw3 "debian-hurd-0007/msg00151.html")
# Oops - it seems that the usual install scripts are able to do that
# also, but I haven't used this feature (33.6KBPS modem -> can't take
# many risks).
# (find-node "(wget)FTP Options" "`--retr-symlinks'")
# I'm still using an "anonftp"-based solution for that; see above.
#cd $SSIDMB
#anonftp $FSIDMB \
# 'mget devel/libncurses5-dev_*' \
# 'mget text/texinfo_*' \
# 'mget text/texi2html_*' \
# quit
# (find-angg ".zshrc" "hurd")
# (find-fline "/tmp/hurd-easy/cross-install" "${dpkghurd} --unpack")
#*
(
cd $SSIDMB
dpkgihurd \
utils/bsdmainutils_* \
editors/emacsen-common_* \
editors/emacs20_* \
cd $SSIDMB
dpkgihurd \
doc/info_* \
doc/pinfo_* \
cd $SSIDMB
dpkgihurd \
libs/libdb2_* \
text/groff_* \
doc/man-db_* \
doc/manpages_* \
cd $SSIDMB
dpkgihurd \
misc/screen_* \
cd $SSIDMB
dpkgihurd \
interpreters/cpp_* \
devel/binutils_* \
devel/gcc_* \
cd $SSIDMB
dpkgihurd \
utils/file_* \
utils/patch_* \
devel/bison_* \
devel/make_* \
cd $SSIDMB
dpkgihurd \
interpreters/m4_* \
devel/autoconf_* \
devel/automake_* \
cd $SSIDMB
dpkgihurd \
devel/debhelper_* \
utils/cpio_* \
cd $SSIDMB
dpkgihurd \
utils/sharutils_* \
libs/libbz2_* \
utils/bzip2_* \
devel/dpkg-awk_* \
cd $SSIDMB
dpkgihurd \
devel/libstdc++2.9-dev_* \
devel/g++_* \
cd $SSIDMB
dpkgihurd \
devel/gnumach-dev_* \
devel/hurd-dev_* \
devel/libc0.2-dev_* \
devel/mig_* \
devel/dpkg-hurd-dev_* \
devel/libstdc++2.9-dev_* \
cd $SSIDMB
dpkgihurd \
devel/gdb_* \
cd $SSIDMB
dpkgihurd \
devel/libncurses5-dev_* \
text/texinfo_* \
text/texi2html_* \
) |& tee ~/o
#
# The messages that don't get filtered off by the grep below are errors.
# (find-fline "/tmp/hurd-easy/cross-install" "errors=`grep -v 'trying to")
#
grep -v 'trying to overwrite\|but is unpacked but not configured\|Preparing to replace\|Unpacking\|pre-dependency problem\|Selecting previously deselected package\|pre-depends on\|overriding problem because --force enabled\|(Reading database ...\| package architecture (hurd-i386) does not match system\|is not installed.\|but has never been configured.\|dpkg-deb: building package' ~/o
#*
# (find-gvldifile "")
# (find-gstatus "")
# (find-status "make")
# (find-angg ".zshrc" "hurd")
# (find-fline "/gnu/dpkg-hurd")
# (find-fline "/gnu/")
#*
#####
#
# Downloading new versions of Hurd .debs
# 2000aug10
#
#####
# I know that there are some more standard ways to do that, but I
# haven't learned them yet, and the trick of storing lists as Python
# code is very neat... note: even with the nice trick this is VERY
# messy and depends on other misterious tricks that I use (ls-lR.i).
# You have been warned.
# (find-es "debian-net" "ls-lR.i")
# (find-fline "$SDEBIAN/ls-lR.i.hurd")
#*
(echo 'updict = {'
grep binary-hurd-i386 $SDEBIAN/ls-lR.i.hurd \
| perl -nle 'm:^[ 0-9]+[^ ]+hurd-i386/([^ ]+)(| ->.*)$: && print $1' \
| perl -nle 'm:^([^_]+)_(.+)$: && print " \"$1\": \"$2\","'
echo '}'
) > /tmp/updict.py
(echo 'heredict = {'
cd $SSIDMB
find * -type f | sort \
| perl -nle 'm:^([^_]+)_(.+)$: && print " \"$1\": \"$2\","'
echo '}'
) > /tmp/heredict.py
python -c '
execfile("/tmp/heredict.py")
execfile("/tmp/updict.py")
for pkgname in heredict.keys():
upv = updict[pkgname]
herev = heredict[pkgname]
if upv != herev:
print pkgname, herev, upv
' | sort \
| tee /tmp/hurd-changes
# Then we do something with /tmp/hurd-changes, possibly by awking it,
# then editing the result and then sh'ing or eev'ing it.
awk '{ print $1 "_" $3 }' < /tmp/hurd-changes
#*
#####
#
# The web-hurd mailing list
# 2000sep15
#
#####
echo subscribe | sendemail -s 'subscribe' \
web-hurd-request@gnu.org
echo 'confirm 767836' | sendemail \
web-hurd-request@gnu.org
# (find-shttpw3 "mail.gnu.org/pipermail/web-hurd/")
# (find-shttpw3 "mail.gnu.org/pipermail/web-hurd/2000-September.txt")
# (find-shttpw3 "mail.gnu.org/pipermail/web-hurd/2000-August.txt")
# (find-shttpw3 "mail.gnu.org/pipermail/web-hurd/1998-June.txt")
#*
cd $S/http/mail.gnu.org/pipermail/web-hurd/
cat 1998-June.txt \
2000-August.txt \
2000-September.txt \
> /tmp/w-h.txt
mutt -R -f /tmp/w-h.txt
#*
#####
#
# dpkg-cross
# 2000jun17
#
#####
# «dpkg-cross» (to ".dpkg-cross")
# (find-status "dpkg-cross")
# (find-vldifile "dpkg-cross.list")
# (find-fline "/usr/doc/dpkg-cross/")
# (code-c-d "dcrossdoc" "/usr/doc/dpkg-cross/")
# (find-dcrossdocfile "README.Debian.gz" "Hurd")
# (find-dcrossdocfile "README.Debian.gz" "dpkg-buildpackage -ahurd-i386")
# (find-fline "/etc/dpkg/cross-compile" "crossroot-hurd-i386 = /gnu")
# (find-vldifile "dpkg-cross.preinst" "dpkg-divert")
# (find-vldifile "dpkg-cross.postinst")
# (find-vldifile "dpkg-cross.prerm")
# (find-vldifile "dpkg-cross.postrm" "dpkg-divert")
# (find-fline "/usr/bin/dpkg-cross")
# (find-fline "/usr/bin/dpkg-shlibdeps")
# (find-fline "/usr/bin/dpkg-cross-convert")
# (find-dcrossdocfile "")
# (find-dcrossdocfile "changelog.gz")
# (find-dcrossdocfile "copyright")
# (find-dcrossdocfile "README.Debian.gz")
# (find-dcrossdocfile "README.Debian.gz" "dpkg-divert")
# (find-dcrossdocfile "README.Debian.gz" "Ok, to summarize:")
# (find-dcrossdocfile "README.Debian.gz" "2) dpkg-cross")
# (find-dcrossdocfile "README.Debian.gz" "3) dpkg-buildpackage")
# (find-fline "/usr/bin/dpkg-buildpackage")
# (find-fline "/usr/bin/dpkg-buildpackage.orig")
# (eeman "1 dpkg-cross")
# (eeman "1 dpkg-cross-convert")
# (eeman "5 cross-compile")
# (find-fline "/etc/dpkg/")
# (find-fline "/etc/dpkg/cross-compile" "crossroot-hurd-i386 = /gnu")
# ?
#####
#
# gnumach: recompiling from Linux
# 2000nov02
#
#####
# «gnumach_from_linux» (to ".gnumach_from_linux")
# (find-fline "~/00nov04.popmail" "gnumach_1.2-5.diff.gz")
# (find-deblistsw3 "debian-hurd-0009/msg00168.html")
# (find-deblistsw3 "debian-hurd-0011/msg00286.html")
# (find-deblistsw3 "debian-hurd-0011/msg00288.html")
# (find-gnumachfile "debian/rules")
# (find-gnumachfile "om")
#*
rm -Rv /usr/src/gnumach-1.2/
# pdsc $SDEBIAN/dists/woody/main/source/base/gnumach_1.2-7.dsc
cd /usr/src/
dpkg-source -sn -x $SDEBIAN/dists/woody/main/source/base/gnumach_1.2-7.dsc
cd /usr/src/gnumach-1.2/
MIG=i386-gnu-mig CC=i386-gnu-gcc \
./configure --enable-floppy --enable-ide --enable-ne2000 \
i386-pc-gnu --prefix=/gnu \
|& tee oc
make |& tee om
mkdir -p debian/tmp
(pfx=`cd debian/tmp && pwd` \
&& make install-kernel prefix=$pfx \
) |& tee om2
strip --strip-all debian/tmp/boot/gnumach
gzip -9fq debian/tmp/boot/gnumach
cp -v oc ~/tmp/gnumach-oc
cp -v om ~/tmp/gnumach-om
cp -v om2 ~/tmp/gnumach-om2
#*
# Copy it to a grubbable place.
# (find-es "grub" "menu.lst")
mount /hda1 -o remount,rw
cp -v /usr/src/gnumach-1.2/debian/tmp/boot/gnumach.gz \
/hda1/boot/grub/gnumach-edrx.gz
#*
# Ok, this works, but here I'm running "configure" and "make" by hand.
# How can I make "debian/rules" do that for me, and generate a
# package? Would dpkg-buildpackage work for that? The naive way of
# running it, below, breaks in the "./configure" stage; maybe there's
# some parameter missing.
# (find-gnumachfile "debian/")
# (find-gnumachfile "debian/rules")
#*
rm -Rv /usr/src/gnumach-1.2/
cd /usr/src/
dpkg-source -sn -x $SDEBIAN/dists/woody/main/source/base/gnumach_1.2-7.dsc
cd /usr/src/gnumach-1.2/
dpkg-buildpackage -ahurd-i386 |& tee odbp
cp -v odbp ~/tmp/gnumach-odbp
#*
# (find-fline "~/tmp/gnumach-odbp")
# (find-fline "~/tmp/gnumach-odbp" "`hurd-i386-unknown' not recognized")
# (find-fline "~/tmp/gnumach-oc")
# (find-fline "~/tmp/gnumach-om")
# (find-fline "~/tmp/gnumach-om2")
# (code-c-d "gnumach" "/usr/src/gnumach-1.2/")
# (find-gnumachfile "")
# (find-gnumachfile "debian/")
# (find-gnumachfile "NEWS")
# (find-gnumachfile "README")
# (find-gnumachfile "i386/")
# (find-gnumachfile "i386/README-Drivers")
dpkg-architecture -ahurd-i386
#*
pdsc $SDEBIAN/dists/woody/main/source/base/hurd_20001030.dsc
cd /usr/src/hurd-20001030/
DEB_BUILD_ARCH=i386 \
DEB_BUILD_GNU_CPU=i386 \
DEB_BUILD_GNU_SYSTEM=linux \
DEB_BUILD_GNU_TYPE=i386-linux \
DEB_HOST_ARCH=hurd-i386 \
DEB_HOST_GNU_CPU=i386 \
DEB_HOST_GNU_SYSTEM=gnu \
DEB_HOST_GNU_TYPE=i386-gnu \
debian/rules binary |& tee odrb
#*
dpkg-buildpackage -ahurd-i386 will set them for you.
#####
#
# the hurd: recompiling from Linux
# 2000sep15
#
#####
#*
pdsc $SDEBIAN/dists/woody/main/source/base/hurd_20001030.dsc
cd /usr/src/hurd-20001030/
dpkg-buildpackage -ahurd-i386 |& tee odb
#*
# Oops, not so easy...
# (find-hurdfile "")
# (find-hurdfile "INSTALL")
# (find-hurdfile "INSTALL-cross")
# (find-hurdfile "debian/")
# (find-hurdfile "debian/rules")
# This is just a quick way to test architecture names:
# (eeman "dpkg-buildpackage" "-aarchitecture")
# (find-fline "/usr/bin/dpkg-buildpackage")
# (find-fline "/usr/bin/dpkg-architecture" "hurd")
#*
pdsc $SDEBIAN/dists/woody/main/source/x11/bdfresize_1.4-1.dsc
cd /usr/src/bdfresize-1.4/
dpkg-buildpackage -ahurd-i386
#*
#####
#
# The Hurd: kernel
# 2000may25
#
#####
# (find-fline "$SDEBIAN/ls-lR.i" "potato/main/source/base/hurd_")
# (find-fline "$SDEBIAN/ls-lR.i" "woody/main/source/base/hurd_")
# (code-c-d "hurd" "/usr/src/hurd-20000726/")
# (code-c-d "gnumach" "/usr/src/gnumach-1.2/")
# (code-c-d "grub" "/usr/src/grub-0.5.93.1/")
#*
# pdsc $SDEBIAN/dists/woody/main/source/base/hurd_20000130.dsc
# cd /usr/src/hurd-20000130/
pdsc $SDEBIAN/dists/woody/main/source/base/hurd_20000726.dsc
cd /usr/src/hurd-20000726/
DEB_BUILD_GNU_TYPE=i386-pc-linux-gnu \
DEB_HOST_GNU_TYPE=i386-gnu \
debian/rules binary |& tee odrb2
#*
# (find-hurdfile "odrb2")
# (find-hurdfile "pfinet/linux-inet/ip.c")
# (find-hurdfile "pfinet/linux-inet/ip.c" 523)
# (find-hurdfile "pfinet/linux-inet/ip.c" 532)
# (find-hurdfile "pfinet/linux-inet/ip.c" 542)
# Seems that "dpkg-buildpackage -ahurd-i386" should work, but it
# doesn't...
# (find-hurdfile "doc/")
# (find-hurdfile "doc/navigating")
# (find-hurdfile "doc/hurd.texi" "libtrivfs")
# (find-gvldifile "")
# (find-gstatus "libc0.2")
# (find-fline "/gnu/usr/info/" "hurd.info")
# (find-vldifile "m4.postinst")
# (find-fline "/usr/sbin/install-info")
# (eeman "8 install-info")
#####
#
# Installing the Hurd docs on Linux
# 2000jul29
#
#####
# (find-gvldifile "hurd.postinst" "install-info")
rm -v /usr/info/hurd.info*
cd /gnu/usr/info/
cp -v hurd.info*.gz /usr/info/
install-info --quiet --section "Hurd" "The Hurd" /usr/info/hurd.info.gz
#*
# Or:
# (find-hurdfile "doc/")
# (find-hurdfile "doc/Makefile")
# (find-node "(make)Quick Reference" "`$(@D)'")
# (find-hurdfile "doc/Makefile" "stamp-version")
# (find-hurdfile "Makeconf" "hurd-version")
cd /usr/src/hurd-20000726/doc/
rm -v hurd.info*
echo '@set VERSION 0.2' > version.texi
echo '@set VERSION 0.2' > version.texi.new
makeinfo hurd.texi
gzip hurd.info*
rm -v /usr/info/hurd.info*
cp -v hurd.info* /usr/info/
#*
# (find-hurdfile "odrb2")
# (find-hurdnode "Top" "Server Bootstrap\n")
# (find-hurdnode "Recursive Bootstrap" "`reboot'")
# (find-hurdnode "Trivfs Library")
#*
echo | sendemail -s 'subscribe edrx@inx.com.br' \
help-hurd-request@prep.ai.mit.edu
#####
#
# The help-hurd list
# 2000jul27
#
#####
# «help-hurd» (to ".help-hurd")
# (find-hurdfile "INSTALL" "help-hurd-request@prep.ai.mit.edu")
# (code-c-d "gnulists" "$S/http/ftp-mailing-list-archives.gnu.org/")
# (find-gnulistsfile "mailing-lists/help-hurd/")
mkdir /tmp/help-hurd/
cp -iv $S/http/ftp-mailing-list-archives.gnu.org/mailing-lists/help-hurd/* \
/tmp/help-hurd/
cd /tmp/help-hurd/
gzip -dv *.gz
# Then we can run grep and mutt on the resulting files...
#####
#
#
#
#####
# (find-hurdfile "doc/navigating")
http://john-edwin-tobey.org/Hurd/
lynx http://john-edwin-tobey.org/Hurd/
# (find-hurdfile "")
# (find-hurdfile "odrb")
# (find-hurdfile "debian/rules")
# (find-hurdfile "debian/rules" "configure --build=")
# (find-hurdfile "debian/rules" "DEB_BUILD_GNU_TYPE")
pdsc $SDEBIAN/dists/potato/main/source/base/gnumach_1.2-2.dsc
pdsc $SDEBIAN/dists/potato/main/source/base/grub_0.5.93.1.dsc
# (find-hurdfile "")
# (find-gnumachfile "")
# (find-grubfile "")
# (find-fline "$SDEBIAN/indices/Packages-Master-hurd-i386")
# (find-fline "$SDEBIAN/ls-lR.i0")
cd $SDEBIAN/indices/
grep-dctrl -F Description -i hurd Packages-Master-hurd-i386
#####
#
# old notes about grub
# 2000jul01
#
#####
# The rest of this block is obsolete.
# I haven't been able to configure freebsd's rootdev,
# it always complains about not finding what it wants in "wd0s1`".
cat > $EEG <<'---'
debug
cat (hd2,2,a)/.cshrc
cat (hd2,a)/COPYRIGHT
testload (hd2,a)/kernel
testload (hd1,a)/kernel
testload (hd3,a)/kernel
testload (hd0,0)/boot/grub/freebsdkernel
quit
---
eeg grub
#*
# Not evident from the documentation: "install" takes the file like
# menu.lst from the current filesystem? And where does it put it?
# (eeman "8 grub")
# (find-node "(grub)Top")
# (find-node "(grub)Automated install" "install (hd0,1)/boot/grub/stage1")
# (find-node "(grub)Installation under UNIX" "/sbin/grub --batch")
# (find-fline "/usr/share/doc/grub/menu.lst")
# (find-node "(grub)Commands")
# (find-node "(grub)Commands" "`root DEVICE [HDBIAS]'")
# (find-node "(grub)Commands" "`install ")
# (find-node "(grub)Device syntax")
# (find-node "(grub)Filename syntax")
# (find-es "bsd" "bsd_partitions")
# (find-fline "/hdd9/")
# Partition check:
# hda: hda1 hda2 hda3 hda4 < hda5 hda6 >
# hdc: hdc1 hdc2 hdc3 hdc4 < hdc5 hdc6 >
# hdd: hdd1 hdd2 hdd3! hdd4 < hdd5 hdd6 hdd7 hdd8 > < hdd9 hdd10 hdd11 hdd12 >
# (find-fline "/usr/share/doc/grub/menu.lst" "# For booting FreeBSD")
#*
cat > $EEG <<'---'
root (hd0,0)
help install
testload (hd0,0)/boot/grub/vmlinuz
# kernel (hd0,0)/boot/grub/vmlinuz root=/dev/hdd8 vga=1
install /boot/grub/stage1 (hd0) /boot/grub/stage2 p /boot/grub/menu.lst
quit
---
eeg grub
#*
# (find-node "(multiboot)Top")
# (find-node "(grub)Top")
# (find-node "(grub)Boot floppy")
# (find-node "(grub)Automated install")
#####
#
# debian-hurd@lists.debian.org
# 2000jul02
#
#####
# «debian-hurd» (to ".debian-hurd")
# (find-shttpw3 "www.debian.org/MailingLists/subscribe" "REQUEST@")
echo -n | sendemail -s 'subscribe' \
debian-hurd-REQUEST@lists.debian.org
sleep 20
fetchmail
# (find-fline "$MAIL")
# (find-fline "$MAIL" "CONFIRM s070222374727926")
echo -n | sendemail -s 'CONFIRM s110409042430705' \
debian-hurd-request@lists.debian.org
sleep 20
fetchmail
#####
#
# mig
# 2000jul20
#
#####
# (find-status "mig-i386-gnu")
# (find-vldifile "mig-i386-gnu.list")
# (find-fline "/usr/doc/mig-i386-gnu/")
# (find-fline "/usr/bin/i386-gnu-mig")
# (find-fline "/usr/i386-gnu/")
# (find-fline "/usr/i386-gnu/bin/mig")
# (find-status "gcc-i386-gnu")
# (find-vldifile "gcc-i386-gnu.list")
# (find-vldifile "" "gcc-i386-gnu.list")
# (find-fline "/usr/doc/gcc-i386-gnu/")
# (find-fline "/usr/lib/gcc-lib/")
# (find-fline "/usr/lib/gcc-lib/i386-gnu/2.95.2/")
# (find-fline "$SDEBIAN/ls-lR.i" "make-cross")
#####
#
# colortext-0.3
# 2000jul27
#
#####
# «colortext» (to ".colortext")
# (code-c-d "ct" "/gnu/usr/src/colortext-0.3/")
#*
rm -Rv /gnu/usr/src/colortext-0.3/
cd /gnu/usr/src/
tar -xvzf $S/http/stekt.oulu.fi/~tosi/gnu/colortext-0.3.tar.gz
cd /gnu/usr/src/colortext-0.3/
#*
# (find-ctfile "")
# (find-ctfile "README")
#####
#
# Copying my home stuff to my Hurd
# 2001may19
#
#####
# «edrx_hurd» (to ".edrx_hurd")
# (find-es "escripts" "copy_of_edrxs_home")
#*
rm -Rv /gnu/root/.*
rm -Rv /gnu/root/*
#*
makeLedrxtgz
cp -v ~/TH/L/edrx.tgz /gnu/root/
cd /gnu/root/
tar -xvzf edrx.tgz
#*
#####
#
# procfs
#
#####
#*
rm -Rv /gnu/usr/src/procfs/
cd /gnu/usr/src/
tar -xvzf $S/ftp/walfield.org/pub/people/neal/hurd/procfs/procfs-03022000.tar.gz
cd /gnu/usr/src/procfs/
#*
"Luckily, gdb can be attached to the Hurd servers, and so you can
easily debug them."
#####
#
# gnumach from the cvs
# 2000nov27
#
#####
# «gnumach_cvs» (to ".gnumach_cvs")
#*
# On twu:
rm -Rv ~/tmp/gnumach/
mkdir ~/tmp/gnumach/
cd ~/tmp/gnumach/
# Password: [enter]
cvs -d :pserver:anoncvs@subversions.gnu.org:/cvs login
cvs -d :pserver:anoncvs@subversions.gnu.org:/cvs checkout gnumach
tar -cvzf ~/tmp/gnumach-cvs.tgz *
laf ~/tmp/gnumach-cvs.tgz
#
rm -R ~/tmp/gnumach/
#*
# On angg.popolvuh:
cd ~/tmp
anonftp angg.twu.net 'cd ~/tmp/' 'get gnumach-cvs.tgz'
module=gnumach
#*
#####
#
# the hurd logo in metafont format
# 2000dec12
#
#####
# «hurd_logo_mf» (to ".hurd_logo_mf")
# (find-fline "$S/http/www.gnu.org/graphics/hurd.mf")
# (find-es "tex" "docs")
# About the \font command:
xdvi +445 $SCTAN/systems/knuth/tex/texbook.dvi &
#*
cd /tmp/
rm -v hurd*
cp -v $S/http/www.gnu.org/graphics/hurd.mf .
patch -p0 hurd.mf <<'%%%'
3c3
< mode=localfont;
---
> %mode=localfont;
%%%
cat > hurdlogo.tex <<'---'
\font\hurdfont=hurd at 400pt
\font\hurdfontbig=hurd at 1600pt
{\par \hurdfontbig \#}
\hurdfont
\par GNU
\par HURD
\bye
---
tex hurdlogo.tex
#xdvi hurdlogo.dvi &
rexdvi hurdlogo.dvi &
#*
Suggestions for a FAQ:
Explain how to shut down
Point to minimal installation instructions
Tell more about the keyboard problem on the first installation
VTs, colorterm, basic course on "screen"
How to debug a second Hurd on top of a running Hurd
# (find-fline "$SPOTATO/main/source/devel/" "mig")
# (code-c-d "mig" "/usr/src/mig-1.1/")
# (find-migfile "")
pdsc $SDEBIAN/dists/woody/main/source/devel/mig_1.1-1.dsc
cd /usr/src/mig-1.1/
pdsc $SDEBIAN/dists/potato/main/source/devel/mig_1.0.2-1.dsc
pdsc $SDEBIAN/dists/potato/main/source/devel/mig-i386-gnu_1.0-2.dsc
anonftp ftp://ftp.debian.org/debian/ \
'mget dists/sid/main/binary-hurd-i386/editors/emacs20_*' \
'quit'
cd $SDEBIAN/dists/sid/main/binary-hurd-i386/editors/
wget ftp://nautilus/tmp/dists/sid/main/binary-hurd-i386/editors/emacs20_20.3-5.deb
inx-down
# (find-status "emacs20")
# (find-node "(/hdc5/info/hurd)Top")
# (find-fline "$S/http/www.debian.org/ports/hurd/extra-files/")
# (find-shttpw3 "www.gnu.org/software/hurd/easy.html" "chmod +x cross-install")
# (find-shttpw3 "www.gnu.org/software/hurd/easy.html" "shadowconfig off")
# (find-shttpw3 "hurddocs.sourceforge.net/howto/development.html")
# (find-shttpw3 "duff.kuicr.kyoto-u.ac.jp/~okuji/")
# (find-shttpw3 "f77.nop.or.jp/")
# (find-shttpw3 "f77.nop.or.jp/doc/XFree86-3.3.3.1.html")
# (find-shttpw3 "kt.linuxcare.com/KC/debian-hurd/")
# (find-shttpw3 "members.xoom.com/_XMCM/mseaborn/comp/wishlist.html")
# (find-shttpw3 "www.debian.org/Lists-Archives/debian-hurd-0006/threads.html")
# (find-shttpw3 "www.debian.org/ports/hurd/hurd-doc")
# (find-shttpw3 "www.debian.org/ports/hurd/hurd-install")
# (find-shttpw3 "www.gnu.org/software/hurd/")
# (find-shttpw3 "www.gnu.org/software/hurd/easy.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq-1.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq-2.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq-3.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq-4.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq-5.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq-6.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq-7.html")
# (find-shttpw3 "www.gnu.org/software/hurd/faq/faq.html")
# (find-shttpw3 "www.gnu.org/software/hurd/hurd-paper.html")
# (find-shttpw3 "www.memo.cx/gnuhurdguide/")
# (find-shttpw3 "www.memo.cx/gnuhurdguide/hguide1.html")
# (find-shttpw3 "www.pick.ucam.org/~mcv21/hurd.html")
# (find-shttpw3 "www.serv.net/~sand/hurd/console.html")
# (find-shttpw3 "www.serv.net/~sand/hurd/e2fsck.html")
# (find-shttpw3 "www.serv.net/~sand/hurd/install.html")
#####
#
# messy notes about testing cross-install with a local deb repository
# 2000dec17
#
#####
# «cross-install_localrep» (to ".cross-install_localrep")
# Examples (from kov?):
# ./cross_install --download ftp.debian.org /hurd
# ./cross-install --download http://127.0.0.1/ /hurd
# Warning: this block is not working well.
rm -Rv /tmp/hurd-easy/
mkdir /tmp/hurd-easy/
cd $SDEBIAN/dists/sid/main/binary-hurd-i386/
for i in $plist; do
cp -v ${i}_* /tmp/hurd-easy/
done
#*
# (find-es "apt" "rebuilding-the-Packages-file")
cd $SDEBIAN/
(dpkg-scanpackages dists/sid/main/binary-hurd-i386 /dev/null \
> dists/sid/main/binary-hurd-i386/Packages
) |& tee ~/o
cd $SDEBIAN/dists/sid/main/binary-hurd-i386/
gzip -c9 < Packages > Packages.gz
#*
rm -Rv /tmp/hurd-easy/
mkdir /tmp/hurd-easy/
rm -Rv /tmp/gnu/
mkdir /tmp/gnu/
mkdir /tmp/gnu/lost+found/
cd $S/http/www.debian.org/ports/hurd/extra-files/
for i in cross-install native-install dpkg-hurd; do
cp -v $i /tmp/hurd-easy/$i
chmod +x /tmp/hurd-easy/$i
done
# (find-fline "~/tmp/hurd-easy.txt" "chmod +x cross-install")
# (find-fline "/tmp/hurd-easy/cross-install" "# CONFIGURATION")
# (find-fline "/tmp/hurd-easy/cross-install" "wget")
cd /tmp/hurd-easy/
./cross-install --download http://127.0.0.1/debian/ /tmp/gnu \
|& tee ~/tmp/ohurd-easy
#*
cp -v /tmp/hurd-easy/install.log ~/tmp/ohurd-easy.install.log
#*
# (find-fline "/tmp/hurd-easy/partial/Packages.gz")
zcat /tmp/hurd-easy/partial/Packages.gz | awk -vp=libreadline4 '
BEGIN { print p }
$0 ~ "^Package:" { package = $2 }
$0 ~ "^Filename:" && p == package { print $2 }'
#*
cd $SSIDMB
anonftp $FSIDMB \
'mget base/libreadline4_*' \
quit
lynx http://127.0.0.1/debian/dists/sid/main/binary-hurd-i386/
psne http://www.debian.org/ports/hurd/extra-files/cross-install
#####
#
# Making a template from fsmunoz's page
# 2000dec22
#
#####
# «fsmunoz-template» (to ".fsmunoz-template")
# (find-angg "TH/Htmllib.tcl" "templates")
# (find-shttpfile "fsmunoz.freeshell.org/hurd/")
# (find-shttpfile "fsmunoz.freeshell.org/hurd/index.html")
# (find-shttpw3 "fsmunoz.freeshell.org/hurd/index.html")
# (find-shttpfile "fsmunoz.freeshell.org/hurd/index.t.html")
# (find-shttpw3 "fsmunoz.freeshell.org/hurd/index.t.html")
# (find-shttpfile "fsmunoz.freeshell.org/hurd/index.th.html")
# (find-shttpfile "fsmunoz.freeshell.org/hurd/Makefile")
# (find-angg "TH/Generate")
# (find-angg "TH/Htmllib.tcl" "templates")
# (find-angg "TH/Htmllib.tcl")
#*
cp $S/http/fsmunoz.freeshell.org/hurd/index.t.html /tmp/tmpl.html
expect ~/TH/Generate /tmp/o '
# debug 1
process_template [readfile /tmp/tmpl.html]
puts [GRAYBAR Hello world]
'
#*
# (find-shttpfile "fsmunoz.freeshell.org/hurd/index.th.html")
# (find-shttpfile "fsmunoz.freeshell.org/hurd/index.t.html")
# (find-shttpfile "fsmunoz.freeshell.org/hurd/Makefile")
cd $S/http/fsmunoz.freeshell.org/hurd/
make
#*
# (find-fline "$S/http/www.debian.org/ports/hurd/extra-files/cross-install" "plist=")
A=(adduser ae base-files base-passwd bash bsdutils debianutils diff
dpkg-ftp dpkg-mountable dpkg e2fsprogs fileutils findutils
gettext-base gnumach grep grub gzip hostname hurd inetutils libc0.2
libgdbmg1 libncurses5 libnet-perl libreadline4 libstdc++2.9
libstdc++2.10 libwrap0 mawk ncurses-base ncurses-bin passwd libdb2
perl-5.005-base perl-base sed shellutils slang1 syslogd tar tcpd
textutils perl-5.005 libncurses4 less ed)
cd $SDEBIAN/
egrep "/($(echo $A | tr '+ ' '.|'))_" ls-lR.i.hurd \
| nolinks \
| tee ~/o
#*
function dl () {
if [[ ! -e $SDEBIAN/$1 ]]; then echo $1; fi
}
set +v
dl dists/sid/main/binary-hurd-i386/base/ae_962-26.deb
dl dists/sid/main/binary-hurd-i386/base/base-passwd_3.2.0.deb
dl dists/sid/main/binary-hurd-i386/base/bash_2.04-9.deb
dl dists/sid/main/binary-hurd-i386/base/bsdutils_4.4.1.1.deb
dl dists/sid/main/binary-hurd-i386/base/dpkg-mountable_0.8.deb
dl dists/sid/main/binary-hurd-i386/base/dpkg_1.7.2.0.deb
dl dists/sid/main/binary-hurd-i386/base/e2fsprogs_1.19-1.deb
dl dists/sid/main/binary-hurd-i386/base/findutils_4.1-40.0.deb
dl dists/sid/main/binary-hurd-i386/base/grep_2.4.2-1.deb
dl dists/sid/main/binary-hurd-i386/base/grub_0.5.95.deb
dl dists/sid/main/binary-hurd-i386/base/gzip_1.2.4-33.deb
dl dists/sid/main/binary-hurd-i386/base/hostname_2.07.deb
dl dists/sid/main/binary-hurd-i386/base/libc0.2_2.2-3.deb
dl dists/sid/main/binary-hurd-i386/base/libncurses5_5.0-7.deb
dl dists/sid/main/binary-hurd-i386/base/libstdc++2.10_2.95.2-18.deb
dl dists/sid/main/binary-hurd-i386/base/libstdc++2.9_2.91.66-1.2.deb
dl dists/sid/main/binary-hurd-i386/base/libwrap0_7.6-5.deb
dl dists/sid/main/binary-hurd-i386/base/mawk_1.3.3-5.deb
dl dists/sid/main/binary-hurd-i386/base/ncurses-bin_5.0-7.deb
dl dists/sid/main/binary-hurd-i386/base/perl-5.005-base_5.005.03-7.1.deb
dl dists/sid/main/binary-hurd-i386/base/sed_3.02-6.deb
dl dists/sid/main/binary-hurd-i386/base/slang1_1.4.1-1.deb
dl dists/sid/main/binary-hurd-i386/base/syslogd_1.3.2-9.deb
dl dists/sid/main/binary-hurd-i386/base/tar_1.13.17-2.deb
dl dists/sid/main/binary-hurd-i386/base/tcpd_7.6-5.deb
dl dists/sid/main/binary-hurd-i386/base/textutils_2.0-3.deb
dl dists/sid/main/binary-hurd-i386/editors/ed_0.2-18.deb
dl dists/sid/main/binary-hurd-i386/interpreters/perl-5.005_5.005.03-7.1.deb
dl dists/sid/main/binary-hurd-i386/libs/libdb2_2.7.7-2.2.deb
dl dists/sid/main/binary-hurd-i386/net/inetutils_1.3.2-9.deb
dl dists/sid/main/binary-hurd-i386/oldlibs/libncurses4_4.2-3.4.deb
dl dists/sid/main/binary-hurd-i386/text/less_358-1.deb
#*
cd $SDEBIAN/
mv -v dists/sid/main/binary-hurd-i386/base/base-passwd* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/bash* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/dpkg* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/findutils* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/libc0.2* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/libncurses5* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/libstdc++2.10* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/libwrap0* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/ncurses-bin* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/base/tcpd* ~/tmp/oldhurd/
mv -v dists/sid/main/binary-hurd-i386/libs/libdb2* ~/tmp/oldhurd/
psnedebfrom $FDEBIAN_MAIN <<'---'
dists/sid/main/binary-hurd-i386/base/base-passwd_3.2.0.deb
dists/sid/main/binary-hurd-i386/base/bash_2.04-9.deb
dists/sid/main/binary-hurd-i386/base/dpkg_1.7.2.0.deb
dists/sid/main/binary-hurd-i386/base/findutils_4.1-40.0.deb
dists/sid/main/binary-hurd-i386/base/libc0.2_2.2-3.deb
dists/sid/main/binary-hurd-i386/base/libncurses5_5.0-7.deb
dists/sid/main/binary-hurd-i386/base/libstdc++2.10_2.95.2-18.deb
dists/sid/main/binary-hurd-i386/base/libwrap0_7.6-5.deb
dists/sid/main/binary-hurd-i386/base/ncurses-bin_5.0-7.deb
dists/sid/main/binary-hurd-i386/base/tcpd_7.6-5.deb
dists/sid/main/binary-hurd-i386/libs/libdb2_2.7.7-2.2.deb
---
#####
#
# oskit-mach
# 2001may09
#
#####
# «oskit-mach» (to ".oskit-mach")
# (find-es "oskit" "oskit-200102")
# (find-deblistsw3 "debian-hurd-0103/msg00408.html")
# (find-deblistsw3 "debian-hurd-0104/msg00033.html")
# (find-deblistsw3 "debian-hurd-0104/msg00049.html")
mkdir ~/mach/
cd ~/mach/
export CVSROOT=:pserver:anoncvs@subversions.gnu.org:/cvs
# hit enter when you are asked for a password
cvs login
cvs -z3 checkout gnumach
cvs co -d oskit-mach -r oskit-branch gnumach
# (eeman "1 cvs" "-d CVS_root_directory")
# (eeman "1 cvs" "-z compression-level")
# (eeman "1 cvs" "-r")
# (find-fline "~/tmp/" "oskit")
#*
rm -Rv /usr/src/gnumach/
rm -Rv /usr/src/oskit-mach/
cd /usr/src/
tar -xvzf ~/tmp/oskit-mach.tgz
#*
# (find-gnumachfile "")
# (find-oskmachfile "")
#####
#
# keymap
# 2001may19
#
#####
# «keymap» (to ".keymap")
# (find-fline "$S/ftp/alpha.gnu.org/gnu/hurd/contrib/marcus/keymap.tar.gz")
#*
rm -Rv /usr/src/keymap-hurd/
mkdir /usr/src/keymap-hurd/
cd /usr/src/keymap-hurd/
tar -xvzf $S/ftp/alpha.gnu.org/gnu/hurd/contrib/marcus/keymap.tar.gz
#*
# (code-c-d "keymaphurd" "/usr/src/keymap-hurd/")
# (find-keymaphurdfile "")
# (find-keymaphurdfile "set_key.c")
# (find-gnumachfile "i386/i386at/kd.h")
# (find-gnumachfile "i386/i386at/")
# (find-gnumachfile "")
#####
#
# ioctls and RPC calls
# 2001may19
#
#####
# «ioctls» (to ".ioctls")
#*
# (find-es "anatocc" "glibc-src")
cd /usr/src/glibc-2.1.3/glibc-2.1.3/
grep ioctl .files
for i in $(grep ioctl .files); do
echo "# (find-glibcfile \"$i\")"
done | tee ~/o
#*
# (find-glibcfile "hurd/hurd/ioctl.h")
# (find-glibcfile "hurd/hurdioctl.c")
# (find-glibcfile "sysdeps/mach/hurd/bits/ioctls.h")
# (find-glibcfile "sysdeps/mach/hurd/ioctl.c")
# (find-glibcfile "include/sys/ioctl.h")
# (find-glibcfile "misc/sys/ioctl.h")
# (find-glibcfile "sysdeps/generic/bits/ioctl-types.h")
# (find-glibcfile "sysdeps/generic/bits/ioctls.h")
# (find-glibcfile "sysdeps/generic/ioctl.c")
# (find-glibcfile "sysdeps/unix/bsd/bsd4.4/bits/ioctls.h")
# (find-glibcfile "sysdeps/unix/ioctls-tmpl.c")
# (find-glibcfile "sysdeps/unix/ioctls.awk")
# (find-glibcfile "sysdeps/unix/snarf-ioctls")
# (find-glibcfile "sysdeps/unix/sysv/linux/alpha/bits/ioctls.h")
# (find-glibcfile "sysdeps/unix/sysv/linux/bits/ioctl-types.h")
# (find-glibcfile "sysdeps/unix/sysv/linux/bits/ioctls.h")
# (find-glibcfile "sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h")
# (find-glibcfile "sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h")
# (find-glibcfile "sysdeps/unix/sysv/linux/powerpc/ioctl.c")
# (find-glibcfile "sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h")
# (find-glibcfile "sysdeps/unix/sysv/linux/sparc/bits/ioctls.h")
#*
# (find-node "(hurd)Ports Library")
<marcus> edrx: That's really a convoluted beast, and not what you
should look at first, but for the curious:
sysdepds/mach/hurd/ioctl.c, ioctls.h and ioctl-types.h, as
well as hurd/hurdioctl.c
<marcus> Basically, there is a standard encoding of a ioctl in a 32
bit int.
<marcus> The encoding tells ioctl(), which message number and in/out
parameter exist.
<marcus> functions that don't fit into this standard encoding (too
many parameters, violation of ioctl() protocol) are
overridden in hurd/hurdioctl.c
<marcus> ioctl() parses the ioctl number and composes a Mach msg from
it.
#####
#
# chroot emptyhurd: using another apt.conf
# 2001aug15
#
#####
# «emptyhurd_apt.conf» (to ".emptyhurd_apt.conf")
# (find-angg ".zshrc" "hurd")
# (find-angg "LUA/emptydeb.lua" "e-scripts")
#*
# Download the Packages files.
psne $FSIDMB/Packages.gz
mv -iv Packages.gz.1 Packages.gz
zcat Packages.gz > Packages; touch -r Packages.gz Packages
psne $FALPHASIDMB/Packages.gz
mv -iv Packages.gz.1 Packages.gz
zcat Packages.gz > Packages; touch -r Packages.gz Packages
#*
# Prepare a fake environment in /tmp/EH/ where apt will think that
# there are no packages (except for libc6, that will have to be hacked
# in by force); the architecture for apt will be set to hurd-i386 and
# sources.list will point to the "main" hurd section of ftp.debian.org
# and to the alpha.gnu.org repository.
# (find-man "5 apt.conf")
# (find-man "8 apt-get" "--config-file")
# (find-fline "/usr/doc/apt/examples/configure-index.gz" " Architecture")
# (find-fline "/usr/doc/apt/examples/configure-index.gz" "// Directory layout")
rm -Rv /tmp/EH/
mkdir /tmp/EH/
cd /tmp/EH/ && (
# Start of the "cd /tmp/EH/ &&" block
mkdir -p etc/apt/
cat > etc/apt/sources.list <<'---'
deb file:/snarf/ftp/ftp.debian.org/debian sid main
deb file:/snarf/ftp/alpha.gnu.org/pub/gnu/hurd/debian unstable main
---
cat > etc/apt/apt.conf <<'---'
APT::Architecture "hurd-i386";
Dir::State "/tmp/EH/var/state/apt/";
Dir::State::status "/tmp/EH/var/lib/dpkg/status";
Dir::Cache "/tmp/EH/var/cache/apt/";
Dir::Etc "/tmp/EH/etc/apt/";
Dir::Etc::sourcelist "/tmp/EH/etc/apt/sources.list";
Dir::Etc::main "/tmp/EH/etc/apt/apt.conf";
---
mkdir -p var/cache/apt/archives/partial/
mkdir -p var/lib/dpkg/
( cd var/lib/dpkg/
mkdir -p alternatives info updates methods/{mnt,disk,floppy}
echo -e "Package: libc6\nStatus: install ok installed\nVersion: 9:9\n" \
> status
touch available
)
mkdir -p var/state/apt/lists/partial/
# End of the "cd /tmp/EH/ &&" block
)
#*
rm -Rv /tmp/EH/var/lib/dpkg/
cd /gnu/
cp -aPv var/lib/dpkg/ /tmp/EH/
#*
# Run apt-get on the new environment and tell it to install the base
# packages and a few extras; but make it just print the URIs and do
# nothing concrete. We will use the list of URIs that it will spit out
# to generate a list of URLs of .debs to download.
#
# Note: I'm using a recent apt-get because potato's version of apt-get
# insists on using /etc/apt/source.list.
#
# (to "emptyhurd_newapt")
alias APT-GET="LD_LIBRARY_PATH=/usr/src/apt-0.5.3/build/bin: \
/usr/src/apt-0.5.3/build/bin/apt-get -c /tmp/EH/etc/apt/apt.conf"
APT-GET update
APT-GET --print-uris --download-only -y install \
base-files base-passwd bash bsdutils debianutils diff dpkg e2fsprogs \
fileutils findutils grep gzip hostname hurd ncurses-base ncurses-bin \
perl-base sed shellutils tar textutils \
\
dpkg-dev build-essential screen emacs20 expect tcl8.3 zsh30 \
| tee ~/o
#*
# Process the output of "APT-GET --print-uris" to get a sequence of
# download commands.
#
cat ~/o | grep "^'" | awk '{print $1}' | cut -b18- | tr -d "'" | tee ~/o2
cat ~/o2 | awk '{printf "psne ftp://%s -c\n", $1}' | tee ~/o3
sed 's,ftp://ftp.debian.org/debian,$FDEBIAN_SF,g' < ~/o3 | tee ~/o4
cp ~/o2 ~/tmp/hurd-debs
#*
# (find-fline "~/o2")
# (find-fline "~/tmp/hurd-debs")
# (find-fline "~/o3")
# (find-fline "~/o4")
rm -Rv /tmp/hurd-easy/
mkdir /tmp/hurd-easy/
for i in $(cat ~/tmp/hurd-debs); do
cp -v $S/ftp/$i /tmp/hurd-easy/
done
#*
#####
#
# chroot emptyhurd: trying to use the newest versions of dpkg and apt
# 2001aug07
#
#####
# (code-c-d "dpkg" "/usr/src/dpkg-1.9.16/")
# (code-c-d "apt" "/usr/src/apt-0.5.3/")
# (find-dpkgfile "")
# (find-dpkgfile "debian/")
# (find-dpkgfile "debian/control")
# (find-aptfile "")
# (find-aptfile "debian/control")
#*
# «emptyhurd_newdpkg» (to ".emptyhurd_newdpkg")
pdsc $SDEBIAN/pool/main/d/dpkg/dpkg_1.9.16.dsc
debian/rules binary |& tee odrb
#*
# «emptyhurd_newapt» (to ".emptyhurd_newapt")
pdsc $SDEBIAN/pool/main/a/apt/apt_0.5.3.dsc
cd /usr/src/apt-0.5.3/
find * | sort > .files
egrep '\.(c|cc|h)$' .files > .files.ch
etags $(<.files.ch)
debian/rules binary |& tee odrb
#*
cd /usr/src/
ls *apt*deb
ls *dpkg*deb
#*
#####
#
# sparse_super
# 2001oct15
#
#####
# «sparse_super» (to ".sparse_super")
# A mail in the debian-hurd list says to use "-O sparse_super" to
# avoid a certain bug (but that "mke2fs -o hurd" should be using "-O
# sparse_super" by default, and it seems that newer versions will have
# that fixed)
#*
pdsc $SDEBIAN/pool/main/e/e2fsprogs/e2fsprogs_1.18-3.dsc
cd /usr/src/e2fsprogs-1.18/
#*
# (code-c-d "e2fsp" "/usr/src/e2fsprogs-1.18/")
# (find-e2fspfile "RELEASE-NOTES" "sparse_superblock features enabled by")
# Local Variables:
# coding: utf-8-unix
# End: