crosshurd-1.7.51/0000755000000000000000000000000012724263412010512 5ustar crosshurd-1.7.51/crosshurd0000755000000000000000000000222311531614244012451 0ustar #!/bin/sh #DEB_HOST_GNU_SYSTEM=`dpkg-architecture -qDEB_HOST_GNU_SYSTEM` DEB_HOST_GNU_CPU=`dpkg-architecture -qDEB_HOST_GNU_CPU` #DEB_HOST_GNU_TYPE=`dpkg-architecture -qDEB_HOST_GNU_TYPE` exec 3>&1 MOUNT=`dialog --inputbox "What is the target directory?" 0 0 "/root/jail" 2>&1 1>&3` retval=$? exec 3>&- case $retval in 0) ;; 1|255) exit ;; esac exec 3>&1 DEB_TARGET_GNU_SYSTEM=`dialog --menu "Target Debian system?" 0 0 4 linux-gnu GNU/Linux gnu GNU/Hurd kfreebsd-gnu GNU/kFreeBSD 2>&1 1>&3` retval=$? exec 3>&- case $retval in 0) ;; 1|255) exit ;; esac [ "$DEB_TARGET_GNU_SYSTEM" = gnu ] && DEB_HOST_GNU_CPU=i386 exec 3>&1 DEB_TARGET_GNU_CPU=`dialog --inputbox "Target CPU?" 0 0 "$DEB_HOST_GNU_CPU" 2>&1 1>&3` retval=$? exec 3>&- case $retval in 0) ;; 1|255) exit ;; esac #if [ "$DEB_TARGET_GNU_SYSTEM" = "gnu" ] ; then # exec 3>&1 # FOO=`dialog --defaultno --yesno "Create a /usr -> . symlink?" 0 0 2>&1 1>&3` # retval=$? # exec 3>&- # 0 is yes, 1 is no # case $retval in # 0) ln -s . $MOUNT/usr ;; # 1) ;; # 255) exit ;; # esac #fi /usr/share/crosshurd/makehurddir.sh "$MOUNT" "$DEB_TARGET_GNU_CPU" "$DEB_TARGET_GNU_SYSTEM" crosshurd-1.7.51/THANKS0000644000000000000000000000052511320217561011422 0ustar A big thanks to those who helped test this system: James Morrison Michael Banck Jeroen Deckers And also to those who contributed to dpkg-hurd: Marcus Brinkmann Jeff Sheinberg Pavel Roskin Matthew Vernon Kalle Olavi Niemitalo Joel Espy Klecker And those who contributed to native-install: Marcus Brinkmann Matthew Vernon Alfred M. Szmidt crosshurd-1.7.51/preferences0000644000000000000000000000015611320217561012733 0ustar Package: * Pin: release a=unreleased Pin-Priority: 995 Package: * Pin: release a=unstable Pin-Priority: 990 crosshurd-1.7.51/README.gnu0000644000000000000000000000243211546103016012155 0ustar Welcome to crosshurd! ===================== crosshurd can now be used to install not only GNU, but also GNU/Linux and GNU/kFreeBSD. The instructions below apply only to Hurd-based GNU system. 1) Create a partition, and put a file system on it. If you are planning on using ext2, the command: mke2fs -I 128 -b 4096 -o hurd /dev/hda12 (substituting the right partition) is usually good. The -o hurd is necessary so that the system know that it's safe to setup translators. 2) Mount it somewhere. 3) Review /etc/crosshurd/sources.list/gnu. The Hurd often requires a few secondary archives to be added to get all the needed packages. I've tried to include sensible defaults. 4) Run /usr/sbin/crosshurd This will ask where the partition is mounted. Not all packages downloaded by apt will be installed, only Priority: required ones will be. 5) Setup grub to boot from the new partition. If you don't know how to do this, go out and grab some of Philip's CDs and start with them. Explaining grub is out of scope of this README. Make sure not to pass --readonly to ext2fs.static. 6) On the first boot, run : ./native-install And when it's done: reboot You may see error messages about not being able to chown to root. These are being worked on and are safe to ignore. 7) Reboot, and enjoy. crosshurd-1.7.51/TODO0000644000000000000000000000024711320217561011200 0ustar These are the TODO items: * Copy over the networking configuration * Support copying a cache of hurd-i386 debs into place (useful for setting up subhurd's and such) crosshurd-1.7.51/debian/0000755000000000000000000000000012724263661011742 5ustar crosshurd-1.7.51/debian/README.Debian0000644000000000000000000000062211320217205013763 0ustar crosshurd for Debian -------------------- This is the Hurd. Welcome. This should probably find its way into debootstrap eventually. It's not clear to me that this is the Right thing, though. Debootstrap really wants to hop in and set things up, and this requires a reboot to the native system so that native-install can be run. -- Jeff Bailey , Tue, 6 May 2003 13:40:04 -0400 crosshurd-1.7.51/debian/changelog0000644000000000000000000006466512724263552013634 0ustar crosshurd (1.7.51) unstable; urgency=medium [ Rodrigo Valiña Gutiérrez ] * Add gnumach.gz symlink for dumb update-grub scripts (Closes: Bug#825229). [ Samuel Thibault ] * Bump gnumach version to 1.7. -- Samuel Thibault Fri, 03 Jun 2016 13:17:51 +0200 crosshurd (1.7.50) unstable; urgency=medium [ Rodrigo Valiña Gutiérrez ] * Avoid overwriting root files... -- Samuel Thibault Sun, 22 May 2016 16:29:30 +0200 crosshurd (1.7.49) unstable; urgency=medium * Update gnumach kernel version to 1.6. * compat: Bump to 9. * rules: Switch to pure debhelper. * control: Drop cdbs dep. -- Samuel Thibault Tue, 23 Feb 2016 01:01:01 +0100 crosshurd (1.7.48) unstable; urgency=medium * Use httpredir.debian.org instead of hardcoded ftp.de.debian.org * Update gnumach kernel version to 1.5. -- Samuel Thibault Tue, 20 Oct 2015 22:31:16 +0200 crosshurd (1.7.47) unstable; urgency=medium [ Guillem Jover ] * Switch from libparted0debian1 to libparted2 (Closes: Bug#757014). * Use dpkg-deb instead of manually extracting packages and information (Closes: Bug#757013). -- Samuel Thibault Tue, 19 Aug 2014 19:40:28 +0200 crosshurd (1.7.46) unstable; urgency=medium * Really extract gnumach kernel package (Closes: Bug#750980). -- Samuel Thibault Sun, 15 Jun 2014 22:48:07 +0200 crosshurd (1.7.45) unstable; urgency=medium * Support xz-compressed packages. * Also set APT::Architectures, to fix installation from a multiarch system. * Bump kfreebsd kernel to 10 (Closes: Bug#746603). -- Samuel Thibault Thu, 01 May 2014 23:07:01 +0200 crosshurd (1.7.44) unstable; urgency=low * Take diffutils package instead of diff (closes: Bug#670828). -- Samuel Thibault Sat, 30 Jun 2012 01:04:17 -0300 crosshurd (1.7.43) unstable; urgency=low [ Samuel Thibault ] * Drop documentation about kNetBSD, since there is no such project any more. Keep the code, in case it gets revived sometime. * Install gnumach-image-1-486 instead of gnumach, according to package renaming. * Install isc-dhcp-client instead of dhcp-client. -- Samuel Thibault Sun, 27 Feb 2011 15:13:30 +0100 crosshurd (1.7.42) unstable; urgency=low * packages/gnu: Added libparted0debian1 and libuuid1 * makehurddir.sh: Extract libparted0debian1 package if available (Closes: #599565) * debian/control (Standards-Version): Bumped to 3.9.1. -- Michael Banck Sun, 10 Oct 2010 13:15:13 +0200 crosshurd (1.7.41) unstable; urgency=low * packages/common: Removed grub. * packages/linux-gnu: Likewise. * packages/kfreebsd-gnu: Replaced kfreebsd-image-5-486 with kfreebsd-image-8-486 and removed kfreebsd-loader (Closes: #598429). -- Michael Banck Thu, 30 Sep 2010 18:04:42 +0200 crosshurd (1.7.40) unstable; urgency=low * native-install/native-install: Use bash's $OSTYPE variable to discern the system type. This makes the file-system read-only test more robust as a working "system" command and pipes are not needed (Closes: #557422). * sources.list/kfreebsd-gnu: Removed no longer existing debian-ports `unreleased' repositories for kfreebsd-gnu (Closes: #598429). -- Michael Banck Tue, 28 Sep 2010 23:51:48 +0200 crosshurd (1.7.39) unstable; urgency=low * packages/common: Added libpam-modules and libpam-runtime. -- Michael Banck Tue, 13 Jul 2010 18:41:40 +0200 crosshurd (1.7.38) unstable; urgency=low [ Samuel Thibault ] * debian/control: - Add ${misc:Depends}. - Bump debhelper build dependency to >= 7. - Bump Standards-Version to 3.8.4 (no change needed). * README.gnu: Remove documentation about the /usr -> . symlink. Fix typo. Do not ask for two native-install invocation, it's not needed any more. Explain why not all packages get installed. * sources.list/gnu: Add debian-ports deb-src source. * sources.list/kfreebsd-gnu: Replace debian-ports unstable source with official de mirror source. * crosshurd: On gnu system, default cpu to i386 (Closes: #557417). * native-install/native-install: Add +x to /servers/default-pager, for tmpfs. * functions: Remove -k option from tar, to avoid error on /bin/sh conflict between bash and dash. [ Michael Banck ] * README.gnu: Remove reference to Neal Walfield's installation guide and fix location of GNU/Hurd's sources.list file (Closes: #577992). * makehurddir.sh: Extract libbz2-1.0 if available, as dpkg-deb now links with it. * debian/install: Explicitly install the various sources.list and packages files in their directories, to prevent including .svn directories in the binary package by accident. -- Michael Banck Fri, 09 Jul 2010 17:51:46 +0200 crosshurd (1.7.37) unstable; urgency=low * native-install/native-install: Explicitly use bash to invoke MAKEDEV. * debian/compat: Bumped to 7. * debian/control (Uploaders): Added Samuel Thibault. -- Michael Banck Sun, 03 Jan 2010 23:16:31 +0100 crosshurd (1.7.36) unstable; urgency=low * debian/control (Maintainer): Removed Jeff Bailey, added GNU Hurd Maintainers. * packages/common: Added initscripts and insserv. * native-install/native-install: Unpack insserv along required packages. -- Michael Banck Sun, 25 Oct 2009 11:20:31 +0100 crosshurd (1.7.35) unstable; urgency=low * README.gnu: Added -I 128 to the mke2fs call. (Closes: #471528). * native-install/native-install: Removed no longer existing --force-auto-select option when installing base packages. (Closes: #533321). -- Michael Banck Sun, 30 Aug 2009 15:31:44 +0200 crosshurd (1.7.34) unstable; urgency=low * functions (apt_config): Add Dir::Etc::Sourceparts option pointing to a non-existant location, to override /etc/apt/sources.list.d. (Closes: #439179, #543792) -- Michael Banck Sun, 30 Aug 2009 15:20:34 +0200 crosshurd (1.7.33) unstable; urgency=low * makehurddir.sh: Really extract libpthread-stubs0 now. -- Michael Banck Sun, 10 Aug 2008 01:44:34 +0200 crosshurd (1.7.32) unstable; urgency=low * packages/common: Removed gcc-3.3-base. * makehurddir.sh: Extract libpthread-stubs0, if available. (Closes: #493129) * debian/control (Standards-Version): Bumped to 3.8.0. -- Michael Banck Thu, 31 Jul 2008 18:46:38 +0200 crosshurd (1.7.31) unstable; urgency=low * functions (apt_config): Add debug::pkgproblemresolver=1 option to improve diagnosis output when crosshurd cannot figure out what to install due to broken base packages. (Closes: #491599) -- Michael Banck Mon, 21 Jul 2008 23:22:25 +0200 crosshurd (1.7.30) unstable; urgency=low * sources.list/kfreebsd-gnu: Update the commented out ftp.gnuab.org entry to ftp.debian-ports.org as well. * debian/control (Standards-Version): Bumped to 3.7.3. -- Michael Banck Sun, 16 Mar 2008 17:18:55 +0100 crosshurd (1.7.29) unstable; urgency=low * sources.list/gnu: Update for the ftp.gnuab.org->ftp.debian-ports.org move. * sources.list/kfreebsd-gnu: Likewise. * sources.list/knetbsd-gnu: Likewise. -- Michael Banck Fri, 11 Jan 2008 19:19:35 +0100 crosshurd (1.7.28) unstable; urgency=low * native-install/native-install: Create /dev/hd0 on hurd-i386 as well. * sources.list/kfreebsd-gnu: Removed Arch: all repository from list. * packages/gnu: Added cardmgr-gnumach and wireless-tools-gnumach. -- Michael Banck Thu, 19 Jul 2007 13:50:35 +0200 crosshurd (1.7.27) unstable; urgency=low * packages/common: Added dhcp-client. * packages/gnu: Added inetutils-tools. -- Michael Banck Mon, 18 Jun 2007 02:17:49 +0100 crosshurd (1.7.26) unstable; urgency=medium [ Michael Banck ] * packages/common: Removed inetutils-ping and inetutils-syslogd. * debian/control (Build-Depends-Indep): Moved to ... * debian/control (Build-Depends): ... here. * debian/control (Standards-Version): Bumped to 3.7.2. [ Thadeu Lima de Souza Cascardo ] * makehurddir.sh: Relative paths are converted to absolute ones using readlink -f. (Closes: #338855) * debian/changelog (urgency): Set to medium, because it closes an RC bug. * debian/control (Maintainer): Changed address as requested by Jeff Bailey. -- Michael Banck Sat, 11 Nov 2006 17:57:12 +0100 crosshurd (1.7.25) unstable; urgency=low * native-install/native-install: Create com0 device on hurd-i386. (Closes: #345001) -- Michael Banck Fri, 14 Apr 2006 16:52:52 +0200 crosshurd (1.7.24) unstable; urgency=low * packages/common: Remove all library packages. (Closes: #333110) * packages/kfreebsd-i386: Remove libc0.1. * native-install/native-install: Applied patch by Robert Millan for kfreebsd-i386. (Closes: #333111) -- Michael Banck Fri, 17 Mar 2006 23:26:02 +0100 crosshurd (1.7.23) unstable; urgency=low * packages/common: Removed libreadline4. -- Michael Banck Thu, 16 Feb 2006 01:10:46 +0100 crosshurd (1.7.22) unstable; urgency=low * package/kfreebsd-gnu: Renamed kfreebsd-image-5.3-1 to kreebsd-image-5-486, by Robert Millan. (Closes: #331219) -- Michael Banck Tue, 1 Nov 2005 00:21:11 +0100 crosshurd (1.7.21) unstable; urgency=low * packages/common: Removed slang1. (Closes: #323579) -- Michael Banck Mon, 12 Sep 2005 12:54:01 +0200 crosshurd (1.7.20) unstable; urgency=low * packages/kfreebsd-gnu: Renamed kfreebsd5 to kfreebsd-image-5.3-1, by Aurelien Jarno. (Closes: #321749) * native-install/native-install: Make sure the real start-stop-daemon script is not being overwritten by the temporary /bin/true replacement, by Robert Millan. (Closes: #319778) -- Michael Banck Sun, 7 Aug 2005 15:08:31 +0200 crosshurd (1.7.19) unstable; urgency=low * native-install/native-install: GNU/kFreeBSD updates by Robert Millan. (Closes: #317438) * native-install/native-install: Do not echo `Priority: Required' for each required package during install. * native-install/native-install: Run shadowconfig to make sure /etc/shadow is setup. * makehurddir.sh: Create an intial /etc/passwd with only the root account to silence warnings during native-install when setting up passive translators. (Closes: #281054) * native-install/native-install: Do not reboot after setting up passive translators on GNU/Hurd, just go on with package installation. -- Michael Banck Tue, 12 Jul 2005 23:48:33 +0200 crosshurd (1.7.18) unstable; urgency=low * makehurddir.sh: Make sure the gnumach package gets extracted. * makehurddir.sh: Cosmetic changes to status output formatting. -- Michael Banck Sun, 12 Jun 2005 23:17:36 +0200 crosshurd (1.7.17) unstable; urgency=low * makehurddir.sh: Only extract required packages. * makehurddir.sh: Activate /etc/hostname, /ets/hosts and /etc/resolv.conf setup. * native-install/native-install: Install core packages first, then Required packages. Configure them all, then install Base packages. * debian/control.in: Removed. * debian/control (Uploaders): Removed Robert Millan. * debian/rules (DEB_AUTO_UPDATE_DEBIAN_CONTROL): Removed. -- Michael Banck Sat, 11 Jun 2005 12:55:04 +0200 crosshurd (1.7.16) unstable; urgency=medium * native-install/native-install: Only copy inittab over if actually present. (Closes: #308391) -- Michael Banck Thu, 12 May 2005 00:59:57 +0200 crosshurd (1.7.15) unstable; urgency=low * packages/gnu: Added console-driver-xkb. -- Michael Banck Fri, 15 Apr 2005 23:22:00 +0200 crosshurd (1.7.14) unstable; urgency=low * native-install/native-install: Updated note on Hurd console startup. * debian/control.in: Clarify wording in long description. -- Michael Banck Thu, 14 Apr 2005 20:25:44 +0200 crosshurd (1.7.13) unstable; urgency=low * Reintroduce /usr->. symlink question, defaulting to a real /usr. -- Michael Banck Sun, 10 Apr 2005 14:49:29 +0200 crosshurd (1.7.12) unstable; urgency=low * native-install/native-install: Nuke hardcoded paths and totd hack. * packages/kfreebsd-gnu: Nuke totd and perl (its dependency). -- Robert Millan Tue, 22 Mar 2005 16:56:31 +0100 crosshurd (1.7.11) unstable; urgency=low * Use cdbs debian/control autogeneration. - Set DEB_AUTO_UPDATE_DEBIAN_CONTROL = yes. - Move control to control.in and add some tags. -- Robert Millan Thu, 3 Feb 2005 10:00:22 +0100 crosshurd (1.7.10) unstable; urgency=low * Only remount / as writable if it's known to be readonly. - native-install/native-install. * Remove /usr symlink hack (Guillem reported the system works without it). - crosshurd -- Robert Millan Wed, 2 Feb 2005 01:39:37 +0100 crosshurd (1.7.9) unstable; urgency=low * Non-maintainer upload with maintainer permission. * preferences: New file. Pin unreleased over unstable. * debian/install: Added preferences file. Do not use absolute paths. * debian/control: Bump Standards-Version to 3.6.1 (no changes needed). * README.gnu: Updated. Remove notes about fixed bugs. Minor indentation fixes. -- Guillem Jover Sat, 22 Jan 2005 14:41:52 +0100 crosshurd (1.7.8) unstable; urgency=low * packages/kfreebsd-gnu: Add procps and psmisc. * native-install/native-install: Add a /proc entry in fstab for systems that support it. -- Robert Millan Sun, 16 Jan 2005 07:29:24 +0100 crosshurd (1.7.7) unstable; urgency=low * packages/kfreebsd-gnu: s/perl-modules/perl/g. * native-install/native-install: Add some hacks to make it more user-friendly. -- Robert Millan Tue, 11 Jan 2005 21:36:39 +0100 crosshurd (1.7.6) unstable; urgency=low * native-install/native-install: Ensure / is writable on all systems not only GNU. * packages/kfreebsd-gnu: Nuke libpth2 and add perl-modules (needed by totd). -- Robert Millan Mon, 10 Jan 2005 00:01:39 +0100 crosshurd (1.7.5) unstable; urgency=low * crosshurd: Clarify wording. (Closes: #273239) * native-install/native-install: Point /hurd/crash symlink to crash-kill instead of crash-suspend. (Closes: #271783) -- Michael Banck Sun, 28 Nov 2004 01:07:10 +0100 crosshurd (1.7.4) unstable; urgency=low * debian/control (Uploaders): Added myself. * native-install/native-install: Updated note on Hurd console startup. * packages/common: Added grub. -- Michael Banck Sun, 28 Nov 2004 00:39:34 +0100 crosshurd (1.7.3) unstable; urgency=low * Work around Glibc resolver bug on kfreebsd-gnu. - packages/kfreebsd-gnu: Add totd. - native-install/native-install: Setup "::1" as nameserver in /etc/resolv.conf -- Robert Millan Thu, 23 Sep 2004 14:20:48 +0200 crosshurd (1.7.2) unstable; urgency=low * makehurddir.sh: s/setup_passive_translators/gnu_&/g. (Closes: #267641) -- Robert Millan Mon, 23 Aug 2004 21:05:06 +0200 crosshurd (1.7.1) unstable; urgency=low * native-install/native-install: Add a note about the console server for gnu. Thanks again Michael. (Closes: #266616) -- Robert Millan Wed, 18 Aug 2004 16:17:04 +0200 crosshurd (1.7.0) unstable; urgency=low * Use extended attributes when crossinstalling gnu from linux-gnu. Thanks Michael Banck. (Closes: #266499) - functions - makehurddir.sh -- Robert Millan Wed, 18 Aug 2004 04:03:34 +0200 crosshurd (1.6.9) unstable; urgency=low * Reverting the change. The interactive UI is not compatible with the debootstrap interface, so wrapping it doesn't work well. -- Robert Millan Mon, 9 Aug 2004 21:31:53 +0200 crosshurd (1.6.8) unstable; urgency=low * Add debootstrap-like wrapper. -- Robert Millan Mon, 9 Aug 2004 19:13:01 +0200 crosshurd (1.6.7) unstable; urgency=low * native-install/native-install (GNU/kFreeBSD): Hack fstab generation for installs from LiveCD (s/cd9660/ufs/g, etc). * packages/kfreebsd-gnu: Add kfreebsd-loader (so that kfreebsd5 can stop depending on it). -- Robert Millan Wed, 30 Jun 2004 17:23:02 +0200 crosshurd (1.6.6) unstable; urgency=low * native-install/native-install (GNU/kFreeBSD): In "route" call in auto-generated /etc/network/interfaces, redirect stdout to /dev/null. -- Robert Millan Tue, 29 Jun 2004 22:27:45 +0200 crosshurd (1.6.5) unstable; urgency=low * native-install/native-install (GNU/kFreeBSD): Fix syntax error (sigh) and generate /etc/hosts. -- Robert Millan Tue, 29 Jun 2004 20:31:18 +0200 crosshurd (1.6.4) unstable; urgency=low * native-install/native-install: For GNU/kFreeBSD, set TERM=cons25 and generate /etc/network/interfaces unconditionaly. -- Robert Millan Mon, 28 Jun 2004 17:09:35 +0200 crosshurd (1.6.3) unstable; urgency=low * makehurddir.sh: Fix generation of deb list. (Closes: #253889) -- Robert Millan Sun, 13 Jun 2004 17:19:00 +0200 crosshurd (1.6.2) unstable; urgency=low * native-install/native-install: Fix pflocal handling. Thanks to Guillem Jover and Michael Banck. (Closes: #251657) * functions: Use default values for /etc/{hostname,resolv.conf}. * makehurddir.sh: Extract all downloaded debs, not only the ones in package list. (Closes: #253533) -- Robert Millan Thu, 10 Jun 2004 17:00:45 +0200 crosshurd (1.6.0) unstable; urgency=low * The "i'm so lame" release. * native-install/native-install - Don't remove the debs after install!! What if something breaks after the .deb part?! Then you want to re-run the buttfucking script!!?!? Jeroen, please lart me about this. - Add the missing "fi" in line 175. (sigh) - Hack in a dummy start-stop-daemon so we don't end up with stale daemons after running the script. (Closes: #246691) -- Robert Millan Sun, 23 May 2004 18:47:24 +0200 crosshurd (1.5.9) unstable; urgency=low * packages/kfreebsd-gnu: Enable kfreebsd5. * native-install/native-install: Remove route disabling command for GNU/kFreeBSD's hacked /etc/network/interfaces. -- Robert Millan Sat, 22 May 2004 20:57:28 +0200 crosshurd (1.5.8) unstable; urgency=low * native-install/native-install (GNU/kFreeBSD): Generate /etc/network/interfaces with gateway hooks instead of /root/setup_gateway. * packages/kfreebsd-gnu: Add ufsutils. -- Robert Millan Fri, 30 Apr 2004 20:13:50 +0200 crosshurd (1.5.7) unstable; urgency=low * Misc GNU fixes. (part of #246691) - native-install/native-install: Pass -k to settrans on /servers/socket/1. - native-install/native-install: Copy {passwd,group}.master into /etc. - packages/gnu: Nuke gcc-*-base (already in packages/common). -- Robert Millan Fri, 30 Apr 2004 16:28:13 +0200 crosshurd (1.5.6) unstable; urgency=low * Fix handling of /dev on GNU/kFreeBSD. -- Robert Millan Thu, 29 Apr 2004 20:54:04 +0200 crosshurd (1.5.5) unstable; urgency=low * native-install/native-install: Reestructuring and cleanification work. Most notably: - On GNU/kFreeBSD, mount /dev if it wasn't already. - Remove .deb files in apt's cache after installing them. -- Robert Millan Wed, 31 Mar 2004 23:45:46 +0200 crosshurd (1.5.4) unstable; urgency=low * sources.list/kfreebsd-gnu: Remove evil-hacks line. * Make Marcus happy. (Closes: #235999) - packages/*: Move sysv-rc away from common. - native-install/native-install: Set TERM=mach on GNU. * README: Clarify how this doc is specific to GNU/Hurd and rename to README.gnu. (Closes: #229469) - debian/docs: Do the obvious. * native-install/native-install: Re-write Debian setup section. It now fully configures packages and creates /etc/passwd and friends. (Closes: #217626) * Misc GNU/k*BSD fixes. - native-install/native-install: Do stuff. - packages/kfreebsd-gnu: Do more stuff. -- Robert Millan Fri, 26 Mar 2004 22:33:30 +0100 crosshurd (1.5.3) unstable; urgency=low * sources.list/kfreebsd-gnu: s/khazad/evil-hacks/g * packages/kfreebsd-gnu: Nuked libc1 and zlib1g-dev. -- Robert Millan Mon, 2 Feb 2004 21:12:41 +0100 crosshurd (1.5.2) unstable; urgency=low * crosshurd: Improved user-friendship in type input. * debian/control: Rewrite description. -- Robert Millan Sat, 10 Jan 2004 09:48:23 +0100 crosshurd (1.5.1) unstable; urgency=low * native-install/native-install: Fix GNU/Hurd bug. Thanks David D. Smith (Closes: #222914) -- Robert Millan Wed, 7 Jan 2004 21:37:31 +0100 crosshurd (1.5) unstable; urgency=low * Ported to GNU/Linux (what the heck). - native-install/native-install: Misc GNU/Linux setup (/dev, /proc, /etc/fstab, etc). - packages/linux: New. - sources.list/linux: New. * native-install/native-install (fstab): Handle swap. * packages/common: Add dialog. -- Robert Millan Sat, 1 Nov 2003 20:26:33 +0100 crosshurd (1.4.4) unstable; urgency=low * native-install/native-install (setup_net): Leave only gateway stuff, since the rest is now handled by sysvinit. Rename to "setup_gateway". -- Robert Millan Sat, 1 Nov 2003 19:17:39 +0100 crosshurd (1.4.3) unstable; urgency=low * sources.list/kfreebsd-gnu: Update khazad line. -- Robert Millan Sat, 1 Nov 2003 18:26:09 +0100 crosshurd (1.4.2) unstable; urgency=low * Fixes in dpkg-architecture handling. - makehurddir.sh: Move dpkg-architecture calls to .. - functions: .. here. - functions: Don't forward dpkg-architecture error output to /dev/null. * GNU/KFreeBSD stuff. - sources.list/kfreebsd-gnu: Add line for old packages (khazad directory). - native-install/native-install: Set links to /libfbsd to workaround bug in freebsd-libc5 package. -- Robert Millan Sat, 1 Nov 2003 13:20:46 +0100 crosshurd (1.4.1) unstable; urgency=low * Enable shadow passwords (at last!). - native-install/native-install: Issue "dpkg-reconfigure passwd". * More GNU/KFreeBSD fixes. - packages/kfreebsd-gnu: Add login. - native-install/native-install: Create /root/setup_net for network setup. - crosshurd: Commented out lost+found check. It's ext2fs-specific and impractical to build tarballs anyway. * Ported to GNU/KNetBSD. - packages/knetbsd-gnu: New. With libc1 only (Not self-hosting yet). - sources.list/knetbsd-gnu: New. Copied from sources.list/kfreebsd-gnu. -- Robert Millan Fri, 31 Oct 2003 20:58:35 +0100 crosshurd (1.4) unstable; urgency=low * Ported to GNU/KFreeBSD (misc changes). * functions (apt_fetch_deb): Pass -y to apt-get, for unattended install. -- Robert Millan Wed, 29 Oct 2003 19:48:25 +0100 crosshurd (1.3.3) unstable; urgency=low * debian/control (Uploaders): Add myself. * native-install: Move into.. * native-install/native-install: ..here. Move changelog into.. * native-install/ChangeLog.old: ..here. * native-install/native-install: s/mawk/gawk/g (Fix install-time failure) -- Robert Millan Wed, 22 Oct 2003 22:06:40 +0200 crosshurd (1.3.2) unstable; urgency=low * NMU * sources.list: "s/unstable/unreleased/g" for ftp.gnuab.org * packages: Actualy remove mawk. (Really closes: #200652) -- Robert Millan Mon, 20 Oct 2003 02:27:04 +0200 crosshurd (1.3.1) unstable; urgency=low * NMU (with maintainer's permission). * packages: Fix inetutils names. (Closes: #203086) * packages: Add util-linux/bsdutils, remove mawk. (Closes: #200652) * sources.list: Replace alpha.gnu.org with ftp.gnuab.org. (Closes: #207387) * makehurddir.sh: Allow comments (#) in package list. (Closes: #215567) * makehurddir.sh: Set /libexec/runsystem (from Marcus' cross-hurd). -- Robert Millan Mon, 13 Oct 2003 23:17:33 +0000 crosshurd (1.3) unstable; urgency=low The "Happy Canada Day!" release. * Use http://alpha.gnu.org instead of ftp://alpha.gnu.org in the sources.list. This works around an apt bug. * Read package list from /etc/crosshurd/packages -- Jeff Bailey Tue, 1 Jul 2003 09:54:28 -0400 crosshurd (1.2) unstable; urgency=low The "Read what the bug report says, Jeff." release. * 194968 didn't say to build-dep on dpkg-dev. It says to depend on it. *Sigh* -- Jeff Bailey Wed, 11 Jun 2003 21:57:02 -0400 crosshurd (1.1) unstable; urgency=low The "I don't know what scares me more. That people are using this, or that people I have never heard of are using this..." release. * Switch to cdbs * Add build-dep on dpkg-dev (Closes: #194968) * README: Refer to Neal Walfield's installation guide (Closes: #195324) (Thanks to Petri Koistinen ) * Use /etc/crosshurd/preferences, not /etc/apt/preferences. (Thanks to Serge Wroclawski ) -- Jeff Bailey Wed, 11 Jun 2003 21:26:17 -0400 crosshurd (1.0) unstable; urgency=low * First upload to Debian. (Closes: #192560) * Add gcc-3.3-base * Fail install if can't get packages files. -- Jeff Bailey Fri, 9 May 2003 16:59:09 -0400 crosshurd (0.99.3) unstable; urgency=low * Make it a native package. * Fail if apt_fetch_debs fails. (Thanks to Michael Banks) -- Jeff Bailey Tue, 6 May 2003 18:11:14 -0400 crosshurd (0.99.2-1) unstable; urgency=low * Quote all uses of the directory name, in case they have spaces. (Thanks to James Morrison) -- Jeff Bailey Tue, 6 May 2003 18:11:14 -0400 crosshurd (0.99.1-1) unstable; urgency=low * Make sure native-install actually gets installed. * Clean up sources.list * Add THANKS file * Add notes about current errors that may pop up in README * Add man page (Thanks to Jeroen Dekkers) -- Jeff Bailey Tue, 6 May 2003 16:24:50 -0400 crosshurd (0.99.0-1) unstable; urgency=low * Initial Release. -- Jeff Bailey Tue, 6 May 2003 13:40:04 -0400 crosshurd-1.7.51/debian/manpages0000644000000000000000000000001411320217205013433 0ustar crosshurd.1 crosshurd-1.7.51/debian/dirs0000644000000000000000000000005611320217205012607 0ustar /usr/sbin /usr/share/crosshurd /etc/crosshurd crosshurd-1.7.51/debian/compat0000644000000000000000000000000212636335617013143 0ustar 9 crosshurd-1.7.51/debian/control0000644000000000000000000000112012636335611013334 0ustar Source: crosshurd Section: misc Priority: extra Maintainer: GNU Hurd Maintainers Uploaders: Michael Banck , Samuel Thibault Build-Depends: debhelper (>= 9) Standards-Version: 3.9.1 Package: crosshurd Architecture: all Depends: ${misc:Depends}, dialog, dpkg-dev Recommends: attr Description: Install a Debian system crosshurd uses apt and a bit of black magic to setup a functional Debian system. It supports the following target systems: - linux-gnu (GNU/Linux) - gnu (GNU/Hurd) - kfreebsd-gnu (GNU/kFreeBSD) crosshurd-1.7.51/debian/copyright0000644000000000000000000000266211320217205013663 0ustar This package was debianized by Jeff Bailey on Tue, 6 May 2003 13:40:04 -0400. This debian package is the primary source. Upstream Author: Jeff Bailey Copyright: dpkg-hurd has the following copyright statement: # Copyright (c) 1998 - This script is hereby placed in the public domain # by Marcus Brinkmann. native-install is the following copyright statement: # Copyright (c) 1998, 1999, 2000, 2002 by Marcus Brinkmann. # Licensed under the GNU GPLv2 or later. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. The functions file was largely ripped out of debootstrap, which has the following copyright statement: Copyright (c) 2001 Anthony Towns Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Everything else was written by me, Jeff Bailey, and I hereby place it in the public domain. crosshurd-1.7.51/debian/rules0000755000000000000000000000003612636335721013020 0ustar #!/usr/bin/make -f %: dh $@ crosshurd-1.7.51/debian/docs0000644000000000000000000000002711320217205012574 0ustar README.gnu TODO THANKS crosshurd-1.7.51/debian/install0000644000000000000000000000041211531614231013314 0ustar sources.list/* etc/crosshurd/sources.list packages/* etc/crosshurd/packages preferences etc/crosshurd functions usr/share/crosshurd native-install/native-install usr/share/crosshurd dpkg-hurd usr/share/crosshurd makehurddir.sh usr/share/crosshurd crosshurd usr/sbin crosshurd-1.7.51/native-install/0000755000000000000000000000000012372226727013453 5ustar crosshurd-1.7.51/native-install/native-install0000755000000000000000000002156112372226727016340 0ustar #!/bin/bash # # Copyright (c) 1998, 1999, 2000, 2002 by Marcus Brinkmann. # Copyright (c) 2003, 2004, 2005 by Robert Millan. # Licensed under the GNU GPLv2 or later. # # Parts of this script was taken from the SETUP script in Hurd CVS. export \ PATH="/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games" # Make sure the filesystem is writeable echo Checking if your filesystem is really writeable.. case $OSTYPE in "") echo failed to identify system ; exit 1 ;; gnu) if which fsysopts >/dev/null ; then fsysopts / --writable ; fi ;; linux-gnu) if which mount >/dev/null ; then mount -o rw,remount / ; fi ;; *) if which mount >/dev/null ; then mount -o rw / ; fi ;; esac set -e # This must come before evaluating `uname -s` because, on GNU, # without the pflocal server set as a translator on # /servers/socket/1, pipes cannot be created. if ! test -e /servers/socket/1 && which settrans >/dev/null ; then settrans -c /servers/socket/1 /hurd/pflocal fi system=`uname -s` parent_term="$TERM" case "${system}" in GNU) if [ "$TERM" = "dumb" ] ; then export TERM=mach fi if [ -d /proc ] ; then echo Existing system found, exitting. exit 1 fi if [ ! -e /dev/console ] ; then # Set up standard passive translators echo echo Now I set up the translators. If you get Operation not supported echo errors, you have forgotten to set the file system owner to '"hurd"'! settrans -k /servers/socket/1 /hurd/pflocal settrans -c /servers/socket/2 /hurd/pfinet settrans -k /servers/exec /hurd/exec settrans -c /servers/crash-suspend /hurd/crash --suspend settrans -c /servers/crash-kill /hurd/crash --kill settrans -c /servers/password /hurd/password settrans -c /servers/default-pager /hurd/proxy-defpager chmod +x /servers/default-pager # Not functional yet: settrans -c /servers/crash-dump-core /hurd/crash --dump-core if [ ! -e /servers/crash ] ; then ln -s crash-kill /servers/crash fi if [ ! -e /servers/socket/local ] ; then ln -s 1 /servers/socket/local fi if [ ! -e /servers/socket/inet ] ; then ln -s 2 /servers/socket/inet fi # We need /dev/fd to call scripts. cd /dev bash ./MAKEDEV -v fd # Setup crucial devices. echo echo The next job is to setup device files. cd /dev bash ./MAKEDEV -v std ptyp ptyq com0 bash ./MAKEDEV vcs tty1 tty2 tty3 tty4 tty5 tty6 # Not crucial, but will not hurt either. bash ./MAKEDEV hd0 fi # Make sure that the runsystem stuff will work if [ -e /libexec/runsystem.gnu -a -e /libexec/runsystem ] ; then echo Removing /libexec/runsystem again, so the Hurd package can echo take care about it. rm /libexec/runsystem fi ;; Linux) mount -t proc proc /proc test -e /etc/mtab || ln -s /proc/mounts /etc/mtab cd /dev && MAKEDEV std generic ;; *FreeBSD) if test -e /dev/null && test ! -c /dev/null ; then echo "/dev/null exists but is not a character device, removing it" rm -f /dev/null fi case `uname -r` in 4.*) echo Copy device files into /dev before running $0 exit ;; *) mount -t devfs null /dev ;; esac if [ "$TERM" = "dumb" ] ; then export TERM=cons25 fi ;; esac # Debian set up. echo echo Configuring Debian packages. # Avoid username resolving errors cp /usr/share/base-passwd/passwd.master /etc/passwd cp /usr/share/base-passwd/group.master /etc/group # Make sure /etc/shadow is available /sbin/shadowconfig on debs=`for i in /var/cache/apt/archives/*.deb ; do case $i in /var/cache/apt/archives/dpkg_*.deb) ;; *) echo $i ;; esac ; done` ssd=`which start-stop-daemon || echo /sbin/start-stop-daemon` # install dpkg and libc dpkg --force-depends -i /var/cache/apt/archives/gawk_*.deb dpkg --force-depends -i /var/cache/apt/archives/base-{files,passwd}_*.deb dpkg --force-depends -i /var/cache/apt/archives/dpkg_*.deb if ! test -e ${ssd}.real ; then mv ${ssd}{,.real} ; fi cp /bin/true $ssd dpkg --force-depends -i /var/cache/apt/archives/libc[0-9]*.deb dpkg --force-depends -i /var/cache/apt/archives/perl-base_*.deb dpkg --force-depends -i /var/cache/apt/archives/debconf_*.deb # reinstall hurd package, if applicable if [ -e /var/cache/apt/archives/hurd_*.deb ] ; then dpkg --force-depends -i /var/cache/apt/archives/adduser_*.deb dpkg --force-depends -i /var/cache/apt/archives/hurd_*.deb fi # install required packages for i in /var/cache/apt/archives/*.deb ; do dpkg-deb --field $i Priority | grep ^required > /dev/null \ && dpkg --force-depends --skip-same-version --unpack $i done dpkg --force-depends --skip-same-version --unpack /var/cache/apt/archives/insserv_*.deb dpkg --configure --pending --force-configure-any --force-depends if ! test -e ${ssd}.real ; then mv ${ssd}{,.real} ; fi cp /bin/true $ssd # install base packages for i in /var/cache/apt/archives/*.deb ; do dpkg --force-overwrite --force-confold \ --skip-same-version --unpack $i done dpkg --force-confold --skip-same-version --configure -a mv $ssd{.real,} # post-install configuration # some boot tarballs have a hacked inittab, let's restore it. if [ -e /usr/share/sysvinit/inittab ] ; then cp /usr/share/sysvinit/inittab /etc/inittab fi case "${system}" in GNU) echo I just make sure that /libexec/runsystem is properly updated. if [ ! -e /libexec/runsystem -a -e /libexec/runsystem.gnu ] ; then echo WHOA! We\'re in deep trouble. The Hurd package did not update echo the link in /libexec/runsystem. For now, I am making a link echo manually, but please report this. ln -s runsystem.gnu /libexec/runsystem fi # fstab stuff fstype=`fsysopts / | perl -ne 'm!^.*/hurd/(.*?)\.static.*?([^\s]+)\s*?$!; print $1;'` rootpart=`fsysopts / | perl -ne 'm!^.*/hurd/(.*?)\.static.*?([^\s]+)\s*?$!; print $2;' | sed -e "s/^device\://"` if [ ! -e /dev/${rootpart} ] ; then cd /dev bash ./MAKEDEV ${rootpart} || true fi if [ x${fstype} = xext2fs ] ; then fstype=ext2 fi fstype_dummy="ext2" rootpart_dummy="hd0s2" swappart_dummy="hd0s1" #proc=`ps ax | grep hurd/term | grep dev/console | sed -e 's/[a-z ]*\([0-9]*\) .*/\1/'` #if [ ! -z $proc ] ; then # echo # echo Found dangling console server, which will suck up # echo every second character you type. That is a bug, and # echo I will kill this process for you. # kill $proc #fi procfs="none" ;; *FreeBSD) cat > /etc/network/interfaces << __EOF__ # Sample /etc/network/interfaces file for GNU/kFreeBSD auto lo0 iface lo0 inet loopback # DHCP network (replace ed0 with your interface, if different) #auto ed0 #iface ed0 inet dhcp # Static network (replace ed0 with your interface, if different) #auto ed0 #iface ed0 inet static # address 192.168.0.3 # network 192.168.0.0 # netmask 255.255.255.0 # gateway 192.168.0.1 __EOF__ # fstab stuff fstype="`mount | grep ' on / ' | cut -d '(' -f 2 | cut -d ',' -f 1`" rootpart="`mount | grep ' on / ' | cut -d / -f 3 | cut -d ' ' -f 1`" fstype_dummy="ufs" rootpart_dummy="ad0s1a" swappart_dummy="ad0s1b" # hack for installs from livecd case "$fstype:$rootpart" in cd9660:*|*:/dev/acd*) fstype="$fstype_dummy" rootpart="$rootpart_dummy" ;; esac procfs="linprocfs" ;; Linux) umount /proc # fstab stuff fstype="`mount | grep ' on / ' | cut -d ' ' -f 5`" rootpart="`mount | grep ' on / ' | cut -d / -f 3 | cut -d ' ' -f 1`" fstype_dummy="ext2" swappart_dummy="hda2" rootpart_dummy="hda1" procfs="proc" ;; esac fstab_dummy="\ #/dev/${rootpart_dummy} / ${fstype_dummy} rw 1 1 #/dev/${swappart_dummy} none swap sw 0 0 " fstab_good="\ /dev/${rootpart} / ${fstype} rw 1 1 #/dev/${swappart_dummy} none swap sw 0 0 " cat > /etc/fstab << __EOF__ # /etc/fstab: static file system information # # __EOF__ if [ ! -e /dev/${rootpart} ] ; then echo Couldn\'t determine root partition, sorry. echo You have to edit /etc/fstab to match your system. echo However, for your convenience, I will install a dummy entry. echo "$fstab_dummy" >> /etc/fstab else echo Your root partition is /dev/${rootpart}. echo Your file system type is ${fstype}. echo If this information is not correct, you need to edit /etc/fstab. echo "$fstab_good" >> /etc/fstab fi if [ "${procfs}" != "none" ] ; then echo "null /proc ${procfs} rw 0 0" >> /etc/fstab fi echo echo "If you have a swap partition, please add it to /etc/fstab." echo echo "Available editors are:" which nano vi zile emacs || true echo case "${system}:$parent_term" in GNU:*) echo 'You should reboot now, and enter multi-user mode. Note that' echo 'you will have to activate the Hurd console manually currently.' echo 'To do this, run' echo ' console -d vga -d pc_kbd --repeat=kbd -d pc_mouse --repeat=mouse \' echo ' -d generic_speaker -c /dev/vcs' echo 'as root after you have logged in.' ;; *FreeBSD:dumb) echo "Looks like you are using a dumb terminal. In order to get a fully" echo "functional one, you need to run \"export TERM=cons25\"." ;; esac sync crosshurd-1.7.51/native-install/ChangeLog.old0000644000000000000000000000667411320217561016003 0ustar # 1 Jan 1999 - v0.0 # Original created by Marcus Brinkmann. # 14 Jan 1999 - v0.1 Matthew Vernon # Edited to deal with the removal of the /usr -> / symlink # This should work with or without the symlink # 17 Feb 1999 - v1.0 Marcus Brinkmann # Create /etc/fstab. # 27 Apr 1999 - v1.1 Marcus Brinkmann # Make it work with latest packages, libc needs awk configured. # 5 Mar 1999 - v1.2 Marcus Brinkmann # We need /dev/fd early for calling #! scripts outside of our PATH. # 13 May 1999 - v1.3 # Add -v option to MAKEDEV, so we can watch progress. # 17 May 1999 - v1.4 # Shuffle around the order of initial commands. Esp, copy # the password file before invoking MAKEDEV fd, before # calling dpkg first time. # Also, insert special calls to dpkg for missing dependencies. # 27 May 1999 - v1.5 # Explain how to reboot. # 1 Jun 1999 - v2.0 # Next generation. We create three crash servers and link to the # default. Requires hurd-19990529 at least. # Make pfinet point to dummy interface, so localhost works. Does only # work with Marks patch to GNU Mach. # 22 Jun 1999 - v2.1 # Set passive translator for /servers/exec, it doesn't harm and will # be useful for people who boot a Hurd inside a file system. # Add force-depends to dpkg. The perl situation requires this for # dpkg and adduser. # Fix tmp permission. Why is it bogus? # 7 Sep 1999 - v2.2 # Set passive translator for /servers/password. # Don't configure mawk or passwd early. # Don't make use of dummy interface. # Remove libexec/runsystem before configuring hurd. # 16 Oct 1999 - v2.3 # Set up local network only. # 1 Mar 2000 - v2.4 # Various updates. # 2 May 2000 - v2.5 # Make translator links hard. # 1 Aug 2000 - v2.6 # Going back to symbolic links for now; pfinet makes trouble. # Configure mawk, base-passwd, base-files, libdb2 before all others. # One run is enough now. Remove --force-depends. # Don't attempt to remove /var/mail. # Don't fix /tmp, it's okay. # [Kill sucking console process if it exists.] Commented out. # 6 Mar 2001 -v 2.7 # Add force depends to libc0.2 configuration because of "hurd". # Add force depends to dpkg configuration because of "sysvinit". # 23 May 2002 -v 3.0 # libc0.2 -> libc0.3 # Patch to recognize new boot method fspart and fstype by # ams@kemisten.nu (Alfred M. Szmidt) # 15 Aug 2002 -v 3.1 # Install default pager. # 06 May 2003 -v 3.2 jbailey@gnu.org (Jeff Bailey) # Fail if /proc exists - This protects against it eating a GNU/Linux # system by accident. # Add a path and export it - The path may not currently be set. # Do not touch the /etc/passwd and /etc/group files. They will # get setup by dpkg # Do not try to configure libc0.3 and bsdutils on the first pass, # they don't exist yet. # Remove original configuration bits and replacement with the # sequence that debootstrap uses: # base-passwd, basefiles, mawk, dselect, dpkg, sysv-rc then # libc0.3, hurd, and libncursesw5. Follow that by doing all the # packages again for the install, configure and another install round. crosshurd-1.7.51/makehurddir.sh0000755000000000000000000001211012724263411013342 0ustar #!/bin/bash if test "$#" != "3" ; then echo Usage: `basename $0` TARGET DEB_TARGET_GNU_CPU DEB_TARGET_GNU_SYSTEM exit 1 fi STARTDIR=`pwd` TARGET=`readlink -f $1` DEB_TARGET_GNU_CPU=$2 DEB_TARGET_GNU_SYSTEM=$3 if [ x"$TARGET" = x ]; then echo "Refused to overwrite inexistent/empty TARGET." exit 1 fi . /usr/share/crosshurd/functions debs=`cat /etc/crosshurd/packages/{common,$DEB_TARGET_GNU_SYSTEM} | grep -v '^#'` target_setup setup_etc apt_setup if [ $retval != 0 ]; then echo "Failed to download the Packages files." exit 1 fi apt_fetch_deb $debs if [ $retval != 0 ]; then echo "Failed to download the .deb's." exit 1 fi extract `(cd $TARGET/var/cache/apt/archives && \ for i in *.deb; do dpkg-deb --field $i Priority | grep ^required \ && echo $i; done) | cut -d _ -f 1` if [ -e $TARGET/var/cache/apt/archives/gnumach-image-1.7-486_* ] ; then extract gnumach-image-1.7-486 # place symlink for compatibility with update-grub (/etc/grub.d/30_os-prober) ln -s gnumach-1.7-486.gz "$TARGET/boot/gnumach.gz" fi if [ -e $TARGET/var/cache/apt/archives/libbz2-1.0_* ] ; then extract libbz2-1.0 fi if [ -e $TARGET/var/cache/apt/archives/libparted2_* ] ; then extract libparted2 fi x_feign_install dpkg if [ "$DEB_TARGET_GNU_SYSTEM" = "gnu" ] ; then x_feign_install hurd ############################## # Prepare initial translator. ############################## # FIXME: Should be done in the Hurd preinst. install -d -m 755 -o root -g root $TARGET/servers/socket touch $TARGET/servers/exec ##################################### # Make sure libexec/runsystem exists ##################################### # Explanation: It is managed by update-alternatives. # if [ ! -e $TARGET/libexec/runsystem -a -e $TARGET/libexec/runsystem.gnu ] ; then cp $TARGET/libexec/runsystem.gnu $TARGET/libexec/runsystem fi ##################################### # create passive translators if the # host system is able to ##################################### gnu_setup_passive_translators fi cp /usr/share/crosshurd/native-install $TARGET ################## # Setup intial /etc/passwd ################## echo "root:x:0:0:root:/root:/bin/bash" > $TARGET/etc/passwd ################## # Setup hostname ################## echo "I: Preparing /etc/hostname using `hostname`..." echo `hostname` > $TARGET/etc/hostname ################### # Setup /etc/hosts ################### echo "I: Preparing /etc/hosts..." echo "127.0.0.1 localhost `hostname`" > $TARGET/etc/hosts ######################### # Setup /etc/resolv.conf ######################### echo "I: Preparing /etc/resolv.conf..." if [ -e /etc/resolv.conf ] ; then echo Copying this machine\'s resolv.conf to the new partition. echo If this is not correct, please edit. cp /etc/resolv.conf $TARGET/etc/resolv.conf else echo Setting up bogus file, PLEASE EDIT. echo "domain ${domainname}" > $TARGET/etc/resolv.conf echo "search localnet" >> $TARGET/etc/resolv.conf echo "nameserver WWW.XXX.YYY.ZZZ" >> $TARGET/etc/resolv.conf fi # more possibly interesting hooks from Marcus' cross-hurd follow # we don't use them for now. exit 0 ##################################### # Make sure boot/servers.boot exists ##################################### # Explanation: It is a conf file in some versions of Hurd. echo echo "Latest Hurd packages declare boot/servers.boot as a conffile, let me check." if [ -e ${dest}/boot/servers.boot.dpkg-new ] ; then echo "Yes, found it. I will copy boot/servers.boot.dpkg-new to boot/servers.boot" cp ${dest}/boot/servers.boot.dpkg-new ${dest}/boot/servers.boot else echo "Nope, not your version. Please make sure that you check boot/servers.boot after" echo "your next update of the hurd package, because your changes will be overriden." fi ######################### # Make sure sh exists ######################### # Explanation: Thorsten did a strange bash NMU. if [ ! -e ${dest}/bin/sh ] ; then echo "Creating symlink /bin/sh." ln -s bash ${dest}/bin/sh fi ############################ # Move perl in proper place ############################ # Explanation: Latest glibc package needs perl (and awk) to configure! if [ ! -e ${dest}/usr/bin/perl ] ; then if [ -e ${dest}/usr/bin/perl.dist ] ; then echo echo "Moving perl into place." mv ${dest}/usr/bin/perl.dist ${dest}/usr/bin/perl else if [ -e ${dest}/usr/bin/perl-5.005.dist ] ; then echo echo "Found versioned perl." # We only copy it here so the postinst does the right thing. # A mv or ln won't work! cp ${dest}/usr/bin/perl-5.005.dist ${dest}/usr/bin/perl else echo echo "Warning, I could not find perl!" fi fi fi ######################################################## # make some essential directories for configure of dpkg ######################################################## # FIX: In sysvutils, together with split-init if [ ! -e ${dest}/etc/rc0.d ] ; then echo echo "Making etc/rc?.d directories for dpkg." for nr in 0 1 2 3 4 5 6 S do install -d -m 755 -o root -g root ${dest}/etc/rc${nr}.d done install -d -m 755 -o root -g root ${dest}/etc/rc.boot fi crosshurd-1.7.51/crosshurd.10000644000000000000000000000075711320217561012614 0ustar .TH crosshurd 1 "06 May 2003" .SH NAME crosshurd \- Cross-install a Debian GNU/Hurd system .SH SYNOPSIS .B crosshurd .SH DESCRIPTION .B crosshurd Sets up a functioning Debian GNU/Hurd system on another partition by using apt to fetch the packages. .SH FILES .I /etc/crosshurd/source.list .RS The sources.list to use for fetching the .deb files. .SH BUGS See the Debian BTS at http://bugs.debian.org/ .SH AUTHOR Jeff Bailey .SH "SEE ALSO" .BR apt-get (8) .BR sources.list (5) crosshurd-1.7.51/functions0000644000000000000000000001406012721160273012444 0ustar case $DEB_TARGET_GNU_SYSTEM in linux-gnu) DEB_TARGET_GNU_TYPE="$DEB_TARGET_GNU_CPU-linux" ;; *) DEB_TARGET_GNU_TYPE="$DEB_TARGET_GNU_CPU-$DEB_TARGET_GNU_SYSTEM" ;; esac DEB_TARGET_ARCH=`dpkg-architecture -t$DEB_TARGET_GNU_TYPE -qDEB_HOST_ARCH` apt_options="--option Dir::Etc::SourceList=/etc/crosshurd/sources.list/$DEB_TARGET_GNU_SYSTEM --option Dir::State::Lists=$TARGET/var/cache/apt/lists --option Debug::Nolocking=true --option APT::Architecture=$DEB_TARGET_ARCH --option APT::Architectures=$DEB_TARGET_ARCH --option Dir::Cache::archives=$TARGET/var/cache/apt/archives --option APT::Get::Force-Yes=true --option APT::Get::Download-Only=true --option Dir::State::status=$TARGET/var/lib/dpkg/status --option Dir::Etc::Preferences=/etc/crosshurd/preferences --option debug::pkgproblemresolver=1 --option Dir::Etc::Sourceparts=/nonexistant" DEBFOR=apt_debfor target_setup () { mkdir -p $TARGET/var/lib/dpkg : >"$TARGET/var/lib/dpkg/status" : >"$TARGET/var/lib/dpkg/available" mkdir -p "$TARGET/var/cache/apt/lists/partial" mkdir -p "$TARGET/var/cache/apt/archives/partial" rm "$TARGET/var/lib/dpkg/status" touch "$TARGET/var/lib/dpkg/status" } apt_setup () { apt-get $apt_options update retval=$? sync } apt_fetch_deb () { apt-get $apt_options --download-only -y install $@ retval=$? sync } extract () { ( cd "$TARGET" local p=0 for pkg in $(debfor "$@"); do p="$(($p + 1))" progress "$p" "$#" "Extracting packages" info "Extracting $pkg..." dpkg-deb --extract ./$pkg . done sync ); } debfor () { "$DEBFOR" "$@" } apt_debfor () { for p in "$@"; do ( cd "$TARGET/var/cache/apt/archives" local chk=0 for x in ${p}_*_*.deb; do if [ -e "$x" ]; then echo "/var/cache/apt/archives/$x" chk=1 fi done if [ "$chk" = 0 ]; then return 1; fi ); done } x_feign_install () { local pkg="$1" local deb="$(debfor $pkg)" local ver="$(dpkg-deb --field "$TARGET/$deb" Version)" mkdir -p "$TARGET/var/lib/dpkg/info" echo \ "Package: $pkg Version: $ver Status: install ok installed " >> "$TARGET/var/lib/dpkg/status" touch "$TARGET/var/lib/dpkg/info/${pkg}.list" } progress () { if [ "$USE_BOOTFLOPPIES_INTERACTION" ]; then PROGRESS_NOW="$1" PROGRESS_END="$2" PROGRESS_WHAT="$3" PROGRESS_NEXT="" echo "P: $1 $2 $3" >&3 fi } info () { if [ "$USE_BOOTFLOPPIES_INTERACTION" ]; then echo "I: $1" >&3 else echo "I: $1" fi } setup_etc () { mkdir -p "$TARGET/etc" echo 'nameserver 127.0.0.1' > $TARGET/etc/resolv.conf echo debian > $TARGET/etc/hostname mkdir -p "$TARGET/etc/apt/" #FIXME This shouldn't overwrite an existing sources.list #but conditional_cp doesn't handle the change of pathname cp /etc/crosshurd/sources.list/$DEB_TARGET_GNU_SYSTEM "$TARGET/etc/apt/sources.list" } conditional_cp () { if [ ! -e "$2/$1" -a -e "$1" ]; then cp -a "$1" "$2/$1"; fi } x_core_install () { for pkg in $@; do smallyes '' | (cd "$TARGET" && /usr/share/crosshurd/dpkg-hurd --unpack "$TARGET"/$(debfor "$pkg")) done } smallyes() { YES="${1-y}" while echo "$YES" ; do : ; done } gnu_set_server () { SERVER=$1 OWNER=$2 PERMS=$3 VALUE=$4 cd $TARGET/servers if [ ! -e $SERVER ] ; then touch $SERVER chown $OWNER:$OWNER $SERVER chmod $PERMS $SERVER setfattr -n gnu.translator -v "$VALUE" $SERVER fi } gnu_set_dev () { DEV_NODE=$1 OWNER=$2 PERMS=$3 VALUE=$4 cd $TARGET/dev if [ ! -e $DEV_NODE ] ; then touch $DEV_NODE chown $OWNER:$OWNER $DEV_NODE chmod $PERMS $DEV_NODE setfattr -n gnu.translator -v "$VALUE" $DEV_NODE if [ $DEV_NODE = "fd" ] ; then ln -f -s fd/0 stdin ln -f -s fd/1 stdout ln -f -s fd/2 stderr fi fi } gnu_setup_passive_translators () { if [ ! -e $TARGET/servers/exec ] ; then return 2 else setfattr -n gnu.translator -v "/hurd/exec\0" $TARGET/servers/exec 2> /dev/null || return 1 fi info "Setting up passive translators..." gnu_set_server socket/1 root 666 "/hurd/pflocal\0" gnu_set_server socket/2 root 666 "/hurd/pfinet\0" gnu_set_server crash-suspend root 666 "/hurd/crash\0--suspend\0" gnu_set_server crash-dump-core root 666 "/hurd/crash\0--dump-core\0" gnu_set_server crash-kill root 666 "/hurd/crash\0--kill\0" gnu_set_server password root 666 "/hurd/password\0" gnu_set_server default-pager root 666 "/hurd/proxy-defpager\0" if [ ! -e $TARGET/servers/crash ] ; then ln -s crash-suspend $TARGET/servers/crash fi if [ ! -e $TARGET/servers/socket/local ] ; then ln -s 1 $TARGET/servers/socket/local fi if [ ! -e $TARGET/servers/socket/inet ] ; then ln -s 2 $TARGET/servers/socket/inet fi gnu_set_dev fd root 666 "/hurd/magic\0--directory\0fd\0" gnu_set_dev console root 600 "/hurd/term\0/dev/console\0device\0console\0" gnu_set_dev tty root 666 "/hurd/magic\0tty\0" gnu_set_dev null root 666 "/hurd/null\0" gnu_set_dev zero root 666 "/hurd/storeio\0-Tzero\0" gnu_set_dev full root 666 "/hurd/null\0--full\0" gnu_set_dev time root 644 "/hurd/storeio\0--no-cache\0time\0" gnu_set_dev mem root 660 "/hurd/storeio\0--no-cache\0mem\0" gnu_set_dev klog root 660 "/hurd/streamio\0kmsg\0" gnu_set_dev shm root 644 "/hurd/tmpfs\0--mode=1777\00050%\0" for J in 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v; do gnu_set_dev ptyp$J root 666 "/hurd/term\0/dev/ptyp$J\0pty-master\0/dev/ttyp$J\0" gnu_set_dev ttyp$J root 666 "/hurd/term\0/dev/ttyp$J\0pty-slave\0/dev/ptyp$J\0" done for J in 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v; do gnu_set_dev ptyq$J root 666 "/hurd/term\0/dev/ptyq$J\0pty-master\0/dev/ttyq$J\0" gnu_set_dev ttyq$J root 666 "/hurd/term\0/dev/ttyq$J\0pty-slave\0/dev/ptyq$J\0" done gnu_set_dev vcs root 600 "/hurd/console\0" for I in 1 2 3 4 5 6; do gnu_set_dev tty$I root 600 "/hurd/term\0/dev/tty$I\0hurdio\0/dev/vcs/$I/console\0" done } crosshurd-1.7.51/sources.list/0000755000000000000000000000000012567074570013161 5ustar crosshurd-1.7.51/sources.list/linux-gnu0000644000000000000000000000051512567074567015041 0ustar # See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb http://httpredir.debian.org/debian unstable main # Uncomment if you want the apt-get source function to work #deb-src http://httpredir.debian.org/debian unstable main crosshurd-1.7.51/sources.list/gnu0000644000000000000000000000067712567074553013710 0ustar # See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb http://ftp.debian-ports.org/debian unreleased main deb http://httpredir.debian.org/debian unstable main # Uncomment if you want the apt-get source function to work #deb-src http://httpredir.debian.org/debian unstable main #deb-src http://ftp.debian-ports.org/debian unreleased main crosshurd-1.7.51/sources.list/knetbsd-gnu0000644000000000000000000000074412567074566015337 0ustar # See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb ftp://ftp.debian-ports.org/debian unreleased main deb ftp://ftp.debian-ports.org/debian unstable main # for arch-indep packages deb http://httpredir.debian.org/debian dists/unstable/main/binary-i386/ # Uncomment if you want the apt-get source function to work #deb-src http://httpredir.debian.org/debian unstable main crosshurd-1.7.51/sources.list/kfreebsd-gnu0000644000000000000000000000051412567074547015464 0ustar # See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb http://httpredir.debian.org/debian unstable main # Uncomment if you want the apt-get source function to work #deb-src http://httpredir.debian.org/debian unstable main crosshurd-1.7.51/dpkg-hurd0000755000000000000000000001173012372226730012330 0ustar #!/bin/sh # # Copyright (c) 1998 - This script is hereby placed in the public domain # by Marcus Brinkmann. # # dpkg-hurd - poor man's dpkg. # # Usage dpkg-hurd -i|--install package_*.deb [options] # or dpkg-hurd --unpack package_*.deb [options] # or dpkg-hurd -r|--remove package [options] # or dpkg-hurd --purge package [options] # or dpkg-hurd -s|-L package # or dpkg-hurd -l|-S [pattern] # # [options] are passed through to dpkp. A good example is # "--force-depends". # # Warning: This script is for bootstrapping a Debian/Gnu Hurd system # onto an empty ext2 partition. The {pre,post}{inst,rem} # scripts are not run. # # Note: The action must be the first argument, the package the second. # Multiple packages can't be processed at one command line. # # Change history: # 19 Dec 1998 - v0.0 # Original created by Marcus Brinkmann. # 22 Dec 1998 - v0.1 Jeff Sheinberg # Error checking, automatic update of status file. # 24 Dec 1998 - v0.2 Jeff Sheinberg # Remove by package name, fix bugs in name.list file creation. # TODO - add lockfile and trap exit & int, merge with deb_remove. # 28 Dec 1998 - v0.3 Marcus Brinkmann # Extract package name from deb file, not from file name. # Rebuild package w/o install scripts and use dpkg directly. # Added -r and -p as well as -s,-S,-l,-L options. # 1 Jan 1999 - v0.3.1 Marcus Brinkmann # Added the possibility to add options. # - v0.3.2 Fixed typo in grep (Package: instead Package) # 15 Apr 1999 - v0.3.3 Make it a bit more verbose (Pavel Roskin) # Specify admindir explicitely to make it work on # non-Debian systems. (patch by Pavel Roskin) # TODO - fix all those race conditions and use proper tmp dir! # - v0.3.3 Minor fix by Matthew Vernon # No longer expects the /usr -> / symlink # 27 May 1999 - v1.0.1 More patches by Pavel Roskin for compatibility. # Make use of case instead -o to test. # Add --force-not-root. # 1 Jun 1999 - v1.0.2 Patch by Kalle Olavi Niemitalo to make it work # with packages which Contain the string "Package" in # the description. # 7 Sep 1999 - v1.0.3 Add --force-bad-path. Suggested by Espy. set -u -e PS4='+$LINENO: ' err () { echo "$0: $1" 1>&2 exit 1 } vld="var/lib/dpkg" vldi="${vld}/info" [ -d ./${vld} ] || \ err "cd is \`$PWD', must be run from a dpkg root directory" [ -d ./lost+found ] || \ err "cd is \`$PWD', must be run from a partition root filesystem directory where lost+found resides" #[ -L ./usr -a ./ -ef usr/ ] \ # || err "cd is \`$PWD', must be run from a hurd root filesystem directory" # [ "$#" == 2 ] || err "exactly two arguments, an action and a *.deb file or package name is required" case ${1} in "-i"|"--install"|"--unpack") action="${1}" file="${2}" name=`dpkg-deb --field ${file} Package` [ -f ${file} ] || err "file \`${file}' does not exist" # Construct directory hierarchie ctrl=temp_build/${name}/DEBIAN mkdir -m 0755 -p ${ctrl} # Extract the files from the .deb archive. dpkg-deb --extract ${file} ${ctrl}/.. # Extract control info and create control files. dpkg-deb --control ${file} ${ctrl} # Move the package scripts out of the build dir. for f in preinst postinst prerm postrm do if [ -e ${ctrl}/${f} ] ; then mv ${ctrl}/${f} temp_build/ fi done # Now repack the file. dpkg-deb --build temp_build/${name} # Move old prerm and postrm scripts out of the way. for f in prerm postrm do if [ -e ${vldi}/${name}.${f} ] ; then mv ${vldi}/${name}.${f} ${vldi}/${name}.${f}.backup fi done shift shift dpkg --root=. --admindir=${vld} --force-architecture --force-not-root --force-bad-path ${action} ${@-} temp_build/${name}.deb # Move new package scripts into dpkg's repository for f in preinst postinst prerm postrm do if [ -e temp_build/${f} ] ; then mv temp_build/${f} ${vldi}/${name}.${f} fi if [ -e ${vldi}/${name}.${f}.backup ] ; then rm ${vldi}/${name}.${f}.backup fi done # Clean temp directory. rm -fR temp_build exit 0 ;; esac case ${1} in "-r"|"--remove"|"--purge") action="${1}" name="${2}" # Move old prerm and postrm scripts out of the way. for f in prerm postrm do if [ -e ${vldi}/${name}.${f} ] ; then mv ${vldi}/${name}.${f} ${vldi}/${name}.${f}.backup fi done shift shift dpkg --root=. --admindir=${vld} --force-architecture --force-not-root --force-bad-path ${action} ${@-} ${name} for f in prerm postrm do if [ -e ${vldi}/${name}.${f}.backup ] ; then rm ${vldi}/${name}.${f}.backup fi done exit 0 ;; esac case ${1} in "-s"|"-S"|"-l"|"-L") dpkg --root=. --admindir=${vld} "${@}" exit 0 ;; esac # dpkg-hurd - end of file. crosshurd-1.7.51/packages/0000755000000000000000000000000012375745053012300 5ustar crosshurd-1.7.51/packages/linux-gnu0000644000000000000000000000013011531614232014126 0ustar makedev mount procps psmisc libacl1 libattr1 libc6 libdb1-compat login sysvinit sysv-rc crosshurd-1.7.51/packages/common0000644000000000000000000000051011747356511013506 0ustar adduser apt apt-utils base-files base-passwd bash bsdutils coreutils debconf debianutils isc-dhcp-client dialog diffutils dpkg dselect e2fsprogs ed findutils gawk gettext-base grep gzip hostname info initscripts insserv libpam-modules libpam-runtime nano ncurses-base ncurses-bin passwd perl-base sed tar tcpd util-linux zlib1g crosshurd-1.7.51/packages/gnu0000644000000000000000000000015412372226652013010 0ustar gnumach-image-1-486 hurd libparted2 libuuid1 libc0.3 inetutils-tools cardmgr-gnumach wireless-tools-gnumach crosshurd-1.7.51/packages/knetbsd-gnu0000644000000000000000000000005411320217561014426 0ustar knetbsd netbsd login libc1 sysv-rc sysvinit crosshurd-1.7.51/packages/kfreebsd-gnu0000644000000000000000000000012212330534023014552 0ustar freebsd-utils kfreebsd-image-10-486 login procps psmisc sysv-rc sysvinit ufsutils