summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS18
-rw-r--r--HISTORY16
-rw-r--r--Makefile64
-rw-r--r--README12
-rw-r--r--TODO10
-rw-r--r--debian/changelog209
-rw-r--r--debian/control25
-rw-r--r--debian/copyright6
-rw-r--r--debian/cron.daily103
-rw-r--r--debian/default17
-rw-r--r--debian/docs3
-rwxr-xr-xdebian/rules17
-rw-r--r--doc/AUTHORS4
-rw-r--r--doc/CREDITS30
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/ChangeLog.old (renamed from ChangeLog)0
-rw-r--r--doc/NEWS27
-rw-r--r--doc/README84
-rw-r--r--doc/TODO13
-rw-r--r--doc/faq.txt9
-rw-r--r--doc/man/make-live.8215
-rw-r--r--doc/man/make-live.conf.594
-rwxr-xr-xfunctions/chroot.sh13
-rwxr-xr-xfunctions/conffile.sh16
-rwxr-xr-xfunctions/defaults.sh384
-rwxr-xr-xfunctions/lockfile.sh35
-rwxr-xr-xfunctions/stagefile.sh46
-rwxr-xr-xfunctions/version.sh6
-rw-r--r--helpers/Makefile11
-rwxr-xr-xhelpers/lh_binary46
-rwxr-xr-xhelpers/lh_binary_encryption73
-rwxr-xr-xhelpers/lh_binary_includes42
-rwxr-xr-xhelpers/lh_binary_iso54
-rwxr-xr-xhelpers/lh_binary_linuximage59
-rwxr-xr-xhelpers/lh_binary_localincludes39
-rwxr-xr-xhelpers/lh_binary_manifest34
-rwxr-xr-xhelpers/lh_binary_md5sum51
-rwxr-xr-xhelpers/lh_binary_memtest8697
-rwxr-xr-xhelpers/lh_binary_net53
-rwxr-xr-xhelpers/lh_binary_rootfs76
-rwxr-xr-xhelpers/lh_binary_syslinux152
-rwxr-xr-xhelpers/lh_binary_usb128
-rwxr-xr-xhelpers/lh_bootstrap19
-rwxr-xr-xhelpers/lh_bootstrap_cdebootstrap103
-rwxr-xr-xhelpers/lh_bootstrap_debootstrap93
-rwxr-xr-xhelpers/lh_build17
-rwxr-xr-xhelpers/lh_buildbinary200
-rwxr-xr-xhelpers/lh_buildsource84
-rwxr-xr-xhelpers/lh_cdebootstrap33
-rwxr-xr-xhelpers/lh_chroot50
-rwxr-xr-xhelpers/lh_chroot_apt141
-rwxr-xr-xhelpers/lh_chroot_debianchroot63
-rwxr-xr-xhelpers/lh_chroot_hacks60
-rwxr-xr-xhelpers/lh_chroot_hooks50
-rwxr-xr-xhelpers/lh_chroot_hosts66
-rwxr-xr-xhelpers/lh_chroot_linuximage74
-rwxr-xr-xhelpers/lh_chroot_localhooks53
-rwxr-xr-xhelpers/lh_chroot_localincludes39
-rwxr-xr-xhelpers/lh_chroot_localization695
-rwxr-xr-xhelpers/lh_chroot_localpackages75
-rwxr-xr-xhelpers/lh_chroot_localpackageslist73
-rwxr-xr-xhelpers/lh_chroot_packages65
-rwxr-xr-xhelpers/lh_chroot_packageslist76
-rwxr-xr-xhelpers/lh_chroot_proc61
-rwxr-xr-xhelpers/lh_chroot_resolv66
-rwxr-xr-xhelpers/lh_chroot_sources131
-rwxr-xr-xhelpers/lh_chroot_symlinks70
-rwxr-xr-xhelpers/lh_chroot_sysfs58
-rwxr-xr-xhelpers/lh_chroot_sysvinit50
-rwxr-xr-xhelpers/lh_chroot_sysvrc72
-rwxr-xr-xhelpers/lh_chroot_tasks55
-rwxr-xr-xhelpers/lh_clean71
-rwxr-xr-xhelpers/lh_cleanapt17
-rwxr-xr-xhelpers/lh_clone25
-rwxr-xr-xhelpers/lh_config240
-rwxr-xr-xhelpers/lh_configapt56
-rwxr-xr-xhelpers/lh_confignetwork60
-rwxr-xr-xhelpers/lh_debootstrap25
-rwxr-xr-xhelpers/lh_depends86
-rwxr-xr-xhelpers/lh_genrootfs76
-rwxr-xr-xhelpers/lh_hook21
-rwxr-xr-xhelpers/lh_includechroot11
-rwxr-xr-xhelpers/lh_installapt35
-rwxr-xr-xhelpers/lh_installlinux25
-rwxr-xr-xhelpers/lh_installmemtest86+24
-rwxr-xr-xhelpers/lh_installpackagelists29
-rwxr-xr-xhelpers/lh_installpackages9
-rwxr-xr-xhelpers/lh_installsyslinux79
-rwxr-xr-xhelpers/lh_installtasks12
-rwxr-xr-xhelpers/lh_localdeb10
-rwxr-xr-xhelpers/lh_losetup10
-rwxr-xr-xhelpers/lh_manifest13
-rwxr-xr-xhelpers/lh_md5sums17
-rwxr-xr-xhelpers/lh_patchchroot18
-rwxr-xr-xhelpers/lh_patchlinux32
-rwxr-xr-xhelpers/lh_patchnetwork18
-rwxr-xr-xhelpers/lh_patchrunlevel27
-rwxr-xr-xhelpers/lh_preseed23
-rwxr-xr-xhelpers/lh_setupapt124
-rwxr-xr-xhelpers/lh_source33
-rwxr-xr-xhelpers/lh_source_download67
-rwxr-xr-xhelpers/lh_source_generic53
-rwxr-xr-xhelpers/lh_source_iso53
-rwxr-xr-xhelpers/lh_source_net53
-rwxr-xr-xhelpers/lh_source_usb121
-rwxr-xr-xhelpers/lh_testroot4
-rwxr-xr-xhelpers/make-live324
-rw-r--r--helpers/overview.txt51
-rw-r--r--hooks/mini27
-rw-r--r--hooks/minimal19
-rw-r--r--includes/common/README.html (renamed from templates/common/README.html)0
-rw-r--r--includes/common/README.mirrors.html (renamed from templates/common/README.mirrors.html)0
-rw-r--r--includes/common/README.mirrors.txt (renamed from templates/common/README.mirrors.txt)0
-rw-r--r--includes/common/README.txt (renamed from templates/common/README.txt)0
-rw-r--r--includes/common/doc/00-INDEX (renamed from templates/common/doc/00-INDEX)0
-rw-r--r--includes/common/doc/FAQ/debian-faq.en.html.tar.gz (renamed from templates/common/doc/FAQ/debian-faq.en.html.tar.gz)bin57330 -> 57330 bytes
-rw-r--r--includes/common/doc/FAQ/debian-faq.en.pdf.gz (renamed from templates/common/doc/FAQ/debian-faq.en.pdf.gz)bin318890 -> 318890 bytes
-rw-r--r--includes/common/doc/FAQ/debian-faq.en.ps.gz (renamed from templates/common/doc/FAQ/debian-faq.en.ps.gz)bin103911 -> 103911 bytes
-rw-r--r--includes/common/doc/FAQ/debian-faq.en.txt.gz (renamed from templates/common/doc/FAQ/debian-faq.en.txt.gz)bin50961 -> 50961 bytes
-rw-r--r--includes/common/doc/FAQ/html/ch-basic_defs.en.html (renamed from templates/common/doc/FAQ/html/ch-basic_defs.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-basic_defs.html431
-rw-r--r--includes/common/doc/FAQ/html/ch-compat.en.html (renamed from templates/common/doc/FAQ/html/ch-compat.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-compat.html386
-rw-r--r--includes/common/doc/FAQ/html/ch-contributing.en.html (renamed from templates/common/doc/FAQ/html/ch-contributing.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-contributing.html191
-rw-r--r--includes/common/doc/FAQ/html/ch-customizing.en.html (renamed from templates/common/doc/FAQ/html/ch-customizing.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-customizing.html522
-rw-r--r--includes/common/doc/FAQ/html/ch-faqinfo.en.html (renamed from templates/common/doc/FAQ/html/ch-faqinfo.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-faqinfo.html210
-rw-r--r--includes/common/doc/FAQ/html/ch-ftparchives.en.html (renamed from templates/common/doc/FAQ/html/ch-ftparchives.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-ftparchives.html567
-rw-r--r--includes/common/doc/FAQ/html/ch-getting.en.html (renamed from templates/common/doc/FAQ/html/ch-getting.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-getting.html374
-rw-r--r--includes/common/doc/FAQ/html/ch-kernel.en.html (renamed from templates/common/doc/FAQ/html/ch-kernel.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-kernel.html311
-rw-r--r--includes/common/doc/FAQ/html/ch-nexttime.en.html (renamed from templates/common/doc/FAQ/html/ch-nexttime.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-nexttime.html149
-rw-r--r--includes/common/doc/FAQ/html/ch-pkg_basics.en.html (renamed from templates/common/doc/FAQ/html/ch-pkg_basics.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-pkg_basics.html860
-rw-r--r--includes/common/doc/FAQ/html/ch-pkgtools.en.html (renamed from templates/common/doc/FAQ/html/ch-pkgtools.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-pkgtools.html936
-rw-r--r--includes/common/doc/FAQ/html/ch-redistrib.en.html (renamed from templates/common/doc/FAQ/html/ch-redistrib.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-redistrib.html170
-rw-r--r--includes/common/doc/FAQ/html/ch-software.en.html (renamed from templates/common/doc/FAQ/html/ch-software.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-software.html410
-rw-r--r--includes/common/doc/FAQ/html/ch-support.en.html (renamed from templates/common/doc/FAQ/html/ch-support.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-support.html525
-rw-r--r--includes/common/doc/FAQ/html/ch-uptodate.en.html (renamed from templates/common/doc/FAQ/html/ch-uptodate.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/ch-uptodate.html479
-rw-r--r--includes/common/doc/FAQ/html/footnotes.en.html (renamed from templates/common/doc/FAQ/html/footnotes.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/footnotes.html112
-rw-r--r--includes/common/doc/FAQ/html/index.en.html (renamed from templates/common/doc/FAQ/html/index.en.html)0
-rw-r--r--includes/common/doc/FAQ/html/index.html311
-rw-r--r--includes/common/doc/bug-log-access.txt (renamed from templates/common/doc/bug-log-access.txt)0
-rw-r--r--includes/common/doc/bug-log-mailserver.txt (renamed from templates/common/doc/bug-log-mailserver.txt)0
-rw-r--r--includes/common/doc/bug-mailserver-refcard.txt (renamed from templates/common/doc/bug-mailserver-refcard.txt)0
-rw-r--r--includes/common/doc/bug-maint-info.txt (renamed from templates/common/doc/bug-maint-info.txt)0
-rw-r--r--includes/common/doc/bug-maint-mailcontrol.txt (renamed from templates/common/doc/bug-maint-mailcontrol.txt)0
-rw-r--r--includes/common/doc/bug-reporting.txt (renamed from templates/common/doc/bug-reporting.txt)0
-rw-r--r--includes/common/doc/constitution.txt (renamed from templates/common/doc/constitution.txt)0
-rw-r--r--includes/common/doc/debian-manifesto (renamed from templates/common/doc/debian-manifesto)0
-rw-r--r--includes/common/doc/mailing-lists.txt (renamed from templates/common/doc/mailing-lists.txt)0
-rw-r--r--includes/common/doc/social-contract.txt (renamed from templates/common/doc/social-contract.txt)0
-rw-r--r--includes/common/doc/source-unpack.txt (renamed from templates/common/doc/source-unpack.txt)0
-rw-r--r--includes/common/pics/blue-lowerleft.png (renamed from templates/common/pics/blue-lowerleft.png)bin294 -> 294 bytes
-rw-r--r--includes/common/pics/blue-lowerright.png (renamed from templates/common/pics/blue-lowerright.png)bin266 -> 266 bytes
-rw-r--r--includes/common/pics/blue-upperleft.png (renamed from templates/common/pics/blue-upperleft.png)bin280 -> 280 bytes
-rw-r--r--includes/common/pics/blue-upperright.png (renamed from templates/common/pics/blue-upperright.png)bin290 -> 290 bytes
-rw-r--r--includes/common/pics/debian.jpg (renamed from templates/common/pics/debian.jpg)bin8442 -> 8442 bytes
-rw-r--r--includes/common/pics/logo-50.jpg (renamed from templates/common/pics/logo-50.jpg)bin3986 -> 3986 bytes
-rw-r--r--includes/common/pics/red-lowerleft.png (renamed from templates/common/pics/red-lowerleft.png)bin353 -> 353 bytes
-rw-r--r--includes/common/pics/red-lowerright.png (renamed from templates/common/pics/red-lowerright.png)bin299 -> 299 bytes
-rw-r--r--includes/common/pics/red-upperleft.png (renamed from templates/common/pics/red-upperleft.png)bin321 -> 321 bytes
-rw-r--r--includes/common/pics/red-upperright.png (renamed from templates/common/pics/red-upperright.png)bin344 -> 344 bytes
-rw-r--r--includes/common/tools/README (renamed from templates/common/tools/README)0
-rw-r--r--includes/common/tools/diskio.zip (renamed from templates/common/tools/diskio.zip)bin10290 -> 10290 bytes
-rw-r--r--includes/common/tools/fips20.zip (renamed from templates/common/tools/fips20.zip)bin162110 -> 162110 bytes
-rw-r--r--includes/common/tools/gzip124.exe (renamed from templates/common/tools/gzip124.exe)bin119146 -> 119146 bytes
-rw-r--r--includes/common/tools/lodlin16.zip (renamed from templates/common/tools/lodlin16.zip)bin105410 -> 105410 bytes
-rw-r--r--includes/common/tools/md5sum-w32.zip (renamed from templates/common/tools/md5sum-w32.zip)bin70352 -> 70352 bytes
-rw-r--r--includes/common/tools/rawrite1.zip (renamed from templates/common/tools/rawrite1.zip)bin11157 -> 11157 bytes
-rw-r--r--includes/common/tools/rawrite2.zip (renamed from templates/common/tools/rawrite2.zip)bin15655 -> 15655 bytes
-rw-r--r--includes/common/tools/rwwrtwin.zip (renamed from templates/common/tools/rwwrtwin.zip)bin261448 -> 261448 bytes
-rw-r--r--includes/common/tools/src/md5sum-w32_1.1.dsc (renamed from templates/common/tools/src/md5sum-w32_1.1.dsc)0
-rw-r--r--includes/common/tools/src/md5sum-w32_1.1.tar.gz (renamed from templates/common/tools/src/md5sum-w32_1.1.tar.gz)bin7617 -> 7617 bytes
-rw-r--r--includes/common/tools/unz512x3.exe (renamed from templates/common/tools/unz512x3.exe)bin236134 -> 236134 bytes
-rw-r--r--includes/iso/autorun.bat (renamed from templates/iso/autorun.bat)0
-rw-r--r--includes/iso/autorun.inf (renamed from templates/iso/autorun.inf)0
-rw-r--r--includes/usb/autorun.bat3
-rw-r--r--includes/usb/autorun.inf2
-rw-r--r--lists/gnome (renamed from src/lists/gnome)3
-rw-r--r--lists/gnome-core (renamed from src/lists/gnome-core)3
-rw-r--r--lists/gnome-full (renamed from src/lists/gnome-full)3
-rw-r--r--lists/gnome-junior (renamed from src/lists/gnome-junior)3
-rw-r--r--lists/gnustep (renamed from src/lists/gnustep)4
-rw-r--r--lists/kde (renamed from src/lists/kde)3
-rw-r--r--lists/kde-core (renamed from src/lists/kde-core)3
-rw-r--r--lists/kde-extra (renamed from src/lists/kde-extra)3
-rw-r--r--lists/kde-full (renamed from src/lists/kde-full)3
-rw-r--r--lists/kde-junior (renamed from src/lists/kde-junior)3
-rw-r--r--lists/knoppix (renamed from src/lists/knoppix)0
-rw-r--r--lists/knoppix-dvd (renamed from src/lists/knoppix-dvd)0
-rw-r--r--lists/mini (renamed from src/lists/mini)0
-rw-r--r--lists/minimal (renamed from src/lists/minimal)0
-rw-r--r--lists/minimal-net (renamed from src/lists/minimal-net)0
-rw-r--r--lists/rescue (renamed from src/lists/rescue)0
-rw-r--r--lists/standard (renamed from src/lists/standard)0
-rw-r--r--lists/standard-x11 (renamed from src/lists/x11)3
-rw-r--r--lists/xfce (renamed from src/lists/xfce)3
-rw-r--r--lists/xfce-junior (renamed from src/lists/xfce-junior)3
-rw-r--r--src/config116
-rw-r--r--src/hooks/mini9
-rw-r--r--src/hooks/minimal4
-rw-r--r--src/lists/kde-core-i18n33
-rw-r--r--src/lists/kde-extra-i18n52
-rw-r--r--src/lists/kde-full-i18n49
-rw-r--r--src/lists/kde-i18n33
-rw-r--r--src/lists/standard-i18n13
-rw-r--r--src/lists/x11-core11
-rwxr-xr-xsrc/main.sh424
-rw-r--r--src/scripts/02defaults.sh376
-rw-r--r--src/scripts/13chroot.sh106
l---------templates/common/doc/FAQ/html/ch-basic_defs.html1
l---------templates/common/doc/FAQ/html/ch-compat.html1
l---------templates/common/doc/FAQ/html/ch-contributing.html1
l---------templates/common/doc/FAQ/html/ch-customizing.html1
l---------templates/common/doc/FAQ/html/ch-faqinfo.html1
l---------templates/common/doc/FAQ/html/ch-ftparchives.html1
l---------templates/common/doc/FAQ/html/ch-getting.html1
l---------templates/common/doc/FAQ/html/ch-kernel.html1
l---------templates/common/doc/FAQ/html/ch-nexttime.html1
l---------templates/common/doc/FAQ/html/ch-pkg_basics.html1
l---------templates/common/doc/FAQ/html/ch-pkgtools.html1
l---------templates/common/doc/FAQ/html/ch-redistrib.html1
l---------templates/common/doc/FAQ/html/ch-software.html1
l---------templates/common/doc/FAQ/html/ch-support.html1
l---------templates/common/doc/FAQ/html/ch-uptodate.html1
l---------templates/common/doc/FAQ/html/footnotes.html1
l---------templates/common/doc/FAQ/html/index.html1
-rw-r--r--templates/syslinux/f10.txt4
240 files changed, 12002 insertions, 3319 deletions
diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index fb0631e..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,18 +0,0 @@
-Main Authors:
-
- * Daniel Baumann <daniel@debian.org>
- * Marco Amadori <marco.amadori@gmail.com>
-
-Patches (alphabetical order):
-
- * Alex Owen <r.a.owen@qmul.ac.uk>
- * Bas Wijnen <wijnen@debian.org>
- * Cedric Lucantis <omer@no-log.org>
- * Frederic Lehobey <Frederic.Lehobey@free.fr>
- * Guerkan Senguen <gurkan@linuks.mine.nu>
- * Jason D. Clinton <me@jasonclinton.com>
- * Kai Hendry <hendry@iki.fi>
- * Marcelo D. Re <mdre@rectorado.unl.edu.ar>
- * Markus Bauer <bauer-markus@web.de>
- * Otavio Salvador <otavio@debian.org>
- * Sebastian Raveau <sebastien.raveau@epita.fr>
diff --git a/HISTORY b/HISTORY
deleted file mode 100644
index 5690ea4..0000000
--- a/HISTORY
+++ /dev/null
@@ -1,16 +0,0 @@
-Milestones of Debian Live
--------------------------
-
-2006-02-14: Initial idea
-http://blog.daniel-baumann.ch/2006/02/14#20060214_debian-live-initiative
-
-2006-03-16: First CD images available
-http://lists.alioth.debian.org/pipermail/debian-live-devel/2006-March/000048.html
-
-2006-06-02: First netboot images available
-
-2007-02-05: Image autobuilder in place
-http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-February/000764.html
-
-2007-02-10: First USB images available
-http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-February/000790.html
diff --git a/Makefile b/Makefile
index 084e1a4..02ab179 100644
--- a/Makefile
+++ b/Makefile
@@ -1,58 +1,30 @@
-# Makefile
+#!/usr/bin/make -f
all: install
install:
- @# Install main script
- install -D -m 0755 src/main.sh $(DESTDIR)/usr/sbin/make-live
+ # Installing executables
+ mkdir -p $(DESTDIR)/usr/bin
+ cp helpers/lh_* helpers/make-live $(DESTDIR)/usr/bin
- @# Install configuration file
- install -D -m 0644 src/config $(DESTDIR)/etc/make-live.conf
+ # Installing shared data
+ mkdir -p $(DESTDIR)/usr/share/live-helper
+ cp -r functions hooks includes lists templates $(DESTDIR)/usr/share/live-helper
- @# Install package lists
- install -d -m 0755 $(DESTDIR)/usr/share/make-live/lists
- install -m 0644 src/lists/* $(DESTDIR)/usr/share/make-live/lists
-
- @# Install flavour hooks
- install -d -m 0755 $(DESTDIR)/usr/share/make-live/hooks
- install -m 0644 src/hooks/* $(DESTDIR)/usr/share/make-live/hooks
-
- @# Install sub scripts
- install -d -m 0755 $(DESTDIR)/usr/share/make-live/scripts
- install -m 0755 src/scripts/*.sh $(DESTDIR)/usr/share/make-live/scripts
-
- @# Install templates
- cp -r templates $(DESTDIR)/usr/share/make-live
-
- @# Install documentation
- install -d -m 0755 $(DESTDIR)/usr/share/doc/live-package
- install -m 0644 doc/*.txt $(DESTDIR)/usr/share/doc/live-package
-
- @# Install manpages
- install -d -m 0755 $(DESTDIR)/usr/share/man/man5
- install -m 0644 doc/man/*.5 $(DESTDIR)/usr/share/man/man5
- install -d -m 0755 $(DESTDIR)/usr/share/man/man8
- install -m 0644 doc/man/*.8 $(DESTDIR)/usr/share/man/man8
-
- $(MAKE) -C helpers install
+ # Installing documentation
+ mkdir -p $(DESTDIR)/usr/share/doc/live-helper
+ cp -r COPYING doc/* $(DESTDIR)/usr/share/doc/live-helper
uninstall:
- @# Remove main script
- rm -f $(DESTDIR)/usr/sbin/make-live
-
- @# Remove configuration file
- rm -f $(DESTDIR)/etc/make-live.conf
-
- @# Remove shared data
- rm -rf $(DESTDIR)/usr/share/make-live
+ # Uninstalling executables
+ rm -f $(DESTDIR)/usr/bin/lh_* $(DESTDIR)/usr/bin/make-live
- @# Remove documentation
- rm -rf $(DESTDIR)/usr/share/doc/live-package
+ # Uninstalling shared data
+ rm -rf $(DESTDIR)/usr/share/live-helper
- @# Remove manpages
- rm -f $(DESTDIR)/usr/share/man/man5/make-live.*
- rm -f $(DESTDIR)/usr/share/man/man8/make-live.*
+ # Uninstalling documentation
+ rm -rf $(DESTDIR)/usr/share/doc/live-helper
- $(MAKE) -C helpers uninstall
+clean:
-reinstall: uninstall install
+reinstall: uninstall install
diff --git a/README b/README
deleted file mode 100644
index 771c4e2..0000000
--- a/README
+++ /dev/null
@@ -1,12 +0,0 @@
-Debian Live Framework: make-live
-================================
-
-make-live is a utility to build Debian Live systems. It takes a Debian mirror as
-an input and outputs a live system image (ISO image for CDs and DVDs, tarball
-for netboot, or images for USB sticks). make-live is still in the early stage of
-development, but has basic functionality and can be run successfully.
-
-More information about Debian Live can be found at:
-
- * <http://debian-live.alioth.debian.org/>
- * <http://wiki.debian.org/DebianLive/>
diff --git a/TODO b/TODO
deleted file mode 100644
index bec431f..0000000
--- a/TODO
+++ /dev/null
@@ -1,10 +0,0 @@
-Todo:
-
- * output hiding
- * d-i/g-i integration
- * documentation
-
- * l10n flags
- * --disable-daemons
-
- * general source tarballs
diff --git a/debian/changelog b/debian/changelog
index 907eb05..053e68a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,208 +1,5 @@
-live-package (0.99.26-1) unstable; urgency=low
+live-helper (1.0~a1-1) unstable; urgency=low
- * New upstream release.
+ * Initial release, replacing live-package.
- -- Daniel Baumann <daniel@debian.org> Fri, 9 Mar 2007 12:27:00 +0100
-
-live-package (0.99.25-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Fri, 9 Mar 2007 01:49:00 +0100
-
-live-package (0.99.24-1) unstable; urgency=low
-
- * New upstream release:
- - adds LIVE_INCLUDE_CHROOT to the manual exported variables as reported by
- Mathieu Geli <mathieu.geli@gmail.com> (Closes: #412325).
-
- -- Daniel Baumann <daniel@debian.org> Sun, 3 Mar 2007 12:25:00 +0100
-
-live-package (0.99.23-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Wed, 21 Feb 2007 22:08:00 +0100
-
-live-package (0.99.22-1) unstable; urgency=low
-
- * New upstream release:
- - updates manpage (Closes: #411008).
-
- -- Daniel Baumann <daniel@debian.org> Fri, 16 Feb 2007 20:38:00 +0100
-
-live-package (0.99.21-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 12 Feb 2007 15:06:00 +0100
-
-live-package (0.99.20-1) unstable; urgency=low
-
- * New upstream release:
- - Fixed manual pruning in minimal flavour as suggested by
- Bas Wijnen <wijnen@debian.org> (Closes: #410040).
-
- -- Daniel Baumann <daniel@debian.org> Thu, 1 Feb 2007 17:35:00 +0100
-
-live-package (0.99.19-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Wed, 31 Jan 2007 12:38:00 +0100
-
-live-package (0.99.18-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Thu, 25 Jan 2007 08:29:00 +0100
-
-live-package (0.99.17-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Wed, 24 Jan 2007 22:18:00 +0100
-
-live-package (0.99.16-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Thu, 18 Jan 2007 16:25:00 +0100
-
-live-package (0.99.15-1) unstable; urgency=low
-
- * New upstream release:
- - switched default distribution back to unstable, as unstable is usable
- again from the kernel point of view (Closes: #400457).
- - added file to the minimal package list (Closes: #400485).
-
- -- Daniel Baumann <daniel@debian.org> Tue, 16 Jan 2007 21:24:00 +0100
-
-live-package (0.99.14-3) unstable; urgency=high
-
- * Adding workaround for new xorg packages by including xserver-xorg-input-all
- and xserver-xorg-video-all in all X11 package lists. See #405639 for more
- information.
- * Adding xdebconfigurator to all X11 package lists.
-
- -- Daniel Baumann <daniel@debian.org> Fri, 5 Jan 2007 22:34:00 +0100
-
-live-package (0.99.14-2) unstable; urgency=high
-
- * Adding workaround for initrd backup files (Closes: #404314).
-
- -- Daniel Baumann <daniel@debian.org> Thu, 4 Jan 2007 20:52:00 +0100
-
-live-package (0.99.14-1) unstable; urgency=medium
-
- * New upstream release:
- - fixed typo for policy-rc.d hack (Closes: #396813), thanks to
- Markus Bauer <bauer-markus@web.de>.
- - corrected manpage section (Closes: #396083), thanks to
- Sune Vuorela <reportbug@pusling.com>.
- - fixes script sourcing to exclude files in .svn (Closes: #396861),
- thanks to Markus Bauer <bauer-markus@web.de>.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 6 Nov 2006 00:00:00 +0200
-
-live-package (0.99.13-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 30 Oct 2006 00:00:00 +0200
-
-live-package (0.99.12-1) unstable; urgency=medium
-
- * New upstream release.
- - Reverted mangling of LIVE_DISTRIBUTION for sources.list generation
- (Closes: #394226).
-
- -- Daniel Baumann <daniel@debian.org> Mon, 23 Oct 2006 00:00:00 +0200
-
-live-package (0.99.11-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 16 Oct 2006 00:00:00 +0200
-
-live-package (0.99.10-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 9 Oct 2006 00:00:00 +0200
-
-live-package (0.99.9-1) unstable; urgency=medium
-
- * New upstream release:
- - adds support for custom repositories (Closes: #387068).
- - using proxy for chroot creating too (Closes: #390378).
-
- -- Daniel Baumann <daniel@debian.org> Mon, 2 Oct 2006 00:00:00 +0200
-
-live-package (0.99.8-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 25 Sep 2006 00:00:00 +0200
-
-live-package (0.99.7-1) unstable; urgency=medium
-
- * New upstream release:
- - removes the now outdated handling of testing specific kernels
- (Closes: #387562).
- - added fix from Bas Wijnen <wijnen@debian.org> for space handling in
- arguments (Closes: #388204).
- - fixes package list handling similar to the fix suggested by Alex Owen
- <r.alex.owen@gmail.com> (Closes: #388060).
-
- -- Daniel Baumann <daniel@debian.org> Mon, 18 Sep 2006 00:00:00 +0200
-
-live-package (0.99.6-1) unstable; urgency=medium
-
- * New upstream release:
- - fixing netboot.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 11 Sep 2006 00:00:00 +0200
-
-live-package (0.99.5-1) unstable; urgency=low
-
- * New upstream release.
- * Set maintainer to the project list.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 4 Sep 2006 00:00:00 +0200
-
-live-package (0.99.4-1) unstable; urgency=low
-
- * New upstream release:
- - Added patch from Alex Owen <r.a.owen@qmul.ac.uk> to update pxelinux.cfg
- for NFS root in casper (Closes: #380512).
- - Temporarily hacks xorg configuration file to remove BusID and set
- default driver to vesa (Closes: #382391).
-
- -- Daniel Baumann <daniel@debian.org> Mon, 28 Aug 2006 00:00:00 +0200
-
-live-package (0.99.3-1) unstable; urgency=low
-
- * New upstream release:
- - fixed configuration file handling (Closes: #384598).
- * Update long descriptiong (Closes: #382473).
-
- -- Daniel Baumann <daniel@debian.org> Mon, 21 Aug 2006 00:00:00 +0200
-
-live-package (0.99.2-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 31 Jul 2006 00:00:00 +0200
-
-live-package (0.99.1-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 24 Jul 2006 00:00:00 +0200
-
-live-package (0.99-1) unstable; urgency=low
-
- * Initial release.
-
- -- Daniel Baumann <daniel@debian.org> Mon, 17 Jul 2006 00:00:00 +0200
+ -- Daniel Baumann <daniel@debian.org> Mon, 12 Mar 2007 00:00:00 +0100
diff --git a/debian/control b/debian/control
index 181f4f8..3a4f192 100644
--- a/debian/control
+++ b/debian/control
@@ -1,4 +1,4 @@
-Source: live-package
+Source: live-helper
Section: misc
Priority: optional
Maintainer: Debian Live <debian-live-devel@lists.alioth.debian.org>
@@ -6,16 +6,21 @@ Uploaders: Daniel Baumann <daniel@debian.org>, Marco Amadori <marco.amadori@gmai
Build-Depends: debhelper (>= 5)
Standards-Version: 3.7.2
-Package: live-package
+Package: live-helper
Architecture: all
-Depends: cdebootstrap, genext2fs, genisoimage | mkisofs, squashfs-tools
-Recommends: aespipe
+Depends: cdebootstrap | debootstrap, genext2fs, genisoimage | mkisofs, squashfs-tools
+Conflicts: live-package
+Replaces: live-package
+Suggests: aesloop
Provides: make-live
-Description: utility to build Debian Live systems
- make-live is a utility to build Debian Live systems. It takes a Debian mirror
- as an input and outputs a live system image (ISO image for CDs and DVDs,
- tarballs for netboot, or images for USB sticks). make-live is still in the
- early stage of development, but has basic functionality and can be run
- successfully.
+Description: Debian Live helper programs
+ Live-helper is a collection of programs that can be used to build Debian Live
+ system images. The philosophy behind live-helper is to provide a collection of
+ small, simple, and easily understood tools that can be used in your own program
+ to automate building of a Live system.
+ .
+ A typical program that uses live-helper will call several live-helper commands
+ in sequence. Live-helper commands are all named with a "lh_" prefix. Examples
+ of such a program that uses live-helper is make-live (included here).
.
Homepage: <http://debian-live.alioth.debian.org/>
diff --git a/debian/copyright b/debian/copyright
index a5b3f42..7e2baf5 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,9 +1,9 @@
This package was debianized by Daniel Baumann <daniel@debian.org> on
-Mon, 17 Jul 2006 00:00:00 +0200.
+Mon, 12 Mar 2007 00:00:00 +0100.
It was downloaded from <http://debian-live.alioth.debian.org/>.
-Upstream: Debian Live Project <debian-live-devel@lists.alioth.debian.org>
+Upstream Author: Debian Live <debian-live-devel@lists.alioth.debian.org>
License:
@@ -27,7 +27,7 @@ License:
On Debian systems, the complete text of the GNU General Public License
can be found in /usr/share/common-licenses/GPL file.
-License (contrib/syslinux-splash/*, templates/isolinux/splash.rle):
+License (contrib/syslinux-splash/*, templates/syslinux/splash.rle):
The derivated splash for Debian Live was done by Daniel Baumann
<daniel@debian.org> from the original of Mark Riedesel. Daniels own
diff --git a/debian/cron.daily b/debian/cron.daily
deleted file mode 100644
index db65e90..0000000
--- a/debian/cron.daily
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/sh
-
-# Check for make-live executable
-if [ ! -x /usr/sbin/make-live ]
-then
- exit 0
-fi
-
-# Check for make-live default
-if [ -r /etc/default/make-live ]
-then
- . /etc/default/make-live
-else
- echo "E: /etc/default/make-live missing."
- exit 1
-fi
-
-# Check for autobuild
-if [ "${AUTOBUILD}" = "false" ]
-then
- exit 0
-fi
-
-# Check for build directory
-if [ ! -d "${AUTOBUILD_DIRECTORY}" ]
-then
- mkdir -p "${AUTOBUILD_DIRECTORY}"
-else
- # FIXME: maybe we should just remove the left overs.
- echo "E: ${AUTOBUILD_DIRECTORY} needs cleanup."
- exit 1
-fi
-
-# Process image autobuilding
-cd "${AUTOBUILD_DIRECTORY}"
-
-for AUTOBUILD_DISTRIBUTION in ${AUTOBUILD_DISTRIBUTIONS}
-do
- for AUTOBUILD_PACKAGE_LIST in ${AUTOBUILD_PACKAGE_LISTS}
- do
- if [ ! -f "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}_${AUTOBUILD_DATE}-iso-log.txt ]
- then
- # Generating images
- mkdir debian-live
- make-live -t iso -d ${AUTOBUILD_DISTRIBUTION} -p ${AUTOBUILD_PACKAGE_LIST} -m ${LIVE_MIRROR} ${AUTOBUILD_OPTIONS} > debian-live/log.txt 2>&1
- fi
-
- if [ -f debian-live/binary.iso ] && [ -f debian-live/source.iso ]
- then
- # Moving logs
- mkdir -p "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log
- mv debian-live/log.txt "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}_${AUTOBUILD_DATE}-iso-log.txt
- mv debian-live/packages.txt "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}_${AUTOBUILD_DATE}-iso-packages.txt
-
- # Moving images
- mkdir -p "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/${AUTOBUILD_ARCHITECTURE}
- mv debian-live/binary.iso "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/${AUTOBUILD_ARCHITECTURE}/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}.iso
-
- mkdir -p "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/source
- mv debian-live/source.iso "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/source/debian-live-${AUTOBUILD_DISTRIBUTION}-source-${AUTOBUILD_PACKAGE_LIST}.iso
- fi
-
- # Cleanup
- rm -rf debian-live
-
- if [ ! -f "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}_${AUTOBUILD_DATE}-usb-log.txt ]
- then
- # Generating images
- mkdir debian-live
- make-live -t usb -d ${AUTOBUILD_DISTRIBUTION} -p ${AUTOBUILD_PACKAGE_LIST} -m ${LIVE_MIRROR} ${AUTOBUILD_OPTIONS} > debian-live/log.txt 2>&1
- fi
-
- if [ -f debian-live/binary.img ]
- then
- # Moving logs
- mkdir -p "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log
- mv debian-live/log.txt "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}_${AUTOBUILD_DATE}-usb-log.txt
- mv debian-live/packages.txt "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/log/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}_${AUTOBUILD_DATE}-usb-packages.txt
-
- # Moving images
- mkdir -p "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/${AUTOBUILD_ARCHITECTURE}
- mv debian-live/binary.img "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/${AUTOBUILD_ARCHITECTURE}/debian-live-${AUTOBUILD_DISTRIBUTION}-${AUTOBUILD_ARCHITECTURE}-${AUTOBUILD_PACKAGE_LIST}.img
- fi
-
- # Cleanup
- rm -rf debian-live
- done
-done
-
-# Cleanup
-umount -f "${AUTOBUILD_DIRECTORY}"/debian-live/chroot/proc > /dev/null 2>&1
-rm -rf "${AUTOBUILD_DIRECTORY}"
-
-# MD5SUMS
-for DIRECTORY in "${AUTOBUILD_SERVER}"/daily-builds/${AUTOBUILD_DATE}/*
-do
- cd "${DIRECTORY}"
- md5sum * > MD5SUMS
-done
-
-# Current symlink
-rm -f "${AUTOBUILD_SERVER}"/daily-builds/current
-ln -s ${AUTOBUILD_DATE} "${AUTOBUILD_SERVER}"/daily-builds/current
diff --git a/debian/default b/debian/default
deleted file mode 100644
index 43d17d7..0000000
--- a/debian/default
+++ /dev/null
@@ -1,17 +0,0 @@
-# Defaults for make-live cron.daily
-
-AUTOBUILD="false"
-
-AUTOBUILD_DISTRIBUTIONS="etch sid"
-AUTOBUILD_PACKAGE_LISTS="standard kde-desktop gnome-desktop xfce-desktop"
-AUTOBUILD_OPTIONS="--with-source"
-
-AUTOBUILD_DIRECTORY="/srv/tmp/make-live"
-AUTOBUILD_SERVER="/srv/debian-live"
-AUTOBUILD_ARCHITECTURE="`dpkg --print-architecture`"
-AUTOBUILD_DATE="`date +%Y%m%d`"
-
-LIVE_MIRROR="http://ftp.debian.org/debian/"
-
-# Source /etc/make-live.conf
-# . /etc/make-live.conf
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index 2b0402c..0000000
--- a/debian/docs
+++ /dev/null
@@ -1,3 +0,0 @@
-AUTHORS
-HISTORY
-TODO
diff --git a/debian/rules b/debian/rules
index ef72dea..1d9b92c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,8 +3,9 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
-upstream: # Needs svn
- cd .. && svn co svn://svn.debian.org/debian-live/dists/trunk/live-package || exit 0
+upstream:
+ # Needs: subversion
+ cd .. && svn co svn://svn.debian.org/debian-live/dists/trunk/live-helper || exit 0
find . -type d -name .svn -exec rm -rf {} \; || exit 0
build:
@@ -22,18 +23,22 @@ install: build
dh_installdirs
# Installing package
- $(MAKE) install DESTDIR=$(CURDIR)/debian/live-package
- install -D debian/default debian/live-package/etc/default/make-live
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/live-helper
+
+ # Removing double files
+ rm -f debian/live-helper/usr/share/doc/live-helper/COPYING
+ rm -f debian/live-helper/usr/share/doc/live-helper/ChangeLog
+ mv debian/live-helper/usr/share/doc/live-helper/ChangeLog.old \
+ debian/live-helper/usr/share/doc/live-helper/changelog.old
binary-arch: build install
binary-indep: build install
dh_testdir
dh_testroot
- dh_installchangelogs ChangeLog
+ dh_installchangelogs doc/ChangeLog
dh_installdocs
dh_install
- dh_installcron
dh_compress
dh_fixperms
dh_installdeb
diff --git a/doc/AUTHORS b/doc/AUTHORS
new file mode 100644
index 0000000..ce0a01a
--- /dev/null
+++ b/doc/AUTHORS
@@ -0,0 +1,4 @@
+Main Authors:
+
+ * Daniel Baumann <daniel@debian.org>
+ * Marco Amadori <marco.amadori@gmail.com>
diff --git a/doc/CREDITS b/doc/CREDITS
new file mode 100644
index 0000000..cf8a3d4
--- /dev/null
+++ b/doc/CREDITS
@@ -0,0 +1,30 @@
+Patches (alphabetical order):
+
+ * Alex Owen <r.a.owen@qmul.ac.uk>
+ * Bas Wijnen <wijnen@debian.org>
+ * Ben Armstrong <synrg@debian.org>
+ * Cedric Lucantis <omer@no-log.org>
+ * Frederic Lehobey <Frederic.Lehobey@free.fr>
+ * Guerkan Senguen <gurkan@linuks.mine.nu>
+ * Hadar Weiss <whadar@gmail.com>
+ * Jason D. Clinton <me@jasonclinton.com>
+ * Kai Hendry <hendry@iki.fi>
+ * Marcelo D. Re <mdre@rectorado.unl.edu.ar>
+ * Markus Bauer <bauer-markus@web.de>
+ * Mathieu Geli <mathieu.geli@gmail.com>
+ * Otavio Salvador <otavio@debian.org>
+ * Scott Edwards <debian@foss.daxal.com>
+ * Sebastian Raveau <sebastien.raveau@epita.fr>
+
+Donations (alphaetical order):
+
+ * Gracie <gracie@bithawk.net>
+
+Special thanks (alphabetical order):
+
+ * Ben Armstrong <synrg@debian.org> for his IRC support.
+ * Jason D. Clinton <me@jasonclinton.com> for his work on netboot type.
+ * Otavio Salvador <otavio@debian.org> for his QA patches.
+ * Sebastian Raveau <sebastien.raveau@epita.fr> for his work on encryption
+ support.
+ * Scott Edwards <debian@foss.daxal.com> for his work on d-i/g-i integration.
diff --git a/doc/ChangeLog b/doc/ChangeLog
new file mode 100644
index 0000000..fff6279
--- /dev/null
+++ b/doc/ChangeLog
@@ -0,0 +1,4 @@
+2007-03-12 Daniel Baumann <daniel@debian.org>
+
+ * Rewritten live-package.
+ * Uploaded 1.0~a1-1.
diff --git a/ChangeLog b/doc/ChangeLog.old
index 03dba64..03dba64 100644
--- a/ChangeLog
+++ b/doc/ChangeLog.old
diff --git a/doc/NEWS b/doc/NEWS
new file mode 100644
index 0000000..3b7dbc7
--- /dev/null
+++ b/doc/NEWS
@@ -0,0 +1,27 @@
+News:
+
+ * 2006-02-14: Project announcement.
+ http://blog.daniel-baumann.ch/2006/02/14#20060214_debian-live-initiative
+
+ * 2006-02-28: Setup project resources.
+ http://blog.daniel-baumann.ch/2006/02/28#20060228_debian-live-resources
+
+ * 2006-03-16: Added support for ISO image generation.
+ http://lists.alioth.debian.org/pipermail/debian-live-devel/2006-March/000048.html
+
+ * 2006-06-02: Added support for netboot image generation.
+ http://lists.alioth.debian.org/pipermail/debian-live-devel/2006-May/000185.html
+
+ * 2006-07-17: Uploaded live-package to Debian unstable.
+ http://packages.debian.org/changelogs/pool/main/l/live-package/current/changelog#versionversion0.99-1
+
+ * 2007-02-05: Setup image autobuild server.
+ http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-February/000764.html
+
+ * 2007-02-10: Added support for USB image generation.
+ http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-February/000790.html
+
+ * 2007-02-17: Added support for encrypted live filesystem.
+ http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-February/000836.html
+
+ * 2007-03-12: Uploaded live-helper to Debian unstable.
diff --git a/doc/README b/doc/README
new file mode 100644
index 0000000..dbccc7c
--- /dev/null
+++ b/doc/README
@@ -0,0 +1,84 @@
+ * lh_config
+
+ * lh_bootstrap
+ |_ lh_cdebootstrap | lh_debootstrap
+
+ * lh_chroot
+ |_ lh_chroot_proc install
+ |_ lh_chroot_sysfs install
+ |_ lh_chroot_debianchroot install
+ |_ lh_chroot_sysvrc install
+ |_ lh_chroot_hosts install
+ |_ lh_chroot_resolv install
+ |_ lh_chroot_apt install
+ |_ lh_chroot_sources install
+ |_ lh_chroot_linuximage install
+ |
+ |_ lh_chroot_tasks
+ |_ lh_chroot_packageslists
+ |_ lh_chroot_packages
+ |_ lh_chroot_localpackages
+ |_ lh_chroot_localpackageslist
+ |_ lh_chroot_localization
+ |_ lh_chroot_hacks
+ |_ lh_chroot_localincludes
+ |_ lh_chroot_sysvinit
+ |_ lh_chroot_hooks
+ |_ lh_chroot_localhooks
+ |_ lh_chroot_symlinks
+ |
+ |_ lh_chroot_linuximage remove
+ |_ lh_chroot_sources remove
+ |_ lh_chroot_apt remove
+ |_ lh_chroot_resolv remove
+ |_ lh_chroot_hosts remove
+ |_ lh_chroot_sysvrc remove
+ |_ lh_chroot_debianchroot remove
+ |_ lh_chroot_sysfs remove
+ |_ lh_chroot_proc remove
+
+ * lh_binary
+ |_ lh_binary_rootfs
+ |_ lh_binary_manifest
+ |_ lh_binary_encryption
+ |
+ |_ lh_chroot_proc install
+ |_ lh_chroot_sysfs install
+ |_ lh_chroot_hosts install
+ |_ lh_chroot_resolv install
+ |_ lh_chroot_sources install
+ |
+ |_ lh_binary_linuximage
+ |_ lh_binary_memtest86
+ |_ lh_binary_syslinux
+ |_ lh_binary_includes
+ |_ lh_binary_localincludes
+ |_ lh_binary_md5sum
+ |
+ |_ lh_binary_iso
+ |_ lh_binary_net
+ |_ lh_binary_usb
+ |
+ |_ rm -f .stage/chroot_sources
+ |_ lh_chroot_resolv remove
+ |_ lh_chroot_hosts remove
+ |_ lh_chroot_sysfs remove
+ |_ lh_chroot_proc remove
+
+ * lh_source
+ |_ lh_chroot_hosts install
+ |_ lh_chroot_resolv install
+ |_ lh_chroot_sources install
+ |
+ |_ lh_source_download
+ |
+ |_ lh_source_generic
+ |_ lh_source_iso
+ |_ lh_source_net
+ |_ lh_source_usb
+ |
+ |_ rm -f .stage/chroot_sources
+ |_ lh_chroot_resolv remove
+ |_ lh_chroot_hosts remove
+
+ * lh_clean
diff --git a/doc/TODO b/doc/TODO
new file mode 100644
index 0000000..b1c0faf
--- /dev/null
+++ b/doc/TODO
@@ -0,0 +1,13 @@
+Fixme:
+
+ * check all Require_stagefile calls
+ * make helpers call required stuff when needed
+ * integrate lh_chroot_hacks
+ * cleanup variable names
+ * do not use full-path anymore
+
+Todo:
+
+ * write manpage and documentation
+ * write lh_binary_di and lh_binary_gi
+ * write lh_binary_grub
diff --git a/doc/faq.txt b/doc/faq.txt
deleted file mode 100644
index e83dcd6..0000000
--- a/doc/faq.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Debian Live Framework: Frequently Asked Questions (FAQ)
-=======================================================
-
-Q: What is the root password?
-A: There is none. You can switch to root with 'sudo su -' or set a password with
- 'sudo passwd'.
-
-Q: What is the user password?
-A: The user password for casper is 'live'.
diff --git a/doc/man/make-live.8 b/doc/man/make-live.8
deleted file mode 100644
index ee2d8d9..0000000
--- a/doc/man/make-live.8
+++ /dev/null
@@ -1,215 +0,0 @@
-.TH MAKE-LIVE 8 "Mon, 4 Sep 2006" "0.99" "Debian Live framework"
-
-.SH NAME
-make-live \- utility to build Debian Live systems
-
-.SH SYNOPSIS
-.B make-live
-.RB [\| \-a \||\| \-\-architecture
-.IR ARCHITECTURE \|]
-.RB [\| \-b \||\| \-\-bootappend
-.IR KERNEL_PARAMETER \||\| \|"KERNEL_PARAMETERS\|" \|]
-.RB [\| \-\-config
-.IR FILE \|]
-.RB [\| \-\-clone
-.IR DIRECTORY \|]
-.RB [\| \-c \||\| \-\-chroot
-.IR DIRECTORY \|]
-.RB [\| \-d \||\| \-\-distribution
-.IR DISTRIBUTION \|]
-.RB [\| \-e \||\| \-\-encryption
-.IR ALGORITHM \|]
-.RB [\| \-\-filesystem
-.IR FILESYSTEM \|]
-.RB [\| \-f \||\| \-\-flavour
-.IR BOOTSTRAP_FLAVOUR \|]
-.RB [\| \-\-hook
-.IR COMMAND \||\| \|"COMMANDS\|" \||\|| FILE \|]
-.RB [\| \-\-include-chroot
-.IR FILE \||\| DIRECTORY \|]
-.RB [\| \-\-include-image
-.IR FILE \||\| DIRECTORY \|]
-.RB [\| \-k \||\| \-\-kernel
-.IR KERNEL_FLAVOUR \|]
-.RB [ \-\-manifest
-.IR PACKAGE \|]
-.RB [\| \-m \||\| \-\-mirror
-.IR URL \|]
-.RB [\| \-\-mirror-security
-.IR URL \|]
-.RB [\| \-\-packages
-.IR PACKAGE \||\| \|"PACKAGES\|" \|]
-.RB [\| \-\-preseed
-.IR FILE \|]
-.RB [\| \-p \||\| \-\-package-list
-.IR LIST \||\| FILE \|]
-.RB [\| \-\-proxy-ftp
-.IR URL \|]
-.RB [\| \-\-proxy-http
-.IR URL \|]
-.RB [\| \-r \||\| \-\-root
-.IR DIRECTORY \|]
-.RB [\| \-s \||\| \-\-sections
-.IR SECTION \||\| \|"SECTIONS\|" \|]
-.RB [\| \-\-server-address
-.IR HOSTNAME \||\| IP \|]
-.RB [\| \-\-server-path
-.IR DIRECTORY \|]
-.RB [\| \-\-templates
-.IR DIRECTORY \|]
-.RB [\| \-t \||\| \-\-type
-.IR TYPE \|]
-.RB [\| \-\-with-generic-indices \|]
-.RB [\| \-\-without-generic-indices \|]
-.RB [\| \-\-with-source \|]
-.RB [\| \-\-without-source \|]
-.PP
-.B make-live
-.RB \-h \||\| \-\-help
-.br
-.B make-live
-.RB \-u \||\| \-\-usage
-.br
-.B make-live
-.RB \-v \||\| \-\-version
-
-.SH DESCRIPTION
-make-live is a utility to build Debian Live systems. It takes a Debian mirror as an input and outputs a live system image (ISO image for CDs and DVDs, or tarball for netboot). make-live is still in the early stage of development, but has basic functionality and can be run successfully.
-
-.SH OPTIONS
-.TP
-.BI "\-a, \-\-architecture " ARCHITECTURE
-build an image for another architecture than the autodetected one. This is usefull for e.g. building i386 images on an amd64 machine. Instead of this flag, the environment variable LIVE_ARCHITECTURE can be used (Default: `dpkg-architecture -qDEB_BUILD_ARCH`).
-.TP
-.BI "\-b, \-\-bootappend " KERNEL_PARAMETER \||\| \|"KERNEL_PARAMETERS\|"
-passes kernel parameters to the bootloader, e.g. 'quiet' or 'vga=792' etc. Instead of this flag, the environment variable LIVE_BOOTAPPEND can be used (Default: empty).
-.TP
-.BI "\-\-config " FILE
-uses another configuration file in addition to the default one. Settings in the additional configuration file do overwrite the settings from /etc/make-live.conf. Instead of this flag, the environment variable LIVE_CONFIG can be used (Default: /etc/make-live.conf).
-.TP
-.BI "\-\-clone " DIRECTORY
-Clones the package selection and configuration from a given root directory. It
-will output the settings to $LIVE_ROOT/preseed.cloned and $LIVE_ROOT/plist.clone
-for easy reuse with \-\-preseed and \-\-package-list. Instead of this flag, the
-environment variable LIVE_CLONE can be used.
-.TP
-.BI "\-c, \-\-chroot " DIRECTORY
-specifies the chroot directory. Instead of this flag, the environment variable LIVE_CHROOT (Default: $LIVE_ROOT/chroot").
-.TP
-.BI "\-d, \-\-distribution " DISTRIBUTION
-specifies the distribution to be used. Allowed values are distributions names like unstable and testing, or codenames like sid and etch. Instead of this flag, the environment variable LIVE_DISTRIBUTION can be used (Default: sid).
-.TP
-.BI "\-e, \-\-encryption " ALGORITHM
-specifies the filesystem encryption algorithm. Does not work if -t is set to plain. Instead of this flag, the environment variable LIVE_ENCRYPTION can be used (Default: empty). Valid algorithms are: AES128, AES192 and AES256.
-.TP
-.BI "\-\-filesystem " FILESYSTEM
-Specifies the filesystem for the compressed image. At the moment, ext2, plain and squashfs are supported. Instead of this flag, the environment variable LIVE_FILESYSTEM can be used (Default: squashfs for iso, plain for net).
-.TP
-.BI "\-f, \-\-flavour " BOOTSTRAP_FLAVOUR
-specifies the bootstrap flavour. This can be either standard or minimal. Instead of this flag, the environment variable LIVE_FLAVOUR can be used (Default: standard).
-.TP
-.BI "\-\-hook " COMMAND \||\| \|"COMMANDS\|" \||\|| FILE
-specifies one or more commands to be executed in the chroot. Instead of this flag, the environment variable LIVE_HOOK can be used (Default: empty).
-.TP
-.BI "\-\-include-chroot " FILE \||\| DIRECTORY
-specifies a file or a directory to be included into the chroot. Instead of this flag, the environment variable LIVE_INCLUDE_CHROOT can be used (Default: empty).
-.TP
-.BI "\-\-include-image " FILE \||\| DIRECTORY
-specifies a file or directory which will be copied inside the image. Instead of this flag, the environment variable LIVE_INCLUDE_IMAGE can be used (Default: empty).
-.TP
-.BI "\-k, \-\-kernel " KERNEL_FLAVOUR
-specifies the kernel image flavour. Instead of this flag, the environment variable LIVE_KERNEL can be used (Default: auto-detected).
-.TP
-.BI "\-\-manifest " PACKAGE
-specifies the last package to install before creating the filesystem.manifest-desktop list, mainly used with ubuntu live, PACKAGE should probably be "ubuntu-live" for ubuntu desktop livecd's. Instead of this flag, the environment variable LIVE_MANIFEST can be used (Default: do not create filesystem.manifest-desktop).
-.TP
-.BI "\-m, \-\-mirror " URL
-specifies the debian mirror where make-live will download the packages from. Instead of this flag, the environment variable LIVE_MIRROR can be used (Default: http://ftp.debian.org/debian).
-.TP
-.BI "\-\-mirror-security" URL
-specifies the debian security mirror where make-live will download the packages from. Instead of this flag, the environment variable LIVE_MIRROR_SECURITY can be used (Default: http://security.debian.org/debian).
-.TP
-.BI "\-\-packages " PACKAGE \||\| \|"PACKAGES\|"
-specifies a list of packages to install into the chroot. Instead of this flag, the environment variable LIVE_PACKAGES can be used (Default: empty).
-.TP
-.BI "\-p, \-\-package-list " FILE
-specifies an external package list file, one package for each line. It overrides list option. Instead of this flag, the environment variable LIVE_PACKAGE_LIST can be used (Default: standard).
-.TP
-.BI "\-\-preseed " FILE
-clone the packages selection and configuration from the provided
-root directory.
-.TP
-.BI "\-\-proxy-ftp " URL
-specifies the value of ftp_proxy inside the chrooted environment. Instead of this flag, the environment variable LIVE_PROXY_FTP can be used (Default: empty).
-.TP
-.BI "\-\-proxy-http " URL
-specifies the value of http_proxy inside the chrooted environment. Instead of this flag, the environment variable LIVE_PROXY_HTTP can be used (Default: empty).
-.TP
-.BI "\-r, \-\-root " DIRECTORY
-specifies the root directory where the images/tarballs are built. Instead of this flag, the environment variable LIVE_ROOT can be used (Default: `pwd`/debian-live).
-.TP
-.BI "\-s, \-\-sections " SECTIONS
-specifies the debian sections. Instead of this flag, the environment variable LIVE_SECTIONS can be used (Default: main).
-.TP
-.BI "\-\-server-address " HOSTNAME \||\| IP
-specifies the server address you want to use for netboot. Instead of this flag, the environment variable LIVE_SERVER_ADDRESS can be used (Default: 192.168.1.1).
-.TP
-.BI "\-\-server-path" DIRECTORY
-specifies the directory on the server, where you have unpacked the netboot image. Instead of this flag, the environment variable LIVE_SERVER_PATH can be used (Default: /srv/debian-live).
-.TP
-.BI "\-\-templates " DIRECTORY
-specifies a templates directory to use instead of the default one. Instead of this flag, the environment variable LIVE_TEMPLATES can be used (Default: /usr/share/make-live/templates).
-.TP
-.BI "\-t, \-\-type " TYPE
-specifies the image type to generate. TYPE can be one of: iso, net, or usb. Instead of this flag, the environment variable LIVE_TYPE can be used (Default: iso).
-.TP
-.B \-\-with-generic-indices
-enables use of generic Debian package indices. Instead of this flag, the environment variable LIVE_GENERIC_INDICES can be used (Default: yes).
-.TP
-.B \-\-without-generic-indices
-disables use of generic Debian package indices. Instead of this flag, the environment variable LIVE_GENERIC_INDICES can be used (Default: yes).
-.TP
-.B \-\-with-source
-enables generation of source images. Instead of this flag, the environment variable LIVE_SOURCE can be used (Default: no).
-.TP
-.B \-\-without-source
-disables generation of source images. Instead of this flag, the environment variable LIVE_SOURCE can be used (Default: no).
-.PP
-.TP
-.B \-h, \-\-help
-display help and exit
-.TP
-.B \-u, \-\-usage
-show usage and exit
-.TP
-.B \-v, \-\-version
-output version information and exit
-
-.SH LISTS
-Every list does already include the Debian standard package selection.
-.TP
-.B gnome | gnome-core | gnome-full
-include GNOME.
-.TP
-.B kde | kde-core | kde-full | kde-extra
-include KDE.
-.TP
-.B x11 | x11-core
-include X-Window-System only.
-.TP
-.B xfce
-include Xfce.
-
-.SH BUGS
-.B make-live
-works fully on amd64 and i386, partially on alpha, hppa, ia64, mips, mipsel, powerpc, s390 and sparc. Other architectures, such as arm and m68k, as well as non-linux ports of Debian, like hurd-i386, are currently not supported.
-
-.SH HOMEPAGE
-Debian Live project <http://live.debian.net/>
-
-.SH SEE ALSO
-.BR make-live.conf(5)
-
-.SH AUTHOR
-make-live was written by Daniel Baumann <daniel@debian.org> and Marco Amadori
-<marco.amadori@gmail.com>.
diff --git a/doc/man/make-live.conf.5 b/doc/man/make-live.conf.5
deleted file mode 100644
index f44351d..0000000
--- a/doc/man/make-live.conf.5
+++ /dev/null
@@ -1,94 +0,0 @@
-.TH MAKE-LIVE.CONF 5 "Mon, 4 Sep 2006" "0.99" "Debian Live framework"
-
-.SH NAME
-make-live.conf \- configuration file for make-live(1)
-
-.SH DESCRIPTION
-make-live is a utility to build Debian Live systems. It takes a Debian mirror as an input and outputs a live system image (ISO image for CDs and DVDs, or tarball for netboot). make-live is still in the early stage of development, but has basic functionality and can be run successfully.
-
-.SH ENVIRONMENT
-.TP
-.B LIVE_ARCHITECTURE
-build an image for another architecture than the autodetected one. This is usefull for e.g. building i386 images on an amd64 machine. Instead of this environment variable, the flag \-a, \-\-architecture can be used (Default: `dpkg-architecture -qDEB_BUILD_ARCH`).
-.TP
-.B LIVE_BOOTAPPEND
-specifies additional bootparameters to the kernel (Default: none).
-.TP
-.B LIVE_CONFIG
-uses another configuration file in addition to the default one, if existing, in /etc/make-live.conf. Settings in the additional configuration file do overwrite the settings from /etc/make-live.conf. Instead of this variable, the flag \-c or \-\-config can be used (Default: empty).
-.TP
-.B LIVE_DISTRIBUTION
-specifies the distribution to be used. Allowed values are all Debian distributions (oldstable, stable, testing, unstable), although only unstable (default) is possible for now. Instead of this environment variable, the flag \-d, \-\-distribution can be used (Default: unstable).
-.TP
-.B LIVE_FLAVOUR
-specifies the bootstrap flavour. This can be either standard (default) or minimal. Instead of this environment variable, the flag \-f, \-\-flavour can be used.
-.TP
-.B LIVE_FILESYSTEM
-specifies the filesystem to be used for the root filesystem image
-(Default: squashfs).
-.TP
-.B LIVE_GENERIC_INDICES
-specifies if generic Debian indices should be used (Default: enable).
-.TP
-.B LIVE_FTPPROXY
-specifies the value of ftp_proxy inside the chrooted environment. Instead of this environment variable, the flag \-\-ftp-proxy can be used (Default: empty).
-.TP
-.B LIVE_HOOK
-specifies one or more commands to be executed in the chroot. Instead of this environment variable, the flag \-\-hook can be used (Default: empty).
-.TP
-.B LIVE_INCLUDE_ROOT
-specifies a file or a directory to be included into the chroot. Instead of this environment variable. the flag \-\-include-root can be used (Default: empty).
-.TP
-.B LIVE_KERNEL
-specifies the kernel image flavour. Instead of this environment variable, the flag \-k, \-\-kernel can be used.
-.TP
-.BI LIVE_MANIFEST
-specifies the last package to install before creating the filesystem.manifest-desktop list, mainly used with ubuntu live, in those system it should probably be set to "ubuntu-live" for ubuntu desktop livecd's (Default: do not create filesystem.manifest-desktop).
-.TP
-.B LIVE_MIRROR
-specifies the debian mirror where make-live will download the packages from. Instead of this environment variable, the flag \-m, \-\-mirror LIVE_MIRROR can be used (Default: http://ftp.debian.org/debian).
-.B LIVE_MIRROR_KEY
-specifies the archive signing key. Instead of this environment variable, the flav \-\-mirror-key can be used (Default: http://ftp-master.debian.org/ziyi_key_2006.asc).
-.TP
-.B LIVE_PACKAGES
-specifies a list of packages to install into the chroot. Instead of this environment variable, the flag \-\-packakges can be used (Default: empty).
-.TP
-.B LIVE_PACKAGE_LIST
-specifies a file which contains a list of packages to install.
-.TP
-.B LIVE_PROXY_FTP
-specifies the value of ftp_proxy inside the chrooted environment. Instead of this environment variable, the flag \-\-ftp-proxy can be used (Default: empty).
-.TP
-.B LIVE_PROXY_HTTP
-specifies the value of http_proxy inside the chrooted environment. Instead of this environment variable, the flag \-\-http-proxy can be used (Default: empty).
-.TP
-.B LIVE_ROOT
-specifies the root directory where the images/tarballs are built. Instead of this environment variable, the flag \-r or \-\-root can bse used (Default: `pwd`/debian-live).
-.B LIVE_SECTIONS
-specifies the debian sections. Instead of this environment variable, the flag \-s, \-\-sections can be used (Default: main).
-.B LIVE_SERVER_ADDRESS
-specifies the IP address or hostname of the netboot server (Default: none).
-.TP
-.B LIVE_SERVER_PATH
-specifies the directory of the chroot on the netboot server (Default: none).
-.TP
-.B LIVE_TEMPLATES
-specifies a directory to be used for templates instead of the default one.
-(Default: "/usr/share/make-live/templates")
-.TP
-.B LIVE_TYPE
-specifies the image type.
-
-.SH BUGS
-.B make-live
-works fully on amd64 and i386, partially on alpha, hppa, ia64, mips, mipsel, powerpc, s390 and sparc. Other architectures, such as arm and m68k, as well as non-linux ports of Debian, like hurd-i386, are currently not supported.
-
-.SH HOMEPAGE
-Debian Live project <http://live.debian.net/>
-
-.SH SEE ALSO
-.BR make-live(1)
-
-.SH AUTHOR
-make-live was written by Daniel Baumann <daniel@debian.org> and Marco Amadori
-<marco.amadori@gmail.com>.
diff --git a/functions/chroot.sh b/functions/chroot.sh
new file mode 100755
index 0000000..60de2dd
--- /dev/null
+++ b/functions/chroot.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# chroot.sh - chroot wrapper
+
+set -e
+
+Chroot ()
+{
+ COMMANDS="${1}"
+
+ # Executing commands in chroot
+ chroot "${LIVE_CHROOT}" /usr/bin/env -i HOME="/root" PATH="/usr/sbin:/usr/bin:/sbin:/bin" TERM="${TERM}" ftp_proxy="${LH_APT_FTPPROXY}" http_proxy="${LH_APT_HTTPPPROXY}" DEBIAN_FRONTEND="${LH_DEBCONF_FRONTEND}" DEBIAN_PRIORITY="${LH_DEBCONF_PRIORITY}" ${COMMANDS}
+}
diff --git a/functions/conffile.sh b/functions/conffile.sh
new file mode 100755
index 0000000..5df00d3
--- /dev/null
+++ b/functions/conffile.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# conffile.sh - handle configuration files
+
+set -e
+
+Read_conffile ()
+{
+ CONFFILE="${1}"
+
+ # Reading configuration file
+ if [ -r "${CONFFILE}" ]
+ then
+ . "${CONFFILE}"
+ fi
+}
diff --git a/functions/defaults.sh b/functions/defaults.sh
new file mode 100755
index 0000000..462c1eb
--- /dev/null
+++ b/functions/defaults.sh
@@ -0,0 +1,384 @@
+#!/bin/sh
+
+# defaults.sh - handle default values
+
+set -e
+
+Set_defaults ()
+{
+ ## config/common
+
+ # Setting package manager
+ if [ -z "${LH_APT}" ]
+ then
+ LH_APT="aptitude"
+ fi
+
+ # Setting apt ftp proxy
+ if [ -z "${LH_APT_FTPPROXY}" ] && [ -n "${ftp_proxy}" ]
+ then
+ LH_APT_FTPPROXY="${ftp_proxy}"
+ else
+ if [ -n "${LH_APT_FTPPROXY}" ] && [ "${LH_APT_FTPRPOXY}" != "${ftp_proxy}" ]
+ then
+ ftp_proxy="${LH_APT_FTPRPOXY}"
+ fi
+ fi
+
+ # Setting apt http proxy
+ if [ -z "${LH_APT_HTTPPROXY}" ] && [ -n "${http_proxy}" ]
+ then
+ LH_APT_HTTPPROXY="${http_proxy}"
+ else
+ if [ -n "${LH_APT_HTTPPROXY}" ] && [ "${LH_APT_HTTPRPOXY}" != "${http_proxy}" ]
+ then
+ http_proxy="${LH_APT_HTTPPROXY}"
+ fi
+ fi
+
+ # Setting apt indices
+ if [ -z "${LH_APT_GENERIC}" ]
+ then
+ LH_APT_GENERIC="enabled"
+ fi
+
+ # Setting apt pdiffs
+ if [ -z "${LH_APT_PDIFFS}" ]
+ then
+ LH_APT_PDIFFS="enabled"
+ fi
+
+ # Setting apt recommends
+ if [ -z "${LH_APT_RECOMMENDS}" ]
+ then
+ LH_APT_RECOMMENDS="enabled"
+ fi
+
+ # Setting bootstrap program
+ if [ -z "${LH_BOOTSTRAP}" ]
+ then
+ if [ -x "/usr/bin/cdebootstrap" ]
+ then
+ LH_BOOTSTRAP="cdebootstrap"
+ elif [ -x "/usr/sbin/debootstrap" ]
+ then
+ LH_BOOTSTRAP="debootstrap"
+ else
+ echo "E: Can't process file /usr/bin/cdebootstrap or /usr/sbin/debootstrap (FIXME)"
+ exit 1
+ fi
+ fi
+
+ # Setting cache option
+ if [ -z "${LH_CACHE}" ]
+ then
+ LH_CACHE="enabled"
+ fi
+
+ # Setting debconf frontend
+ if [ -z "${LH_DEBCONF_FRONTEND}" ]
+ then
+ LH_DEBCONF_FRONTEND="noninteractive"
+ fi
+
+ if [ -z "${LH_DEBCONF_PRIORITY}" ]
+ then
+ LH_DEBCONF_PRIORITY="critical"
+ fi
+
+ # Setting genisoimage
+ if [ -x /usr/bin/genisoimage ]
+ then
+ LH_GENISOIMAGE="genisoimage"
+ elif [ -x /usr/bin/mkisofs ]
+ then
+ LH_GENISOIMAGE="mkisofs"
+ else
+ echo "E: cannot find genisoimage nor mkisofs (FIXME)."
+ exit 1
+ fi
+
+ # Setting root directory
+ if [ -z "${LIVE_ROOT}" ]
+ then
+ LIVE_ROOT="`pwd`/debian-live"
+ fi
+
+ # Setting chroot directory
+ if [ -z "${LIVE_CHROOT}" ]
+ then
+ LIVE_CHROOT="${LIVE_ROOT}/chroot"
+ fi
+
+ ## config/bootstrap
+
+ # Setting architecture string
+ if [ -z "${LIVE_ARCHITECTURE}" ]
+ then
+ if [ -x "/usr/bin/dpkg" ]
+ then
+ LIVE_ARCHITECTURE="`dpkg --print-architecture`"
+ else
+ echo "E: Can't process file /usr/bin/dpkg (FIXME)"
+ fi
+ fi
+
+ # Setting distribution string
+ if [ -z "${LIVE_DISTRIBUTION}" ]
+ then
+ LIVE_DISTRIBUTION="sid"
+ fi
+
+ # Setting distribution configuration string
+ # LIVE_DISTRIBUTION_CONFIG
+
+ # Setting flavour string
+ if [ -z "${LIVE_FLAVOUR}" ]
+ then
+ LIVE_FLAVOUR="standard"
+ fi
+
+ # Setting mirror string
+ if [ -z "${LIVE_MIRROR}" ]
+ then
+ LIVE_MIRROR="http://ftp.debian.org/debian/"
+ fi
+
+ # Setting security mirror string
+ if [ -z "${LIVE_MIRROR_SECURITY}" ]
+ then
+ LIVE_MIRROR_SECURITY="http://security.debian.org/"
+ fi
+
+ # Setting mirror string
+ if [ -z "${LIVE_MIRROR_GENERIC}" ]
+ then
+ LIVE_MIRROR_GENERIC="http://ftp.debian.org/debian/"
+ fi
+
+ # Setting security mirror string
+ if [ -z "${LIVE_MIRROR_GENERIC_SECURITY}" ]
+ then
+ LIVE_MIRROR_GENERIC_SECURITY="http://security.debian.org/"
+ fi
+
+ # Setting sections string
+ if [ -z "${LIVE_SECTIONS}" ]
+ then
+ LIVE_SECTIONS="main"
+ fi
+
+ ## config/chroot
+
+ # Setting kernel flavour string
+ if [ -z "${LIVE_KERNEL}" ]
+ then
+ case "${LIVE_ARCHITECTURE}" in
+ alpha)
+ LIVE_KERNEL="alpha-generic"
+ ;;
+
+ amd64)
+ LIVE_KERNEL="amd64"
+ ;;
+
+ arm)
+ echo "E: You need to specify the linux kernel flavour manually on arm (FIXME)."
+ exit 1
+ ;;
+
+ hppa)
+ LIVE_KERNEL="parisc"
+ ;;
+
+ i386)
+ LIVE_KERNEL="486"
+ ;;
+
+ ia64)
+ LIVE_KERNEL="itanium"
+ ;;
+
+ m68k)
+ LIVE_KERNEL="E: You need to specify the linux kernel flavour manually on m68k."
+ exit 1
+ ;;
+
+ powerpc)
+ LIVE_KERNEL="powerpc"
+ ;;
+
+ s390)
+ LIVE_KERNEL="s390"
+ ;;
+
+ sparc)
+ LIVE_KERNEL="sparc32"
+ ;;
+
+ *)
+ echo "E: Architecture notyet supported (FIXME)"
+ ;;
+ esac
+ fi
+
+ # Set kernel packages
+ if [ -z "${LIVE_KERNEL_PACKAGES}" ]
+ then
+ LIVE_KERNEL_PACKAGES="linux-image-2.6-${LIVE_KERNEL} squashfs-modules-2.6-${LIVE_KERNEL} unionfs-modules-2.6-${LIVE_KERNEL} casper"
+
+ if [ -n "${LIVE_ENCRYPTION}" ]
+ then
+ LIVE_KERNEL_PACKAGES="${LIVE_KERNEL_PACKAGES} loop-aes-modules-2.6-${LIVE_KERNEL} loop-aes-utils"
+ fi
+ fi
+
+ # Setting language string
+ # LIVE_LANGUAGE
+
+ # Setting tasks
+ # LIVE_TASKS
+
+ # Setting packages string
+ # LIVE_PACKAGES
+
+ # Setting packages list string
+ if [ -z "${LIVE_PACKAGES_LIST}" ]
+ then
+ if [ "${LIVE_FLAVOUR}" = "mini" ] || [ "${LIVE_FLAVOUR}" = "minimal" ]
+ then
+ LIVE_PACKAGES_LIST="minimal"
+ else
+ LIVE_PACKAGES_LIST="standard"
+ fi
+ fi
+
+ # Setting tasks string
+ for LIST in ${LIVE_PACKAGES_LIST}
+ do
+ case "${LIST}" in
+ gnome-desktop)
+ LIVE_PACKAGES_LIST="`echo ${LIVE_PACKAGES_LIST} | sed -e 's/gnome-desktop//'` standard-x11"
+ LIVE_TASKS="${LIVE_TASKS} standard laptop desktop gnome-desktop"
+ ;;
+
+ kde-desktop)
+ LIVE_PACKAGES_LIST="`echo ${LIVE_PACKAGES_LIST} | sed -e 's/kde-desktop//'` standard-x11"
+ LIVE_TASKS="${LIVE_TASKS} standard laptop desktop kde-desktop"
+ ;;
+
+ xfce-desktop)
+ LIVE_PACKAGES_LIST="`echo ${LIVE_PACKAGES_LIST} | sed -e 's/xfce-desktop//'` standard-x11"
+ LIVE_TASKS="${LIVE_TASKS} standard laptop desktop xfce-desktop"
+ ;;
+ esac
+ done
+
+ # Setting security updates option
+ if [ -z "${LIVE_SECURITY}" ]
+ then
+ LIVE_SECURITY="enabled"
+ fi
+
+ # Setting symlink convertion option
+ if [ -z "${LIVE_SYMLINKS}" ]
+ then
+ LIVE_SYMLINKS="disabled"
+ fi
+
+ # Setting sysvinit option
+ if [ -z "${LIVE_SYSVINIT}" ] && [ "${LIVE_FLAVOUR}" != "mini" ]
+ then
+ LIVE_SYSVINIT="enabled"
+ else
+ LIVE_SYSVINIT="disabled"
+ fi
+
+ ## config/image
+
+ # Setting boot parameters
+ # LIVE_BOOTAPPEND
+
+ # Setting encryption
+ # LIVE_ENCRYPTION
+
+ # Setting image type
+ if [ -z "${LIVE_BINARY_IMAGE}" ]
+ then
+ LIVE_BINARY_IMAGE="iso"
+ fi
+
+ # Setting image type
+ if [ -z "${LIVE_SOURCE_IMAGE}" ]
+ then
+ if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
+ then
+ LIVE_SOURCE_IMAGE="iso"
+ elif [ "${LIVE_BINARY_IMAGE}" = "usb" ]
+ then
+ LIVE_SOURCE_IMAGE="usb"
+ elif [ "${LIVE_BINARY_IMAGE}" = "net" ]
+ then
+ LIVE_SOURCE_IMAGE="net"
+ fi
+ fi
+
+ # Setting filesystem
+ if [ -z "${LIVE_FILESYSTEM}" ] && [ "${LIVE_BINARY_IMAGE}" = "iso" ]
+ then
+ LIVE_FILESYSTEM="squashfs"
+ elif [ -z "${LIVE_FILESYSTEM}" ] && [ "${LIVE_BINARY_IMAGE}" = "usb" ]
+ then
+ LIVE_FILESYSTEM="squashfs"
+ elif [ -z "${LIVE_FILESYSTEM}" ] && [ "${LIVE_BINARY_IMAGE}" = "net" ]
+ then
+ LIVE_FILESYSTEM="plain"
+ else
+ LIVE_FILESYSTEM="squashfs"
+ fi
+
+ # Setting memtest86 option
+ if [ -z "${LIVE_MEMTEST86}" ]
+ then
+ LIVE_MEMTEST86="enabled"
+ fi
+
+ # Setting iso volume
+ if [ -z "${LIVE_ISO_VOLUME}" ]
+ then
+ LIVE_ISO_VOLUME='Debian Live ${DATE}'
+ fi
+
+ # Setting netboot server address
+ if [ -z "${LIVE_SERVER_ADDRESS}" ]
+ then
+ LIVE_SERVER_ADDRESS="192.168.1.1"
+ fi
+
+ # Setting netboot server path
+ if [ -z "${LIVE_SERVER_PATH}" ]
+ then
+ LIVE_SERVER_PATH="/srv/debian-live"
+ fi
+
+ # Setting source option
+ if [ -z "${LIVE_SOURCE}" ]
+ then
+ LIVE_SOURCE="disabled"
+ fi
+
+ # Setting syslinux
+ if [ -z "${LIVE_SYSLINUX}" ]
+ then
+ LIVE_SYSLINUX="enabled"
+ fi
+
+ # Setting syslinux splash
+ # LIVE_SYSLINUX_SPLASH
+
+ # Setting templates
+ if [ -z "${LIVE_TEMPLATES}" ]
+ then
+ LIVE_TEMPLATES="/usr/share/live-helper/templates"
+ fi
+}
diff --git a/functions/lockfile.sh b/functions/lockfile.sh
new file mode 100755
index 0000000..9eb2f9b
--- /dev/null
+++ b/functions/lockfile.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# lockfile.sh - handle lock files
+
+set -e
+
+Check_lockfile ()
+{
+ LOCKFILE="${1}"
+
+ # Checking lock file
+ if [ -f "${LOCKFILE}" ]
+ then
+ echo "E: system locked"
+ exit 1
+ fi
+}
+
+Create_lockfile ()
+{
+ LOCKFILE="${1}"
+ LOCKDIRECTORY="`dirname ${1}`"
+
+ # Creating lock directory
+ if [ ! -d "${LOCKDIRECTORY}" ]
+ then
+ mkdir -p "${LOCKDIRECTORY}"
+ fi
+
+ # Creating lock file
+ trap "test -f ${LOCKFILE} && \
+ rm -f ${LOCKFILE}; exit 0" 0 2 15
+
+ touch "${LOCKFILE}"
+}
diff --git a/functions/stagefile.sh b/functions/stagefile.sh
new file mode 100755
index 0000000..23c3a34
--- /dev/null
+++ b/functions/stagefile.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# stagefile.sh - handle stage files
+
+set -e
+
+Check_stagefile ()
+{
+ STAGEFILE="${1}"
+ STAGENAME="`basename ${1}`"
+
+ # Checking stage file
+ if [ -f "${STAGEFILE}" ]
+ then
+ echo "W: skipping ${STAGENAME}"
+ exit 0
+ fi
+}
+
+Create_stagefile ()
+{
+ STAGEFILE="${1}"
+ STAGEDIRECTORY="`dirname ${1}`"
+
+ # Creating stage directory
+ if [ ! -d "${STAGEDIRECTORY}" ]
+ then
+ mkdir -p "${STAGEDIRECTORY}"
+ fi
+
+ # Creating stage file
+ touch "${STAGEFILE}"
+}
+
+Require_stagefile ()
+{
+ STAGEFILE="${1}"
+ STAGENAME="`basename ${1}`"
+
+ # Checking stage file
+ if [ ! -f "${STAGEFILE}" ]
+ then
+ echo "E: ${STAGENAME} missing"
+ exit 1
+ fi
+}
diff --git a/functions/version.sh b/functions/version.sh
new file mode 100755
index 0000000..2d5ff20
--- /dev/null
+++ b/functions/version.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# version.sh - handle version information
+
+DATE="`date +%Y%m%d`"
+VERSION="1.0~a1"
diff --git a/helpers/Makefile b/helpers/Makefile
deleted file mode 100644
index f2f31d4..0000000
--- a/helpers/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# Makefile
-
-all: install
-
-install:
- install -d -m 0755 $(DESTDIR)/usr/sbin/
- install -m 0755 lh_* $(DESTDIR)/usr/sbin
-
-uninstall:
-
-reinstall: install
diff --git a/helpers/lh_binary b/helpers/lh_binary
new file mode 100755
index 0000000..36dc722
--- /dev/null
+++ b/helpers/lh_binary
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# lh_image(1) - building the images
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+# Building root filesystem
+lh_binary_rootfs
+lh_binary_manifest
+lh_binary_encryption
+
+# Configuring chroot
+lh_chroot_proc install
+lh_chroot_sysfs install
+lh_chroot_hosts install
+lh_chroot_resolv install
+lh_chroot_sources install
+
+# Prepare images
+lh_binary_linuximage
+lh_binary_memtest86
+lh_binary_syslinux
+lh_binary_includes
+lh_binary_localincludes
+lh_binary_md5sum
+
+# Building images
+lh_binary_iso
+lh_binary_net
+lh_binary_usb
+
+# Deconfiguring chroot
+rm -f .stage/chroot_sources
+lh_chroot_resolv remove
+lh_chroot_hosts remove
+lh_chroot_sysfs remove
+lh_chroot_proc remove
diff --git a/helpers/lh_binary_encryption b/helpers/lh_binary_encryption
new file mode 100755
index 0000000..9df73b2
--- /dev/null
+++ b/helpers/lh_binary_encryption
@@ -0,0 +1,73 @@
+#!/bin/sh
+
+# lh_binary_encryption(1) - encrypts rootfs
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+Require_stagefile "${LIVE_ROOT}"/.stage/binary_rootfs
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_encryption
+
+if [ -n "${LIVE_ENCRYPTION}" ]
+then
+ if [ ! -x /usr/bin/aespipe ]
+ then
+ echo "E: aespipe is missing (FIXME)."
+ exit 1
+ fi
+
+ case "${LIVE_FILESYSTEM}" in
+ ext2)
+ ROOTFS="ext2"
+ ;;
+
+ plain)
+ echo "W: encryption not supported on plain filesystem."
+ exit 0
+ ;;
+
+ squashfs)
+ ROOTFS="squashfs"
+ ;;
+ esac
+
+ echo "Encrypting ${LIVE_ROOT}/binary/casper/filesystem.${ROOTFS} with ${LIVE_ENCRYPTION}..."
+
+ while true
+ do
+ cat ${LIVE_ROOT}/binary/casper/filesystem.${ROOTFS} | aespipe -e "${LIVE_ENCRYPTION}" -T > "${LIVE_ROOT}"/binary/casper/filesystem.${ROOTFS} && break
+
+ echo -n "Something went wrong... Retry? [YES/no] "
+
+ read ANSWER
+
+ if [ 'no' = "${ANSWER}" ]
+ then
+ unset ANSWER
+ break
+ fi
+ done
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/binary_encryption
+fi
diff --git a/helpers/lh_binary_includes b/helpers/lh_binary_includes
new file mode 100755
index 0000000..b170514
--- /dev/null
+++ b/helpers/lh_binary_includes
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# lh_binary_includes(1) - copy files into binary
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_includes
+
+if ls /usr/share/live-helper/includes/common/* &> /dev/null
+then
+ cp -r /usr/share/live-helper/includes/common/* "${LIVE_ROOT}"/binary
+fi
+
+if ls /usr/share/live-helper/includes/"${LIVE_BINARY_IMAGE}"/* &> /dev/null
+then
+ cp -r /usr/share/live-helper/includes/"${LIVE_BINARY_IMAGE}"/* "${LIVE_ROOT}"/binary
+fi
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/binary_includes
diff --git a/helpers/lh_binary_iso b/helpers/lh_binary_iso
new file mode 100755
index 0000000..d39313f
--- /dev/null
+++ b/helpers/lh_binary_iso
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# lh_binary_iso(1) - build iso binary image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_iso
+
+for IMAGE in ${LIVE_BINARY_IMAGE}
+do
+ if [ "${IMAGE}" = "iso" ]
+ then
+ # Remove old binary
+ if [ -f "${LIVE_ROOT}"/binary.iso ]
+ then
+ rm -f "${LIVE_ROOT}"/binary.iso
+ fi
+
+ # Create image
+ if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
+ then
+ ${LH_GENISOIMAGE} -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "${LIVE_ISO_VOLUME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
+ else
+ echo "W: Bootloader on your architecture not yet supported (Continuing in 5 seconds)."
+ sleep 5
+ ${LH_GENISOIMAGE} -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "${LIVE_ISO_VOLUME}" "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/binary_iso
+ fi
+done
diff --git a/helpers/lh_binary_linuximage b/helpers/lh_binary_linuximage
new file mode 100755
index 0000000..d332c53
--- /dev/null
+++ b/helpers/lh_binary_linuximage
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# lh_binary_linuximage(1) - install linux-image into binary
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_linuximage
+
+# Removing initrd backup files
+rm -f "${LIVE_CHROOT}"/boot/initrd*bak*
+
+# Setting destination directory
+case "${LIVE_BINARY_IMAGE}" in
+ iso)
+ DESTDIR="${LIVE_ROOT}/binary/isolinux"
+ ;;
+
+ net)
+ DESTDIR="${LIVE_ROOT}/tftpboot"
+ ;;
+
+ usb)
+ DESTDIR="${LIVE_ROOT}/binary"
+ ;;
+esac
+
+# Creating directory
+if [ ! -d "${DESTDIR}" ]
+then
+ mkdir -p "${DESTDIR}"
+fi
+
+# Installing linux-image
+cp "${LIVE_CHROOT}"/boot/vmlinuz* "${DESTDIR}"/vmlinuz
+cp "${LIVE_CHROOT}"/boot/initrd.img* "${DESTDIR}"/initrd.gz
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/binary_linuximage
diff --git a/helpers/lh_binary_localincludes b/helpers/lh_binary_localincludes
new file mode 100755
index 0000000..2aa6547
--- /dev/null
+++ b/helpers/lh_binary_localincludes
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# lh_binary_localincludes(1) - copy files into binary
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_localincludes
+
+if ls "${LIVE_ROOT}"/config/binary_localincludes/* &> /dev/null
+then
+ cd "${LIVE_ROOT}"/config/binary_localincludes
+
+ # Copying includes
+ find . | cpio -dmpu "${LIVE_ROOT}"/binary
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/binary_localincludes
+fi
diff --git a/helpers/lh_binary_manifest b/helpers/lh_binary_manifest
new file mode 100755
index 0000000..d109280
--- /dev/null
+++ b/helpers/lh_binary_manifest
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# lh_binary_manifest(1) - create manifest
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_manifest
+
+# Add filesystem.manifest
+Chroot "dpkg --get-selections" | awk '{ print $1 }' | sort -u > "${LIVE_ROOT}"/binary/casper/filesystem.manifest
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/binary_manifest
diff --git a/helpers/lh_binary_md5sum b/helpers/lh_binary_md5sum
new file mode 100755
index 0000000..9ab3f35
--- /dev/null
+++ b/helpers/lh_binary_md5sum
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# lh_binary_md5sum(1) - create md5sum.txt
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_md5sum
+
+# Remove old md5sums
+if [ -f "${LIVE_ROOT}"/binary/md5sum.txt ]
+then
+ rm -f "${LIVE_ROOT}"/binary/md5sum.txt
+fi
+
+# Calculating md5sums
+cd "${LIVE_ROOT}"/binary
+find . -type f -print0 | xargs -0 md5sum > "${LIVE_ROOT}"/md5sum.txt
+cd "${OLDPWD}"
+
+if [ -d "${LIVE_INCLUDE_IMAGE}" ]
+then
+ cd "${LIVE_INCLUDE_IMAGE}"
+ find . -type f -print0 | xargs -0 md5sum >> "${LIVE_ROOT}"/md5sum.txt
+ cd "${OLDPWD}"
+fi
+
+mv "${LIVE_ROOT}"/md5sum.txt "${LIVE_ROOT}"/binary
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/binary_md5sum
diff --git a/helpers/lh_binary_memtest86 b/helpers/lh_binary_memtest86
new file mode 100755
index 0000000..95952af
--- /dev/null
+++ b/helpers/lh_binary_memtest86
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# lh_binary_memtest86(1) - installs memtest86+
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_memtest86
+
+if [ "${LIVE_ARCHITECTURE}" != "amd64" ] && [ "${LIVE_ARCHITECTURE}" != "i386" ]
+then
+ echo "W: skipping binary_memtest86, foreign architecture."
+ exit 0
+fi
+
+if [ "${LIVE_MEMTEST86}" = "enabled" ]
+then
+ if [ ! -f "${LIVE_CHROOT}"/boot/memtest86+.bin ]
+ then
+ PACKAGES="${PACKAGES} memtest86+"
+ fi
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Installing symlinks
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+
+ case "${LIVE_BINARY_IMAGE}" in
+ iso)
+ DESTDIR="${LIVE_ROOT}/binary/isolinux"
+ ;;
+
+ net)
+ DESTDIR="${LIVE_ROOT}/tftpboot"
+ ;;
+
+ usb)
+ DESTDIR="${LIVE_ROOT}/binary"
+ ;;
+ esac
+
+ # Creating directory
+ if [ ! -d "${DESTDIR}" ]
+ then
+ mkdir -p "${DESTDIR}"
+ fi
+
+ # Installing memtest86+
+ cp "${LIVE_ROOT}"/chroot/boot/memtest86+.bin "${DESTDIR}"/memtest
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Removing syslinux
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get remove --purge --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude purge --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/binary_memtest86
+fi
diff --git a/helpers/lh_binary_net b/helpers/lh_binary_net
new file mode 100755
index 0000000..6281448
--- /dev/null
+++ b/helpers/lh_binary_net
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# lh_binary_net(1) - build netboot binary image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_net
+
+for IMAGE in ${LIVE_BINARY_IMAGE}
+do
+ if [ "${IMAGE}" = "net" ]
+ then
+ # Remove old binary
+ if [ -f "${LIVE_ROOT}"/binary.tar.gz ]
+ then
+ rm -f "${LIVE_ROOT}"/binary.tar.gz
+ fi
+
+ # Creating image file
+ cd "${LIVE_ROOT}" && \
+ mv binary "`basename ${LIVE_SERVER_PATH}`" && \
+ cd .. && \
+ tar cfz binary.tar.gz "`basename ${LIVE_ROOT}`/`basename ${LIVE_SERVER_PATH}`" "`basename ${LIVE_ROOT}`/tftpboot" && \
+ mv binary.tar.gz "${LIVE_ROOT}" && \
+ cd "${OLDPWD}" && \
+ mv "`basename ${LIVE_SERVER_PATH}`" binary
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/binary_net
+ fi
+done
diff --git a/helpers/lh_binary_rootfs b/helpers/lh_binary_rootfs
new file mode 100755
index 0000000..bbb2153
--- /dev/null
+++ b/helpers/lh_binary_rootfs
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+# lh_binary_rootfs(1) - build rootfs image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_rootfs
+
+# Creating directory
+if [ ! -d "${LIVE_ROOT}"/binary/casper ]
+then
+ mkdir -p "${LIVE_ROOT}"/binary/casper
+fi
+
+case "${LIVE_FILESYSTEM}" in
+ ext2)
+ if [ -f "${LIVE_ROOT}"/binary/casper/filesystem.ext2 ]
+ then
+ rm -f "${LIVE_ROOT}"/binary/casper/filesystem.ext2
+ fi
+
+ DU_DIM="`du -ks ${LIVE_CHROOT} | cut -f1`"
+ REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
+
+ genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root="${LIVE_CHROOT}" "${LIVE_ROOT}"/binary/casper/filesystem.ext2
+ ;;
+
+ plain)
+ if [ -d "${LIVE_ROOT}"/binary/casper/filesystem.dir ]
+ then
+ rm -rf "${LIVE_ROOT}"/binary/casper/filesystem.dir
+ fi
+
+ cd "${LIVE_CHROOT}"
+ find . | cpio -pumd "${LIVE_ROOT}"/binary/casper/filesystem.dir
+ cd "${OLDPWD}"
+ ;;
+
+ squashfs)
+ if [ -f "${LIVE_ROOT}"/binary/casper/filesystem.squashfs ]
+ then
+ rm "${LIVE_ROOT}"/binary/casper/filesystem.squashfs
+ fi
+
+ if [ "${LIVE_FLAVOUR}" = "minimal" ] || [ "${LIVE_FLAVOUR}" = "mini" ]
+ then
+ mksquashfs "${LIVE_CHROOT}" "${LIVE_ROOT}"/binary/casper/filesystem.squashfs -e "${LIVE_CHROOT}"/boot/vmlinuz* "${LIVE_CHROOT}"/boot/initrd.img* "${LIVE_CHROOT}"/vmlinuz "${LIVE_CHROOT}"/initrd.img "${LIVE_CHROOT}"/boot/config-* "${LIVE_CHROOT}"/boot/System.map-*
+ else
+ mksquashfs "${LIVE_CHROOT}" "${LIVE_ROOT}"/binary/casper/filesystem.squashfs
+ fi
+ ;;
+esac
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/binary_rootfs
diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
new file mode 100755
index 0000000..5384232
--- /dev/null
+++ b/helpers/lh_binary_syslinux
@@ -0,0 +1,152 @@
+#!/bin/sh
+
+# lh_binary_syslinux(1) - installs syslinux
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_syslinux
+
+if [ "${LIVE_ARCHITECTURE}" != "amd64" ] && [ "${LIVE_ARCHITECTURE}" != "i386" ]
+then
+ echo "W: skipping binary_syslinux, foreign architecture."
+ exit 0
+fi
+
+if [ "${LIVE_SYSLINUX}" = "enabled" ]
+then
+ if [ ! -f "${LIVE_CHROOT}"/usr/bin/syslinux ]
+ then
+ PACKAGES="${PACKAGES} syslinux"
+ fi
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Installing symlinks
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+
+ if [ -n "${LIVE_ENCRYPTION}" ]
+ then
+ LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} encryption=${LIVE_ENCRYPTION}"
+ fi
+
+ case "${LIVE_BINARY_IMAGE}" in
+ iso)
+ # Copying syslinux
+ mkdir -p "${LIVE_ROOT}"/binary/isolinux
+ cp "${LIVE_CHROOT}"/usr/lib/syslinux/isolinux.bin "${LIVE_ROOT}"/binary/isolinux
+ cp -r "${LIVE_TEMPLATES}"/syslinux/* "${LIVE_ROOT}"/binary/isolinux
+
+ # Copying splash screen
+ if [ -n "${LIVE_SYSLINUX_SPLASH}" ]
+ then
+ cp "${LIVE_SYSLINUX_SPLASH}" "${LIVE_ROOT}/binary/isolinux/splash.rle"
+ fi
+
+ # Configure syslinux templates
+ sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/binary/isolinux/isolinux.cfg
+ sed -i -e "s/LIVE_DATE/${DATE}/" "${LIVE_ROOT}"/binary/isolinux/f1.txt
+ sed -i -e "s/LIVE_VERSION/${VERSION}/" "${LIVE_ROOT}"/binary/isolinux/f10.txt
+
+ # Remove unused files
+ rm -f "${LIVE_ROOT}"/binary/isolinux/pxelinux.cfg
+ ;;
+
+ net)
+ # Copying syslinux
+ mkdir -p "${LIVE_ROOT}"/tftpboot
+ cp "${LIVE_CHROOT}"/usr/lib/syslinux/pxelinux.0 "${LIVE_ROOT}"/tftpboot
+
+ # Install syslinux templates
+ mkdir -p "${LIVE_ROOT}"/tftpboot/pxelinux.cfg
+ cp -r "${LIVE_TEMPLATES}"/syslinux/* "${LIVE_ROOT}"/tftpboot/pxelinux.cfg
+ mv "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/pxelinux.cfg "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/default
+ sed -i -e 's#splash.rle#pxelinux.cfg/splash.rle#' "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/isolinux.txt
+
+ # Copying splash screen
+ if [ -n "${LIVE_SYSLINUX_SPLASH}" ]
+ then
+ cp "${LIVE_SYSLINUX_SPLASH}" "${LIVE_ROOT}/tftpboot/pxelinux.cfg/splash.rle"
+ fi
+
+ # Configure syslinux templates
+ sed -i -e "s/LIVE_SERVER_ADDRESS/${LIVE_SERVER_ADDRESS}/" -e "s#LIVE_SERVER_PATH#${LIVE_SERVER_PATH}#" -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/default
+ sed -i -e "s/LIVE_DATE/${DATE}/" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/f1.txt
+ sed -i -e "s/LIVE_VERSION/${VERSION}/" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/f10.txt
+
+ # Remove unused files
+ rm -f "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/isolinux.cfg
+ ;;
+
+ usb)
+ # Copying syslinux
+ mkdir -p "${LIVE_ROOT}"/binary
+ cp "${LIVE_CHROOT}"/usr/lib/syslinux/isolinux.bin "${LIVE_ROOT}"/binary/syslinux.bin
+ cp -r "${LIVE_TEMPLATES}"/syslinux/* "${LIVE_ROOT}"/binary
+ mv "${LIVE_ROOT}"/binary/isolinux.cfg "${LIVE_ROOT}"/binary/syslinux.cfg
+ mv "${LIVE_ROOT}"/binary/isolinux.txt "${LIVE_ROOT}"/binary/syslinux.txt
+ sed -i -e "s/isolinux.txt/syslinux.txt/" "${LIVE_ROOT}"/binary/syslinux.cfg
+
+ # Copying splash screen
+ if [ -n "${LIVE_SYSLINUX_SPLASH}" ]
+ then
+ cp "${LIVE_SYSLINUX_SPLASH}" "${LIVE_ROOT}/binary/splash.rle"
+ fi
+
+ # Configure syslinux templates
+ sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/binary/syslinux.cfg
+ sed -i -e "s/LIVE_DATE/${DATE}/" "${LIVE_ROOT}"/binary/f1.txt
+ sed -i -e "s/LIVE_VERSION/${VERSION}/" "${LIVE_ROOT}"/binary/f10.txt
+
+ # Remove unused files
+ rm -f "${LIVE_ROOT}"/binary/pxelinux.cfg
+ ;;
+ esac
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Removing syslinux
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get remove --purge --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude purge --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/binary_syslinux
+fi
diff --git a/helpers/lh_binary_usb b/helpers/lh_binary_usb
new file mode 100755
index 0000000..ec0d13f
--- /dev/null
+++ b/helpers/lh_binary_usb
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+# lh_binary_usb(1) - build binary image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/binary_usb
+
+for IMAGE in ${LIVE_BINARY_IMAGE}
+do
+ if [ "${IMAGE}" = "usb" ]
+ then
+ if [ ! -f "${LIVE_CHROOT}"/sbin/mkdosfs ]
+ then
+ PACKAGES="${PACKAGES} dosfstools"
+ fi
+
+ if [ ! -f "${LIVE_CHROOT}"/usr/bin/mtools ]
+ then
+ PACKAGES="${PACKAGES} mtools"
+ fi
+
+ if [ ! -f "${LIVE_CHROOT}"/sbin/parted ]
+ then
+ PACKAGES="${PACKAGES} parted"
+ fi
+
+ if [ ! -f "${LIVE_CHROOT}"/usr/bin/syslinux ]
+ then
+ PACKAGES="${PACKAGES} syslinux"
+ fi
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Installing packages
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+
+ # Remove old binary
+ if [ -f "${LIVE_ROOT}"/binary.img ]
+ then
+ rm -f "${LIVE_ROOT}"/binary.img
+ fi
+
+ # Everything which comes here needs to be cleaned up,
+ DU_DIM="`du -ms ${LIVE_ROOT}/binary | cut -f1`"
+ REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
+ dd if=/dev/zero of="${LIVE_ROOT}"/binary.img bs=1024k count=${REAL_DIM}
+ FREELO="`losetup -f`"
+ if [ ! -b "${LIVE_CHROOT}"/${FREELO} ]
+ then
+ MAKEDEV="true"
+ Chroot "cd /dev && ./MAKEDEV ${FREELO}"
+ fi
+
+ echo "!!! The following error/warning messages can be ignored !!!"
+ lh_losetup $FREELO "${LIVE_ROOT}"/binary.img 0
+ Chroot "parted -s ${FREELO} mklabel msdos" || true
+ Chroot "parted -s ${FREELO} mkpartfs primary fat16 0.0 100%" || true
+ Chroot "parted -s ${FREELO} set 1 boot on" || true
+ Chroot "parted -s ${FREELO} set 1 lba off" || true
+ cat "${LIVE_CHROOT}"/usr/lib/syslinux/mbr.bin > ${FREELO}
+ losetup -d ${FREELO}
+
+ lh_losetup $FREELO "${LIVE_ROOT}"/binary.img 1
+ Chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}"
+ mkdir -p "${LIVE_ROOT}"/binary.tmp
+ mount ${FREELO} "${LIVE_ROOT}"/binary.tmp
+ cp -r "${LIVE_ROOT}"/binary/* "${LIVE_ROOT}"/binary.tmp
+ umount "${LIVE_ROOT}"/binary.tmp
+ rmdir "${LIVE_ROOT}"/binary.tmp
+ Chroot "syslinux ${FREELO}"
+ losetup -d ${FREELO}
+ echo "!!! The above error/warning messages can be ignored !!!"
+
+ if [ -n "${MAKEDEV}" ]
+ then
+ rm -f "${LIVE_CHROOT}"/${FREELO}
+ fi
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Removing packages
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get remove --purge --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude purge --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/binary_usb
+done
diff --git a/helpers/lh_bootstrap b/helpers/lh_bootstrap
new file mode 100755
index 0000000..9d1170d
--- /dev/null
+++ b/helpers/lh_bootstrap
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# lh_bootstrap(1) - bootstrap a Debian system
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Set_defaults
+
+# Bootstrapping system
+lh_bootstrap_"${LH_BOOTSTRAP}"
diff --git a/helpers/lh_bootstrap_cdebootstrap b/helpers/lh_bootstrap_cdebootstrap
new file mode 100755
index 0000000..c5602a6
--- /dev/null
+++ b/helpers/lh_bootstrap_cdebootstrap
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+# lh_bootstrap_cdebootstrap(1) - bootstrap a Debian system with cdebootstrap(1)
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Ensure that a system is built as root
+lh_testroot
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Set_defaults
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating root directory
+if [ ! -d "${LIVE_ROOT}" ]
+then
+ mkdir -p "${LIVE_ROOT}"
+fi
+
+# Creating chroot directory
+if [ ! -d "${LIVE_CHROOT}" ]
+then
+ mkdir -p "${LIVE_CHROOT}"
+fi
+
+# Setting cdebootstrap options
+if [ -n "${LIVE_ARCHITECTURE}" ]
+then
+ CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --arch=${LIVE_ARCHITECTURE}"
+fi
+
+if [ -n "${LIVE_DISTRIBUTION_CONFIG}" ]
+then
+ CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --suite-config=${LIVE_DISTRIBUTION_CONFIG}"
+fi
+
+if [ "${LIVE_FLAVOUR}" = "mini" ] || [ "${LIVE_FLAVOUR}" = "minimal" ] || [ "${LIVE_FLAVOUR}" = "minimal-net" ]
+then
+ CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=minimal"
+else
+ CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=standard"
+fi
+
+if [ -x "/usr/bin/cdebootstrap" ]
+then
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/bootstrap ]
+ then
+ mkdir -p "${LIVE_CHROOT}"/var/cache/bootstrap
+ cp "${LIVE_ROOT}"/cache/bootstrap/*.deb "${LIVE_CHROOT}"/var/cache/bootstrap
+ fi
+
+ if [ "${LH_CACHE}" = "enabled" ]
+ then
+ # Executing cdebootstrap (download-only)
+ cdebootstrap ${CDEBOOTSTRAP_OPTIONS} --download-only "${LIVE_DISTRIBUTION}" "${LIVE_CHROOT}" "${LIVE_MIRROR}"
+
+ # Removing old cache
+ if [ -d "${LIVE_ROOT}"/cache/bootstrap ]
+ then
+ rm -f "${LIVE_ROOT}"/cache/bootstrap/*.deb
+ fi
+
+ # Saving new cache
+ if [ ! -d "${LIVE_ROOT}"/cache/bootstrap ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/bootstrap
+ fi
+
+ cp "${LIVE_CHROOT}"/var/cache/bootstrap/*.deb "${LIVE_ROOT}"/cache/bootstrap
+ fi
+
+ # Executing cdebootstrap (regular run)
+ cdebootstrap ${CDEBOOTSTRAP_OPTIONS} "${LIVE_DISTRIBUTION}" "${LIVE_CHROOT}" "${LIVE_MIRROR}"
+else
+ echo "E: Can't process file /usr/bin/cdebootstrap (FIXME)"
+ exit 1
+fi
+
+# Removing bootstrap cache
+if [ -d "${LIVE_CHROOT}/var/cache/bootstrap" ]
+then
+ rm -rf "${LIVE_CHROOT}"/var/cache/bootstrap
+fi
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/bootstrap
diff --git a/helpers/lh_bootstrap_debootstrap b/helpers/lh_bootstrap_debootstrap
new file mode 100755
index 0000000..42009cb
--- /dev/null
+++ b/helpers/lh_bootstrap_debootstrap
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+# lh_bootstrap_debootstrap(1) - bootstrap a Debian system with debootstrap(8)
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Ensure that a system is built as root
+lh_testroot
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Set_defaults
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating root directory
+if [ ! -d "${LIVE_ROOT}" ]
+then
+ mkdir -p "${LIVE_ROOT}"
+fi
+
+# Creating chroot directory
+if [ ! -d "${LIVE_CHROOT}" ]
+then
+ mkdir -p "${LIVE_CHROOT}"
+fi
+
+# Setting debootstrap options
+if [ -n "${LIVE_ARCHITECTURE}" ]
+then
+ DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --arch ${LIVE_ARCHITECTURE}"
+fi
+
+if [ -n "${LIVE_BOOTSTRAP_CONFIG}" ]
+then
+ LIVE_DEBOOTSTRAP_SCRIPT="/usr/lib/debootstrap/scripts/${LIVE_BOOTSTRAP_CONFIG}"
+fi
+
+if [ -x "/usr/sbin/debootstrap" ]
+then
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/bootstrap ]
+ then
+ mkdir -p "${LIVE_CHROOT}"/var/cache/apt/archives
+ cp "${LIVE_ROOT}"/cache/bootstrap/*.deb "${LIVE_CHROOT}"/var/cache/apt/archives
+ fi
+
+ if [ "${LH_CACHE}" = "enabled" ]
+ then
+ # Executing debootstrap (download-only)
+ debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LIVE_DISTRIBUTION}" "${LIVE_CHROOT}" "${LIVE_MIRROR}" "${LIVE_DEBOOTSTRAP_SCRIPT}"
+
+ # Removing old cache
+ if [ -d "${LIVE_ROOT}"/cache/bootstrap ]
+ then
+ rm -f "${LIVE_ROOT}"/cache/bootstrap/*.deb
+ fi
+
+ # Saving new cache
+ if [ ! -d "${LIVE_ROOT}"/cache/bootstrap ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/bootstrap
+ fi
+
+ cp "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb "${LIVE_ROOT}"/cache/bootstrap
+ fi
+
+ # Executing debootstrap (regular run)
+ debootstrap ${DEBOOTSTRAP_OPTIONS} "${LIVE_DISTRIBUTION}" "${LIVE_CHROOT}" "${LIVE_MIRROR}" "${LIVE_DEBOOTSTRAP_SCRIPT}"
+else
+ echo "E: Can't process file /usr/bin/debootstrap (FIXME)"
+ exit 1
+fi
+
+# Removing bootstrap cache
+rm -rf "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/bootstrap
diff --git a/helpers/lh_build b/helpers/lh_build
new file mode 100755
index 0000000..1d839a9
--- /dev/null
+++ b/helpers/lh_build
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# lh_build(1) - build a Debian system
+
+set -e
+
+# Bootstrapping system
+lh_bootstrap
+
+# Customizing chroot
+lh_chroot
+
+# Building binary image
+lh_binary
+
+# Building source image
+lh_source
diff --git a/helpers/lh_buildbinary b/helpers/lh_buildbinary
deleted file mode 100755
index 2a11c9b..0000000
--- a/helpers/lh_buildbinary
+++ /dev/null
@@ -1,200 +0,0 @@
-#!/bin/sh
-
-# lh_buildbinary
-
-if [ ! -f "${LIVE_ROOT}"/.stage/image_binary ]
-then
- # Configure chroot
- lh_patchchroot apply
- lh_patchrunlevel apply
-
- # Configure network
- lh_patchnetwork apply
-
- mkdir -p "${LIVE_ROOT}"/binary/casper
- for MANIFEST in "${LIVE_ROOT}"/filesystem.manifest*
- do
- if [ -e "${MANIFEST}" ]; then
- mv "${MANIFEST}" "${LIVE_ROOT}"/binary/casper/
- fi
- done
-
- if [ "${LIVE_TYPE}" = "Net" ]
- then
- # Mount proc
- mount proc-live -t proc "${LIVE_CHROOT}"/proc
-
- # Installing smbfs
- lh_chroot "aptitude install --assume-yes smbfs"
-
- # Unmount proc
- umount "${LIVE_CHROOT}"/proc
-
- if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
- then
- if [ ! -d "${LIVE_CHROOT}"/etc/initramfs-tools ]
- then
- mkdir "${LIVE_CHROOT}"/etc/initramfs-tools
- fi
-
- # Configuring initramfs for NFS
-cat >> "${LIVE_CHROOT}"/etc/initramfs-tools/initramfs.conf << EOF
-MODULES=netboot
-BOOT=nfs
-NFSROOT=auto
-EOF
- lh_chroot "update-initramfs -tu"
- fi
- fi
-
- lh_cleanapt
-
- # Switching package indices to default
- if [ "${LIVE_GENERIC_INDICES}" = "yes" ]
- then
- lh_setupapt default
- lh_configapt deapply-proxy
- lh_configapt deapply-recommends
- fi
-
- # Deconfigure network
- lh_patchnetwork deapply
-
- # Deconfigure chroot
- lh_patchrunlevel deapply
- lh_patchchroot deapply
-
- # Generating rootfs image
- lh_genrootfs
-
- # Configure chroot
- lh_patchchroot apply
- lh_patchrunlevel apply
-
- # Configure network
- lh_patchnetwork apply
-
- lh_cleanapt
-
- # Switching package indices to custom
- lh_setupapt custom
- lh_configapt apply-proxy
- lh_configapt apply-recommends
-
- case "${LIVE_TYPE}" in
- Iso)
- TYPE=iso
- ;;
- Usb)
- TYPE=usb
- ;;
- Net)
- TYPE=net
- ;;
- esac
-
- # Mount proc
- mount proc-live -t proc "${LIVE_CHROOT}"/proc
-
- # Install depends
- lh_depends install $TYPE
-
- # Installing syslinux
- lh_installsyslinux $TYPE
-
- # Installing linux-image
- lh_installlinux $TYPE
-
- # Installing memtest
- lh_installmemtest86+ $TYPE
-
- # Deconfigure network
- lh_patchnetwork deapply
-
- # Deconfigure chroot
- lh_patchrunlevel deapply
- lh_patchchroot deapply
-
- # Installing templates
- if [ "${LIVE_FLAVOUR}" != "minimal" ] || [ "${LIVE_FLAVOUR}" != "mini" ]
- then
- if [ "${TYPE}" != "usb" ]
- then
- cp -r "${LIVE_TEMPLATES}"/common/* "${LIVE_ROOT}"/binary
- fi
-
- if [ "${TYPE}" = "iso" ] || [ "${TYPE}" = "usb" ]
- then
- cp -r "${LIVE_TEMPLATES}"/iso/* "${LIVE_ROOT}"/binary
- fi
- fi
-
- # Calculating md5sums
- lh_md5sums
-
- case "${TYPE}" in
- iso)
- if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
- then
- # Create image
- ${GENISOIMAGE} -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "${LIVE_DISK_VOLUME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
- else
- echo "W: Bootloader on your architecture not yet supported (Continuing in 5 seconds)."
- sleep 5
- # Create image
- ${GENISOIMAGE} -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "${LIVE_DISK_VOLUME}" "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
- fi
- ;;
-
- net)
- cd "${LIVE_ROOT}" && \
- mv binary "`basename ${LIVE_SERVER_PATH}`" && \
- cd .. && \
- tar cfz binary.tar.gz "`basename ${LIVE_ROOT}`/`basename ${LIVE_SERVER_PATH}`" "`basename ${LIVE_ROOT}`/tftpboot" && \
- mv binary.tar.gz "${LIVE_ROOT}" && \
- cd "${OLDPWD}" && \
- mv "`basename ${LIVE_SERVER_PATH}`" binary
- ;;
-
- usb)
- # Everything which comes here needs to be cleaned up,
- DU_DIM="`du -ms ${LIVE_ROOT}/binary | cut -f1`"
- REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
- dd if=/dev/zero of="${LIVE_ROOT}"/binary.img bs=1024k count=${REAL_DIM}
-
- FREELO="`lh_chroot 'losetup -f'`"
-
- echo "!!! The following error/warning messages can be ignored !!!"
- lh_losetup $FREELO "${LIVE_ROOT}"/binary.img 0
- set +e
- lh_chroot "parted -s ${FREELO} mklabel msdos"
- lh_chroot "parted -s ${FREELO} mkpartfs primary fat16 0.0 100%"
- lh_chroot "parted -s ${FREELO} set 1 boot on"
- lh_chroot "parted -s ${FREELO} set 1 lba off"
- set -e
- cat "${LIVE_CHROOT}"/usr/lib/syslinux/mbr.bin > ${FREELO}
- losetup -d ${FREELO}
-
- lh_losetup $FREELO "${LIVE_ROOT}"/binary.img 1
- lh_chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}"
- mkdir "${LIVE_ROOT}"/binary.tmp
- mount ${FREELO} "${LIVE_ROOT}"/binary.tmp
- cp -r "${LIVE_ROOT}"/binary/* "${LIVE_ROOT}"/binary.tmp
- umount "${LIVE_ROOT}"/binary.tmp
- rmdir "${LIVE_ROOT}"/binary.tmp
- lh_chroot "syslinux ${FREELO}"
- losetup -d ${FREELO}
-
- echo "!!! The above error/warning messages can be ignored !!!"
- ;;
- esac
-
- # Remove depends
- lh_depends remove $TYPE
-
- # Unmount proc
- umount "${LIVE_CHROOT}"/proc
-
- # Touching stage file
- touch "${LIVE_ROOT}"/.stage/image_binary
-fi
diff --git a/helpers/lh_buildsource b/helpers/lh_buildsource
deleted file mode 100755
index 836bd3c..0000000
--- a/helpers/lh_buildsource
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/sh
-
-# lh_buildsource.sh <type>
-
-if [ ! -f "${LIVE_ROOT}"/.stage/image_source ] && [ "${LIVE_SOURCE}" = "yes" ]
-then
- # Configure chroot
- lh_patchnetwork apply
-
- # Download sources
- lh_chroot "dpkg --get-selections" | awk '{ print $1 }' > "${LIVE_CHROOT}"/root/dpkg-selection.txt
- lh_chroot "xargs --arg-file=/root/dpkg-selection.txt apt-get source --download-only"
- rm -f "${LIVE_CHROOT}"/root/dpkg-selection.txt
-
- # Sort sources
- for DSC in "${LIVE_CHROOT}"/*.dsc
- do
- SOURCE="`awk '/Source:/ { print $2; }' ${DSC}`"
-
- if [ "`echo ${SOURCE} | cut -b 1-3`" == "lib" ]
- then
- LETTER="`echo ${SOURCE} | cut -b 1-4`"
- else
- LETTER="`echo ${SOURCE} | cut -b 1`"
- fi
-
- # Install directory
- install -d -m 0755 "${LIVE_ROOT}"/source/"${LETTER}"/"${SOURCE}"
-
- # Move files
- mv "${LIVE_CHROOT}"/"${SOURCE}"_* "${LIVE_ROOT}"/source/"${LETTER}"/"${SOURCE}"
- done
-
- case "${1}" in
- generic)
- # Create tarball
- tar cf source.tar "$LIVE_ROOT"/source
- ;;
-
- iso)
- # Create image
- ${GENISOIMAGE} -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"source.iso -r -J -l -V "${LIVE_DISK_VOLUME}" "${LIVE_ROOT}"/source
- ;;
-
- net)
- # Create tarball
- tar cfz source.tar.gz "${LIVE_ROOT}"/source
- ;;
-
- usb)
- # Create image
- DU_DIM="`du -ms ${LIVE_ROOT}/source | cut -f1`"
- REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
- dd if=/dev/zero of="${LIVE_ROOT}"/source.img bs=1024k count=${REAL_DIM}
- FREELO=`losetup -f`
-
- echo "!!! The following error/warning messages can be ignored !!!"
- lh_losetup $FREELO "${LIVE_ROOT}"/source.img 0
- set +e
- lh_chroot "parted -s ${FREELO} mklabel msdos"
- lh_chroot "parted -s ${FREELO} mkpartfs primary fat16 0.0 100%"
- lh_chroot "parted -s ${FREELO} set 1 lba off"
- set -e
- losetup -d ${FREELO}
-
- lh_losetup $FREELO "${LIVE_ROOT}"/source.img 1
- lh_chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}"
- mkdir "${LIVE_ROOT}"/source.tmp
- mount ${FREELO} "${LIVE_ROOT}"/source.tmp
- cp -r "${LIVE_ROOT}"/source/* "${LIVE_ROOT}"/source.tmp
- umount "${LIVE_ROOT}"/source.tmp
- rmdir "${LIVE_ROOT}"/source.tmp
- losetup -d ${FREELO}
- echo "!!! The above error/warning messages can be ignored !!!"
- ;;
- esac
-
-
- # Deconfigure network
- lh_patchnetwork deapply
-
- # Touching stage file
- touch "${LIVE_ROOT}"/.stage/image_source
-fi
diff --git a/helpers/lh_cdebootstrap b/helpers/lh_cdebootstrap
deleted file mode 100755
index c1f0d7a..0000000
--- a/helpers/lh_cdebootstrap
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-if [ ! -f "${LIVE_ROOT}"/.stage/bootstrap ]
-then
- # Create chroot directory
- if [ ! -d "${LIVE_CHROOT}" ]
- then
- mkdir -p "${LIVE_CHROOT}"
- fi
-
- if [ -n "${LIVE_BOOTSTRAP_CONFIG}" ]; then
- SUITE_CONFIG="--suite-config ${LIVE_BOOTSTRAP_CONFIG}"
- fi
-
- # Bootstrap system
- if [ "${LIVE_FLAVOUR}" = "mini" ]
- then
- cdebootstrap --arch="${LIVE_ARCHITECTURE}" --flavour=minimal ${SUITE_CONFIG} "${LIVE_DISTRIBUTION}" "${LIVE_CHROOT}" "${LIVE_MIRROR}"
- else
- cdebootstrap --arch="${LIVE_ARCHITECTURE}" --flavour="${LIVE_FLAVOUR}" ${SUITE_CONFIG} "${LIVE_DISTRIBUTION}" "${LIVE_CHROOT}" "${LIVE_MIRROR}"
- fi
-
- # Remove package cache
- rm -rf "${LIVE_CHROOT}"/var/cache/bootstrap
-
- # Touching stage file
- if [ ! -d "${LIVE_ROOT}"/.stage ]
- then
- mkdir "${LIVE_ROOT}"/.stage
- fi
-
- touch "${LIVE_ROOT}"/.stage/bootstrap
-fi
diff --git a/helpers/lh_chroot b/helpers/lh_chroot
index 511cdca..75f3174 100755
--- a/helpers/lh_chroot
+++ b/helpers/lh_chroot
@@ -1,6 +1,50 @@
#!/bin/sh
-# lh_chroot.sh <command>
+# lh_chroot(1) - customize the Debian system
-# Execute commands chrooted
-chroot "${LIVE_CHROOT}" /usr/bin/env -i HOME="/root" PATH="/usr/sbin:/usr/bin:/sbin:/bin" TERM="${TERM}" ftp_proxy="${LIVE_PROXY_FTP}" http_proxy="${LIVE_PPROXY_HTTP}" DEBIAN_FRONTEND="${LIVE_DEBCONF_FRONTEND}" DEBIAN_PRIORITY="${LIVE_DEBCONF_PRIORITY}" ${1}
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Configuring chroot
+lh_chroot_proc install
+lh_chroot_sysfs install
+lh_chroot_debianchroot install
+lh_chroot_sysvrc install
+lh_chroot_hosts install
+lh_chroot_resolv install
+lh_chroot_apt install
+lh_chroot_sources install
+lh_chroot_linuximage install
+
+# Customizing chroot
+lh_chroot_tasks
+lh_chroot_packageslist
+lh_chroot_packages
+lh_chroot_localpackages
+lh_chroot_localpackageslist
+lh_chroot_localization
+lh_chroot_hacks
+lh_chroot_localincludes
+lh_chroot_sysvinit
+lh_chroot_hooks
+lh_chroot_localhooks
+lh_chroot_symlinks
+
+# Deconfiguring chroot
+lh_chroot_linuximage remove
+lh_chroot_sources remove
+lh_chroot_apt remove
+lh_chroot_resolv remove
+lh_chroot_hosts remove
+lh_chroot_sysvrc remove
+lh_chroot_debianchroot remove
+lh_chroot_sysfs remove
+lh_chroot_proc remove
diff --git a/helpers/lh_chroot_apt b/helpers/lh_chroot_apt
new file mode 100755
index 0000000..3983923
--- /dev/null
+++ b/helpers/lh_chroot_apt
@@ -0,0 +1,141 @@
+#!/bin/sh
+
+# lh_chroot_apt(1) - manage /etc/apt/apt.conf
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_apt
+
+ if [ "${LH_APT}" = "aptitude" ] && [ ! -d "${LIVE_CHROOT}"/etc/apt/apt.conf.d ]
+ then
+ mkdir -p "${LIVE_CHROOT}"/etc/apt/apt.conf.d
+ fi
+
+ # Configuring apt ftp proxy
+ if [ -n "${LH_APT_FTPPROXY}" ]
+ then
+ case "${LH_APT}" in
+ apt)
+ echo "Acquire::ftp::Proxy \"${LH_APT_FTPPROXY}\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
+ ;;
+
+ aptitude)
+ echo "Acquire::ftp::Proxy \"${LH_APT_FTPPROXY}\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/ftp-proxy
+ ;;
+ esac
+ fi
+
+ # Configuring apt http proxy
+ if [ -n "${LH_APT_HTTPPROXY}" ]
+ then
+ case "${LH_APT}" in
+ apt)
+ echo "Acquire::http::Proxy \"${LH_APT_HTTPPROXY}\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
+ ;;
+
+ aptitude)
+ echo "Acquire::http::Proxy \"${LH_APT_HTTPPROXY}\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/http-proxy
+ ;;
+ esac
+ fi
+
+ # Configuring apt pdiffs
+ if [ "${LH_APT_PDIFFS}" = "enabled" ]
+ then
+ case "${LH_APT}" in
+ apt)
+ echo "Acquire::PDiffs \"true\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
+ ;;
+
+ aptitude)
+ echo "Acquire::PDiffs \"true\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/pdiffs
+ ;;
+ esac
+ else
+ case "${LH_APT}" in
+ apt)
+ echo "Acquire::PDiffs \"false\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
+ ;;
+
+ aptitude)
+ echo "Acquire::PDiffs \"false\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/pdiffs
+ ;;
+ esac
+ fi
+
+ # Configuring apt recommends
+ if [ "${LH_APT_RECOMMENDS}" = "enabled" ]
+ then
+ case "${LH_APT}" in
+ apt)
+ echo "Aptitude::Recommends-Important \"true\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
+ ;;
+
+ aptitude)
+ echo "Aptitude::Recommends-Important \"true\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/recommends
+ ;;
+ esac
+ else
+ case "${LH_APT}" in
+ apt)
+ echo "Aptitude::Recommends-Important \"false\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
+ ;;
+
+ aptitude)
+ echo "Aptitude::Recommends-Important \"false\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/recommends
+ ;;
+ esac
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_apt
+ ;;
+
+ remove)
+ # Deconfiguring apt settings
+ rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf
+
+ # Deconfiguring aptitude ftp proxy
+ rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/ftp-proxy
+
+ # Deconfiguring aptitude http proxy
+ rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/http-proxy
+
+ # Deconfiguring aptitude pdiffs
+ rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/pdiffs
+
+ # Deconfiguring aptitude recommends
+ rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/recommends
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_apt
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_debianchroot b/helpers/lh_chroot_debianchroot
new file mode 100755
index 0000000..6272fe0
--- /dev/null
+++ b/helpers/lh_chroot_debianchroot
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+# lh_chroot_debianchroot(1) - manage /etc/debian_chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_debianchroot
+
+ if [ -f "${LIVE_CHROOT}"/etc/debian_chroot ]
+ then
+ # Save chroot file
+ mv "${LIVE_CHROOT}"/etc/debian_chroot "${LIVE_CHROOT}"/etc/debian_chroot.orig
+ fi
+
+ # Create chroot file
+ echo "live" > "${LIVE_CHROOT}"/etc/debian_chroot
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_debianchroot
+ ;;
+
+ remove)
+ if [ -f "${LIVE_CHROOT}"/etc/debian_chroot.orig ]
+ then
+ # Restore chroot file
+ mv "${LIVE_CHROOT}"/etc/debian_chroot.orig "${LIVE_CHROOT}"/etc/debian_chroot
+ else
+ # Remove chroot file
+ rm -f "${LIVE_CHROOT}"/etc/debian_chroot
+ fi
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_debianchroot
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_hacks b/helpers/lh_chroot_hacks
new file mode 100755
index 0000000..5535458
--- /dev/null
+++ b/helpers/lh_chroot_hacks
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# lh_chroot_hacks(1) - execute hacks in chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_hacks
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${LIVE_BINARY_IMAGE}" in
+ net)
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes smbfs"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes smbfs"
+ ;;
+ esac
+
+ if [ ! -d "${LIVE_CHROOT}"/etc/initramfs-tools ]
+ then
+ mkdir "${LIVE_CHROOT}"/etc/initramfs-tools
+ fi
+
+ # Configuring initramfs for NFS
+cat >> "${LIVE_CHROOT}"/etc/initramfs-tools/initramfs.conf << EOF
+MODULES=netboot
+BOOT=nfs
+NFSROOT=auto
+EOF
+ ;;
+esac
+
+# Update initramfs
+Chroot "update-initramfs -tu"
+
+# Creating stage file
+Create_stagefile "${LIVE_ROOT}"/.stage/chroot_hacks
diff --git a/helpers/lh_chroot_hooks b/helpers/lh_chroot_hooks
new file mode 100755
index 0000000..727eed9
--- /dev/null
+++ b/helpers/lh_chroot_hooks
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# lh_chroot_hooks(1) - execute hooks in chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_hooks
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Processing hooks
+if [ -n "${LIVE_PACKAGES_LIST}" ] && [ -f /usr/share/live-helper/hooks/"${LIVE_PACKAGES_LIST}" ]
+then
+ # Copying hook
+ cp /usr/share/live-helper/hooks/"${LIVE_PACKAGES_LIST}" "${LIVE_CHROOT}"/root
+
+ # Making hook executable
+ if [ -x "${LIVE_CHROOT}"/root/${LIVE_PACKAGES_LIST} ]
+ then
+ chmod +x "${LIVE_CHROOT}"/root/${LIVE_PACKAGES_LIST}
+ fi
+
+ # Executing hook
+ Chroot "/root/${LIVE_PACKAGES_LIST}"
+
+ # Removing hook
+ rm -f "${LIVE_CHROOT}"/root/"${LIVE_PACKAGE_LIST}"
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_hooks
+fi
diff --git a/helpers/lh_chroot_hosts b/helpers/lh_chroot_hosts
new file mode 100755
index 0000000..d1c1607
--- /dev/null
+++ b/helpers/lh_chroot_hosts
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# lh_chroot_hosts(1) - manage /etc/hosts
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_hosts
+
+ if [ -f "${LIVE_CHROOT}"/etc/hosts ]
+ then
+ # Save hosts file
+ cp "${LIVE_CHROOT}"/etc/hosts "${LIVE_CHROOT}"/etc/hosts.orig
+ fi
+
+ if [ -f /etc/hosts ]
+ then
+ # Copy hosts file
+ cp /etc/hosts "${LIVE_CHROOT}"/etc/hosts
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_hosts
+ ;;
+
+ remove)
+ if [ -f "${LIVE_CHROOT}"/etc/hosts.orig ]
+ then
+ # Restore hosts file
+ mv "${LIVE_CHROOT}"/etc/hosts.orig "${LIVE_CHROOT}"/etc/hosts
+ else
+ # Remove hosts file
+ rm -f "${LIVE_CHROOT}"/etc/hosts
+ fi
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_hosts
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_linuximage b/helpers/lh_chroot_linuximage
new file mode 100755
index 0000000..354c507
--- /dev/null
+++ b/helpers/lh_chroot_linuximage
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+# lh_chroot_linuximage(1) - manage /etc/kernel-img.conf
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_linuximage
+
+ if [ -f "${LIVE_CHROOT}"/etc/kernel-img.conf ]
+ then
+ # Saving kernel-img.conf
+ cp "${LIVE_CHROOT}"/etc/kernel-img.conf "${LIVE_CHROOT}"/etc/kernel-img.conf.old
+ fi
+
+ # Configuring kernel-img.conf
+ echo "do_initrd = Yes" >> "${LIVE_CHROOT}"/etc/kernel-img.conf
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_linuximage
+
+ # Installing linux-image, modules and casper
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes ${LIVE_KERNEL_PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes ${LIVE_KERNEL_PACKAGES}"
+ ;;
+ esac
+ ;;
+
+ remove)
+ if [ -f "${LIVE_CHROOT}"/etc/kernel-img.conf.old ]
+ then
+ # Restoring kernel-img.conf file
+ mv "${LIVE_CHROOT}"/etc/kernel-img.conf.old "${LIVE_CHROOT}"/etc/kernel-img.conf
+ else
+ # Removing kernel-img.conf file
+ rm -f "${LIVE_CHROOT}"/etc/kernel-img.conf
+ fi
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_linuximage
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_localhooks b/helpers/lh_chroot_localhooks
new file mode 100755
index 0000000..4d0bf3b
--- /dev/null
+++ b/helpers/lh_chroot_localhooks
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# lh_chroot_localhooks(1) - execute hooks in chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_localhooks
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Processing localhooks
+if ls "${LIVE_ROOT}"/config/chroot_localhooks/* &> /dev/null
+then
+ for HOOK in "${LIVE_ROOT}"/config/chroot_localhooks/*
+ do
+ # Copying hook
+ cp "${HOOK}" "${LIVE_CHROOT}"/root
+
+ # Making hook executable
+ if [ -x "${LIVE_CHROOT}"/root/"${HOOK}" ]
+ then
+ chmod +x "${LIVE_CHROOT}"/root/${HOOK}
+ fi
+
+ # Executing hook
+ Chroot "/root/`basename ${HOOK}`"
+
+ # Removing hook
+ rm -f "${LIVE_CHROOT}"/"`basename ${HOOK}`"
+ done
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_localhooks
+fi
diff --git a/helpers/lh_chroot_localincludes b/helpers/lh_chroot_localincludes
new file mode 100755
index 0000000..4c0957a
--- /dev/null
+++ b/helpers/lh_chroot_localincludes
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# lh_chroot_localincludes(1) - copy files into chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_localincludes
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+if ls "${LIVE_ROOT}"/config/chroot_localincludes/* &> /dev/null
+then
+ cd "${LIVE_ROOT}"/config/chroot_localincludes
+
+ # Copying includes
+ find . | cpio -dmpu "${LIVE_CHROOT}"
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_localincludes
+fi
diff --git a/helpers/lh_chroot_localization b/helpers/lh_chroot_localization
new file mode 100755
index 0000000..bbf05bf
--- /dev/null
+++ b/helpers/lh_chroot_localization
@@ -0,0 +1,695 @@
+#!/bin/sh
+
+# lh_chroot_localization(1) - install localization packages into chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_localization
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Setting localizations
+if [ -n "${LIVE_LANGUAGE}" ]
+then
+ case "${LIVE_LANGUAGE}" in
+ af)
+ # Afrikaans
+ LOCALIZATIONS="iceweasel kde openoffice"
+ ;;
+
+ as-in)
+ # Assamese
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ ar)
+ # Arabic
+ LOCALIZATIONS="iceweasel kde openoffice"
+ ;;
+
+ az)
+ # Azerbaijani
+ LOCALIZATIONS="kde"
+ ;;
+
+ be)
+ # Belarusian
+ LOCALIZATIONS="iceape iceweasel openoffice"
+
+ # Overrides
+ OPENOFFICE="be-by"
+ ;;
+
+ bg)
+ # Bulgarian
+ LOCALIZATIONS="icedove iceweasel kde openoffice"
+ ;;
+
+ bn)
+ # Bengali
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ br)
+ # Breton
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ bs)
+ # Bosnian
+ LOCALIZATION="kde openoffice"
+ ;;
+
+ ca)
+ # Catalan
+ LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
+ ;;
+
+ cs)
+ # Czech
+ LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
+ ;;
+
+ cy-gb)
+ # Welsh
+ LOCALIZATIONS="iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="cy"
+ KOFFICE="cy"
+ OPENOFFICE="cy"
+ ;;
+
+ da)
+ # Danish
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+ ;;
+
+ de)
+ # German
+ LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
+ ;;
+
+ dz-bt)
+ # Dzongkha
+ LOCALIZATIONS="iceweasel openoffice"
+
+ # Overrides
+ OPENOFFICE="dz"
+ ;;
+
+ el)
+ # Greek
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+ ;;
+
+ en-gb)
+ # English (Great Britain)
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="engb"
+ KOFFICE="engb"
+ ;;
+
+ en-za)
+ # English (South Africa)
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ eo)
+ # Esperanto
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ es-ar)
+ # Spanish (Argentina)
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="es"
+ KOFFICE="es"
+ OPENOFFICE="es"
+ ;;
+
+ es-es)
+ # Spanish (Spain)
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="es"
+ KOFFICE="es"
+ OPENOFFICE="es"
+ ;;
+
+ et-ee)
+ # Estonian
+ LOCALIZATIONS="iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="et"
+ KOFFICE="et"
+ OPENOFFICE="et"
+ ;;
+
+ eu)
+ # Basque
+ LOCALIZATIONS="icedove iceweasel kde koffice"
+ ;;
+
+ fa-ir)
+ # Persian
+ LOCALIZATIONS="iceweasel kde openoffice"
+
+ # Overrides
+ KDE="fa"
+ OPENOFFICE="fa"
+ ;;
+
+ fi)
+ # Finnish
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+ ;;
+
+ fr)
+ # French
+ LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
+ ;;
+
+ fur-it)
+ # Furlan
+ LOCALIZATIONS="iceweasel"
+ ;;
+
+ fy-nl)
+ # Frisian
+ LOCALIZATIONS="iceweasel kde"
+
+ # Overrides
+ KDE="fy"
+ ;;
+
+ ga-ie)
+ # Irish (Ireland)
+ LOCALIZATIONS="icedove iceweasel kde openoffice"
+
+ # Overrides
+ ICEDOVE="ga"
+ KDE="ga"
+ OPENOFFICE="ga"
+ ;;
+
+ gl)
+ # Galician
+ LOCALIZATIONS="kde"
+ ;;
+
+ gu-in)
+ # Gujarati (India)
+ LOCALIZATIONS="icedove iceweasel openoffice"
+
+ # Overrides
+ ICEDOVE="gu"
+ ;;
+
+ he)
+ # Hebrew
+ LOCALIZATIONS="iceape icedove iceweasel kde openoffice"
+ ;;
+
+ hi)
+ # Hindi
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ hr)
+ # Croatian
+ LOCALIZATIONS="kde koffice openoffice"
+ ;;
+
+ hu)
+ # Hungarian
+ LOCALIZATIONS="icedove iceweasel kde openoffice"
+ ;;
+
+ in)
+ # Indic
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ is)
+ # Icelandic
+ LOCALIZATIONS="kde"
+ ;;
+
+ it)
+ # Italian
+ LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
+ ;;
+
+ ja)
+ # Japanese
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+ ;;
+
+ ka)
+ # Georgian
+ LOCALIZATIONS="iceweasel openoffice"
+ ;;
+
+ km)
+ # Khmer
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ ko)
+ # Korean
+ LOCALIZATIONS="icedove iceweasel kde openoffice"
+ ;;
+
+ ku)
+ # Kurdish
+ LOCALIZATIONS="iceweasel openoffice"
+ ;;
+
+ lo)
+ # Lao
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ lt)
+ # Lithuanian
+ LOCALIZATIONS="icedove iceweasel kde openoffice"
+ ;;
+
+ lv)
+ # Latvian
+ LOCALIZATIONS="kde koffice openoffice"
+ ;;
+
+ mk)
+ # Macedonian
+ LOCALIZATIONS="icedove iceweasel kde openoffice"
+ ;;
+
+ ml-in)
+ # Malayalam
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ mn)
+ # Mongolian
+ LOCALIZATIONS="iceweasel kde"
+ ;;
+
+ ms)
+ # Malay
+ LOCALIZATIONS="kde koffice"
+ ;;
+
+ nb-no)
+ # Bokmaal (Norway)
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+
+ # Overrides
+ ICEDOVE="nb"
+ KDE="nb"
+ KOFFICE="nb"
+ OPENOFFICE="nb"
+ ;;
+
+ nds)
+ # Low Saxon
+ LOCALIZATIONS="kde"
+ ;;
+
+ ne)
+ # Nepalese
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ nl)
+ # Dutch
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+ ;;
+
+ nn-no)
+ # Nynorsk (Norway)
+ LOCALIZATIONS="iceweasel kde openoffice"
+
+ # Overrides
+ KDE="nn"
+ OPENOFFICE="nn"
+ ;;
+
+ nr)
+ # Ndebele
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ ns)
+ # Northernsotho
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ or-in)
+ # Oriya
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ pa-in)
+ # Punjabi (India)
+ LOCALIZATIONS="icedove iceweasel kde openoffice"
+
+ # Overrides
+ ICEDOVE="pa"
+ KDE="pa"
+ ;;
+
+ pl)
+ # Polish
+ LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
+ ;;
+
+ pt-br)
+ # Portugese (Brazil)
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="ptbr"
+ KOFFICE="ptbr"
+ ;;
+
+ pt-pt)
+ # Portugese (Portugal)
+ LOCALIZATIONS="iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="pt"
+ KOFFICE="pt"
+ OPENOFFICE="pt"
+ ;;
+
+ ro)
+ # Romanian
+ LOCALIZATIONS="iceweasel kde"
+ ;;
+
+ roa-es-val)
+ # Valencian (Spain)
+ LOCALIZATIONS="iceweasel"
+ ;;
+
+ ru)
+ # Russian
+ LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
+ ;;
+
+ rw)
+ # Kinarwanda
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ se)
+ # Northern Sami
+ LOCALIZATIONS="kde"
+ ;;
+
+ sk)
+ # Slovak
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+ ;;
+
+ sl)
+ # Slovenian
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+ ;;
+
+ sr-cs)
+ # Serbian
+ LOCALIZATIONS="kde koffice openoffice"
+
+ # Overrides
+ KDE="sr"
+ KOFFICE="sr"
+ ;;
+
+ sr-latin)
+ # Latin Serbian
+ LOCALIZATIONS="kde koffice"
+
+ # Overrides
+ KDE="srlatin"
+ KOFFICE="srlatin"
+ ;;
+
+ ss)
+ # Swazi
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ st)
+ # Southern_sotho
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ sv-se)
+ # Swedish
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+
+ # Overrides
+ ICEDOVE="sv"
+ KDE="sv"
+ KOFFICE="sv"
+ OPENOFFICE="sv"
+ ;;
+
+ ta-in)
+ # Tamil
+ LOCALIZATIONS="kde openoffice"
+
+ # Overrides
+ KDE="ta"
+ ;;
+
+ te-in)
+ # Telugu
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ tg)
+ # Tajik
+ LOCALIZATIONS="kde openoffice"
+ ;;
+
+ th)
+ # Thai
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ tn)
+ # Tswana
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ tr)
+ # Turkish
+ LOCALIZATIONS="icedove iceweasel kde kofffice openoffice"
+ ;;
+
+ ts)
+ # Tsonga
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ uk-ua)
+ # Ukrainian
+ LOCALIZATIONS="icedove iceweasel kde kofffice openoffice"
+
+ # Overrides
+ ICEDOVE="uk"
+ KDE="uk"
+ KDE="uk"
+ OPENOFFICE="uk"
+ ;;
+
+ uz)
+ # Uzbek
+ LOCALIZATIONS="kde"
+ ;;
+
+ ve)
+ # Venda
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ vi)
+ # Vietnamese
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ xh)
+ # Xhosa
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ za)
+ # South African
+ LOCALIZATIONS="openoffice"
+ ;;
+
+ zh-cn)
+ # Chinese (China)
+ LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="zhcn"
+ KOFFICE="zhcn"
+ ;;
+
+ zh-tw)
+ # Chinese (Taiwan)
+ LOCALIZATIONS="iceweasel kde koffice openoffice"
+
+ # Overrides
+ KDE="zhtw"
+ KOFFICE="zhtw"
+ ;;
+
+ zu)
+ # Zulu
+ LOCALIZATIONS="openoffice"
+ ;;
+ esac
+
+ # Setting languages
+ if [ -z "${ICEAPE}" ]
+ then
+ ICEAPE="${LIVE_LANGUAGE}"
+ fi
+
+ if [ -z "${ICEDOCE}" ]
+ then
+ ICEDOVE="${LIVE_LANGUAGE}"
+ fi
+
+ if [ -z "${ICEWEASEL}" ]
+ then
+ ICEWEASEL="${LIVE_LANGUAGE}"
+ fi
+
+ if [ -z "${KDE}" ]
+ then
+ KDE="${LIVE_LANGUAGE}"
+ fi
+
+ if [ -z "${KOFFICE}" ]
+ then
+ KOFFICE="${LIVE_LANGUAGE}"
+ fi
+
+ if [ -z "${OPENOFFICE}" ]
+ then
+ OPENOFFICE="${LIVE_LANGUAGE}"
+ fi
+
+ # Setting packages
+ for LOCALIZATION in ${LOCALIZATIONS}
+ do
+ case "${LOCALZATION}" in
+ iceape)
+ if [ -f "${LIVE_CHROOT}"/usr/bin/iceape ]
+ then
+ PACKAGES="${PACKAGES} iceweasel-l10n-${ICEAPE}"
+ fi
+ ;;
+
+ icedove)
+ if [ -f "${LIVE_CHROOT}"/usr/bin/icedove ]
+ then
+ PACKAGES="${PACKAGES} icedove-locale-${ICEDOVE}"
+ fi
+ ;;
+
+ iceweasel)
+ if [ -f "${LIVE_CHROOT}"/usr/bin/iceweasel ]
+ then
+ PACKAGES="${PACKAGES} iceweasel-l10n-${ICEWEASEL}"
+ fi
+ ;;
+
+ kde)
+ if [ -f "${LIVE_CHROOT}"/usr/bin/kstart ]
+ then
+ PACKAGES="${PACKAGES} kde-i18n-${KDE}"
+ fi
+ ;;
+
+ koffice)
+ if [ -f "${LIVE_CHROOT}" ]
+ then
+ PACKAGES="${PACKAGES} koffice-i18n-${KOFFICE}"
+ fi
+ ;;
+
+ openoffice)
+ if [ -f "${LIVE_CHROOT}"/usr/bin/ooffice ]
+ then
+ PACKAGES="${PACKAGES} openoffice.org-l10n-${OPENOFFICE}"
+ fi
+ ;;
+ esac
+ done
+
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/chroot_localization ]
+ then
+ cp "${LIVE_ROOT}"/cache/chroot_localization/*.deb "${LIVE_CHROOT}"/var/cache/apt/archives
+ fi
+
+ # Installing packages
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "apt-get install --assume-yes ${PACKAGES}"
+ ;;
+ esac
+
+ # Saving new cache
+ Chroot "apt-get autoclean"
+
+ if ls "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb &> /dev/null
+ then
+ if [ ! -d "${LIVE_ROOT}"/cache/chroot_localization ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/chroot_localization
+ fi
+
+ mv -f "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb "${LIVE_ROOT}"/cache/chroot_localization
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_localization
+fi
diff --git a/helpers/lh_chroot_localpackages b/helpers/lh_chroot_localpackages
new file mode 100755
index 0000000..1ed4339
--- /dev/null
+++ b/helpers/lh_chroot_localpackages
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+# lh_chroot_localpackages(1) - install local packages into chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_localpackages
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+if ls "${LIVE_ROOT}"/config/chroot_localpackages/*.deb &> /dev/null
+then
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/chroot_localpackages ]
+ then
+ cp "${LIVE_ROOT}"/cache/chroot_localpackages/*.deb "${LIVE_CHROOT}"/var/cache/apt/archives
+ fi
+
+ # Copying packages
+ cp "${LIVE_ROOT}"/config/chroot_localpackages/*.deb "${LIVE_CHROOT}"/root
+
+ # Installing packages
+ Chroot "find /root -name *.deb" > "${LIVE_CHROOT}"/root/localpackages
+ Chroot "xargs --arg-file=/root/localpackages dpkg -i" || true
+
+ # Cleaning dependencies
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install -f --yes"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install -f --assume-yes"
+ ;;
+ esac
+
+ # Removing package files
+ rm -f "${LIVE_CHROOT}"/root/*.deb
+ rm -f "${LIVE_CHROOT}"/root/localpackages
+
+ # Saving new cache
+ Chroot "apt-get autoclean"
+
+ if ls "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb &> /dev/null
+ then
+ if [ ! -d "${LIVE_ROOT}"/cache/chroot_localpackages ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/chroot_localpackages
+ fi
+
+ mv -f "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb "${LIVE_ROOT}"/cache/chroot_localpackages
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_localpackages
+fi
diff --git a/helpers/lh_chroot_localpackageslist b/helpers/lh_chroot_localpackageslist
new file mode 100755
index 0000000..a7313cb
--- /dev/null
+++ b/helpers/lh_chroot_localpackageslist
@@ -0,0 +1,73 @@
+#!/bin/sh
+
+# lh_chroot_localpackageslist(1) - install local packages into chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_localpackageslist
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+if ls "${LIVE_ROOT}"/config/chroot_localpackageslist/* &> /dev/null
+then
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/chroot_localpackageslist ]
+ then
+ cp "${LIVE_ROOT}"/cache/chroot_localpackageslist/*.deb "${LIVE_CHROOT}"/var/cache/apt/archives
+ fi
+
+ for PACKAGESLIST in "${LIVE_ROOT}"/config/chroot_localpackageslist/*
+ do
+ # Copying package list
+ grep -v "^#" "${PACKAGESLIST}" > "${LIVE_CHROOT}"/root/"`basename ${PACKAGESLIST}`"
+
+ # Installing package list
+ case "${LH_APT}" in
+ apt)
+ Chroot "xargs --arg-file=/root/`basename ${PACKAGESLIST}` apt-get install --yes"
+ ;;
+
+ aptitude)
+ Chroot "xargs --arg-file=/root/`basename ${PACKAGESLIST}` aptitude install --assume-yes"
+ ;;
+ esac
+
+ # Removing package list
+ rm -f "${LIVE_CHROOT}"/root/"`basename ${PACKAGESLIST}`"
+ done
+
+ # Saving new cache
+ Chroot "apt-get autoclean"
+
+ if ls "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb &> /dev/null
+ then
+ if [ ! -d "${LIVE_ROOT}"/cache/chroot_localpackageslist ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/chroot_localpackageslist
+ fi
+
+ mv -f "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb "${LIVE_ROOT}"/cache/chroot_localpackageslist
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_localpackageslist
+fi
diff --git a/helpers/lh_chroot_packages b/helpers/lh_chroot_packages
new file mode 100755
index 0000000..14e9659
--- /dev/null
+++ b/helpers/lh_chroot_packages
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# lh_chroot_packages(1) - install packages into chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_packages
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+if [ -n "${LIVE_PACKAGES}" ]
+then
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/chroot ]
+ then
+ cp "${LIVE_ROOT}"/cache/chroot_packages/*.deb "${LIVE_CHROOT}"/var/cache/apt/archives
+ fi
+
+ # Installing packages
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes ${LIVE_PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes ${LIVE_PACKAGES}"
+ ;;
+ esac
+
+ # Saving new cache
+ Chroot "apt-get autoclean"
+
+ if ls "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb &> /dev/null
+ then
+ if [ ! -d "${LIVE_ROOT}"/cache/chroot_packages ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/chroot_packages
+ fi
+
+ mv -f "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb "${LIVE_ROOT}"/cache/chroot_packages
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_packages
+fi
diff --git a/helpers/lh_chroot_packageslist b/helpers/lh_chroot_packageslist
new file mode 100755
index 0000000..c222d7d
--- /dev/null
+++ b/helpers/lh_chroot_packageslist
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+# lh_chroot_packageslist(1) - install packages list into chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_packageslist
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+if [ -n "${LIVE_PACKAGES_LIST}" ]
+then
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/chroot_packageslist ]
+ then
+ cp "${LIVE_ROOT}"/cache/chroot_packageslist/*.deb "${LIVE_CHROOT}"/var/cache/apt/archives
+ fi
+
+ for LIST in ${LIVE_PACKAGES_LIST}
+ do
+ if [ -f /usr/share/live-helper/lists/"${LIST}" ]
+ then
+ # Copying package list
+ grep -v "^#" /usr/share/live-helper/lists/"${LIST}" > "${LIVE_CHROOT}"/root/"${LIST}"
+
+ # Installing package list
+ case "${LH_APT}" in
+ apt)
+ Chroot "xargs --arg-file=/root/${LIST} apt-get install --yes"
+ ;;
+
+ aptitude)
+ Chroot "xargs --arg-file=/root/${LIST} aptitude install --assume-yes"
+ ;;
+ esac
+
+ # Removing package list
+ rm -f "${LIVE_CHROOT}"/root/"${LIST}"
+ fi
+ done
+
+ # Saving new cache
+ Chroot "apt-get autoclean"
+
+ if ls "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb &> /dev/null
+ then
+ if [ ! -d "${LIVE_ROOT}"/cache/chroot_packageslist ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/chroot_packageslist
+ fi
+
+ mv -f "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb "${LIVE_ROOT}"/cache/chroot_packageslist
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_packageslist
+fi
diff --git a/helpers/lh_chroot_proc b/helpers/lh_chroot_proc
new file mode 100755
index 0000000..1b78ecf
--- /dev/null
+++ b/helpers/lh_chroot_proc
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# lh_chroot_proc(1) - mount /proc
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_proc
+
+ if [ ! -d "${LIVE_CHROOT}"/proc ]
+ then
+ # Creating mountpoint
+ mkdir -p "${LIVE_CHROOT}"/proc
+ fi
+
+ # Mounting /proc
+ mount proc-live -t proc "${LIVE_CHROOT}"/proc
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_proc
+ ;;
+
+ remove)
+ # Workaround binfmt-support /proc locking
+ umount "${LIVE_CHROOT}"/proc/sys/fs/binfmt_misc > /dev/null 2>&1 || true
+
+ # Unmounting /proc
+ #fuser -km "${LIVE_CHROOT}"/proc
+ umount "${LIVE_CHROOT}"/proc > /dev/null 2>&1
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_proc
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_resolv b/helpers/lh_chroot_resolv
new file mode 100755
index 0000000..b6a7948
--- /dev/null
+++ b/helpers/lh_chroot_resolv
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# lh_chroot_resolv(1) - manage /etc/resolv.conf
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_resolv
+
+ if [ -f "${LIVE_CHROOT}"/etc/resolv.conf ]
+ then
+ # Save resolv file
+ cp "${LIVE_CHROOT}"/etc/resolv.conf "${LIVE_CHROOT}"/etc/resolv.conf.orig
+ fi
+
+ if [ -f /etc/resolv.conf ]
+ then
+ # Copy resolv file
+ cp /etc/resolv.conf "${LIVE_CHROOT}"/etc/resolv.conf
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_resolv
+ ;;
+
+ remove)
+ if [ -f "${LIVE_CHROOT}"/etc/resolv.conf.orig ]
+ then
+ # Restore resolv file
+ mv "${LIVE_CHROOT}"/etc/resolv.conf.orig "${LIVE_CHROOT}"/etc/resolv.conf
+ else
+ # Remove resolv file
+ rm -f "${LIVE_CHROOT}"/etc/resolv.conf
+ fi
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_resolv
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_sources b/helpers/lh_chroot_sources
new file mode 100755
index 0000000..8d4ddbe
--- /dev/null
+++ b/helpers/lh_chroot_sources
@@ -0,0 +1,131 @@
+#!/bin/sh
+
+# lh_chroot_sources(1) - manage /etc/apt/sources.list
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Read_conffile config/bootstrap #FIXME
+Read_conffile config/image
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_sources
+
+ # Configure custom sources.list
+ echo "deb ${LIVE_MIRROR} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list
+
+ if [ "${LIVE_SOURCE}" = "enabled" ]
+ then
+ echo "deb-src ${LIVE_MIRROR} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
+ fi
+
+ if [ "${LIVE_SECURITY}" = "enabled" ]
+ then
+ if [ "${LIVE_DISTRIBUTION}" = "etch" ] || [ "${LIVE_DISTRIBUTION}" = "testing" ]
+ then
+ echo "deb ${LIVE_MIRROR_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
+
+ if [ "${LIVE_SOURCE}" = "yes" ]
+ then
+ echo "deb-src ${LIVE_MIRROR_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
+ fi
+ fi
+ fi
+
+ # Installing aptitude
+ if [ "${LH_APT}" = "apt" ]
+ then
+ Chroot "apt-get update"
+ elif [ "${LH_APT}" = "aptitude" ]
+ then
+ if [ ! -x "${LH_CHROOT}"/usr/bin/aptitude ]
+ then
+ Chroot "apt-get update"
+ Chroot "apt-get install --yes --force-yes aptitude"
+ fi
+
+ Chroot "aptitude update"
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_sources
+ ;;
+
+ remove)
+ # Configure generic indices
+ if [ "${LH_APT_GENERIC}" = "enabled" ]
+ then
+ # Cleaning apt list cache
+ rm -rf "${LIVE_CHROOT}"/var/lib/apt/lists
+ mkdir -p "${LIVE_CHROOT}"/var/lib/apt/lists/partial
+
+ echo "deb ${LIVE_MIRROR_GENERIC} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list
+
+ if [ "${LIVE_SOURCE}" = "enabled" ]
+ then
+ echo "deb-src ${LIVE_MIRROR_GENERIC} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
+ fi
+
+ if [ "${LIVE_SECURITY}" = "enabled" ]
+ then
+ if [ "${LIVE_DISTRIBUTION}" = "etch" ] || [ "${LIVE_DISTRIBUTION}" = "testing" ]
+ then
+ echo "deb ${LIVE_MIRROR_GENERIC_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
+
+ if [ "${LIVE_SOURCE}" = "yes" ]
+ then
+ echo "deb-src ${LIVE_MIRROR_GENERIC_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
+ fi
+ fi
+ fi
+
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get update"
+ ;;
+
+ aptitude)
+ Chroot "aptitude update"
+ ;;
+ esac
+ fi
+
+ # Cleaning apt packages cache
+ rm -rf "${LIVE_CHROOT}"/var/cache/apt
+ mkdir -p "${LIVE_CHROOT}"/var/cache/apt/archives/partial
+
+ # Removing old files
+ rm -f "${LIVE_CHROOT}"/var/lib/dpkg/available-old
+ rm -f "${LIVE_CHROOT}"/var/lib/dpkg/diversions-old
+ rm -f "${LIVE_CHROOT}"/var/lib/dpkg/statoverride-old
+ rm -f "${LIVE_CHROOT}"/var/lib/dpkg/status-old
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_sources
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_symlinks b/helpers/lh_chroot_symlinks
new file mode 100755
index 0000000..8da149f
--- /dev/null
+++ b/helpers/lh_chroot_symlinks
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+# lh_chroot_symlinks(1) - convert symlinks
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_symlinks
+
+if [ "${LIVE_SYMLINKS}" = "enabled" ]
+then
+ if [ -f "${LIVE_CHROOT}"/usr/bin/symlinks ]
+ then
+ SYMLINKS="true"
+ fi
+
+ if [ -n "${SYMLINKS}" ]
+ then
+ # Installing symlinks
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes symlinks"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes symlinks"
+ ;;
+ esac
+ fi
+
+ # Converting symlinks
+ Chroot "symlinks -c -r -s /"
+
+ if [ -n "${SYMLINKS}" ]
+ then
+ # Removing symlinks
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get remove --purge --yes symlinks"
+ ;;
+
+ aptitude)
+ Chroot "aptitude purge --assume-yes symlinks"
+ ;;
+ esac
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_symlinks
+fi
diff --git a/helpers/lh_chroot_sysfs b/helpers/lh_chroot_sysfs
new file mode 100755
index 0000000..421d993
--- /dev/null
+++ b/helpers/lh_chroot_sysfs
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+# lh_chroot_sysfs(1) - mount /sys
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_sysfs
+
+ if [ ! -d "${LIVE_CHROOT}"/sys ]
+ then
+ # Create mountpoint
+ mkdir -p "${LIVE_CHROOT}"/sys
+ fi
+
+ # Mounting /sys
+ mount sys-live -t sysfs "${LIVE_CHROOT}"/sys
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_sysfs
+ ;;
+
+ remove)
+ # Unmounting /sys
+ #fuser -km "${LIVE_CHROOT}"/sys
+ umount "${LIVE_CHROOT}"/sys > /dev/null 2>&1
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_sysfs
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_sysvinit b/helpers/lh_chroot_sysvinit
new file mode 100755
index 0000000..e4746d6
--- /dev/null
+++ b/helpers/lh_chroot_sysvinit
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# lh_chroot_sysvinit(1) - configures sysvinit
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_sysvinit
+
+if [ "${LIVE_SYSVINIT}" = "disabled" ]
+then
+ # Disable all
+ for FILE in "${LIVE_CHROOT}"/etc/init.d/*
+ do
+ Chroot "update-rc.d -f `basename ${FILE}` remove"
+ done
+
+ # Re-enable all required (taken from -f standard chroot)
+ for PACKAGE in casper console-common cron dpkg ifupdown initscripts kbd klogd libc6 libdevmapper1.02 libselinux1 libsepol1 login makedev module-init-tools netbase openbsd-inetd procps sudo sysklogd udev util-linux
+ do
+ if [ -f "${LIVE_CHROOT}"/var/lib/dpkg/info/${PACKAGE}.postinst ]
+ then
+ # Re-configure if existing
+ Chroot "/var/lib/dpkg/info/${PACKAGE}.postinst configure"
+ fi
+ done
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_sysvinit
+fi
diff --git a/helpers/lh_chroot_sysvrc b/helpers/lh_chroot_sysvrc
new file mode 100755
index 0000000..4f4eeef
--- /dev/null
+++ b/helpers/lh_chroot_sysvrc
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+# lh_chroot_sysvrc(1) - manage /usr/sbin/policy-rc.d
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+case "${1}" in
+ install)
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/chroot_sysvrc
+
+ if [ -f "${LIVE_CHROOT}"/usr/sbin/policy-rc.d ]
+ then
+ # Save policy-rc.d file
+ mv "${LIVE_CHROOT}"/usr/sbin/policy-rc.d "${LIVE_CHROOT}"/usr/sbin/policy-rc.d.orig
+ fi
+
+ # Create policy-rc.d file
+cat > "${LIVE_CHROOT}"/usr/sbin/policy-rc.d << EOF
+#!/bin/sh
+
+echo
+echo "Warning: invoke-rc.d policy in action. Skiping daemon starting"
+
+exit 101
+EOF
+
+ chmod 0755 "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_sysvrc
+ ;;
+
+ remove)
+ if [ -f "${LIVE_CHROOT}"/usr/sbin/policy-rc.d.orig ]
+ then
+ # Restore policy-rc.d file
+ mv "${LIVE_CHROOT}"/usr/sbin/policy-rc.d.orig "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
+ else
+ # Remove policy-rc.d file
+ rm -f "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
+ fi
+
+ # Removing stage file
+ rm -f "${LIVE_ROOT}"/.stage/chroot_sysvrc
+ ;;
+
+ *)
+ echo "Usage: ${0} {install|remove}"
+ exit 1
+ ;;
+esac
diff --git a/helpers/lh_chroot_tasks b/helpers/lh_chroot_tasks
new file mode 100755
index 0000000..4959d76
--- /dev/null
+++ b/helpers/lh_chroot_tasks
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# lh_chroot_tasks(1) - install tasks into chroot
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/chroot
+Set_defaults
+
+# Requiring stage file
+Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+# Checking stage file
+Check_stagefile "${LIVE_ROOT}"/.stage/chroot_tasks
+
+# Checking lock file
+Check_lockfile "${LIVE_ROOT}"/.lock
+
+# Creating lock file
+Create_lockfile "${LIVE_ROOT}"/.lock
+
+if [ -n "${LIVE_TASKS}" ] && [ "${LH_APT}" = "aptitude" ]
+then
+ # Restore old cache
+ if [ -d "${LIVE_ROOT}"/cache/chroot_tasks ]
+ then
+ cp "${LIVE_ROOT}"/cache/chroot_tasks/*.deb "${LIVE_CHROOT}"/var/cache/apt/archives
+ fi
+
+ Chroot "aptitude install --assume-yes ${LIVE_TASKS}"
+
+ # Saving new cache
+ Chroot "apt-get autoclean"
+
+ if ls "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb &> /dev/null
+ then
+ if [ ! -d "${LIVE_ROOT}"/cache/chroot_tasks ]
+ then
+ mkdir -p "${LIVE_ROOT}"/cache/chroot_tasks
+ fi
+
+ mv -f "${LIVE_CHROOT}"/var/cache/apt/archives/*.deb "${LIVE_ROOT}"/cache/chroot_tasks
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/chroot_tasks
+fi
diff --git a/helpers/lh_clean b/helpers/lh_clean
new file mode 100755
index 0000000..f4c8960
--- /dev/null
+++ b/helpers/lh_clean
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+# lh_clean(1) - clean up system build directories
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Ensure that a system is built as root
+lh_testroot
+
+# Reading configuration files
+Read_conffile config/common
+Set_defaults
+
+case "${1}" in
+ all)
+ "${0}" chroot
+ "${0}" binary
+ "${0}" stage
+ "${0}" source
+ ;;
+
+ cache)
+ rm -rf "${LIVE_ROOT}"/cache
+ ;;
+
+ chroot)
+ umount -f "${LIVE_CHROOT}"/sys > /dev/null 2>&1 || true
+ umount -f "${LIVE_CHROOT}"/proc > /dev/null 2>&1 || true
+ umount -f "${LIVE_CHROOT}"/lib/init/rw > /dev/null 2>&1 || true
+ umount -f "${LIVE_CHROOT}"/dev/shm > /dev/null 2>&1 || true
+ umount -f "${LIVE_CHROOT}"/dev/pts > /dev/null 2>&1 || true
+ umount -f "${LIVE_CHROOT}"/dev > /dev/null 2>&1 || true
+
+ rm -rf "${LIVE_CHROOT}"
+ ;;
+
+ binary)
+ rm -rf "${LIVE_ROOT}"/binary
+
+ rm -f "${LIVE_ROOT}"/binary.iso
+ rm -f "${LIVE_ROOT}"/binary.img
+ rm -f "${LIVE_ROOT}"/binary.tar.gz
+
+ rm -f "${LIVE_ROOT}"/.stage/binary*
+ ;;
+
+ stage)
+ rm -rf "${LIVE_ROOT}"/.stage
+ rm -f "${LIVE_ROOT}"/.lock
+ ;;
+
+ source)
+ rm -rf "${LIVE_ROOT}"/source
+
+ rm -f "${LIVE_ROOT}"/source.iso
+ rm -f "${LIVE_ROOT}"/source.img
+ rm -f "${LIVE_ROOT}"/source.tar.gz
+
+ rm -f "${LIVE_ROOT}"/.stage/source*
+ ;;
+
+ *)
+ "${0}" all
+ ;;
+esac
diff --git a/helpers/lh_cleanapt b/helpers/lh_cleanapt
deleted file mode 100755
index ec28865..0000000
--- a/helpers/lh_cleanapt
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# lh_cleanapt
-
-# Clean apt packages cache
-rm -rf "${LIVE_CHROOT}"/var/cache/apt
-mkdir -p "${LIVE_CHROOT}"/var/cache/apt/archives/partial
-
-# Clean apt list cache
-rm -rf "${LIVE_CHROOT}"/var/lib/apt/lists/*
-mkdir -p "${LIVE_CHROOT}"/var/lib/apt/lists/partial
-
-# Remove old files
-rm -f "${LIVE_CHROOT}"/var/lib/dpkg/available-old
-rm -f "${LIVE_CHROOT}"/var/lib/dpkg/diversions-old
-rm -f "${LIVE_CHROOT}"/var/lib/dpkg/statoverride-old
-rm -f "${LIVE_CHROOT}"/var/lib/dpkg/status-old
diff --git a/helpers/lh_clone b/helpers/lh_clone
deleted file mode 100755
index d89eba4..0000000
--- a/helpers/lh_clone
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-# lh_clone
-
-# Cloning existing system configuration
-if [ -d "${LIVE_CLONE}" ]
-then
- # Swapping chroot directories
- LIVE_CHROOT_TMP="${LIVE_CHROOT}"
- LIVE_CHROOT="${LIVE_CLONE}"
-
- # Extract debconf settings
- lh_chroot "aptitude install --assume-yes debconf-utils"
- lh_chroot "debconf-get-selections" > "${LIVE_ROOT}"/preseed.cloned
-
- # Extract package selection
- lh_chroot "dpkg --get-selections" | grep -v deinstall | cut -f1 > "${LIVE_ROOT}"/package-list.cloned
-
- # Restoring chroot directories
- LIVE_CHROOT="${LIVE_CHROOT_TMP}"
- LIVE_CHROOT_TMP=""
-
- LIVE_PRESEED="${LIVE_ROOT}/preseed.cloned"
- LIVE_PACKAGE_LIST_CLONED="${LIVE_ROOT}/package-list.cloned"
-fi
diff --git a/helpers/lh_config b/helpers/lh_config
index a664988..a9bdb98 100755
--- a/helpers/lh_config
+++ b/helpers/lh_config
@@ -1,26 +1,218 @@
#!/bin/sh
-# lh_config
-
-case "${1}" in
- disable-daemons)
- if [ "${LIVE_DAEMONS}" = "no" ]
- then
- # Disable all
- for FILE in "${LIVE_CHROOT}"/etc/init.d/*
- do
- lh_chroot "update-rc.d -f `basename ${FILE}` remove"
- done
-
- # Re-enable all required (taken from -f standard chroot)
- for PACKAGE in casper console-common cron dpkg ifupdown initscripts kbd klogd libc6 libdevmapper1.02 libselinux1 libsepol1 login makedev module-init-tools netbase openbsd-inetd procps sudo sysklogd udev util-linux
- do
- # Re-configure if existing
- if [ -f "${LIVE_CHROOT}"/var/lib/dpkg/info/${PACKAGE}.postinst ]
- then
- lh_chroot "/var/lib/dpkg/info/${PACKAGE}.postinst configure"
- fi
- done
- fi
- ;;
-esac
+# lh_make(1) - create sample configuration for live-helper(7)
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+Set_defaults
+
+# Creating configuration directory
+install -d -m 0755 "${LIVE_ROOT}"/config || true
+
+# Creating live-helper configuration
+cat > "${LIVE_ROOT}"/config/common << EOF
+# config/common: configuration for live-helper(7)
+
+# \$LH_APT: set package manager
+# (Default: ${LH_APT})
+LH_APT="${LH_APT}"
+
+# \$LH_APT_FTPPROXY: set apt/aptitude ftp proxy
+# (Default: autodetected or empty)
+LH_APT_FTPPROXY="${LH_APT_FTPPROXY}"
+
+# \$LH_APT_HTTPPROXY: set apt/aptitude http proxy
+# (Default: autodetected or empty)
+LH_APT_HTTPPROXY="${LH_APT_HTTPPROXY}"
+
+# \$LH_APT_GENERIC: set apt/aptitude generic indices
+# (Default: ${LH_APT_GENERIC})
+LH_APT_GENERIC="${LH_APT_GENERIC}"
+
+# \$LH_APT_PDIFFS: set apt/aptitude pdiff indices
+# (Default: ${LH_APT_PDIFFS})
+LH_APT_PDIFFS="${LH_APT_PDIFFS}"
+
+# \$LH_APT_RECOMMENDS: enable recommends
+# (Default: ${LH_APT_RECOMMENDS})
+LH_APT_RECOMMENDS="${LH_APT_RECOMMENDS}"
+
+# \$LH_BOOTSTRAP: select the bootstrap program
+# (Default: ${LH_BOOTSTRAP})
+LH_BOOTSTRAP="${LH_BOOTSTRAP}"
+
+# \$LH_CACHE: enable cache
+# (Default: ${LH_CACHE})
+LH_CACHE="${LH_CACHE}"
+
+# \$LH_DEBCONF_FRONTEND: set the debconf(1) frontend to use
+# (Default: ${LH_DEBCONF_FRONTEND})
+LH_DEBCONF_FRONTEND="${LH_DEBCONF_FRONTEND}"
+
+# \$LH_DEBCONF_PRIORITY: set the debconf(1) priority to use
+# (Default: ${LH_DEBCONF_PRIORITY})
+LH_DEBCONF_PRIORITY="${LH_DEBCONF_PRIORITY}"
+
+# \$LH_GENISOIMAGE: set the genisoimage program
+# (Default: autodetected)
+LH_GENISOIMAGE="${LH_GENISOIMAGE}"
+
+# \$LIVE_ROOT: set the root directory
+# (Default: \`pwd\`/debian-live)
+LIVE_ROOT="${LIVE_ROOT}"
+
+# \$LIVE_CHROOT: set the chroot directory
+# (Default: \${LIVE_ROOT}/chroot)
+LIVE_CHROOT="${LIVE_CHROOT}"
+EOF
+
+# Creating lh_chroot_* configuration
+cat > "${LIVE_ROOT}"/config/chroot << EOF
+# config/chroot: configuration for lh_chroot_*
+
+# \$LIVE_KERNEL: set the kernel flavour to use
+# (Default: autodetected)
+LIVE_KERNEL="${LIVE_KERNEL}"
+
+# \$LIVE_KERNEL: set the kernel packages to use
+# (Default: autodetected)
+#LIVE_KERNEL_PACKAGES
+
+# \$LIVE_LANGUAGE: set the language to use
+# (Default: empty)
+LIVE_LANGUAGE="${LIVE_LANGUAGE}"
+
+# \$LIVE_PACKAGES: set the packages to install
+# (Default: empty)
+LIVE_PACKAGES="${LIVE_PACKAGES}"
+
+# \$LIVE_PACKAGES_LIST: set the package list to install
+# (Default: ${LIVE_PACKAGES_LIST})
+LIVE_PACKAGES_LIST="${LIVE_PACKAGES_LIST}"
+
+# \$LIVE_TASKS: set the tasks to install
+# (Default: empty)
+LIVE_TASKS="${LIVE_TASKS}"
+
+# \$LIVE_SECURITY: enable security updates
+# (Default: ${LIVE_SECURITY})
+LIVE_SECURITY="${LIVE_SECURITY}"
+
+# \$LIVE_SYMLINKS: enable symlink convertion
+# (Default: ${LIVE_SYMLINKS})
+LIVE_SYMLINKS="${LIVE_SYMLINKS}"
+
+# \$LIVE_SYSVINIT: enable sysvinit
+# (Default: ${LIVE_SYSVINIT})
+LIVE_SYSVINIT="${LIVE_SYSVINIT}"
+EOF
+
+# Creating lh_chroot_* directories
+install -d -m 0755 "${LIVE_ROOT}"/config/chroot_localhooks || true
+install -d -m 0755 "${LIVE_ROOT}"/config/chroot_localincludes || true
+install -d -m 0755 "${LIVE_ROOT}"/config/chroot_localpackages || true
+install -d -m 0755 "${LIVE_ROOT}"/config/chroot_localpackageslist || true
+
+# Creating lh_bootstrap_* configuration
+cat > "${LIVE_ROOT}"/config/bootstrap << EOF
+# config/bootstrap: configuration for lh_bootstrap_*
+
+# \$LIVE_ARCHITECTURE: select the chroot architecture
+# (Default: autodetected)
+LIVE_ARCHITECTURE="${LIVE_ARCHITECTURE}"
+
+# \$LIVE_DISTRIBUTION: select the distribution to use
+# (Default: ${LIVE_DISTRIBUTION})
+LIVE_DISTRIBUTION="${LIVE_DISTRIBUTION}"
+
+# \$LIVE_DISTRIBUTION_CONFIG: set distribution config directory
+# (Default: empty)
+LIVE_DISTRIBUTION_CONFIG="${LIVE_DISTRIBUTION_CONFIG}"
+
+# \$LIVE_FLAVOUR: select the flavour to use
+# (Default: ${LIVE_FLAVOUR})
+LIVE_FLAVOUR="${LIVE_FLAVOUR}"
+
+# \$LIVE_MIRROR: set the mirror to use
+# (Default: ${LIVE_MIRROR})
+LIVE_MIRROR="${LIVE_MIRROR}"
+
+# \$LIVE_MIRROR_SECURITY: set the security mirror to use
+# (Default: ${LIVE_MIRROR_SECURITY})
+LIVE_MIRROR_SECURITY="${LIVE_MIRROR_SECURITY}"
+
+# \$LIVE_MIRROR_GENERIC: set the generic mirror to use
+# (Default: ${LIVE_MIRROR_GENERIC})
+LIVE_MIRROR_GENERIC="${LIVE_MIRROR_GENERIC}"
+
+# \$LIVE_MIRROR_GENERIC_SECURITY: set the generic security mirror to use
+# (Default: ${LIVE_MIRROR_GENERIC_SECURITY})
+LIVE_MIRROR_GENERIC_SECURITY="${LIVE_MIRROR_GENERIC_SECURITY}"
+
+# \$LIVE_SECTIONS: select the section to use
+# (Default: ${LIVE_SECTIONS})
+LIVE_SECTIONS="${LIVE_SECTIONS}"
+EOF
+
+# Creating lh_image_* configuration
+cat > "${LIVE_ROOT}"/config/image << EOF
+# config/chroot: configuration for lh_image_*
+
+# \$LIVE_BOOTAPPEND: set boot parameters
+# (Default: empty)
+LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND}"
+
+# \$LIVE_ENCRYPTION: set encrytion
+# (Default: empty)
+LIVE_ENCRYPTION="${LIVE_ENCRYPTION}"
+
+# \$LIVE_FILESYSTEM: set filesystem
+# (Default: ${LIVE_FILESYSTEM})
+LIVE_FILESYSTEM="${LIVE_FILESYSTEM}"
+
+# \$LIVE_MEMTEST86: set memtest86+
+# (Default: ${LIVE_MEMTEST86})
+LIVE_MEMTEST86="${LIVE_MEMTEST86}"
+
+# \$LIVE_ISO_VOLUME: set iso volume
+# (Default: ${LIVE_ISO_VOLUME})
+LIVE_ISO_VOLUME="${LIVE_ISO_VOLUME}"
+
+# \$LIVE_SERVER_ADDRESS: set the netboot server address
+# (Default: ${LIVE_SERVER_ADDRESS})
+LIVE_SERVER_ADDRESS="${LIVE_SERVER_ADDRESS}"
+
+# \$LIVE_SERVER_PATH: set the netboot server directory
+# (Default: ${LIVE_SERVER_PATH})
+LIVE_SERVER_PATH="${LIVE_SERVER_PATH}"
+
+# \$LIVE_SOURCE: set source option
+# (Default: ${LH_SOURCE})
+LIVE_SOURCE="${LIVE_SOURCE}"
+
+# \$LIVE_SYSLINUX: set syslinux option
+# (Default: ${LIVE_SYSLINUX})
+LIVE_SYSLINUX="${LIVE_SYSLINUX}"
+
+# \$LIVE_SYSLINUX_SPLASH: set custom syslinux splash
+# (Default: empty)
+LIVE_SYSLINUX_SPLASH="${LIVE_SYSLINUX_SPLASH}"
+
+# \$LIVE_BINARY_IMAGE: set image type
+# (Default: ${LIVE_BINARY_IMAGE})
+LIVE_BINARY_IMAGE="${LIVE_BINARY_IMAGE}"
+
+# \$LIVE_SOURCE_IMAGE: set image type
+# (Default: ${LIVE_SOURCE_IMAGE})
+LIVE_SOURCE_IMAGE="${LIVE_SOURCE_IMAGE}"
+
+# \$LIVE_TEMPLATES: set templates
+# (Default: ${LIVE_TEMPLATES})
+LIVE_TEMPLATES="${LIVE_TEMPLATES}"
+EOF
diff --git a/helpers/lh_configapt b/helpers/lh_configapt
deleted file mode 100755
index 971d02e..0000000
--- a/helpers/lh_configapt
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-
-# lh_configapt.sh <action>
-
-case "${1}" in
- apply-proxy)
- # Configure ftp proxy
- if [ -n "${LIVE_PROXY_FTP}" ]
- then
- echo "Acquire::ftp::Proxy \"${LIVE_PROXY_FTP}\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_ftp-proxy.conf
- fi
-
- # Configure http proxy
- if [ -n "${LIVE_PROXY_HTTP}" ]
- then
- echo "Acquire::http::Proxy \"${LIVE_PROXY_HTTP}\";" > "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_http-proxy.conf
- fi
- ;;
-
- apply-recommends)
- # Configure recommends
- if [ ! -d "${LIVE_CHROOT}"/etc/apt/apt.conf.d ]
- then
- mkdir -p "${LIVE_CHROOT}"/etc/apt/apt.conf.d
- fi
-
- if [ "${LIVE_RECOMMENDS}" = "yes" ]
- then
- echo "Aptitude::Recommends-Important \"true\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
- else
- echo "Aptitude::Recommends-Important \"false\";" >> "${LIVE_CHROOT}"/etc/apt/apt.conf
- fi
- ;;
-
- deapply-proxy)
- # Deconfigure ftp proxy
- if [ -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_ftp-proxy.conf ]
- then
- rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_ftp-proxy.conf
- fi
-
- # Deconfigure http proxy
- if [ -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_http-proxy.conf ]
- then
- rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_http-proxy.conf
- fi
- ;;
-
- deapply-recommends)
- # Deconfigure recommends
- if [ -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_recommends.conf ]
- then
- rm -f "${LIVE_CHROOT}"/etc/apt/apt.conf.d/00make-live_recommends.conf
- fi
- ;;
-esac
diff --git a/helpers/lh_confignetwork b/helpers/lh_confignetwork
deleted file mode 100755
index 892020d..0000000
--- a/helpers/lh_confignetwork
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-
-# lh_patchnetwork.sh <action>
-
-# Packages which are manually installed inside the chroot are installed
-# from the network. Therefore, we need to be able to resolv hosts.
-
-case "${1}" in
- apply-hosts)
- # Save host lookup table
- if [ -f "${LIVE_CHROOT}"/etc/hosts ]
- then
- cp "${LIVE_CHROOT}"/etc/hosts \
- "${LIVE_CHROOT}"/etc/hosts.orig
- fi
-
- # Copy host lookup table
- if [ -f /etc/hosts ]
- then
- cp /etc/hosts "${LIVE_CHROOT}"/etc/hosts
- fi
- ;;
-
- apply-resolv)
- # Save resolver configuration
- if [ -f "${LIVE_CHROOT}"/etc/resolv.conf ]
- then
- cp "${LIVE_CHROOT}"/etc/resolv.conf \
- "${LIVE_CHROOT}"/etc/resolv.conf.orig
- fi
-
- # Copy resolver configuration
- if [ -f /etc/resolv.conf ]
- then
- cp /etc/resolv.conf "${LIVE_CHROOT}"/etc/resolv.conf
- fi
- ;;
-
- deapply-hosts)
- # Restore host lookup table
- if [ -f "${LIVE_CHROOT}"/etc/hosts.orig ]
- then
- mv "${LIVE_CHROOT}"/etc/hosts.orig \
- "${LIVE_CHROOT}"/etc/hosts
- else
- rm -f "${LIVE_CHROOT}"/etc/hosts
- fi
- ;;
-
- deapply-resolv)
- # Restore resolver configuration
- if [ -f "${LIVE_CHROOT}"/etc/resolv.conf.orig ]
- then
- mv "${LIVE_CHROOT}"/etc/resolv.conf.orig \
- "${LIVE_CHROOT}"/etc/resolv.conf
- else
- rm -f "${LIVE_CHROOT}"/etc/resolv.conf
- fi
- ;;
-esac
diff --git a/helpers/lh_debootstrap b/helpers/lh_debootstrap
deleted file mode 100755
index fd43b16..0000000
--- a/helpers/lh_debootstrap
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-if [ ! -f "${LIVE_ROOT}"/.stage/bootstrap ]
-then
- # Create chroot directory
- if [ ! -d "${LIVE_CHROOT}" ]
- then
- mkdir -p "${LIVE_CHROOT}"
- fi
-
- if [ -n "${LIVE_BOOTSTRAP_CONFIG}" ];
- then
- LIVE_DEBOOTSTRAP_SCRIPT="/usr/lib/debootstrap/scripts/${LIVE_BOOTSTRAP_CONFIG}"
- fi
-
- debootstrap --arch="${LIVE_ARCHITECTURE}" --variant=buildd "${LIVE_DISTRIBUTION}" "${LIVE_CHROOT}" "${LIVE_MIRROR}" "${LIVE_DEBOOTSTRAP_SCRIPT}"
-
- # Touching stage file
- if [ ! -d "${LIVE_ROOT}"/.stage ]
- then
- mkdir "${LIVE_ROOT}"/.stage
- fi
-
- touch "${LIVE_ROOT}"/.stage/bootstrap
-fi
diff --git a/helpers/lh_depends b/helpers/lh_depends
deleted file mode 100755
index 1cb1f52..0000000
--- a/helpers/lh_depends
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# lh_depends.sh <action> <type>
-
-case "${1}" in
- install)
- if [ -z "${KEEP_MEMTEST86}" ]
- then
- if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
- then
- lh_chroot "aptitude install --assume-yes memtest86+"
- fi
- fi
-
- if [ -z "${KEEP_SYSLINUX}" ]
- then
- lh_chroot "aptitude install --assume-yes syslinux"
- fi
-
- case "${2}" in
- usb)
- if [ -z "${KEEP_DOSFSTOOLS}" ]
- then
- lh_chroot "aptitude install --assume-yes dosfstools"
- fi
-
- if [ -z "${KEEP_MTOOLS}" ]
- then
- lh_chroot "aptitude install --assume-yes mtools"
- fi
-
- if [ -z "${KEEP_PARTED}" ]
- then
- lh_chroot "aptitude install --assume-yes parted"
- fi
- ;;
- esac
- ;;
-
- remove)
- if [ -z "${KEEP_MEMTEST86}" ]
- then
- if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
- then
- lh_chroot "aptitude purge --assume-yes memtest86+"
- fi
- fi
-
- if [ -z "${KEEP_SYSLINUX}" ]
- then
- lh_chroot "aptitude purge --assume-yes syslinux"
- fi
-
- case "${2}" in
- usb)
- if [ -z "${KEEP_DOSFSTOOLS}" ]
- then
- lh_chroot "aptitude purge --assume-yes dosfstools"
- fi
-
- if [ -z "${KEEP_MEMTEST86}" ]
- then
- if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
- then
- lh_chroot "aptitude purge --assume-yes memtest86+"
- fi
- fi
-
- if [ -z "${KEEP_MTOOLS}" ]
- then
- lh_chroot "aptitude purge --assume-yes mtools"
- fi
-
- if [ -z "${KEEP_PARTED}" ]
- then
- lh_chroot "aptitude purge --assume-yes parted"
- fi
-
- if [ -z "${KEEP_SYSLINUX}" ]
- then
- lh_chroot "aptitude purge --assume-yes syslinux"
- fi
- ;;
- esac
- ;;
-esac
diff --git a/helpers/lh_genrootfs b/helpers/lh_genrootfs
deleted file mode 100755
index 5853ed2..0000000
--- a/helpers/lh_genrootfs
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-
-# lh_genrootfs.sh <filesystem>
-
-case "${LIVE_FILESYSTEM}" in
- ext2)
- DU_DIM="`du -ks ${LIVE_CHROOT} | cut -f1`"
- REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
-
- if [ -z "${LIVE_ENCRYPTION}" ]
- then
- genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root="${LIVE_CHROOT}" "${LIVE_ROOT}"/binary/casper/filesystem.ext2
- else
- echo "Encrypting ${LIVE_ROOT}/binary/casper/filesystem.ext2 with ${LIVE_ENCRYPTION}..."
-
- while true
- do
- genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root="${LIVE_CHROOT}" | aespipe -e "${LIVE_ENCRYPTION}" -T > "${LIVE_ROOT}"/binary/casper/filesystem.ext2 && break
-
- echo -n "Something went wrong... Retry? [YES/no] "
- read ANSWER
-
- if [ 'no' = "${ANSWER}" ]
- then
- unset ANSWER
- break
- fi
- done
- fi
- ;;
-
- plain)
- if [ -n "${LIVE_ENCRYPTION}" ]
- then
- echo "Error: encryption is not supported for filesystem type 'plain'"
- exit 1
- fi
-
- cd "${LIVE_CHROOT}"
- find . | cpio -pumd "${LIVE_ROOT}"/binary/casper/filesystem.dir
- cd "${OLDPWD}"
- ;;
-
- squashfs)
- if [ -f "${LIVE_ROOT}"/binary/casper/filesystem.squashfs ]
- then
- rm "${LIVE_ROOT}"/binary/casper/filesystem.squashfs
- fi
-
- if [ "${LIVE_FLAVOUR}" = "minimal" ] || [ "${LIVE_FLAVOUR}" = "mini" ]
- then
- mksquashfs "${LIVE_CHROOT}" "${LIVE_ROOT}"/binary/casper/filesystem.squashfs -e "${LIVE_CHROOT}"/boot/vmlinuz* "${LIVE_CHROOT}"/boot/initrd.img* "${LIVE_CHROOT}"/vmlinuz "${LIVE_CHROOT}"/initrd.img "${LIVE_CHROOT}"/boot/config-* "${LIVE_CHROOT}"/boot/System.map-*
- else
- mksquashfs "${LIVE_CHROOT}" "${LIVE_ROOT}"/binary/casper/filesystem.squashfs
- fi
-
- if [ -n "$LIVE_ENCRYPTION" ]
- then
- echo "Encrypting ${LIVE_ROOT}/binary/casper/filesystem.squashfs with ${LIVE_ENCRYPTION}..."
-
- while true
- do
- cat "${LIVE_ROOT}"/binary/casper/filesystem.squashfs | aespipe -e "${LIVE_ENCRYPTION}" -T > "${LIVE_ROOT}"/binary/casper/filesystem.squashfs.encrypted && mv "${LIVE_ROOT}"/binary/casper/filesystem.squashfs.encrypted "${LIVE_ROOT}"/binary/casper/filesystem.squashfs && break
-
- echo -n "Something went wrong... Retry? [YES/no] "
- read ANSWER
-
- if [ 'no' = "${ANSWER}" ]
- then
- unset ANSWER
- break
- fi
- done
- fi
- ;;
-esac
diff --git a/helpers/lh_hook b/helpers/lh_hook
deleted file mode 100755
index 084a385..0000000
--- a/helpers/lh_hook
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# lh_hook
-
-# Process flavour specific hooks
-if [ -r "${BASE}"/hooks/"${LIVE_FLAVOUR}" ]
-then
- grep -v "^#" "${BASE}"/hooks/"${LIVE_FLAVOUR}" > "${LIVE_CHROOT}"/root/"${LIVE_FLAVOUR}"
- LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" lh_chroot "sh /root/${LIVE_FLAVOUR}"
- rm -f "${LIVE_CHROOT}"/root/"${LIVE_FLAVOUR}"
-fi
-
-# Execute extra command in the chroot
-if [ -r "${LIVE_HOOK}" ]
-then
- # FIXME
- LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" lh_chroot "`cat ${LIVE_HOOK}`"
-elif [ -n "${LIVE_HOOK}" ]
-then
- LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" lh_chroot "${LIVE_HOOK}"
-fi
diff --git a/helpers/lh_includechroot b/helpers/lh_includechroot
deleted file mode 100755
index eedd31d..0000000
--- a/helpers/lh_includechroot
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# lh_includechroot
-
-# Copy external directory into the chroot
-if [ -d "${LIVE_INCLUDE_CHROOT}" ]
-then
- cd "${LIVE_INCLUDE_CHROOT}"
- find . | cpio -pumd "${LIVE_CHROOT}"
- cd "${OLDPWD}"
-fi
diff --git a/helpers/lh_installapt b/helpers/lh_installapt
deleted file mode 100755
index ec19931..0000000
--- a/helpers/lh_installapt
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-# lh_installapt
-
-# Install aptitude
-lh_chroot "apt-get install --yes --force-yes aptitude"
-
-# FIXME
-lh_chroot "apt-key update"
-
-# Install secure apt
-if [ "${LIVE_DISTRIBUTION}" = "unstable" ] || [ "${LIVE_DISTRIBUTION}" = "${CODENAME_UNSTABLE}" ] || \
-[ "${LIVE_DISTRIBUTION}" = "testing" ] || [ "${LIVE_DISTRIBUTION}" = "${CODENAME_TESTING}" ]
-then
- if [ "${LIVE_FLAVOUR}" != "minimal" ] || [ "${LIVE_FLAVOUR}" != "mini" ]
- then
- lh_chroot "apt-get install --yes --force-yes ${LIVE_REPOSITORY_KEYRING}"
-
- for NAME in ${LIVE_REPOSITORIES}
- do
- eval REPOSITORY_KEY="$`echo LIVE_REPOSITORY_KEY_$NAME`"
- eval REPOSITORY_KEYRING="$`echo LIVE_REPOSITORY_KEYRING_$NAME`"
-
- if [ -n "${REPOSITORY_KEYRING}" ]
- then
- lh_chroot "aptitude install ${REPOSITORY_KEYRING}"
- elif [ -n "${REPOSITORY_KEY}" ]
- then
- lh_chroot "wget ${REPOSITORY_KEY}"
- lh_chroot "apt-key add `basename ${REPOSITORY_KEY}`"
- lh_chroot "rm -f `basename ${REPOSITORY_KEY}`"
- fi
- done
- fi
-fi
diff --git a/helpers/lh_installlinux b/helpers/lh_installlinux
deleted file mode 100755
index 24dd7d1..0000000
--- a/helpers/lh_installlinux
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-# lh_installinux <type>
-
-# Removing initrd backup files
-rm -f "${LIVE_CHROOT}"/boot/initrd*bak*
-
-# Setting destination directory
-case "${1}" in
- iso)
- DESTDIR="${LIVE_ROOT}/binary/isolinux"
- ;;
-
- net)
- DESTDIR="${LIVE_ROOT}/tftpboot"
- ;;
-
- usb)
- DESTDIR="${LIVE_ROOT}/binary"
- ;;
-esac
-
-# Installing linux image
-cp "${LIVE_CHROOT}"/boot/vmlinuz* "${DESTDIR}"/vmlinuz
-cp "${LIVE_CHROOT}"/boot/initrd.img* "${DESTDIR}"/initrd.gz
diff --git a/helpers/lh_installmemtest86+ b/helpers/lh_installmemtest86+
deleted file mode 100755
index b35b26a..0000000
--- a/helpers/lh_installmemtest86+
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-# lh_installmemtest86+.sh <type>
-
-# Setting destination directory
-case "${1}" in
- iso)
- DESTDIR="${LIVE_ROOT}/binary/isolinux"
- ;;
-
- net)
- DESTDIR="${LIVE_ROOT}/tftpboot"
- ;;
-
- usb)
- DESTDIR="${LIVE_ROOT}/binary"
- ;;
-esac
-
-# Installing memtest86+
-if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
-then
- cp "${LIVE_ROOT}"/chroot/boot/memtest86+.bin "${DESTDIR}"/memtest
-fi
diff --git a/helpers/lh_installpackagelists b/helpers/lh_installpackagelists
deleted file mode 100755
index 71ba2fa..0000000
--- a/helpers/lh_installpackagelists
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# lh_installpackagelists
-
-# Install packages list
-if [ -n "${LIVE_PACKAGE_LIST}" ]
-then
- if [ "${LIVE_PACKAGE_LIST}" = "everything" ]
- then
- #for FILE in "${LIVE_CHROOT}"/var/lib/apt/lists/*_Packages
- #do
- # awk '/Package: / { print $2 }' "${FILE}" | grep -v ".*-dbg$" >> "${LIVE_CHROOT}"/root/everything
- #done
-
- #lh_chroot "xargs --arg-file=/root/everything aptitude install --assume-yes"
- #rm -f "${LIVE_CHROOT}"/root/everything
-
- # FIXME
-
- for SECTION in admin base comm devel doc editors electronics embedded games gnome graphics hamradio interpreters kde libs libdevel mail math misc net news oldlibs otherosfs perl python science shells sound tex text utils web x11
- do
- lh_chroot "aptitude install --assume-yes ~s${SECTION}"
- done
- else
- grep -v "^#" "${LIVE_PACKAGE_LIST}" > "${LIVE_CHROOT}"/root/"`basename ${LIVE_PACKAGE_LIST}`"
- lh_chroot "xargs --arg-file=/root/`basename ${LIVE_PACKAGE_LIST}` aptitude install --assume-yes"
- rm -f "${LIVE_CHROOT}"/root/"`basename ${LIVE_PACKAGE_LIST}`"
- fi
-fi
diff --git a/helpers/lh_installpackages b/helpers/lh_installpackages
deleted file mode 100755
index 4cce341..0000000
--- a/helpers/lh_installpackages
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-# lh_installpackages
-
-# Install extra packages
-if [ -n "${LIVE_PACKAGES}" ]
-then
- lh_chroot "aptitude install --assume-yes ${LIVE_PACKAGES}"
-fi
diff --git a/helpers/lh_installsyslinux b/helpers/lh_installsyslinux
deleted file mode 100755
index 641f7db..0000000
--- a/helpers/lh_installsyslinux
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/sh
-
-# lh_installsyslinux.sh <type>
-
-if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
-then
- if [ -n "${LIVE_ENCRYPTION}" ]
- then
- LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} encryption=${LIVE_ENCRYPTION}"
- fi
-
- case "${1}" in
- iso)
- # Copy syslinux
- mkdir -p "${LIVE_ROOT}"/binary/isolinux
- cp "${LIVE_CHROOT}"/usr/lib/syslinux/isolinux.bin "${LIVE_ROOT}"/binary/isolinux
- cp -r "${LIVE_TEMPLATES}"/syslinux/* "${LIVE_ROOT}"/binary/isolinux
-
- # Copy splash screen
- if [ -n "${LIVE_ISOLINUX_SPLASH}" ]; then
- cp "${LIVE_ISOLINUX_SPLASH}" "${LIVE_ROOT}/binary/isolinux/splash.rle"
- fi
-
- # Configure syslinux templates
- sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/binary/isolinux/isolinux.cfg
- sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${LIVE_ROOT}"/binary/isolinux/f1.txt
- sed -i -e "s/LIVE_VERSION/${VERSION}/" "${LIVE_ROOT}"/binary/isolinux/f10.txt
-
- # Remove unused files
- rm -f "${LIVE_ROOT}"/binary/isolinux/pxelinux.cfg
- ;;
-
- net)
- # Copy syslinux
- mkdir -p "${LIVE_ROOT}"/tftpboot
- cp "${LIVE_ROOT}"/chroot/usr/lib/syslinux/pxelinux.0 "${LIVE_ROOT}"/tftpboot
-
- # Install syslinux templates
- mkdir -p "${LIVE_ROOT}"/tftpboot/pxelinux.cfg
- cp -r "${LIVE_TEMPLATES}"/syslinux/* "${LIVE_ROOT}"/tftpboot/pxelinux.cfg
- mv "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/pxelinux.cfg "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/default
- sed -i -e 's#splash.rle#pxelinux.cfg/splash.rle#' "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/isolinux.txt
-
- # Copy splash screen
- if [ -n "${LIVE_ISOLINUX_SPLASH}" ]; then
- cp "${LIVE_ISOLINUX_SPLASH}" "${LIVE_ROOT}/tftpboot/pxelinux.cfg/splash.rle"
- fi
-
- # Configure syslinux templates
- sed -i -e "s/LIVE_SERVER_ADDRESS/${LIVE_SERVER_ADDRESS}/" -e "s#LIVE_SERVER_PATH#${LIVE_SERVER_PATH}#" -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/default
- sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/f1.txt
- sed -i -e "s/LIVE_VERSION/${VERSION}/" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/f10.txt
-
- # Remove unused files
- rm -f "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/isolinux.cfg
- ;;
-
- usb)
- # Copy syslinux
- mkdir -p "${LIVE_ROOT}"/binary
- cp "${LIVE_CHROOT}"/usr/lib/syslinux/isolinux.bin "${LIVE_ROOT}"/binary/syslinux.bin
- cp -r "${LIVE_TEMPLATES}"/syslinux/* "${LIVE_ROOT}"/binary
- mv "${LIVE_ROOT}"/binary/isolinux.cfg "${LIVE_ROOT}"/binary/syslinux.cfg
-
- # Copy splash screen
- if [ -n "${LIVE_ISOLINUX_SPLASH}" ]; then
- cp "${LIVE_ISOLINUX_SPLASH}" "${LIVE_ROOT}/binary/splash.rle"
- fi
-
- # Configure syslinux templates
- sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/binary/syslinux.cfg
- sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${LIVE_ROOT}"/binary/f1.txt
- sed -i -e "s/LIVE_VERSION/${VERSION}/" "${LIVE_ROOT}"/binary/f10.txt
-
- # Remove unused files
- rm -f "${LIVE_ROOT}"/binary/isolinux/pxelinux.cfg
- ;;
- esac
-fi
diff --git a/helpers/lh_installtasks b/helpers/lh_installtasks
deleted file mode 100755
index 0a21a4a..0000000
--- a/helpers/lh_installtasks
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# lh_installtasks
-
-# Install aptitude tasks
-if [ -n "${LIVE_TASKS}" ]
-then
- for TASK in ${LIVE_TASKS}
- do
- lh_chroot "aptitude install --assume-yes ${TASK}"
- done
-fi
diff --git a/helpers/lh_localdeb b/helpers/lh_localdeb
deleted file mode 100755
index 0fe71aa..0000000
--- a/helpers/lh_localdeb
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# lh_localdeb
-
-if [ `ls "${LIVE_ROOT}"/localdeb/*.deb` ]
-then
- cp "${LIVE_ROOT}"/localdeb/*.deb "${LIVE_CHROOT}"/root
- lh_chroot "dpkg -i /root/*.deb"
- rm -f "${LIVE_CHROOT}"/root/*.deb
-fi
diff --git a/helpers/lh_losetup b/helpers/lh_losetup
index e2b3c0d..442afdb 100755
--- a/helpers/lh_losetup
+++ b/helpers/lh_losetup
@@ -2,7 +2,13 @@
# lh_losetup <device> <file> <partition>
-DEVICE="${1}"
+if [ -z "${1}" ]
+then
+ DEVICE="`losetup -f`"
+else
+ DEVICE="${1}"
+fi
+
FILE="${2}"
PARTITION="${3}"
@@ -11,7 +17,7 @@ FDISK_OUT="`fdisk -l -u ${DEVICE} 2>&1`"
losetup -d "${DEVICE}"
LOOPDEVICE="`echo ${DEVICE}p${PARTITION:=1}`"
-CYL="`echo ${FDISK_OUT} | sed -ne "s_^${LOOPDEVICE}[ *]*\([0-9]*\).*_\1_p" `"
+CYL=`echo "$FDISK_OUT" | sed -ne "s_^$LOOPDEVICE[ *]*\([0-9]*\).*_\1_p"`
#OFFSET="`expr 512 '*' ${CYL}`"
OFFSET="$((CYL*512))"
diff --git a/helpers/lh_manifest b/helpers/lh_manifest
deleted file mode 100755
index d755335..0000000
--- a/helpers/lh_manifest
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# lh_manifest
-
-# Add filesystem.manifest
-lh_chroot "dpkg --get-selections" | awk '{ print $1 }' | sort -u > "${LIVE_ROOT}"/filesystem.manifest
-
-if [ -n "${LIVE_MANIFEST}" ]
-then
- # FIXME; what should that be good for anyway?
- lh_chroot "aptitude install --assume-yes ${LIVE_MANIFEST}"
- lh_chroot "dpkg-query -W \*" | awk '$2 ~ /./ {print $1 " " $2 }' > "${LIVE_ROOT}"/filesystem.manifest-desktop
-fi
diff --git a/helpers/lh_md5sums b/helpers/lh_md5sums
deleted file mode 100755
index 8097e6c..0000000
--- a/helpers/lh_md5sums
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# lh_md5sums.sh
-
-# Calculating md5sums
-cd "${LIVE_ROOT}"/binary
-find . -type f -print0 | xargs -0 md5sum > "${LIVE_ROOT}"/md5sum.txt
-cd "${OLDPWD}"
-
-if [ -d "${LIVE_INCLUDE_IMAGE}" ]
-then
- cd "${LIVE_INCLUDE_IMAGE}"
- find . -type f -print0 | xargs -0 md5sum >> "${LIVE_ROOT}"/md5sum.txt
- cd "${OLDPWD}"
-fi
-
-mv "${LIVE_ROOT}"/md5sum.txt "${LIVE_ROOT}"/binary
diff --git a/helpers/lh_patchchroot b/helpers/lh_patchchroot
deleted file mode 100755
index ae99997..0000000
--- a/helpers/lh_patchchroot
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# lh_patchchroot.sh <action>
-
-# Some maintainer scripts can detect if they are in a chrooted system.
-# Therefore, we create the needed file.
-
-case "${1}" in
- apply)
- # Create chroot file
- echo "debian-live" > "${LIVE_CHROOT}"/etc/debian_chroot
- ;;
-
- deapply)
- # Remove chroot file
- rm -f "${LIVE_CHROOT}"/etc/debian_chroot
- ;;
-esac
diff --git a/helpers/lh_patchlinux b/helpers/lh_patchlinux
deleted file mode 100755
index 7193f23..0000000
--- a/helpers/lh_patchlinux
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-# lh_patchlinux.sh <action>
-
-# The linux-image package asks interactively for initial ramdisk
-# creation. Therefore, we preconfigure /etc/kernel-img.conf.
-# FIXME: preseeding?
-
-case "${1}" in
- apply)
- # Save kernel configuration
- if [ -f "${LIVE_CHROOT}"/etc/kernel-img.conf ]
- then
- cp "${LIVE_CHROOT}"/etc/kernel-img.conf \
- "${LIVE_CHROOT}"/etc/kernel-img.conf.old
- fi
-
- # Configure kernel-img.conf
- echo "do_initrd = Yes" >> "${LIVE_CHROOT}"/etc/kernel-img.conf
- ;;
-
- deapply)
- # Restore kernel configuration
- if [ -f "${LIVE_CHROOT}"/etc/kernel-img.conf.old ]
- then
- mv "${LIVE_CHROOT}"/etc/kernel-img.conf.old \
- "${LIVE_CHROOT}"/etc/kernel-img.conf
- else
- rm -f "${LIVE_CHROOT}"/etc/kernel-img.conf
- fi
- ;;
-esac
diff --git a/helpers/lh_patchnetwork b/helpers/lh_patchnetwork
deleted file mode 100755
index 9d0b4b0..0000000
--- a/helpers/lh_patchnetwork
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# lh_patchnetwork.sh <action>
-
-# Packages which are manually installed inside the chroot are installed
-# from the network. Therefore, we need to be able to resolv hosts.
-
-case "${1}" in
- apply)
- lh_confignetwork apply-hosts
- lh_confignetwork apply-resolv
- ;;
-
- deapply)
- lh_confignetwork deapply-hosts
- lh_confignetwork deapply-resolv
- ;;
-esac
diff --git a/helpers/lh_patchrunlevel b/helpers/lh_patchrunlevel
deleted file mode 100755
index 05fa9fb..0000000
--- a/helpers/lh_patchrunlevel
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-# lh_patchrunlevel.sh <action>
-
-# Disabling all init scripts with a blocking policy as in
-# /usr/share/doc/sysv-rc/README.policy-rc.d.gz.
-
-case "${1}" in
- apply)
- # Create init policy
- cat > "${LIVE_CHROOT}"/usr/sbin/policy-rc.d << EOF
-#!/bin/sh
-
-echo
-echo "Warning: invoke-rc.d policy in action. Skiping daemon starting"
-
-exit 101
-EOF
-
- chmod 0755 "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
- ;;
-
- deapply)
- # Removing init policy
- rm -f "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
- ;;
-esac
diff --git a/helpers/lh_preseed b/helpers/lh_preseed
deleted file mode 100755
index bcad060..0000000
--- a/helpers/lh_preseed
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# lh_preseed
-
-# Restore preseed configuration
-if [ -f "${LIVE_PRESEED}" ]
-then
- lh_chroot "aptitude install --assume-yes debconf-utils"
- cp "${LIVE_PRESEED}" "${LIVE_CHROOT}"/root/preseed
- lh_chroot "debconf-set-selections /root/preseed"
- rm -f "${LIVE_CHROOT}"/root/preseed
-else
- if [ -n "${LIVE_PRESEED}" ]; then
- echo "'${LIVE_PRESEED}' file doesn't exists. Exiting..."
- exit 1
- fi
-fi
-
-# Restore cloned package selection
-if [ -f "${LIVE_PACKAGE_LIST_CLONED}" ]
-then
- lh_chroot "xargs --arg-file=/root/`basename ${LIVE_PACKAGE_LIST_CLONED}` aptitude install --assume-yes"
-fi
diff --git a/helpers/lh_setupapt b/helpers/lh_setupapt
deleted file mode 100755
index 37a3dbd..0000000
--- a/helpers/lh_setupapt
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/sh
-
-case "${1}" in
- custom)
- # Configure custom sources.list
- case "${LIVE_DISTRIBUTION}" in
- stable|"${CODENAME_STABLE}"|testing|"${CODENAME_TESTING}")
- echo "deb ${LIVE_MIRROR} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src ${LIVE_MIRROR} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
-
- echo "deb ${LIVE_MIRROR_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src ${LIVE_MIRROR_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
- ;;
-
- unstable|"${CODENAME_UNSTABLE}")
- echo "deb ${LIVE_MIRROR} unstable ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src ${LIVE_MIRROR} unstable ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
-
- if [ "${LIVE_DISTRIBUTION_EXPERIMENTAL}" = "yes" ]
- then
- echo "deb ${LIVE_MIRROR} experimental ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src ${LIVE_MIRROR} experimental ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
-
-cat > "${LIVE_CHROOT}"/etc/apt/preferences << EOF
-Package: *
-Pin: release a=experimental
-Pin-Priority: 999
-EOF
- fi
- ;;
- esac
- ;;
-
- default)
- # Configure default sources.list
- case "${LIVE_DISTRIBUTION}" in
- oldstable|"${CODENAME_OLDSTABLE}"|stable|"${CODENAME_STABLE}"|testing|"${CODENAME_TESTING}")
- echo "deb http://ftp.debian.org/debian/ ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src http://ftp.debian.org/debian/ ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
-
- echo "deb http://security.debian.org/ ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src http://security.debian.org/ ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
- ;;
-
- unstable|"${CODENAME_UNSTABLE}")
- echo "deb http://ftp.debian.org/debian/ unstable ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src http://ftp.debian.org/debian/ unstable ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
-
- if [ "${LIVE_DISTRIBUTION_EXPERIMENTAL}" = "yes" ]
- then
- echo "deb http://ftp.debian.org/debian/ experimental ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
-
- if [ "${LIVE_SOURCE}" = "yes" ]
- then
- echo "deb-src http://ftp.debian.org/debian/ experimental ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
- fi
- ;;
- esac
- ;;
-esac
-
-# Add custom repositories
-echo "" >> "${LIVE_CHROOT}"/etc/apt/sources.list
-echo "# Custom repositories" >> "${LIVE_CHROOT}"/etc/apt/sources.list
-
-for NAME in ${LIVE_REPOSITORIES}
-do
- eval REPOSITORY="$`echo LIVE_REPOSITORY_$NAME`"
- eval REPOSITORY_DISTRIBUTION="$`echo LIVE_REPOSITORY_DISTRIBUTION_$NAME`"
- eval REPOSITORY_SECTIONS="$`echo LIVE_REPOSITORY_SECTIONS_$NAME`"
-
- # Configure /etc/apt/sources.list
- if [ -n "${REPOSITORY_DISTRIBUTION}" ]
- then
- echo "deb ${REPOSITORY} ${REPOSITORY_DISTRIBUTION} ${REPOSITORY_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- else
- echo "deb ${REPOSITORY} ${LIVE_DISTRIBUTION} ${REPOSITORY_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list
- fi
-done
-
-# Update indices
-if [ "${2}" = "initial" ]
-then
- lh_chroot "apt-get update"
-else
- lh_chroot "aptitude update"
-fi
-
-if [ "${LIVE_DISTRIBUTION_EXPERIMENTAL}" = "yes" ]
-then
- # experimental is sometimes broken,
- # therefore this is intentionally kept interactive.
- lh_chroot "aptitude upgrade" || return 0
- lh_chroot "aptitude dist-upgrade" || return 0
-fi
diff --git a/helpers/lh_source b/helpers/lh_source
new file mode 100755
index 0000000..5d08385
--- /dev/null
+++ b/helpers/lh_source
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# lh_source(1) - building the source images
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+# Enabling network in chroot
+lh_chroot_hosts install
+lh_chroot_resolv install
+lh_chroot_sources install
+
+# Preparing images
+lh_source_download
+
+# Building images
+lh_source_generic
+lh_source_iso
+lh_source_net
+lh_source_usb
+
+# Deconfiguring chroot
+rm -f "${LIVE_ROOT}"/.stage/chroot_sources
+lh_chroot_resolv remove
+lh_chroot_hosts remove
diff --git a/helpers/lh_source_download b/helpers/lh_source_download
new file mode 100755
index 0000000..0684d87
--- /dev/null
+++ b/helpers/lh_source_download
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# lh_source_download(1) - download sources
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+if [ "${LIVE_SOURCE}" = "enabled" ]
+then
+ # Requiring stage file
+ Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
+
+ # Checking lock file
+ Check_lockfile "${LIVE_ROOT}"/.lock
+
+ # Creating lock file
+ Create_lockfile "${LIVE_ROOT}"/.lock
+
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/source_download
+
+ # Remove old sources
+ if [ "${LIVE_ROOT}"/source ]
+ then
+ rm -rf "${LIVE_ROOT}"/source
+ fi
+
+ # Download sources
+ Chroot "dpkg --get-selections" | awk '{ print $1 }' > "${LIVE_CHROOT}"/root/dpkg-selection.txt
+ Chroot "xargs --arg-file=/root/dpkg-selection.txt apt-get source --download-only"
+ rm -f "${LIVE_CHROOT}"/root/dpkg-selection.txt
+
+ # Sort sources
+ for DSC in "${LIVE_CHROOT}"/*.dsc
+ do
+ SOURCE="`awk '/Source:/ { print $2; }' ${DSC}`"
+
+ if [ "`echo ${SOURCE} | cut -b 1-3`" == "lib" ]
+ then
+ LETTER="`echo ${SOURCE} | cut -b 1-4`"
+ else
+ LETTER="`echo ${SOURCE} | cut -b 1`"
+ fi
+
+ # Install directory
+ install -d -m 0755 "${LIVE_ROOT}"/source/"${LETTER}"/"${SOURCE}"
+
+ # Move files
+ mv "${LIVE_CHROOT}"/"${SOURCE}"_* "${LIVE_ROOT}"/source/"${LETTER}"/"${SOURCE}"
+ done
+
+ # Copy system configuration
+ cp -a "${LIVE_ROOT}"/config "${LIVE_ROOT}"/source
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/source_download
+fi
diff --git a/helpers/lh_source_generic b/helpers/lh_source_generic
new file mode 100755
index 0000000..a4fa1cc
--- /dev/null
+++ b/helpers/lh_source_generic
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# lh_source_generic(1) - build source generic image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+if [ "${LIVE_SOURCE}" = "disabled" ]
+then
+ echo "W: source images disabled (FIXME)"
+ exit 0
+fi
+
+for IMAGE in ${LIVE_SOURCE_IMAGE}
+do
+ if [ "${IMAGE}" = "generic" ]
+ then
+ # Requiring stage file
+ Require_stagefile "${LIVE_ROOT}"/.stage/source_download
+
+ # Checking lock file
+ Check_lockfile "${LIVE_ROOT}"/.lock
+
+ # Creating lock file
+ Create_lockfile "${LIVE_ROOT}"/.lock
+
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/source_generic
+
+ # Remove old source
+ if [ -f "${LIVE_ROOT}"/source.tar ]
+ then
+ rm -f "${LIVE_ROOT}"/source.tar
+ fi
+
+ # Create tarball
+ cd "${LIVE_ROOT}" &&
+ tar cf source.tar source
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/source_generic
+ fi
+done
diff --git a/helpers/lh_source_iso b/helpers/lh_source_iso
new file mode 100755
index 0000000..96d24ae
--- /dev/null
+++ b/helpers/lh_source_iso
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# lh_source_iso(1) - build source iso image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+if [ "${LIVE_SOURCE}" = "disabled" ]
+then
+ echo "W: source images disabled (FIXME)"
+ exit 0
+fi
+
+for IMAGE in ${LIVE_SOURCE_IMAGE}
+do
+ if [ "${IMAGE}" = "iso" ]
+ then
+ # Requiring stage file
+ Require_stagefile "${LIVE_ROOT}"/.stage/source_download
+
+ # Checking lock file
+ Check_lockfile "${LIVE_ROOT}"/.lock
+
+ # Creating lock file
+ Create_lockfile "${LIVE_ROOT}"/.lock
+
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/source_iso
+
+ # Remove old source
+ if [ -f "${LIVE_ROOT}"/source.iso ]
+ then
+ rm -f "${LIVE_ROOT}"/source.iso
+ fi
+
+ # Create image
+ cd "${LIVE_ROOT}" &&
+ ${LH_GENISOIMAGE} -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o source.iso -r -J -l -V "${LIVE_DISK_VOLUME}" source
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/source_iso
+ fi
+done
diff --git a/helpers/lh_source_net b/helpers/lh_source_net
new file mode 100755
index 0000000..30a8b83
--- /dev/null
+++ b/helpers/lh_source_net
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# lh_source_net(1) - build source net image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/image
+Set_defaults
+
+if [ "${LIVE_SOURCE}" = "disabled" ]
+then
+ echo "W: source images disabled (FIXME)"
+ exit 0
+fi
+
+for IMAGE in ${LIVE_SOURCE_IMAGE}
+do
+ if [ "${IMAGE}" = "net" ]
+ then
+ # Requiring stage file
+ Require_stagefile "${LIVE_ROOT}"/.stage/source_download
+
+ # Checking lock file
+ Check_lockfile "${LIVE_ROOT}"/.lock
+
+ # Creating lock file
+ Create_lockfile "${LIVE_ROOT}"/.lock
+
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/source_net
+
+ # Remove old source
+ if [ -f "${LIVE_ROOT}"/source.tar.gz ]
+ then
+ rm -f "${LIVE_ROOT}"/source.tar.gz
+ fi
+
+ # Create tarball
+ cd "${LIVE_ROOT}" &&
+ tar cfz source.tar.gz source
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/source_net
+ fi
+done
diff --git a/helpers/lh_source_usb b/helpers/lh_source_usb
new file mode 100755
index 0000000..03e90d7
--- /dev/null
+++ b/helpers/lh_source_usb
@@ -0,0 +1,121 @@
+#!/bin/sh
+
+# lh_source_usb(1) - build source image
+
+set -e
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/image
+Set_defaults
+
+if [ "${LIVE_SOURCE}" = "disabled" ]
+then
+ echo "W: source images disabled (FIXME)"
+ exit 0
+fi
+
+for IMAGE in ${LIVE_SOURCE_IMAGE}
+do
+ if [ "${IMAGE}" = "usb" ]
+ then
+ # Requiring stage file
+ Require_stagefile "${LIVE_ROOT}"/.stage/source_download
+
+ # Checking lock file
+ Check_lockfile "${LIVE_ROOT}"/.lock
+
+ # Creating lock file
+ Create_lockfile "${LIVE_ROOT}"/.lock
+
+ # Checking stage file
+ Check_stagefile "${LIVE_ROOT}"/.stage/source_usb
+
+ if [ ! -f "${LIVE_CHROOT}"/sbin/mkdosfs ]
+ then
+ PACKAGES="${PACKAGES} dosfstools"
+ fi
+
+ if [ ! -f "${LIVE_CHROOT}"/sbin/parted ]
+ then
+ PACKAGES="${PACKAGES} parted"
+ fi
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Installing packages
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get install --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude install --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+
+ # Remove old source
+ if [ -f "${LIVE_ROOT}"/source.img ]
+ then
+ rm -f "${LIVE_ROOT}"/source.img
+ fi
+
+ # Everything which comes here needs to be cleaned up,
+ DU_DIM="`du -ms ${LIVE_ROOT}/source | cut -f1`"
+ REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
+ dd if=/dev/zero of="${LIVE_ROOT}"/source.img bs=1024k count=${REAL_DIM}
+ FREELO="`losetup -f`"
+ if [ ! -b "${LIVE_CHROOT}"/${FREELO} ]
+ then
+ MAKEDEV="true"
+ Chroot "cd /dev && ./MAKEDEV ${FREELO}"
+ fi
+
+ echo "!!! The following error/warning messages can be ignored !!!"
+ lh_losetup $FREELO "${LIVE_ROOT}"/source.img 0
+ Chroot "parted -s ${FREELO} mklabel msdos" || true
+ Chroot "parted -s ${FREELO} mkpartfs primary fat16 0.0 100%" || true
+ Chroot "parted -s ${FREELO} set 1 lba off" || true
+ losetup -d ${FREELO}
+
+ lh_losetup $FREELO "${LIVE_ROOT}"/source.img 1
+ Chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}"
+ mkdir -p "${LIVE_ROOT}"/source.tmp
+ mount ${FREELO} "${LIVE_ROOT}"/source.tmp
+ cp -r "${LIVE_ROOT}"/source/* "${LIVE_ROOT}"/source.tmp
+ umount "${LIVE_ROOT}"/source.tmp
+ rmdir "${LIVE_ROOT}"/source.tmp
+ losetup -d ${FREELO}
+ echo "!!! The above error/warning messages can be ignored !!!"
+
+ if [ -n "${MAKEDEV}" ]
+ then
+ rm -f "${LIVE_CHROOT}"/${FREELO}
+ fi
+
+ if [ -n "${PACKAGES}" ]
+ then
+ # Removing packages
+ case "${LH_APT}" in
+ apt)
+ Chroot "apt-get remove --purge --yes ${PACKAGES}"
+ ;;
+
+ aptitude)
+ Chroot "aptitude purge --assume-yes ${PACKAGES}"
+ ;;
+ esac
+ fi
+
+ # Creating stage file
+ Create_stagefile "${LIVE_ROOT}"/.stage/source_usb
+ fi
+done
diff --git a/helpers/lh_testroot b/helpers/lh_testroot
index 6725850..e213ec5 100755
--- a/helpers/lh_testroot
+++ b/helpers/lh_testroot
@@ -1,6 +1,8 @@
#!/bin/sh
-# lh_testroot.sh
+# lh_testroot(1) - ensure that a system is built as root
+
+set -e
# Checking user account
if [ "`id -u`" -ne "0" ]
diff --git a/helpers/make-live b/helpers/make-live
new file mode 100755
index 0000000..8ae82ae
--- /dev/null
+++ b/helpers/make-live
@@ -0,0 +1,324 @@
+#!/bin/sh
+
+set -e
+
+# Set static variables
+PROGRAM="`basename ${0}`"
+
+# Source common functions
+for FUNCTION in /usr/share/live-helper/functions/*.sh
+do
+ . ${FUNCTION}
+done
+
+USAGE="Usage: ${PROGRAM} build|config [--apt apt|aptitude] [--apt-ftpproxy URL] [--apt-httpproxy URL] [--apt-generic enabled|disabled] [--apt-pdiffs enabled|disabled] [--apt-recommends enabled|disabled] [--bootstrap cdebootstrap|deboostrap] [--cache enabled|disabled] [--debconf-frontend dialog|readline|noninteractive] [--debconf-priority low|medium|high|critical] [--genisoimage genisoimage|mkisofs] [--root DIRECTORY] [--chroot DIRECTORY] [-a|--architecture ARCHITECTURE] [-d|--distribution testing|unstable|etch|sid] [--distribution-config DIRECTORY] [-f|--flavour minimal|standard] [-m|--mirror URL] [--mirror-security URL] [--mirror-generic URL] [--mirror-generic-security URL] [--sections SECTION|\"SECTIONS\"] [-k|--kernel KERNEL] [--kernel-packages PACKAGES] [-l|--language LANGUAGE] [--packages PACKAGE|\"PACKAGES\"] [-p|--packages-list LIST] [--tasks TASK|\"TASKS\"] [--security enabled|disabled] [--symlinks enabled|disabled] [--sysvinit enabled|disabled] [--bootappend KERNEL_PARAMETER|\"KERNEL_PARAMETERS\"] [-e|--encryption ALGORITHM] [--filesystem ext2|plain|squashfs] [--memtest86 enabled|disabled] [--iso-volume STRING] [--server-address HOSTNAME|IP] [--server-path DIRECTORY] [--source enabled|disabled] [--syslinux enabled|disabled] [--syslinux-splash FILE] [-b|--binary-image iso|usb|net] [-s|--source-image generic|iso|usb|net] [--templates DIRECTORY]"
+
+Help ()
+{
+ echo "${PROGRAM} - utility to build Debian Live systems"
+ echo
+ echo "${USAGE}"
+ echo "Usage: ${PROGRAM} [-h|--help]"
+ echo "Usage: ${PROGRAM} [-u|--usage]"
+ echo "Usage: ${PROGRAM} [-v|--version]"
+ echo
+ echo "Lists: gnome, gnome-core, gnome-desktop, gnome-full, gnome-junior, gnustep, kde, kde-core, kde-desktop, kde-extra, kde-full, kde-junior, mini, minimal, minimal-net, rescue, standard, standard-x11, xfce, xfce-desktop, xfce-junior"
+ echo
+ echo "Report bugs to Debian Live project <http://debian-live.alioth.debian.org/>."
+ exit 0
+}
+
+Usage ()
+{
+ echo "${PROGRAM} - utility to build Debian Live systems"
+ echo
+ echo "${USAGE}"
+ echo "Usage: ${PROGRAM} [-h|--help]"
+ echo "Usage: ${PROGRAM} [-u|--usage]"
+ echo "Usage: ${PROGRAM} [-v|--version]"
+ echo
+ echo "Try \"${PROGRAM} --help\" for more information."
+ exit ${1}
+}
+
+Version ()
+{
+ echo "${PROGRAM}, version ${VERSION}"
+ echo
+ echo "Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>"
+ echo "Copyright (C) 2006-2007 Marco Amadori <marco.amadori@gmail.com>"
+ echo
+ echo "This program is free software; you can redistribute it and/or modify"
+ echo "it under the terms of the GNU General Public License as published by"
+ echo "the Free Software Foundation; either version 2 of the License, or"
+ echo "(at your option) any later version."
+ echo
+ echo "This program is distributed in the hope that it will be useful,"
+ echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
+ echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
+ echo "GNU General Public License for more details."
+ echo
+ echo "You should have received a copy of the GNU General Public License"
+ echo "along with this program; if not, write to the Free Software"
+ echo "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
+ echo
+ echo "On Debian systems, the complete text of the GNU General Public License"
+ echo "can be found in /usr/share/common-licenses/GPL file."
+ echo
+ echo "Homepage: <http://debian-live.alioth.debian.org/>"
+ exit 0
+}
+
+Main ()
+{
+ ARGUMENTS="`getopt --longoptions build,config,apt:,apt-ftpproxy:,apt-httpprox:,apt-generic:,apt-pdiffs:,apt-recommends:,bootstrap:,cache:,debconf-frontend:,debconf-priority:,genisoimage:,root:,chroot:,architecture:,distribution:,distribution-config:,flavour:,mirror:,mirror-security:,mirror-generic:,mirror-generic-security:,sections:,kernel:,kernel-packages:,language:,packages:,packages-list:,tasks:,security:,symlinks:,sysvinit:,bootappend:,encryption:,filesystem:,memtest86:,iso-volume:,server-address:,server-path:,source:,syslinux:,syslinux-splash:,binary-image:,binary-source:,templates:,help,usage,version --name=${PROGRAM} --options a:d:f:m:k:l:p:e:b:s:huv --shell sh -- "${@}"`"
+
+ if [ "${?}" != "0" ]
+ then
+ echo "Terminating." >&2
+ exit 1
+ fi
+
+ case "${1}" in
+ config)
+ CONFIG="true"
+ ;;
+
+ build)
+ BUILD="true"
+ ;;
+
+ *)
+ echo "E: no operation (config|build) specified."
+ exit 1
+ ;;
+ esac
+
+ eval set -- "${ARGUMENTS}"
+
+ while true
+ do
+ case "${1}" in
+ # common
+ --apt)
+ LH_APT="${2}"; shift 2
+ ;;
+
+ --apt-ftpproxy)
+ LH_APT_FTPPROXY="${2}"; shift 2
+ ;;
+
+ --apt-httpproxy)
+ LH_APT_HTTPPROXY="${2}"; shift 2
+ ;;
+
+ --apt-generic)
+ LH_APT_GENERIC="${2}"; shift 2
+ ;;
+
+ --apt-pdiffs)
+ LH_APT_PDIFFS="${2}"; shift 2
+ ;;
+
+ --apt-recommends)
+ LH_APT_RECOMMENDS="${2}"; shift 2
+ ;;
+
+ --bootstrap)
+ LH_BOOTSTRAP="${2}"; shift 2
+ ;;
+
+ --cache)
+ LH_CACHE="${2}"; shift 2
+ ;;
+
+ --debconf-frontend)
+ LH_DEBCONF_FRONTEND="${2}"; shift 2
+ ;;
+
+ --debconf-priority)
+ LH_DEBCONF_PRIORITY="${2}"; shift 2
+ ;;
+
+ --genisoimage)
+ LH_GENISOIMAGE="${2}"; shift 2
+ ;;
+
+ --root)
+ LIVE_ROOT="${2}"; shift 2
+ ;;
+
+ --chroot)
+ LIVE_CHROOT="${2}"; shift 2
+ ;;
+
+ # bootstrap
+ -a|--architecture)
+ LIVE_ARCHITECTURE="${2}"; shift 2
+ ;;
+
+ -d|--distribution)
+ LIVE_DISTRIBUTION="${2}"; shift 2
+ export LIVE_DISTRIBUTION
+ ;;
+
+ --distribution-config)
+ LIVE_DISTRIBUTION_CONFIG="${2}"; shift 2
+ ;;
+
+ -f|--flavour)
+ LIVE_FLAVOUR="${2}"; shift 2
+ ;;
+
+ -m|--mirror)
+ LIVE_MIRROR="${2}"; shift 2
+ ;;
+
+ --mirror-security)
+ LIVE_MIRROR_SECURITY="${2}"; shift 2
+ ;;
+
+ --mirror-generic)
+ LIVE_MIRROR_GENERIC="${2}"; shift 2
+ ;;
+
+ --mirror-generic-security)
+ LIVE_MIRROR_GENERIC_SECURITY="${2}"; shift 2
+ ;;
+
+ --sections)
+ LIVE_SECTIONS="${2}"; shift 2
+ ;;
+
+ # chroot
+ -k|--kernel)
+ LIVE_KERNEL="${2}"; shift 2
+ ;;
+
+ --kernel-packages)
+ LIVE_KERNEL_PACKAGES="${2}"; shift 2
+ ;;
+
+ -l|--language)
+ LIVE_LANGUAGE="${2}"; shift 2
+ ;;
+
+ --packages)
+ LIVE_PACKAGES="${2}"; shift 2
+ ;;
+
+ -p|--packages-list)
+ LIVE_PACKAGES_LIST="${2}"; shift 2
+ ;;
+
+ --tasks)
+ LIVE_TASKS="${2}"; shift 2
+ ;;
+
+ --security)
+ LIVE_SECURITY="${2}"; shift 2
+ ;;
+
+ --symlinks)
+ LIVE_SYMLINKS="${2}"; shift 2
+ ;;
+
+ --sysvinit)
+ LIVE_SYSVINIT="${2}"; shift 2
+ ;;
+
+ # image
+ --bootappend)
+ LIVE_BOOTAPPEND="${2}"; shift 2
+ ;;
+
+ -e|--encryption)
+ LIVE_ENCRYPTION="${2}"; shift 2
+ ;;
+
+ --filesystem)
+ LIVE_FILESYSTEM="${2}"; shift 2
+ ;;
+
+ --memtest86)
+ LIVE_MEMTEST86="${2}"; shift 2
+ ;;
+
+ --iso-volume)
+ LIVE_ISO_VOLUME="${2}"; shift 2
+ ;;
+
+ --server-address)
+ LIVE_SERVER_ADDRESS="${2}"; shift 2
+ ;;
+
+ --server-path)
+ LIVE_SERVER_PATH="${2}"; shift 2
+ ;;
+
+ --source)
+ LIVE_SOURCE="${2}"; shift 2
+ ;;
+
+ --syslinux)
+ LIVE_SYSLINUX="${2}"; shift 2
+ ;;
+
+ --syslinux-splash)
+ LIVE_SYSLINUX_SPLASH="${2}"; shift 2
+ ;;
+
+ -b|--binary-image)
+ LIVE_BINARY_IMAGE="${2}"; shift 2
+ ;;
+
+ -s|--source-image)
+ LIVE_SOURCE_IMAGE="${2}"; shift 2
+ ;;
+
+ --templates)
+ LIVE_TEMPLATES="${2}"; shift 2
+ ;;
+
+ # other
+ -h|--help)
+ Help; shift
+ ;;
+
+ -u|--usage)
+ Usage 0; shift
+ ;;
+
+ -v|--version)
+ Version; shift
+ ;;
+
+ --)
+ shift; break
+ ;;
+
+ *)
+ echo "Internal error."
+ exit 1
+ ;;
+ esac
+ done
+
+ # Initializing
+ lh_testroot
+ Set_defaults
+
+ # Configuring (this is really shit!)
+ if [ "${CONFIG}" = "true" ]
+ then
+ LH_APT="${LH_APT}" LH_APT_FTPPROXY="${LH_APT_FTPPROXY}" LH_APT_HTTPPROXY="${LH_APT_HTTPPROXY}" LH_APT_GENERIC="${LH_APT_GENERIC}" LH_APT_PDIFFS="${LH_APT_PDIFFS}" LH_APT_RECOMMENDS="${LH_APT_RECOMMENDS}" LH_BOOTSTRAP="${LH_BOOTSTRAP}" LH_CACHE="${LH_CACHE}" LH_DEBCONF_FRONTEND="${LH_DEBCONF_FRONTEND}" LH_DEBCONF_PRIORITY="${LH_DEBCONF_PRIORITY}" LH_GENISOIMAGE="${LH_GENISOIMAGE}" LIVE_ROOT="${LIVE_ROOT}" LIVE_CHROOT="${LIVE_CHROOT}" LIVE_ARCHITECTURE="${LIVE_ARCHITECTURE}" LIVE_DISTRIBUTION="${LIVE_DISTRIBUTION}" LIVE_DISTRIBUTION_CONFIG="${LIVE_DISTRIBUTION_CONFIG}" LIVE_FLAVOUR="${LIVE_FLAVOUR}" LIVE_MIRROR="${LIVE_MIRROR}" LIVE_MIRROR_SECURITY="${LIVE_MIRROR_SECURITY}" LIVE_MIRROR_GENERIC="${LIVE_MIRROR_GENERIC}" LIVE_MIRROR_GENERIC_SECURITY="${LIVE_MIRROR_GENERIC_SECURITY}" LIVE_SECTIONS="${LIVE_SECTIONS}" LIVE_KERNEL="${LIVE_KERNEL}" LIVE_KERNEL_PACKAGES="${LIVE_KERNEL_PACKAGES}" LIVE_LANGUAGE="${LIVE_LANGUAGE}" LIVE_PACKAGES="${LIVE_PACKAGES}" LIVE_PACKAGES_LIST="${LIVE_PACKAGES_LIST}" LIVE_TASKS="${LIVE_TASKS}" LIVE_SECURITY="${LIVE_SECURITY}" LIVE_SYMLINKS="${LIVE_SYMLINKS}" LIVE_SYSVINIT="${LIVE_SYSVINIT}" LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND}" LIVE_ENCRYPTION="${LIVE_ENCRYPTION}" LIVE_FILESYSTEM="${LIVE_FILESYSTEM}" LIVE_MEMTEST86="${LIVE_MEMTEST86}" LIVE_ISO_VOLUME="${LIVE_ISO_VOLUME}" LIVE_SERVER_ADDRESS="${LIVE_SERVER_ADDRESS}" LIVE_SERVER_PATH="${LIVE_SERVER_PATH}" LIVE_SOURCE="${LIVE_SOURCE}" LIVE_SYSLINUX="${LIVE_SYSLINUX}" LIVE_SYSLINUX_SPLASH="${LIVE_SYSLINUX_SPLASH}" LIVE_BINARY_IMAGE="${LIVE_BINARY_IMAGE}" LIVE_SOURCE_IMAGE="${LIVE_SOURCE_IMAGE}" LIVE_TEMPLATES="${LIVE_TEMPLATES}" lh_config
+ fi
+
+ # Building
+ if [ "${BUILD}" = "true" ]
+ then
+ cd "${LIVE_ROOT}" && lh_build
+ fi
+}
+
+Main "${@}"
diff --git a/helpers/overview.txt b/helpers/overview.txt
deleted file mode 100644
index f84421f..0000000
--- a/helpers/overview.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-Overview
-========
-
-The basic concept is threefold:
-
- 1. Create a chroot
- 2. Install additional packages
- 3. Create images
-
-In detail:
-
-We start make-live, which handels configuration file, commandline paramters and defaults. Then, we start the helpers:
-
- * lh_testroot
-
- Tests if we are root, and fails if not.
-
- * lh_cdebootstrap
-
- Creates a bootstrap with cdebootstrap.
-
- * Configure chroot
- * Configure policy-id
- * Configure network
- * Mount proc
- * Configure sources.list
- * Configure apt: proxy and recommends
- * install aptitude
- * install secure apt
- * aptitude update
- * Configure linux-image
- * Install linux-image squashfs/unionfs
- * Deconfigure linux-image
- * CLONING/PRESEEDING
- * Install tasks lists
- * Install packages lists
- * Install LIVE_PACKAGES
- * Copy INCLUDE_ROOT
- * Process hooks
- * Save packages list
- * Disable daemons
- * Add manifest
- * Clean apt cache
- * Binfmt hack
- * Unmount proc
- * Deconfigure network
- * Deconfigure chroot
- * Check the chroot for depends
-
- build binary
- build source
diff --git a/hooks/mini b/hooks/mini
new file mode 100644
index 0000000..a8cc33a
--- /dev/null
+++ b/hooks/mini
@@ -0,0 +1,27 @@
+# /usr/share/live-helper/hooks/mini - hook list for live-helper(7)
+
+# Removing unused packages
+apt-get remove --purge apt-utils aptitude libdb4.4
+apt-get remove --purge man-db manpages info
+apt-get remove --purge ssl wget
+
+# Removing unused files
+rm -rf /usr/include/*
+#rm -rf /usr/share/groff/*
+rm -rf /usr/share/doc/*
+rm -rf /usr/share/locale/*
+rm -rf /usr/share/man/*
+rm -rf /usr/share/i18n/*
+rm -rf /usr/share/info/*
+rm -rf /usr/share/zoneinfo/*
+rm -rf /var/cache/man/*
+
+# Cleaning apt
+rm -rf /var/lib/apt/lists
+mkdir -p /var/lib/apt/lists/partial
+
+# Truncating logs
+for FILE in `find /var/log/ -type f`
+do
+ cat < /dev/null > $FILE
+done
diff --git a/hooks/minimal b/hooks/minimal
new file mode 100644
index 0000000..9eb24f7
--- /dev/null
+++ b/hooks/minimal
@@ -0,0 +1,19 @@
+# /usr/share/live-helper/hooks/minimal - hook list for live-helper(7)
+
+# Removing unused packages
+apt-get remove --purge apt-utils aptitude libdb4.4
+apt-get remove --purge man-db manpages info
+apt-get remove --purge ssl wget
+
+# Removing unused files
+rm -rf /var/cache/man/*
+
+# Cleaning apt
+rm -rf /var/lib/apt/lists
+mkdir -p /var/lib/apt/lists/partial
+
+# Truncating logs
+for FILE in `find /var/log/ -type f`
+do
+ cat < /dev/null > $FILE
+done
diff --git a/templates/common/README.html b/includes/common/README.html
index 33565f3..33565f3 100644
--- a/templates/common/README.html
+++ b/includes/common/README.html
diff --git a/templates/common/README.mirrors.html b/includes/common/README.mirrors.html
index b16637b..b16637b 100644
--- a/templates/common/README.mirrors.html
+++ b/includes/common/README.mirrors.html
diff --git a/templates/common/README.mirrors.txt b/includes/common/README.mirrors.txt
index 286f181..286f181 100644
--- a/templates/common/README.mirrors.txt
+++ b/includes/common/README.mirrors.txt
diff --git a/templates/common/README.txt b/includes/common/README.txt
index b847f71..b847f71 100644
--- a/templates/common/README.txt
+++ b/includes/common/README.txt
diff --git a/templates/common/doc/00-INDEX b/includes/common/doc/00-INDEX
index 041eaca..041eaca 100644
--- a/templates/common/doc/00-INDEX
+++ b/includes/common/doc/00-INDEX
diff --git a/templates/common/doc/FAQ/debian-faq.en.html.tar.gz b/includes/common/doc/FAQ/debian-faq.en.html.tar.gz
index d85f3d0..d85f3d0 100644
--- a/templates/common/doc/FAQ/debian-faq.en.html.tar.gz
+++ b/includes/common/doc/FAQ/debian-faq.en.html.tar.gz
Binary files differ
diff --git a/templates/common/doc/FAQ/debian-faq.en.pdf.gz b/includes/common/doc/FAQ/debian-faq.en.pdf.gz
index c8aa37b..c8aa37b 100644
--- a/templates/common/doc/FAQ/debian-faq.en.pdf.gz
+++ b/includes/common/doc/FAQ/debian-faq.en.pdf.gz
Binary files differ
diff --git a/templates/common/doc/FAQ/debian-faq.en.ps.gz b/includes/common/doc/FAQ/debian-faq.en.ps.gz
index 86aa67f..86aa67f 100644
--- a/templates/common/doc/FAQ/debian-faq.en.ps.gz
+++ b/includes/common/doc/FAQ/debian-faq.en.ps.gz
Binary files differ
diff --git a/templates/common/doc/FAQ/debian-faq.en.txt.gz b/includes/common/doc/FAQ/debian-faq.en.txt.gz
index ecb1b1a..ecb1b1a 100644
--- a/templates/common/doc/FAQ/debian-faq.en.txt.gz
+++ b/includes/common/doc/FAQ/debian-faq.en.txt.gz
Binary files differ
diff --git a/templates/common/doc/FAQ/html/ch-basic_defs.en.html b/includes/common/doc/FAQ/html/ch-basic_defs.en.html
index 7425706..7425706 100644
--- a/templates/common/doc/FAQ/html/ch-basic_defs.en.html
+++ b/includes/common/doc/FAQ/html/ch-basic_defs.en.html
diff --git a/includes/common/doc/FAQ/html/ch-basic_defs.html b/includes/common/doc/FAQ/html/ch-basic_defs.html
new file mode 100644
index 0000000..7425706
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-basic_defs.html
@@ -0,0 +1,431 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Definitions and overview</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-basic_defs"></a></p>
+<hr>
+
+<p>
+[ <a href="index.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ 1 ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-getting.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 1 - Definitions and overview
+</h1>
+
+<hr>
+
+<h2><a name="s-whatisfaq"></a>1.1 What is this FAQ?</h2>
+
+<p>
+This document gives frequently asked questions (with their answers!) about the
+Debian distribution (Debian GNU/Linux and others) and about the Debian project.
+If applicable, pointers to other documentation will be given: we won't quote
+large parts of external documentation in this document. You'll find out that
+some answers assume some knowledge of Unix-like operating systems. We'll try
+to assume as little prior knowledge as possible: answers to general beginners
+questions will be kept simple.
+</p>
+
+<p>
+If you can't find what you're looking for in this FAQ, be sure to check out <a
+href="ch-support.en.html#s-debiandocs">What other documentation exists on and
+for a Debian system?, Section 11.1</a>. If even that doesn't help, refer to <a
+href="ch-faqinfo.en.html#s-feedback">Feedback, Section 15.2</a>.
+</p>
+
+<hr>
+
+<h2><a name="s-whatisdebian"></a>1.2 What is Debian GNU/Linux?</h2>
+
+<p>
+Debian GNU/Linux is a particular <em>distribution</em> of the Linux operating
+system, and numerous packages that run on it.
+</p>
+
+<p>
+In principle, users could obtain the Linux kernel via the Internet or from
+elsewhere, and compile it themselves. They could then obtain source code for
+many applications in the same way, compile the programs, then install them into
+their systems. For complicated programs, this process can be not only
+time-consuming but error-prone. To avoid it, users often choose to obtain the
+operating system and the application packages from one of the Linux
+distributors. What distinguishes the various Linux distributors are the
+software, protocols, and practices they use for packaging, installing, and
+tracking applications packages on users' systems, combined with installation
+and maintenance tools, documentation, and other services.
+</p>
+
+<p>
+Debian GNU/Linux is the result of a volunteer effort to create a free,
+high-quality Unix-compatible operating system, complete with a suite of
+applications. The idea of a free Unix-like system originates from the GNU
+project, and many of the applications that make Debian GNU/Linux so useful were
+developed by the GNU project.
+</p>
+
+<p>
+For Debian, free has the GNUish meaning (see the <code><a
+href="http://www.debian.org/social_contract#guidelines">Debian Free Software
+Guidelines</a></code>). When we speak of free software, we are referring to
+freedom, not price. Free software means that you have the freedom to
+distribute copies of free software, that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it in new
+free programs; and that you know you can do these things.
+</p>
+
+<p>
+The Debian Project was created by Ian Murdock in 1993, initially under the
+sponsorship of the Free Software Foundation's GNU project. Today, Debian's
+developers think of it as a direct descendent of the GNU project.
+</p>
+
+<p>
+Debian GNU/Linux is:
+</p>
+<ul>
+<li>
+<p>
+<strong>full featured</strong>: Debian includes more than 15400 software
+packages at present. Users can select which packages to install; Debian
+provides a tool for this purpose. You can find a list and descriptions of the
+packages currently available in Debian at any of the Debian <code><a
+href="http://www.debian.org/distrib/ftplist">mirror sites</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<strong>free to use and redistribute</strong>: There is no consortium
+membership or payment required to participate in its distribution and
+development. All packages that are formally part of Debian GNU/Linux are free
+to redistribute, usually under terms specified by the GNU General Public
+License.
+</p>
+
+<p>
+The Debian FTP archives also carry approximately 450 software packages (in the
+<samp>non-free</samp> and <samp>contrib</samp> sections), which are
+distributable under specific terms included with each package.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<strong>dynamic</strong>: With about 1649 volunteers constantly contributing
+new and improved code, Debian is evolving rapidly. New releases are planned to
+be made every several months, and the FTP archives are updated daily.
+</p>
+</li>
+</ul>
+
+<p>
+Although Debian GNU/Linux itself is free software, it is a base upon which
+value-added Linux distributions can be built. By providing a reliable,
+full-featured base system, Debian provides Linux users with increased
+compatibility, and allows Linux distribution creators to eliminate duplication
+of effort and focus on the things that make their distribution special. See <a
+href="ch-redistrib.en.html#s-childistro">I am making a special Linux
+distribution for a &quot;vertical market&quot;. Can I use Debian GNU/Linux for
+the guts of a Linux system and add my own applications on top of it?, Section
+13.3</a> for more information.
+</p>
+
+<hr>
+
+<h2><a name="s-linux"></a>1.3 OK, now I know what Debian is... what is Linux?!</h2>
+
+<p>
+In short, Linux is the kernel of a Unix-like operating system. It was
+originally designed for 386 (and better) PCs; today Linux also runs on a dozen
+of other systems. Linux is written by Linus Torvalds and many computer
+scientists around the world.
+</p>
+
+<p>
+Besides its kernel, a &quot;Linux&quot; system usually has:
+</p>
+<ul>
+<li>
+<p>
+a file system that follows the Linux Filesystem Hierarchy Standard <code><a
+href="http://www.pathname.com/fhs/">http://www.pathname.com/fhs/</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+a wide range of Unix utilities, many of which have been developed by the GNU
+project and the Free Software Foundation.
+</p>
+</li>
+</ul>
+
+<p>
+The combination of the Linux kernel, the file system, the GNU and FSF
+utilities, and the other utilities are designed to achieve compliance with the
+POSIX (IEEE 1003.1) standard; see <a href="ch-compat.en.html#s-otherunices">How
+source code compatible is Debian with other Unix systems?, Section 3.3</a>.
+</p>
+
+<p>
+For more information about Linux, see Michael K. Johnson's <code><a
+href="ftp://ibiblio.org/pub/Linux/docs/HOWTO/INFO-SHEET">Linux Information
+Sheet</a></code> and <code><a
+href="ftp://ibiblio.org/pub/Linux/docs/HOWTO/META-FAQ">Meta-FAQ</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-non-linux"></a>1.4 Does Debian just do GNU/Linux?</h2>
+
+<p>
+Currently, Debian is only available for Linux, but with Debian GNU/Hurd and
+Debian on BSD kernels, we have started to offer non-Linux-based OSes as a
+development, server and desktop platform, too. However, these non-linux ports
+are not officially released yet.
+</p>
+
+<p>
+The oldest porting effort is Debian GNU/Hurd.
+</p>
+
+<p>
+The Hurd is a set of servers running on top of the GNU Mach microkernel.
+Together they build the base for the GNU operating system.
+</p>
+
+<p>
+Please see <code><a
+href="http://www.gnu.org/software/hurd/">http://www.gnu.org/software/hurd/</a></code>
+for more information about the GNU/Hurd in general, and <code><a
+href="http://www.debian.org/ports/hurd/">http://www.debian.org/ports/hurd/</a></code>
+for more information about Debian GNU/Hurd.
+</p>
+
+<p>
+A second effort is the port to a BSD kernel. People are working with both the
+NetBSD and the FreeBSD kernels.
+</p>
+
+<p>
+See <code><a
+href="http://www.debian.org/ports/#nonlinux">http://www.debian.org/ports/#nonlinux</a></code>
+for more information about these non-linux ports.
+</p>
+
+<hr>
+
+<h2><a name="s-difference"></a>1.5 What is the difference between Debian GNU/Linux and other Linux distributions? Why should I choose Debian over some other distribution?</h2>
+
+<p>
+These key features distinguish Debian from other Linux distributions:
+</p>
+<dl>
+<dt>Freedom:</dt>
+<dd>
+<p>
+As stated in the <code><a href="http://www.debian.org/social_contract">Debian
+Social Contract</a></code>, Debian will remain 100% free. Debian is very
+strict about shipping truly free software. The guidelines used to determine if
+a work is &quot;free&quot; are provided in <code><a
+href="http://www.debian.org/social_contract#guidelines">The Debian Free
+Software</a></code>.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>The Debian package maintenance system:</dt>
+<dd>
+<p>
+The entire system, or any individual component of it, can be upgraded in place
+without reformatting, without losing custom configuration files, and (in most
+cases) without rebooting the system. Most Linux distributions available today
+have some kind of package maintenance system; the Debian package maintenance
+system is unique and particularly robust (see <a
+href="ch-pkg_basics.en.html">Basics of the Debian package management system,
+Chapter 6</a>).
+</p>
+</dd>
+</dl>
+<dl>
+<dt>Open development:</dt>
+<dd>
+<p>
+Whereas other Linux distributions are developed by individuals, small, closed
+groups, or commercial vendors, Debian is the only major Linux distribution that
+is being developed cooperatively by many individuals through the Internet, in
+the same spirit as Linux and other free software.
+</p>
+
+<p>
+More than 1649 volunteer package maintainers are working on over 15400 packages
+and improving Debian GNU/Linux. The Debian developers contribute to the
+project not by writing new applications (in most cases), but by packaging
+existing software according to the standards of the project, by communicating
+bug reports to upstream developers, and by providing user support. See also
+additional information on how to become a contributor in <a
+href="ch-contributing.en.html#s-contrib">How can I become a Debian software
+developer?, Section 12.1</a>.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>The Universal Operating System:</dt>
+<dd>
+<p>
+Debian comes with <code><a href="http://packages.debian.org/stable/">more than
+15400 packages</a></code> and runs on <code><a
+href="http://www.debian.org/ports/">11 architectures</a></code>. This is far
+more than is available for any other GNU/Linux distribution. See <a
+href="ch-software.en.html#s-apps">What types of applications and development
+software are available for Debian GNU/Linux?, Section 4.1</a> for an overview
+of the provided software and see <a href="ch-compat.en.html#s-arches">On what
+hardware architectures/systems does Debian GNU/Linux run?, Section 3.1</a> for
+a description of the supported hardware platforms.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>The Bug Tracking System:</dt>
+<dd>
+<p>
+The geographical dispersion of the Debian developers required sophisticated
+tools and quick communication of bugs and bug-fixes to accelerate the
+development of the system. Users are encouraged to send bugs in a formal
+style, which are quickly accessible by WWW archives or via e-mail. See
+additional information in this FAQ on the management of the bug log in <a
+href="ch-support.en.html#s-buglogs">Are there logs of known bugs?, Section
+11.4</a>.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>The Debian Policy:</dt>
+<dd>
+<p>
+Debian has an extensive specification of our standards of quality, the Debian
+Policy. This document defines the qualities and standards to which we hold
+Debian packages.
+</p>
+</dd>
+</dl>
+
+<p>
+For additional information about this, please see our web page about <code><a
+href="http://www.debian.org/intro/why_debian">reasons to choose
+Debian</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-gnu"></a>1.6 How does the Debian project fit in or compare with the Free Software Foundation's GNU project?</h2>
+
+<p>
+The Debian system builds on the ideals of free software first championed by the
+<code><a href="http://www.gnu.org/">Free Software Foundation</a></code> and in
+particular by <code><a href="http://www.stallman.org/">Richard
+Stallman</a></code>. FSF's powerful system development tools, utilities, and
+applications are also a key part of the Debian system.
+</p>
+
+<p>
+The Debian Project is a separate entity from the FSF, however we communicate
+regularly and cooperate on various projects. The FSF explicitly requested that
+we call our system &quot;Debian GNU/Linux&quot;, and we are happy to comply
+with that request.
+</p>
+
+<p>
+The FSF's long-standing objective is to develop a new operating system called
+GNU, based on <code><a
+href="http://www.gnu.org/software/hurd/">Hurd</a></code>. Debian is working
+with FSF on this system, called <code><a
+href="http://www.debian.org/ports/hurd/">Debian GNU/Hurd</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-pronunciation"></a>1.7 How does one pronounce Debian and what does this word mean?</h2>
+
+<p>
+The project name is pronounced Deb'-ee-en, with a short e in Deb, and emphasis
+on the first syllable. This word is a contraction of the names of Debra and
+Ian Murdock, who founded the project. (Dictionaries seem to offer some
+ambiguity in the pronunciation of Ian (!), but Ian prefers ee'-en.)
+</p>
+
+<hr>
+
+<p>
+[ <a href="index.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ 1 ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-getting.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-compat.en.html b/includes/common/doc/FAQ/html/ch-compat.en.html
index 24b527d..24b527d 100644
--- a/templates/common/doc/FAQ/html/ch-compat.en.html
+++ b/includes/common/doc/FAQ/html/ch-compat.en.html
diff --git a/includes/common/doc/FAQ/html/ch-compat.html b/includes/common/doc/FAQ/html/ch-compat.html
new file mode 100644
index 0000000..24b527d
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-compat.html
@@ -0,0 +1,386 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Compatibility issues</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-compat"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-getting.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ 3 ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-software.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 3 - Compatibility issues
+</h1>
+
+<hr>
+
+<h2><a name="s-arches"></a>3.1 On what hardware architectures/systems does Debian GNU/Linux run?</h2>
+
+<p>
+Debian GNU/Linux includes complete source-code for all of the included
+programs, so it should work on all systems which are supported by the Linux
+kernel; see the <code><a
+href="http://en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER">Linux
+FAQ</a></code> for details.
+</p>
+
+<p>
+The current Debian GNU/Linux release, 3.1, contains a complete, binary
+distribution for the following architectures:
+</p>
+
+<p>
+<em>i386</em>: this covers PCs based on Intel and compatible processors,
+including Intel's 386, 486, Pentium, Pentium Pro, Pentium II (both Klamath and
+Celeron), and Pentium III, and most compatible processors by AMD, Cyrix and
+others.
+</p>
+
+<p>
+<em>m68k</em>: this covers Amigas and ATARIs having a Motorola 680x0 processor
+for x&gt;=2; with MMU.
+</p>
+
+<p>
+<em>alpha</em>: Compaq/Digital's Alpha systems.
+</p>
+
+<p>
+<em>sparc</em>: this covers Sun's SPARC and most UltraSPARC systems.
+</p>
+
+<p>
+<em>powerpc</em>: this covers some IBM/Motorola PowerPC machines, including
+CHRP, PowerMac and PReP machines.
+</p>
+
+<p>
+<em>arm</em>: ARM and StrongARM machines.
+</p>
+
+<p>
+<em>mips</em>: SGI's big-endian MIPS systems, Indy and Indigo2;
+<em>mipsel</em>: little-endian MIPS machines, Digital DECstations.
+</p>
+
+<p>
+<em>hppa</em>: Hewlett-Packard's PA-RISC machines (712, C3000, L2000, A500).
+</p>
+
+<p>
+<em>ia64</em>: Intel IA-64 (&quot;Itanium&quot;) computers.
+</p>
+
+<p>
+<em>s390</em>: IBM S/390 mainframe systems.
+</p>
+
+<p>
+The development of binary distributions of Debian for Sparc64 (UltraSPARC
+native) architectures is currently underway.
+</p>
+
+<p>
+For further information on booting, partitioning your drive, enabling PCMCIA
+(PC Card) devices and similar issues please follow the instructions given in
+the Installation Manual, which is available from our WWW site at <code><a
+href="http://www.debian.org/releases/stable/installmanual">http://www.debian.org/releases/stable/installmanual</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-otherdistribs"></a>3.2 How compatible is Debian with other distributions of Linux?</h2>
+
+<p>
+Debian developers communicate with other Linux distribution creators in an
+effort to maintain binary compatibility across Linux distributions. Most
+commercial Linux products run as well under Debian as they do on the system
+upon which they were built.
+</p>
+
+<p>
+Debian GNU/Linux adheres to the <code><a
+href="http://www.pathname.com/fhs/">Linux Filesystem Hierarchy
+Standard</a></code>. However, there is room for interpretation in some of the
+rules within this standard, so there may be slight differences between a Debian
+system and other Linux systems.
+</p>
+
+<p>
+Debian GNU/Linux supports software developed for the <code><a
+href="http://www.linuxbase.org/">Linux Standard Base</a></code>. The LSB is a
+specification for allowing the same binary package to be used on multiple
+distributions. Packages for the Debian Etch release must not conflict with
+requirements of the LSB, v1.3. As of this writing, Debian GNU/Linux is not
+formally LSB-certified. However, some Debian derived distributions are.
+Discussion and coordination of efforts towards ensuring Debian meets the
+requirements of the Linux Standard Base is taking place on the <code><a
+href="http://lists.debian.org/debian-lsb/">debian-lsb mailing list</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-otherunices"></a>3.3 How source code compatible is Debian with other Unix systems?</h2>
+
+<p>
+For most applications Linux source code is compatible with other Unix systems.
+It supports almost everything that is available in System V Unix systems and
+the free and commercial BSD-derived systems. However in the Unix business such
+claim has nearly no value because there is no way to prove it. In the software
+development area complete compatibility is required instead of compatibility in
+&quot;about most&quot; cases. So years ago the need for standards arose, and
+nowadays POSIX.1 (IEEE Standard 1003.1-1990) is one of the major standards for
+source code compatibility in Unix-like operating systems.
+</p>
+
+<p>
+Linux is intended to adhere to POSIX.1, but the POSIX standards cost real money
+and the POSIX.1 (and FIPS 151-2) certification is quite expensive; this made it
+more difficult for the Linux developers to work on complete POSIX conformance.
+The certification costs make it unlikely that Debian will get an official
+conformance certification even if it completely passed the validation suite.
+(The validation suite is now freely available, so it is expected that more
+people will work on POSIX.1 issues.)
+</p>
+
+<p>
+Unifix GmbH (Braunschweig, Germany) developed a Linux system that has been
+certified to conform to FIPS 151-2 (a superset of POSIX.1). This technology
+was available in Unifix' own distribution called Unifix Linux 2.0 and in
+Lasermoon's Linux-FT.
+</p>
+
+<hr>
+
+<h2><a name="s-otherpackages"></a>3.4 Can I use Debian packages (&quot;.deb&quot; files) on my Red Hat/Slackware/... Linux system? Can I use Red Hat packages (&quot;.rpm&quot; files) on my Debian GNU/Linux system?</h2>
+
+<p>
+Different Linux distributions use different package formats and different
+package management programs.
+</p>
+<dl>
+<dt><strong>You probably can:</strong></dt>
+<dd>
+<p>
+A program to unpack a Debian package onto a Linux host that is been built from
+a `foreign' distribution is available, and will generally work, in the sense
+that files will be unpacked. The converse is probably also true, that is, a
+program to unpack a Red Hat or Slackware package on a host that is based on
+Debian GNU/Linux will probably succeed in unpacking the package and placing
+most files in their intended directories. This is largely a consequence of the
+existence (and broad adherence to) the Linux Filesystem Hierarchy Standard.
+The <code><a href="http://packages.debian.org/alien">Alien</a></code> package
+is used to convert between different package formats.
+</p>
+</dd>
+</dl>
+<dl>
+<dt><strong>You probably do not want to:</strong></dt>
+<dd>
+<p>
+Most package managers write administrative files when they are used to unpack
+an archive. These administrative files are generally not standardized.
+Therefore, the effect of unpacking a Debian package on a `foreign' host will
+have unpredictable (certainly not useful) effects on the package manager on
+that system. Likewise, utilities from other distributions might succeed in
+unpacking their archives on Debian systems, but will probably cause the Debian
+package management system to fail when the time comes to upgrade or remove some
+packages, or even simply to report exactly what packages are present on a
+system.
+</p>
+</dd>
+</dl>
+<dl>
+<dt><strong>A better way:</strong></dt>
+<dd>
+<p>
+The Linux File System Standard (and therefore Debian GNU/Linux) requires that
+subdirectories under <samp>/usr/local/</samp> be entirely under the user's
+discretion. Therefore, users can unpack `foreign' packages into this
+directory, and then manage their configuration, upgrade and removal
+individually.
+</p>
+</dd>
+</dl>
+
+<hr>
+
+<h2><a name="s-libc5"></a>3.5 Is Debian able to run my old libc5 programs?</h2>
+
+<p>
+Yes. Just install the required <code>libc5</code> libraries, from the
+<samp>oldlibs</samp> section (containing old packages included for
+compatibility with older applications).
+</p>
+
+<hr>
+
+<h2><a name="s-libc5-compile"></a>3.6 Can Debian be used to compile libc5 programs?</h2>
+
+<p>
+Yes. Install <code>libc5-altdev</code> and <code>altgcc</code> packages (from
+the <samp>oldlibs</samp> section). You can find the appropriate libc5-compiled
+<code>gcc</code> and <code>g++</code> in directory
+<samp>/usr/i486-linuxlibc1/bin</samp>. Put them in your $PATH variable to get
+<code>make</code> and other programs to execute these first.
+</p>
+
+<p>
+Be aware that libc5 environment isn't fully supported by our other packages
+anymore.
+</p>
+
+<hr>
+
+<h2><a name="s-non-debian-programs"></a>3.7 How should I install a non-Debian program?</h2>
+
+<p>
+Files under the directory <samp>/usr/local/</samp> are not under the control of
+the Debian package management system. Therefore, it is good practice to place
+the source code for your program in /usr/local/src/. For example, you might
+extract the files for a package named &quot;foo.tar&quot; into the directory
+<samp>/usr/local/src/foo</samp>. After you compile them, place the binaries in
+<samp>/usr/local/bin/</samp>, the libraries in <samp>/usr/local/lib/</samp>,
+and the configuration files in <samp>/usr/local/etc/</samp>.
+</p>
+
+<p>
+If your programs and/or files really must be placed in some other directory,
+you could still store them in <samp>/usr/local/</samp>, and build the
+appropriate symbolic links from the required location to its location in
+<samp>/usr/local/</samp>, e.g., you could make the link
+</p>
+
+<pre>
+ ln -s /usr/local/bin/foo /usr/bin/foo
+</pre>
+
+<p>
+In any case, if you obtain a package whose copyright allows redistribution, you
+should consider making a Debian package of it, and uploading it for the Debian
+system. Guidelines for becoming a package developer are included in the Debian
+Policy manual (see <a href="ch-support.en.html#s-debiandocs">What other
+documentation exists on and for a Debian system?, Section 11.1</a>).
+</p>
+
+<hr>
+
+<h2><a name="s-termcap"></a>3.8 Why can't I compile programs that require libtermcap?</h2>
+
+<p>
+Debian uses the <samp>terminfo</samp> database and the <samp>ncurses</samp>
+library of terminal interface routes, rather than the <samp>termcap</samp>
+database and the <samp>termcap</samp> library. Users who are compiling
+programs that require some knowledge of the terminal interface should replace
+references to <samp>libtermcap</samp> with references to
+<samp>libncurses</samp>.
+</p>
+
+<p>
+To support binaries that have already been linked with the <samp>termcap</samp>
+library, and for which you do not have the source, Debian provides a package
+called <code>termcap-compat</code>. This provides both
+<samp>libtermcap.so.2</samp> and <samp>/etc/termcap</samp>. Install this
+package if the program fails to run with the error message &quot;can't load
+library 'libtermcap.so.2'&quot;, or complains about a missing
+<samp>/etc/termcap</samp> file.
+</p>
+
+<hr>
+
+<h2><a name="s-accelx"></a>3.9 Why can't I install AccelX?</h2>
+
+<p>
+AccelX uses the <samp>termcap</samp> library for installation. See <a
+href="#s-termcap">Why can't I compile programs that require libtermcap?,
+Section 3.8</a> above.
+</p>
+
+<hr>
+
+<h2><a name="s-motifnls"></a>3.10 Why do my old XFree 2.1 Motif applications crash?</h2>
+
+<p>
+You need to install the <code>motifnls</code> package, which provides the
+XFree-2.1 configuration files needed to allow Motif applications compiled under
+XFree-2.1 to run under XFree-3.1.
+</p>
+
+<p>
+Without these files, some Motif applications compiled on other machines (such
+as Netscape) may crash when attempting to copy or paste from or to a text
+field, and may also exhibit other problems.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-getting.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ 3 ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-software.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-contributing.en.html b/includes/common/doc/FAQ/html/ch-contributing.en.html
index 9ed5a56..9ed5a56 100644
--- a/templates/common/doc/FAQ/html/ch-contributing.en.html
+++ b/includes/common/doc/FAQ/html/ch-contributing.en.html
diff --git a/includes/common/doc/FAQ/html/ch-contributing.html b/includes/common/doc/FAQ/html/ch-contributing.html
new file mode 100644
index 0000000..9ed5a56
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-contributing.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Contributing to the Debian Project</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-contributing"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-support.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ 12 ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-redistrib.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 12 - Contributing to the Debian Project
+</h1>
+
+<hr>
+
+<p>
+<code><a href="http://www.debian.org/donations">Donations</a></code> of time
+(to develop new packages, maintain existing packages, or provide user support),
+resources (to mirror the FTP and WWW archives), and money (to pay for new
+testbeds as well as hardware for the archives) can help the project.
+</p>
+
+<hr>
+
+<h2><a name="s-contrib"></a>12.1 How can I become a Debian software developer?</h2>
+
+<p>
+The development of Debian is open to all, and new users with the right skills
+and/or the willingness to learn are needed to maintain existing packages which
+have been &quot;orphaned&quot; by their previous maintainers, to develop new
+packages, and to provide user support.
+</p>
+
+<p>
+The description of becoming a Debian developer can be found at the <code><a
+href="http://www.debian.org/devel/join/newmaint">New Maintainer's
+Corner</a></code> at the Debian web site.
+</p>
+
+<hr>
+
+<h2><a name="s-contribresources"></a>12.2 How can I contribute resources to the Debian project?</h2>
+
+<p>
+Since the project aims to make a substantial body of software rapidly and
+easily accessible throughout the globe, mirrors are urgently needed. It is
+desirable but not absolutely necessary to mirror all of the archive. Please
+visit the <code><a href="http://www.debian.org/mirror/size">Debian mirror
+size</a></code> page for information on the disk space requirements.
+</p>
+
+<p>
+Most of the mirroring is accomplished entirely automatically by scripts,
+without any interaction. However, the occasional glitch or system change
+occurs which requires human intervention.
+</p>
+
+<p>
+If you have a high-speed connection to the Internet, the resources to mirror
+all or part of the distribution, and are willing to take the time (or find
+someone) who can provide regular maintenance of the system, then please contact
+<code><a
+href="mailto:debian-admin@lists.debian.org">debian-admin@lists.debian.org</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-supportingorganizations"></a>12.3 How can I contribute financially to the Debian project?</h2>
+
+<p>
+One can make individual donations to one of two organizations that are critical
+to the development of the Debian project.
+</p>
+
+<hr>
+
+<h3><a name="s-SPI"></a>12.3.1 Software in the Public Interest</h3>
+
+<p>
+Software in the Public Interest (SPI) is an IRS 501(c)(3) non-profit
+organization, formed when FSF withdrew their sponsorship of Debian. The
+purpose of the organization is to develop and distribute free software.
+</p>
+
+<p>
+Our goals are very much like those of FSF, and we encourage programmers to use
+the GNU General Public License on their programs. However, we have a slightly
+different focus in that we are building and distributing a Linux system that
+diverges in many technical details from the GNU system planned by FSF. We
+still communicate with FSF, and we cooperate in sending them changes to GNU
+software and in asking our users to donate to FSF and the GNU project.
+</p>
+
+<p>
+SPI can be reached at: <code><a
+href="http://www.spi-inc.org/">http://www.spi-inc.org/</a></code>.
+</p>
+
+<hr>
+
+<h3><a name="s-FSF"></a>12.3.2 Free Software Foundation</h3>
+
+<p>
+At this time there is no formal connection between Debian and the Free Software
+Foundation. However, the Free Software Foundation is responsible for some of
+the most important software components in Debian, including the GNU C compiler,
+GNU Emacs, and much of the C run-time library that is used by all programs on
+the system. FSF pioneered much of what free software is today: they wrote the
+General Public License that is used on much of the Debian software, and they
+invented the &quot;GNU&quot; project to create an entirely free Unix system.
+Debian should be considered a descendent of the GNU system.
+</p>
+
+<p>
+FSF can be reached at: <code><a
+href="http://www.fsf.org/">http://www.fsf.org/</a></code>.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-support.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ 12 ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-redistrib.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-customizing.en.html b/includes/common/doc/FAQ/html/ch-customizing.en.html
index fb89888..fb89888 100644
--- a/templates/common/doc/FAQ/html/ch-customizing.en.html
+++ b/includes/common/doc/FAQ/html/ch-customizing.en.html
diff --git a/includes/common/doc/FAQ/html/ch-customizing.html b/includes/common/doc/FAQ/html/ch-customizing.html
new file mode 100644
index 0000000..fb89888
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-customizing.html
@@ -0,0 +1,522 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Customizing your installation of Debian GNU/Linux</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-customizing"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-kernel.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ 10 ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-support.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 10 - Customizing your installation of Debian GNU/Linux
+</h1>
+
+<hr>
+
+<h2><a name="s-papersize"></a>10.1 How can I ensure that all programs use the same paper size?</h2>
+
+<p>
+Install the <code>libpaper1</code> package, and it will ask you for a
+system-wide default paper size. This setting will be kept in the file
+<samp>/etc/papersize</samp>.
+</p>
+
+<p>
+Users can override the paper size setting using the <samp>PAPERSIZE</samp>
+environment variable. For details, see the manual page
+<code>papersize(5)</code>.
+</p>
+
+<hr>
+
+<h2><a name="s-hardwareaccess"></a>10.2 How can I provide access to hardware peripherals, without compromising security?</h2>
+
+<p>
+Many device files in the <samp>/dev</samp> directory belong to some predefined
+groups. For example, <samp>/dev/fd0</samp> belongs to the <samp>floppy</samp>
+group, and <samp>/dev/dsp</samp> belongs to the <samp>audio</samp> group.
+</p>
+
+<p>
+If you want a certain user to have access to one of these devices, just add the
+user to the group the device belongs to, i.e. do:
+</p>
+
+<pre>
+ adduser user group
+</pre>
+
+<p>
+This way you won't have to change the file permissions on the device.
+</p>
+
+<hr>
+
+<h2><a name="s-consolefont"></a>10.3 How do I load a console font on startup the Debian way?</h2>
+
+<p>
+The <code>kbd</code> and <code>console-tools</code> packages support this, edit
+<samp>/etc/kbd/config</samp> or <samp>/etc/console-tools/config</samp> files.
+</p>
+
+<hr>
+
+<h2><a name="s-appdefaults"></a>10.4 How can I configure an X11 program's application defaults?</h2>
+
+<p>
+Debian's X programs will install their application resource data in the
+<samp>/etc/X11/app-defaults/</samp> directory. If you want to customize X
+applications globally, put your customizations in those files. They are marked
+as configuration files, so their contents will be preserved during upgrades.
+</p>
+
+<hr>
+
+<h2><a name="s-booting"></a>10.5 Every distribution seems to have a different boot-up method. Tell me about Debian's.</h2>
+
+<p>
+Like all Unices, Debian boots up by executing the program <samp>init</samp>.
+The configuration file for <samp>init</samp> (which is
+<samp>/etc/inittab</samp>) specifies that the first script to be executed
+should be <samp>/etc/init.d/rcS</samp>. This script runs all of the scripts in
+<samp>/etc/rcS.d/</samp> by sourcing or forking subprocess depending on their
+file extension to perform initialization such as to check and to mount file
+systems, to load modules, to start the network services, to set the clock, and
+to perform other initialization. Then, for compatibility, it runs the files
+(except those with a `.'in the filename) in <samp>/etc/rc.boot/</samp> too.
+Any scripts in the latter directory are usually reserved for system
+administrator use, and using them in packages is deprecated.
+</p>
+
+<p>
+After completing the boot process, <samp>init</samp> executes all start scripts
+in a directory specified by the default runlevel (this runlevel is given by the
+entry for <samp>id</samp> in <samp>/etc/inittab</samp>). Like most System V
+compatible Unices, Linux has 7 runlevels:
+</p>
+<ul>
+<li>
+<p>
+0 (halt the system),
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+1 (single-user mode),
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+2 through 5 (various multi-user modes), and
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+6 (reboot the system).
+</p>
+</li>
+</ul>
+
+<p>
+Debian systems come with id=2, which indicates that the default runlevel will
+be '2' when the multi-user state is entered, and the scripts in
+<samp>/etc/rc2.d/</samp> will be run.
+</p>
+
+<p>
+In fact, the scripts in any of the directories, <samp>/etc/rcN.d/</samp> are
+just symbolic links back to scripts in <samp>/etc/init.d/</samp>. However, the
+<em>names</em> of the files in each of the <samp>/etc/rcN.d/</samp> directories
+are selected to indicate the <em>way</em> the scripts in
+<samp>/etc/init.d/</samp> will be run. Specifically, before entering any
+runlevel, all the scripts beginning with 'K' are run; these scripts kill
+services. Then all the scripts beginning with 'S' are run; these scripts start
+services. The two-digit number following the 'K' or 'S' indicates the order in
+which the script is run. Lower numbered scripts are executed first.
+</p>
+
+<p>
+This approach works because the scripts in <samp>/etc/init.d/</samp> all take
+an argument which can be either `start', `stop', `reload', `restart' or
+`force-reload' and will then do the task indicated by the argument. These
+scripts can be used even after a system has been booted, to control various
+processes.
+</p>
+
+<p>
+For example, with the argument `reload' the command
+</p>
+
+<pre>
+ /etc/init.d/sendmail reload
+</pre>
+
+<p>
+sends the sendmail daemon a signal to reread its configuration file. (BTW,
+Debian supplies <code>invoke-rc.d</code> as a wrapper for invoking the scripts
+in <samp>/etc/init.d/</samp>.)
+</p>
+
+<hr>
+
+<h2><a name="s-custombootscripts"></a>10.6 It looks as if Debian does not use <samp>rc.local</samp> to customize the boot process; what facilities are provided?</h2>
+
+<p>
+Suppose a system needs to execute script <samp>foo</samp> on start-up, or on
+entry to a particular (System V) runlevel. Then the system administrator
+should:
+</p>
+<ul>
+<li>
+<p>
+Enter the script <samp>foo</samp> into the directory <samp>/etc/init.d/</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Run the Debian command <samp>update-rc.d</samp> with appropriate arguments, to
+set up links between the (command-line-specified) directories rc?.d and
+<samp>/etc/init.d/foo</samp>. Here, '?' is a number from 0 through 6 and
+corresponds to each of the System V runlevels.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Reboot the system.
+</p>
+</li>
+</ul>
+
+<p>
+The command <samp>update-rc.d</samp> will set up links between files in the
+directories rc?.d and the script in <samp>/etc/init.d/</samp>. Each link will
+begin with a 'S' or a 'K', followed by a number, followed by the name of the
+script. Scripts beginning with 'S' in <samp>/etc/rcN.d/</samp> are executed
+when runlevel <samp>N</samp> is entered. Scripts beginning with a 'K' are
+executed when leaving runlevel <samp>N</samp>.
+</p>
+
+<p>
+One might, for example, cause the script <samp>foo</samp> to execute at
+boot-up, by putting it in <samp>/etc/init.d/</samp> and installing the links
+with <samp>update-rc.d foo defaults 19</samp>. The argument 'defaults' refers
+to the default runlevels, which are 2 through 5. The argument '19' ensures
+that <samp>foo</samp> is called before any scripts containing numbers 20 or
+larger.
+</p>
+
+<hr>
+
+<h2><a name="s-interconffiles"></a>10.7 How does the package management system deal with packages that contain configuration files for other packages?</h2>
+
+<p>
+Some users wish to create, for example, a new server by installing a group of
+Debian packages and a locally generated package consisting of configuration
+files. This is not generally a good idea, because <code>dpkg</code> will not
+know about those configuration files if they are in a different package, and
+may write conflicting configurations when one of the initial &quot;group&quot;
+of packages is upgraded.
+</p>
+
+<p>
+Instead, create a local package that modifies the configuration files of the
+&quot;group&quot; of Debian packages of interest. Then <code>dpkg</code> and
+the rest of the package management system will see that the files have been
+modified by the local &quot;sysadmin&quot; and will not try to overwrite them
+when those packages are upgraded.
+</p>
+
+<hr>
+
+<h2><a name="s-divert"></a>10.8 How do I override a file installed by a package, so that a different version can be used instead?</h2>
+
+<p>
+Suppose a sysadmin or local user wishes to use a program
+&quot;login-local&quot; rather than the program &quot;login&quot; provided by
+the Debian <code>login</code> package.
+</p>
+
+<p>
+Do <strong>not</strong>:
+</p>
+<ul>
+<li>
+<p>
+Overwrite <samp>/bin/login</samp> with <samp>login-local</samp>.
+</p>
+</li>
+</ul>
+
+<p>
+The package management system will not know about this change, and will simply
+overwrite your custom <samp>/bin/login</samp> whenever <samp>login</samp> (or
+any package that provides <samp>/bin/login</samp>) is installed or updated.
+</p>
+
+<p>
+Rather, do
+</p>
+<ul>
+<li>
+<p>
+Execute:
+</p>
+
+<pre>
+ dpkg-divert --divert /bin/login.debian /bin/login
+</pre>
+
+<p>
+in order to cause all future installations of the Debian <code>login</code>
+package to write the file <samp>/bin/login</samp> to
+<samp>/bin/login.debian</samp> instead.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Then execute:
+</p>
+
+<pre>
+ cp login-local /bin/login
+</pre>
+
+<p>
+to move your own locally-built program into place.
+</p>
+</li>
+</ul>
+
+<p>
+Details are given in the manual page <code>dpkg-divert(8)</code>.
+</p>
+
+<hr>
+
+<h2><a name="s-localpackages"></a>10.9 How can I have my locally-built package included in the list of available packages that the package management system knows about?</h2>
+
+<p>
+Execute the command:
+</p>
+
+<pre>
+ dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] &gt; my_Packages
+</pre>
+
+<p>
+where:
+</p>
+<ul>
+<li>
+<p>
+BIN-DIR is a directory where Debian archive files (which usually have an
+extension of &quot;.deb&quot;) are stored.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+OVERRIDE_FILE is a file that is edited by the distribution maintainers and is
+usually stored on a Debian FTP archive at <samp>indices/override.main.gz</samp>
+for the Debian packages in the &quot;main&quot; distribution. You can ignore
+this for local packages.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+PATHPREFIX is an <em>optional</em> string that can be prepended to the
+<samp>my_Packages</samp> file being produced.
+</p>
+</li>
+</ul>
+
+<p>
+Once you have built the file <samp>my_Packages</samp>, tell the package
+management system about it by using the command:
+</p>
+
+<pre>
+ dpkg --merge-avail my_Packages
+</pre>
+
+<p>
+If you are using APT, you can add the local repository to your
+<code>sources.list(5)</code> file, too.
+</p>
+
+<hr>
+
+<h2><a name="s-diverse"></a>10.10 Some users like mawk, others like gawk; some like vim, others like elvis; some like trn, others like tin; how does Debian support diversity?</h2>
+
+<p>
+There are several cases where two packages provide two different versions of a
+program, both of which provide the same core functionality. Users might prefer
+one over another out of habit, or because the user interface of one package is
+somehow more pleasing than the interface of another. Other users on the same
+system might make a different choice.
+</p>
+
+<p>
+Debian uses a &quot;virtual&quot; package system to allow system administrators
+to choose (or let users choose) their favorite tools when there are two or more
+that provide the same basic functionality, yet satisfy package dependency
+requirements without specifying a particular package.
+</p>
+
+<p>
+For example, there might exist two different versions of newsreaders on a
+system. The news server package might 'recommend' that there exist
+<em>some</em> news reader on the system, but the choice of <samp>tin</samp> or
+<samp>trn</samp> is left up to the individual user. This is satisfied by
+having both the <code>tin</code> and <code>trn</code> packages provide the
+virtual package <code>news-reader</code>. <em>Which</em> program is invoked is
+determined by a link pointing from a file with the virtual package name
+<samp>/etc/alternatives/news-reader</samp> to the selected file, e.g.,
+<samp>/usr/bin/trn</samp>.
+</p>
+
+<p>
+A single link is insufficient to support full use of an alternate program;
+normally, manual pages, and possibly other supporting files must be selected as
+well. The Perl script <samp>update-alternatives</samp> provides a way of
+ensuring that all the files associated with a specified package are selected as
+a system default.
+</p>
+
+<p>
+For example, to check what executables provide `x-window-manager', run:
+</p>
+
+<pre>
+ update-alternatives --display x-window-manager
+</pre>
+
+<p>
+If you want to change it, run:
+</p>
+
+<pre>
+ update-alternatives --config x-window-manager
+</pre>
+
+<p>
+And follow the instructions on the screen (basically, press the number next to
+the entry you'd like better).
+</p>
+
+<p>
+If a package doesn't register itself as a window manager for some reason (file
+a bug if it's in error), or if you use a window manager from /usr/local
+directory, the selections on screen won't contain your preferred entry. You
+can update the link through command line options, like this:
+</p>
+
+<pre>
+ update-alternatives --install /usr/bin/x-window-manager \
+ x-window-manager /usr/local/bin/wmaker-cvs 50
+</pre>
+
+<p>
+The first argument to `--install' option is the symlink that points to
+/etc/alternatives/NAME, where NAME is the second argument. The third argument
+is the program to which /etc/alternatives/NAME should point to, and the fourth
+argument is the priority (larger value means the alternative will more probably
+get picked automatically).
+</p>
+
+<p>
+To remove an alternative you added, simply run:
+</p>
+
+<pre>
+ update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs
+</pre>
+
+<hr>
+
+<p>
+[ <a href="ch-kernel.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ 10 ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-support.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-faqinfo.en.html b/includes/common/doc/FAQ/html/ch-faqinfo.en.html
index 6fdb982..6fdb982 100644
--- a/templates/common/doc/FAQ/html/ch-faqinfo.en.html
+++ b/includes/common/doc/FAQ/html/ch-faqinfo.en.html
diff --git a/includes/common/doc/FAQ/html/ch-faqinfo.html b/includes/common/doc/FAQ/html/ch-faqinfo.html
new file mode 100644
index 0000000..6fdb982
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-faqinfo.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - General information about the FAQ</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-faqinfo"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-nexttime.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ 15 ]
+[ <a href="index.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 15 - General information about the FAQ
+</h1>
+
+<hr>
+
+<h2><a name="s-authors"></a>15.1 Authors</h2>
+
+<p>
+The first edition of this FAQ was made and maintained by J.H.M. Dassen (Ray)
+and Chuck Stickelman. Authors of the rewritten Debian GNU/Linux FAQ are Susan
+G. Kleinmann and Sven Rudolph. After them, the FAQ was maintained by Santiago
+Vila and, later, by Josip Rodin. The current maintainer is Javier
+Fernandez-Sanguino.
+</p>
+
+<p>
+Parts of the information came from:
+</p>
+<ul>
+<li>
+<p>
+The Debian-1.1 release announcement, by <code><a
+href="http://www.perens.com/">Bruce Perens</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+The Linux FAQ, by <code><a
+href="http://www.chiark.greenend.org.uk/~ijackson/">Ian Jackson</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code><a href="http://lists.debian.org/">Debian Mailing Lists
+Archives</a></code>,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+the dpkg programmers' manual and the Debian Policy manual (see <a
+href="ch-support.en.html#s-debiandocs">What other documentation exists on and
+for a Debian system?, Section 11.1</a>)
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+many developers, volunteers, and beta testers, and
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+the flaky memories of its authors. :-)
+</p>
+</li>
+</ul>
+
+<p>
+The authors would like to thank all those who helped make this document
+possible.
+</p>
+
+<p>
+All warranties are disclaimed. All trademarks are property of their respective
+trademark owners.
+</p>
+
+<hr>
+
+<h2><a name="s-feedback"></a>15.2 Feedback</h2>
+
+<p>
+Comments and additions to this document are always welcome. Please send e-mail
+to <code><a
+href="mailto:doc-debian@packages.debian.org">doc-debian@packages.debian.org</a></code>,
+or submit a wishlist bug report against the <code><code><a
+href="http://bugs.debian.org/doc-debian">doc-debian</a></code></code> package.
+</p>
+
+<hr>
+
+<h2><a name="s-latest"></a>15.3 Availability</h2>
+
+<p>
+The latest version of this document can be viewed on the Debian WWW pages at
+<code><a
+href="http://www.debian.org/doc/FAQ/">http://www.debian.org/doc/FAQ/</a></code>.
+</p>
+
+<p>
+It is also available for download in plain text, HTML, PostScript and PDF
+formats at <code><a
+href="http://www.debian.org/doc/user-manuals#faq">http://www.debian.org/doc/user-manuals#faq</a></code>.
+Also, there are several translations there.
+</p>
+
+<p>
+The original SGML files used to create this document are also available in
+<code>doc-debian</code>'s source package, or in CVS at:
+<samp>:pserver:anonymous@cvs.debian.org:/cvs/debian-doc/ddp/manuals.sgml/faq</samp>
+</p>
+
+<hr>
+
+<h2><a name="s-docformat"></a>15.4 Document format</h2>
+
+<p>
+This document was written using the DebianDoc SGML DTD (rewritten from LinuxDoc
+SGML). DebianDoc SGML systems enables us to create files in a variety of
+formats from one source, e.g. this document can be viewed as HTML, plain text,
+TeX DVI, PostScript, PDF, or GNU info.
+</p>
+
+<p>
+Conversion utilities for DebianDoc SGML are available in Debian package
+<code>debiandoc-sgml</code>.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-nexttime.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ 15 ]
+[ <a href="index.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-ftparchives.en.html b/includes/common/doc/FAQ/html/ch-ftparchives.en.html
index 0133507..0133507 100644
--- a/templates/common/doc/FAQ/html/ch-ftparchives.en.html
+++ b/includes/common/doc/FAQ/html/ch-ftparchives.en.html
diff --git a/includes/common/doc/FAQ/html/ch-ftparchives.html b/includes/common/doc/FAQ/html/ch-ftparchives.html
new file mode 100644
index 0000000..0133507
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-ftparchives.html
@@ -0,0 +1,567 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - The Debian FTP archives</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-ftparchives"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-software.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ 5 ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-pkg_basics.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 5 - The Debian FTP archives
+</h1>
+
+<hr>
+
+<h2><a name="s-dirtree"></a>5.1 What are all those directories at the Debian FTP archives?</h2>
+
+<p>
+The software that has been packaged for Debian GNU/Linux is available in one of
+several directory trees on each Debian mirror site.
+</p>
+
+<p>
+The <samp>dists</samp> directory is short for &quot;distributions&quot;, and it
+is the canonical way to access the currently available Debian releases (and
+pre-releases).
+</p>
+
+<p>
+The <samp>pool</samp> directory contains the actual packages, see <a
+href="#s-pools">What's in the <samp>pool</samp> directory?, Section 5.10</a>.
+</p>
+
+<p>
+There are the following supplementary directories:
+</p>
+<dl>
+<dt><em>/tools/</em>:</dt>
+<dd>
+<p>
+DOS utilities for creating boot disks, partitioning your disk drive,
+compressing/decompressing files, and booting Linux.
+</p>
+</dd>
+</dl>
+<dl>
+<dt><em>/doc/</em>:</dt>
+<dd>
+<p>
+The basic Debian documentation, such as the FAQ, the bug reporting system
+instructions, etc.
+</p>
+</dd>
+</dl>
+<dl>
+<dt><em>/indices/</em>:</dt>
+<dd>
+<p>
+The Maintainers file and the override files.
+</p>
+</dd>
+</dl>
+<dl>
+<dt><em>/project/</em>:</dt>
+<dd>
+<p>
+mostly developer-only materials, such as:
+</p>
+<dl>
+<dt><em>project/experimental/</em>:</dt>
+<dd>
+<p>
+This directory contains packages and tools which are still being developed, and
+are still in the alpha testing stage. Users shouldn't be using packages from
+here, because they can be dangerous and harmful even for the most experienced
+people.
+</p>
+</dd>
+</dl>
+</dd>
+</dl>
+
+<hr>
+
+<h2><a name="s-dists"></a>5.2 How many Debian distributions are there in the <samp>dists</samp> directory?</h2>
+
+<p>
+There are three distributions, the &quot;stable&quot; distribution, the
+&quot;testing&quot; distribution, and the &quot;unstable&quot; distribution.
+The &quot;testing&quot; distribution is sometimes `frozen' (see <a
+href="#s-frozen">What about &quot;testing&quot;? How is it `frozen'?, Section
+5.6.1</a>).
+</p>
+
+<hr>
+
+<h2><a name="s-codenames"></a>5.3 What are all those names like slink, potato, etc.?</h2>
+
+<p>
+They are just &quot;codenames&quot;. When a Debian distribution is in the
+development stage, it has no version number but a codename. The purpose of
+these codenames is to make easier the mirroring of the Debian distributions (if
+a real directory like <samp>unstable</samp> suddenly changed its name to
+<samp>stable</samp>, a lot of stuff would have to be needlessly downloaded
+again).
+</p>
+
+<p>
+Currently, <samp>stable</samp> is a symbolic link to <samp>sarge</samp> (i.e.
+Debian GNU/Linux 3.1) and <samp>testing</samp> is a symbolic link to
+<samp>etch</samp>. This means that <samp>sarge</samp> is the current stable
+distribution and <samp>etch</samp> is the current testing distribution.
+</p>
+
+<p>
+<samp>unstable</samp> is a permanent symbolic link to <samp>sid</samp>, as
+<samp>sid</samp> is always the unstable distribution (see <a href="#s-sid">What
+about &quot;sid&quot;?, Section 5.4</a>).
+</p>
+
+<hr>
+
+<h3><a name="s-oldcodenames"></a>5.3.1 Which other codenames have been used in the past?</h3>
+
+<p>
+Other codenames that have been already used are: <samp>buzz</samp> for release
+1.1, <samp>rex</samp> for release 1.2, <samp>bo</samp> for releases 1.3.x,
+<samp>hamm</samp> for release 2.0, <samp>slink</samp> for release 2.1,
+<samp>potato</samp> for release 2.2 and <samp>woody</samp> for release 3.0.
+</p>
+
+<hr>
+
+<h3><a name="s-sourceforcodenames"></a>5.3.2 Where do these codenames come from?</h3>
+
+<p>
+So far they have been characters taken from the movie &quot;Toy Story&quot; by
+Pixar.
+</p>
+<ul>
+<li>
+<p>
+<em>buzz</em> (Buzz Lightyear) was the spaceman,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>rex</em> was the tyrannosaurus,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>bo</em> (Bo Peep) was the girl who took care of the sheep,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>hamm</em> was the piggy bank,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>slink</em> (Slinky Dog (R)) was the toy dog,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>potato</em> was, of course, Mr. Potato (R),
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>woody</em> was the cowboy,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>sarge</em> was the sergeant of the Green Plastic Army Men,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>etch</em> was the toy blackboard (Etch-a-Sketch (R)).
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>sid</em> was the boy next door who destroyed toys.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-sid"></a>5.4 What about &quot;sid&quot;?</h2>
+
+<p>
+<em>sid</em> or <em>unstable</em> is the place where most of the packages are
+initially uploaded. It will never be released directly, because packages which
+are to be released will first have to be included in <em>testing</em>, in order
+to be released in <em>stable</em> later on. sid contains packages for both
+released and unreleased architectures.
+</p>
+
+<p>
+The name &quot;sid&quot; also comes from the &quot;Toy Story&quot; animated
+motion picture: Sid was the boy next door who destroyed toys :-)
+</p>
+
+<p>
+[<a href="footnotes.en.html#f1" name="fr1">1</a>]
+</p>
+
+<hr>
+
+<h2><a name="s-stable"></a>5.5 What does the stable directory contain?</h2>
+<ul>
+<li>
+<p>
+stable/main/: This directory contains the packages which formally constitute
+the most recent release of the Debian GNU/Linux system.
+</p>
+
+<p>
+These packages all comply with the <code><a
+href="http://www.debian.org/social_contract#guidelines">Debian Free Software
+Guidelines</a></code>, and are all freely usable and distributable.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+stable/non-free/: This directory contains packages distribution of which is
+restricted in a way that requires that distributors take careful account of the
+specified copyright requirements.
+</p>
+
+<p>
+For example, some packages have licenses which prohibit commercial
+distribution. Others can be redistributed but are in fact shareware and not
+freeware. The licenses of each of these packages must be studied, and possibly
+negotiated, before the packages are included in any redistribution (e.g., in a
+CD-ROM).
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+stable/contrib/: This directory contains packages which are DFSG-free and
+<em>freely distributable</em> themselves, but somehow depend on a package that
+is <em>not</em> freely distributable and thus available only in the non-free
+section.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-testing"></a>5.6 What does the testing directory contain?</h2>
+
+<p>
+Packages are installed into the `testing' directory after they have undergone
+some degree of testing in <a href="#s-unstable">unstable</a>.
+</p>
+
+<p>
+They must be in sync on all architectures where they have been built and
+mustn't have dependencies that make them uninstallable; they also have to have
+fewer release-critical bugs than the versions currently in testing. This way,
+we hope that `testing' is always close to being a release candidate.
+</p>
+
+<p>
+More information about the status of &quot;testing&quot; in general and the
+individual packages is available at <code><a
+href="http://www.debian.org/devel/testing">http://www.debian.org/devel/testing</a></code>
+</p>
+
+<hr>
+
+<h3><a name="s-frozen"></a>5.6.1 What about &quot;testing&quot;? How is it `frozen'?</h3>
+
+<p>
+When the &quot;testing&quot; distribution is mature enough, the release manager
+starts `freezing' it. The normal propagation delays are increased to ensure
+that as little as possible new bugs from &quot;unstable&quot; enter
+&quot;testing&quot;.
+</p>
+
+<p>
+After a while, the &quot;testing&quot; distribution becomes truly `frozen'.
+This means that all new packages that are to propagate to the
+&quot;testing&quot; are held back, unless they include release-critical bug
+fixes. The &quot;testing&quot; distribution can also remain in such a deep
+freeze during the so-called `test cycles', when the release is imminent.
+</p>
+
+<p>
+We keep a record of bugs in the &quot;testing&quot; distribution that can hold
+off a package from being released, or bugs that can hold back the whole
+release. For details, please see <code><a
+href="http://www.debian.org/releases/testing/">current testing release
+information</a></code>.
+</p>
+
+<p>
+Once that bug count lowers to maximum acceptable values, the frozen
+&quot;testing&quot; distribution is declared &quot;stable&quot; and released
+with a version number.
+</p>
+
+<p>
+With each new release, the previous &quot;stable&quot; distribution becomes
+obsolete and moves to the archive. For more information please see <code><a
+href="http://www.debian.org/distrib/archive">Debian archive</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-unstable"></a>5.7 What does the unstable directory contain?</h2>
+
+<p>
+The `unstable' directory contains a snapshot of the current development system.
+Users are welcome to use and test these packages, but are warned about their
+state of readiness. The advantage of using the unstable distribution is that
+you are always up-to-date with the latest in GNU/Linux software industry, but
+if it breaks: you get to keep both parts :-)
+</p>
+
+<p>
+There are also main, contrib and non-free subdirectories in `unstable',
+separated on the same criteria as in `stable'.
+</p>
+
+<hr>
+
+<h2><a name="s-archsections"></a>5.8 What are all those directories inside <samp>dists/stable/main</samp>?</h2>
+
+<p>
+Within each of the major directory trees[<a href="footnotes.en.html#f2"
+name="fr2">2</a>], there are three sets of subdirectories containing index
+files.
+</p>
+
+<p>
+There's one set of <samp>binary-<var>something</var></samp> subdirectories
+which contain index files for binary packages of each available computer
+architecture, for example <samp>binary-i386</samp> for packages which execute
+on Intel x86 PC machines or <samp>binary-sparc</samp> for packages which
+execute on Sun SPARCStations.
+</p>
+
+<p>
+The complete list of available architectures for each release is available at
+<code><a href="http://www.debian.org/releases/">the release's web
+page</a></code>. For the current release, please see <a
+href="ch-compat.en.html#s-arches">On what hardware architectures/systems does
+Debian GNU/Linux run?, Section 3.1</a>.
+</p>
+
+<p>
+The index files in binary-* are called Packages(.gz) and they include a summary
+of each binary package that is included in that distribution. The actual
+binary packages (for <em>woody</em> and subsequent releases) reside in the top
+level <a href="#s-pools"><samp>pool</samp> directory</a>.
+</p>
+
+<p>
+Furthermore, there's a subdirectory called source/ which contains index files
+for source packages included in the distribution. The index file is called
+Sources(.gz).
+</p>
+
+<p>
+Last but not least, there's a set of subdirectories meant for the installation
+system index files. In the <em>woody</em> release, these are named
+<samp>disks-<var>architecture</var></samp>; in <em>sarge</em>, they are at
+<samp>debian-installer/binary-<var>architecture</var></samp>.
+</p>
+
+<hr>
+
+<h2><a name="s-source"></a>5.9 Where is the source code?</h2>
+
+<p>
+Source code is included for everything in the Debian system. Moreover, the
+license terms of most programs in the system <em>require</em> that source code
+be distributed along with the programs, or that an offer to provide the source
+code accompany the programs.
+</p>
+
+<p>
+The source code is distributed in the <samp>pool</samp> directory (see <a
+href="#s-pools">What's in the <samp>pool</samp> directory?, Section 5.10</a>)
+together with all the architecture-specific binary directories. To retrieve
+the source code without having to be familiar with the structure of the FTP
+archive, try a command like <samp>apt-get source mypackagename</samp>.
+</p>
+
+<p>
+Some packages are only distributed as source code due to the restrictions in
+their licenses. Notably, one such package is <samp>pine</samp>, see <a
+href="ch-software.en.html#s-pine">Where is pine?, Section 4.10</a> for more
+information.
+</p>
+
+<p>
+Source code may or may not be available for packages in the &quot;contrib&quot;
+and &quot;non-free&quot; directories, which are not formally part of the Debian
+system.
+</p>
+
+<hr>
+
+<h2><a name="s-pools"></a>5.10 What's in the <samp>pool</samp> directory?</h2>
+
+<p>
+Packages are kept in a large `pool', structured according to the name of the
+source package. To make this manageable, the pool is subdivided by section
+(`main', `contrib' and `non-free') and by the first letter of the source
+package name. These directories contain several files: the binary packages for
+each architecture, and the source packages from which the binary packages were
+generated.
+</p>
+
+<p>
+You can find out where each package is placed by executing a command like
+<samp>apt-cache showsrc mypackagename</samp> and looking at the `Directory:'
+line. For example, the <samp>apache</samp> packages are stored in
+<samp>pool/main/a/apache/</samp>.
+</p>
+
+<p>
+Additionally, since there are so many <samp>lib*</samp> packages, these are
+treated specially: for instance, libpaper packages are stored in
+<samp>pool/main/libp/libpaper/</samp>.
+</p>
+
+<p>
+[<a href="footnotes.en.html#f3" name="fr3">3</a>]
+</p>
+
+<hr>
+
+<h2><a name="s-incoming"></a>5.11 What is &quot;incoming&quot;?</h2>
+
+<p>
+After a developer uploads a package, it stays for a short while in the
+&quot;incoming&quot; directory before it is checked that it's genuine and
+allowed into the archive.
+</p>
+
+<p>
+Usually nobody should install things from this place. However, in some rare
+cases of emergency, the incoming directory is available at <code><a
+href="http://incoming.debian.org/">http://incoming.debian.org/</a></code>. You
+can manually fetch packages, check the GPG signature and MD5sums in the
+.changes and .dsc files, and then install them.
+</p>
+
+<hr>
+
+<h2><a name="s-ownrepository"></a>5.12 How do I set up my own apt-able repository?</h2>
+
+<p>
+If you have built some private Debian packages which you'd like to install
+using the standard Debian package management tools, you can set up your own
+apt-able package archive. This is also useful if you'd like to share your
+Debian packages while these are not distributed by the Debian project.
+Instructions on how to do this are given in the <code><a
+href="http://www.debian.org/doc/manuals/repository-howto/repository-howto">Debian
+Repository HOWTO</a></code>.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-software.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ 5 ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-pkg_basics.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-getting.en.html b/includes/common/doc/FAQ/html/ch-getting.en.html
index 5f608d5..5f608d5 100644
--- a/templates/common/doc/FAQ/html/ch-getting.en.html
+++ b/includes/common/doc/FAQ/html/ch-getting.en.html
diff --git a/includes/common/doc/FAQ/html/ch-getting.html b/includes/common/doc/FAQ/html/ch-getting.html
new file mode 100644
index 0000000..5f608d5
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-getting.html
@@ -0,0 +1,374 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Getting and installing Debian GNU/Linux</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-getting"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-basic_defs.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ 2 ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-compat.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 2 - Getting and installing Debian GNU/Linux
+</h1>
+
+<hr>
+
+<p>
+The official document giving installation instructions is the <code><a
+href="http://www.debian.org/releases/stable/installmanual">Debian GNU/Linux
+Installation Guide</a></code>. We'll give some additional notes about getting
+and installing Debian GNU/Linux here.
+</p>
+
+<hr>
+
+<h2><a name="s-version"></a>2.1 What is the latest version of Debian?</h2>
+
+<p>
+Currently there are three versions of Debian GNU/Linux:
+</p>
+<dl>
+<dt><em>release 3.1, a.k.a. the `stable' distribution</em></dt>
+<dd>
+<p>
+This is stable and well tested software, it changes if major security or
+usability fixes are incorporated.
+</p>
+</dd>
+</dl>
+<dl>
+<dt><em>the `testing' distribution</em></dt>
+<dd>
+<p>
+This is where packages that will be released as the next `stable' are placed;
+they've had some testing in unstable but they may not be completely fit for
+release yet. This distribution is updated more often than `stable', but not
+more often than `unstable'.
+</p>
+</dd>
+</dl>
+<dl>
+<dt><em>the `unstable' distribution</em></dt>
+<dd>
+<p>
+This is the version currently under development; it is updated continuously.
+You can retrieve packages from the `unstable' archive on any Debian FTP site
+and use them to upgrade your system at any time, but you may not expect the
+system to be as usable or as stable as before - that's why it's called
+`<strong>unstable</strong>'!
+</p>
+</dd>
+</dl>
+
+<p>
+Please see <a href="ch-ftparchives.en.html#s-dists">How many Debian
+distributions are there in the <samp>dists</samp> directory?, Section 5.2</a>
+for more information.
+</p>
+
+<hr>
+
+<h2><a name="s-updatestable"></a>2.2 Are there package upgrades in `stable'?</h2>
+
+<p>
+No new functionality is added to the stable release. Once a Debian version is
+released and tagged `stable' it will only get security updates. That is, only
+packages for which a security vulnerability has been found after the release
+will be upgraded. All the security updates are served through <code><a
+href="ftp://security.debian.org">security.debian.org</a></code>.
+</p>
+
+<p>
+Security updates serve one purpose: to supply a fix for a security
+vulnerability. They are not a method for sneaking additional changes into the
+stable release without going through normal point release procedure.
+Consequently, fixes for packages with security issues will not upgrade the
+software. The Debian Security Team will backport the necessary fixes to the
+version of the software distributed in `stable' instead.
+</p>
+
+<p>
+For more information related to security support please read the <code><a
+href="http://www.debian.org/security/faq">Security FAQ</a></code> or the
+<code><a href="http://www.debian.org/doc/manuals/securing-debian-howto/">Debian
+Security Manual</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-boot-floppies"></a>2.3 Where/how can I get the Debian installation disks?</h2>
+
+<p>
+You can get the installation disks by downloading the appropriate files from
+one of the <code><a href="http://www.debian.org/mirror/list">Debian
+mirrors</a></code>.
+</p>
+
+<p>
+The installation system files are separated in subdirectories of
+<code>dists/stable/main</code> directory, and the names of these subdirectories
+correspond to your architecture like this: <samp>disks-<var>arch</var></samp>
+(<var>arch</var> is &quot;i386&quot;, &quot;sparc&quot;, etc, check the site
+for an exact list). In each of these architecture subdirectories there can be
+several directories, each for a version of the installation system, and the
+currently used one is in the `current' directory (that's a symbolic link).
+</p>
+
+<p>
+See the <code>README.txt</code> file in that directory for further
+instructions.
+</p>
+
+<hr>
+
+<h2><a name="s-cdrom"></a>2.4 How do I install the Debian from CD-ROMs?</h2>
+
+<p>
+Linux supports the ISO 9660 (CD-ROM) file system with Rock Ridge extensions
+(formerly known as &quot;High Sierra&quot;). Several <code><a
+href="http://www.debian.org/CD/vendors/">vendors</a></code> provide Debian
+GNU/Linux in this format.
+</p>
+
+<p>
+Warning: When installing from CD-ROM, it is usually not a good idea to choose
+dselect's <samp>cdrom</samp> access method. This method is usually very slow.
+The <samp>mountable</samp> and <samp>apt</samp> methods, for example, are much
+better for installing from CD-ROM (see <a
+href="ch-uptodate.en.html#s-dpkg-mountable">dpkg-mountable, Section 8.2.5</a>
+and <a href="ch-uptodate.en.html#s-apt">apt-get, dselect and apt-cdrom, Section
+8.2.2</a>).
+</p>
+
+<hr>
+
+<h2><a name="s-cdimage-symlinks"></a>2.5 Why does the official stable released CD-ROM contain symlinks for `frozen' and `unstable'? I thought this CD contains just `stable'!</h2>
+
+<p>
+Official Debian CD images indeed contain symlinks like:
+</p>
+
+<pre>
+ /dists/frozen -&gt; sarge/
+ /dists/stable -&gt; sarge/
+ /dists/testing -&gt; sarge/
+ /dists/unstable -&gt; sarge/
+</pre>
+
+<p>
+so that they work when your sources.list has an entry like
+</p>
+
+<pre>
+ deb cdrom:[&lt;name as on cd label&gt;]/ unstable main [...]
+</pre>
+
+<p>
+.
+</p>
+
+<p>
+The fact these symlinks are present does <em>not</em> mean the image is
+`unstable' or `testing' or anything. Read the CD label in
+<code>/.disk/info</code> to find out which Debian version it contains. This
+information is also present in <code>/README.txt</code> on the CD.
+</p>
+
+<p>
+Read <code><a
+href="http://www.debian.org/releases/">http://www.debian.org/releases/</a></code>
+to find out what the current `stable' and `testing' releases are.
+</p>
+
+<hr>
+
+<h2><a name="s-cdimages"></a>2.6 I have my own CD-writer, are there CD images available somewhere?</h2>
+
+<p>
+Yes. To make it easier for CD vendors to provide high quality disks, we
+provide the <code><a href="http://cdimage.debian.org/">Official CD
+images</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-floppy"></a>2.7 Can I install it from a pile of floppy disks?</h2>
+
+<p>
+First of all, a warning: whole Debian GNU/Linux is way too large to be
+installed from media as small as a standard 1.44MB floppy disk - you may not
+find installing from floppies a very pleasant experience.
+</p>
+
+<p>
+Copy the Debian packages onto formatted floppy disks. Either a DOS, the native
+Linux &quot;ext2&quot;, or the &quot;minix&quot; format will do; one just has
+to use a mount command appropriate to the floppy being used.
+</p>
+
+<p>
+Using floppy disks has these complications:
+</p>
+<ul>
+<li>
+<p>
+Short MS-DOS file names: If you are trying to place Debian package files onto
+MS-DOS formatted disks, you will find that their names are generally too long,
+and do not conform to the MS-DOS 8.3 filename limitation. To overcome this,
+you would have to use VFAT formatted disks, since VFAT supports longer file
+names.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Large file sizes: Some packages are larger than 1.44 MBytes, and will not fit
+onto a single floppy disk. To solve this problem, use the dpkg-split tool (see
+<a href="ch-pkgtools.en.html#s-dpkg-split">dpkg-split, Section 7.1.5.2</a>),
+available in the <samp>tools</samp> directory on <code><a
+href="http://www.debian.org/mirror/list">Debian mirrors</a></code>.
+</p>
+</li>
+</ul>
+
+<p>
+You must have support in the kernel for floppy disks in order to read and write
+to floppy disk; most kernels come with floppy drive support included in them.
+</p>
+
+<p>
+To mount a floppy disk under the mount point <samp>/floppy</samp> (a directory
+which should have been created during installation), use:
+</p>
+<ul>
+<li>
+<pre>
+ mount -t msdos /dev/fd0 /floppy/
+</pre>
+
+<p>
+if the floppy disk is in drive A: and has an MS-DOS file system,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<pre>
+ mount -t msdos /dev/fd1 /floppy/
+</pre>
+
+<p>
+if the floppy disk is in drive B: and has an MS-DOS file system,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<pre>
+ mount -t ext2 /dev/fd0 /floppy/
+</pre>
+
+<p>
+if the floppy disk is in drive A: and has an ext2 (i.e., a normal Linux) file
+system.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-remoteinstall"></a>2.8 Can I get and install Debian directly from a remote Internet site?</h2>
+
+<p>
+Yes. You can boot the Debian installation system from a set of files you can
+download from our FTP site and its mirrors.
+</p>
+
+<p>
+You can download a small CD image file, create a bootable CD from it, install
+the basic system from it and the rest over the network. For more information
+please see <code><a
+href="http://www.debian.org/CD/netinst/">http://www.debian.org/CD/netinst/</a></code>.
+</p>
+
+<p>
+You can also download even smaller floppy disk image files, create bootable
+diskettes from them, start the installation procedure and get the rest of
+Debian over the network. For more information, please see <code><a
+href="http://www.debian.org/distrib/floppyinst">http://www.debian.org/distrib/floppyinst</a></code>.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-basic_defs.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ 2 ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-compat.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-kernel.en.html b/includes/common/doc/FAQ/html/ch-kernel.en.html
index 5e88fad..5e88fad 100644
--- a/templates/common/doc/FAQ/html/ch-kernel.en.html
+++ b/includes/common/doc/FAQ/html/ch-kernel.en.html
diff --git a/includes/common/doc/FAQ/html/ch-kernel.html b/includes/common/doc/FAQ/html/ch-kernel.html
new file mode 100644
index 0000000..5e88fad
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-kernel.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Debian and the kernel</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-kernel"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-uptodate.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ 9 ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-customizing.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 9 - Debian and the kernel
+</h1>
+
+<hr>
+
+<h2><a name="s-non-debian-kernel"></a>9.1 Can I install and compile a kernel without some Debian-specific tweaking?</h2>
+
+<p>
+Yes.
+</p>
+
+<p>
+There's only one common catch: the Debian C libraries are built with the most
+recent <em>stable</em> releases of the <strong>kernel</strong> headers. If you
+happen to need to compile a program with kernel headers newer than the ones
+from the stable branch, then you should either upgrade the package containing
+the headers (<code>libc6-dev</code>), or use the new headers from an unpacked
+tree of the newer kernel. That is, if the kernel sources are in
+<code>/usr/src/linux</code>, then you should add
+<samp>-I/usr/src/linux/include/</samp> to your command line when compiling.
+</p>
+
+<hr>
+
+<h2><a name="s-customkernel"></a>9.2 What tools does Debian provide to build custom kernels?</h2>
+
+<p>
+Users who wish to (or must) build a custom kernel are encouraged to download
+the package <code>kernel-package</code>. This package contains the script to
+build the kernel package, and provides the capability to create a Debian
+kernel-image package just by running the command
+</p>
+
+<pre>
+ make-kpkg kernel_image
+</pre>
+
+<p>
+in the top-level kernel source directory. Help is available by executing the
+command
+</p>
+
+<pre>
+ make-kpkg --help
+</pre>
+
+<p>
+and through the manual page <code>make-kpkg(1)</code>.
+</p>
+
+<p>
+Users must separately download the source code for the most recent kernel (or
+the kernel of their choice) from their favorite Linux archive site, unless a
+kernel-source-version package is available (where &quot;version&quot; stands
+for the kernel version).
+</p>
+
+<p>
+Detailed instructions for using the <code>kernel-package</code> package are
+given in the file <code>/usr/share/doc/kernel-package/README.gz</code>.
+Briefly, one should:
+</p>
+<ul>
+<li>
+<p>
+Unpack the kernel sources, and <samp>cd</samp> to the newly created directory.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Modify the kernel configuration using one of these commands:
+</p>
+<ul>
+<li>
+<p>
+<samp>make config</samp> (for a tty one-line-at-a-time-interface).
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>make menuconfig</samp> (for an ncurses-based menu driven interface).
+Note that to use this option, the <code>libncurses5-dev</code> package must be
+installed.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>make xconfig</samp> (for an X11 interface). Using this option requires
+that relevant X and Tcl/Tk packages be installed.
+</p>
+</li>
+</ul>
+
+<p>
+Any of the above steps generates a new <samp>.config</samp> in the top-level
+kernel source directory.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Execute the command: <samp>make-kpkg -rev Custom.N kernel_image</samp>, where N
+is a revision number assigned by the user. The new Debian archive thus formed
+would have revision Custom.1, e.g.,
+<samp>kernel-image-2.2.14_Custom.1_i386.deb</samp> for the Linux kernel 2.2.14
+on i386.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Install the package created.
+</p>
+<ul>
+<li>
+<p>
+<samp>Run dpkg --install /usr/src/kernel-image-VVV_Custom.N.deb</samp> to
+install the kernel itself. The installation script will:
+</p>
+<ul>
+<li>
+<p>
+run the boot loader (grub, LILO or some other) if needed,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+install the custom kernel in /boot/vmlinuz_VVV-Custom.N, and set up appropriate
+symbolic links to the most recent kernel version.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+prompt the user to make a boot floppy. This boot floppy will contain the raw
+kernel only. See <a href="#s-custombootdisk">How can I make a custom boot
+floppy?, Section 9.3</a>.
+</p>
+</li>
+</ul>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To employ secondary boot loaders such as <samp>loadlin</samp>, copy this image
+to other locations (e.g. to an <samp>MS-DOS</samp> partition).
+</p>
+</li>
+</ul>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-custombootdisk"></a>9.3 How can I make a custom boot floppy?</h2>
+
+<p>
+This task is greatly aided by the Debian package <code>boot-floppies</code>,
+normally found in the <samp>admin</samp> section of the Debian FTP archive.
+Shell scripts in this package produce boot floppies in the
+<samp>SYSLINUX</samp> format. These are <samp>MS-DOS</samp> formatted floppies
+whose master boot records have been altered so that they boot Linux directly
+(or whatever other operating system has been defined in the syslinux.cfg file
+on the floppy). Other scripts in this package produce emergency root disks and
+can even reproduce the base disks.
+</p>
+
+<p>
+You will find more information about this in the
+<samp>/usr/share/doc/boot-floppies/README</samp> file after installing the
+<code>boot-floppies</code> package.
+</p>
+
+<hr>
+
+<h2><a name="s-modules"></a>9.4 What special provisions does Debian provide to deal with modules?</h2>
+
+<p>
+Debian's <code>modconf</code> package provides a shell script
+(<samp>/usr/sbin/modconf</samp>) which can be used to customize the
+configuration of modules. This script presents a menu-based interface,
+prompting the user for particulars on the loadable device drivers in his
+system. The responses are used to customize the file
+<samp>/etc/modules.conf</samp> (which lists aliases, and other arguments that
+must be used in conjunction with various modules) through files in
+<samp>/etc/modutils/</samp>, and <samp>/etc/modules</samp> (which lists the
+modules that must be loaded at boot time).
+</p>
+
+<p>
+Like the (new) Configure.help files that are now available to support the
+construction of custom kernels, the modconf package comes with a series of help
+files (in <samp>/usr/lib/modules_help/</samp>) which provide detailed
+information on appropriate arguments for each of the modules.
+</p>
+
+<hr>
+
+<h2><a name="s-removeoldkernel"></a>9.5 Can I safely de-install an old kernel package, and if so, how?</h2>
+
+<p>
+Yes. The <samp>kernel-image-NNN.prerm</samp> script checks to see whether the
+kernel you are currently running is the same as the kernel you are trying to
+de-install. Therefore you can remove unwanted kernel image packages using this
+command:
+</p>
+
+<pre>
+ dpkg --purge --force-remove-essential kernel-image-NNN
+</pre>
+
+<p>
+(replace &quot;NNN&quot; with your kernel version and revision number, of
+course)
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-uptodate.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ 9 ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-customizing.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-nexttime.en.html b/includes/common/doc/FAQ/html/ch-nexttime.en.html
index 0c1d3ec..0c1d3ec 100644
--- a/templates/common/doc/FAQ/html/ch-nexttime.en.html
+++ b/includes/common/doc/FAQ/html/ch-nexttime.en.html
diff --git a/includes/common/doc/FAQ/html/ch-nexttime.html b/includes/common/doc/FAQ/html/ch-nexttime.html
new file mode 100644
index 0000000..0c1d3ec
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-nexttime.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Changes expected in the next major release of Debian</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-nexttime"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-redistrib.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ 14 ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-faqinfo.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 14 - Changes expected in the next major release of Debian
+</h1>
+
+<hr>
+
+<h2><a name="s-security"></a>14.1 Increased security</h2>
+
+<p>
+Debian contains support for shadow passwords since release 1.3. In addition,
+the Linux library of Pluggable Authentication Modules (a.k.a. <code><a
+href="http://www.kernel.org/pub/linux/libs/pam/">libpam</a></code>;) that
+allows sysadmins to choose authorization modes on an application-specific basis
+is available, and initially set to authenticate via shadow password.
+</p>
+
+<p>
+Including full support for advanced authentication methods such as Kerberos, as
+well as additional security enhancements for mandatory access control
+mechanisms such as SElinux, RSBAC and buffer overflow protection like
+Exec-shield or PaX is still in progress.
+</p>
+
+<hr>
+
+<h2><a name="s-i18n"></a>14.2 Extended support for non-English users</h2>
+
+<p>
+Debian already has very good support for non-English users, see <a
+href="ch-software.en.html#s-nonenglish">How does Debian support non-English
+languages?, Section 4.8</a>.
+</p>
+
+<p>
+We hope to find people who will provide support for even more languages, and
+translate. Some programs already support internationalization, so we need
+message catalogs translators. Many programs still remain to be properly
+internationalized.
+</p>
+
+<p>
+The GNU Translation Project <code><a
+href="ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS">ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS</a></code>
+works on internationalizing the GNU programs.
+</p>
+
+<hr>
+
+<h2><a name="s-morearches"></a>14.3 More architectures</h2>
+
+<p>
+Complete Debian system on other architectures such as AMD64 or SuperH is
+expected soon. Notice that, for AMD64 there is a development archive at
+<code><a href="http://amd64.debian.net/">http://amd64.debian.net/</a></code>
+that provides intallation images as well as binary packages for most of the
+distribution. This architecture will probably be added for <samp>etch</samp>.
+</p>
+
+<hr>
+
+<h2><a name="s-morekernels"></a>14.4 More kernels</h2>
+
+<p>
+In addition to Debian GNU/Hurd, Debian is being ported also to BSD kernels,
+namely to <code><a href="http://www.debian.org/ports/netbsd">NetBSD</a></code>.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-redistrib.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ 14 ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-faqinfo.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-pkg_basics.en.html b/includes/common/doc/FAQ/html/ch-pkg_basics.en.html
index 0ebd3fe..0ebd3fe 100644
--- a/templates/common/doc/FAQ/html/ch-pkg_basics.en.html
+++ b/includes/common/doc/FAQ/html/ch-pkg_basics.en.html
diff --git a/includes/common/doc/FAQ/html/ch-pkg_basics.html b/includes/common/doc/FAQ/html/ch-pkg_basics.html
new file mode 100644
index 0000000..0ebd3fe
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-pkg_basics.html
@@ -0,0 +1,860 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Basics of the Debian package management system</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-pkg_basics"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-ftparchives.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ 6 ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-pkgtools.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 6 - Basics of the Debian package management system
+</h1>
+
+<hr>
+
+<h2><a name="s-package"></a>6.1 What is a Debian package?</h2>
+
+<p>
+Packages generally contain all of the files necessary to implement a set of
+related commands or features. There are two types of Debian packages:
+</p>
+<ul>
+<li>
+<p>
+<em>Binary packages</em>, which contain executables, configuration files,
+man/info pages, copyright information, and other documentation. These packages
+are distributed in a Debian-specific archive format (see <a
+href="#s-deb-format">What is the format of a Debian binary package?, Section
+6.2</a>); they are usually distinguished by having a '.deb' file extension.
+Binary packages can be unpacked using the Debian utility <samp>dpkg</samp>;
+details are given in its manual page.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<em>Source packages</em>, which consist of a <samp>.dsc</samp> file describing
+the source package (including the names of the following files), a
+<samp>.orig.tar.gz</samp> file that contains the original unmodified source in
+gzip-compressed tar format and usually a <samp>.diff.gz</samp> file that
+contains the Debian-specific changes to the original source. The utility
+<samp>dpkg-source</samp> packs and unpacks Debian source archives; details are
+provided in its manual page.
+</p>
+</li>
+</ul>
+
+<p>
+Installation of software by the package system uses &quot;dependencies&quot;
+which are carefully designed by the package maintainers. These dependencies
+are documented in the <samp>control</samp> file associated with each package.
+For example, the package containing the GNU C compiler (<code>gcc</code>)
+&quot;depends&quot; on the package <code>binutils</code> which includes the
+linker and assembler. If a user attempts to install <code>gcc</code> without
+having first installed <code>binutils</code>, the package management system
+(dpkg) will send an error message that it also needs <code>binutils</code>, and
+stop installing <code>gcc</code>. (However, this facility can be overridden by
+the insistent user, see <code>dpkg(8)</code>.) See more in <a
+href="#s-depends">What is meant by saying that a package <em>Depends</em>,
+<em>Recommends</em>, <em>Suggests</em>, <em>Conflicts</em>, <em>Replaces</em>
+or <em>Provides</em> another package?, Section 6.9</a> below.
+</p>
+
+<p>
+Debian's packaging tools can be used to:
+</p>
+<ul>
+<li>
+<p>
+manipulate and manage packages or parts of packages,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+aid the user in the break-up of packages that must be transmitted through a
+limited-size medium such as floppy disks,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+aid developers in the construction of package archives, and
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+aid users in the installation of packages which reside on a remote FTP site.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-deb-format"></a>6.2 What is the format of a Debian binary package?</h2>
+
+<p>
+A Debian &quot;package&quot;, or a Debian archive file, contains the executable
+files, libraries, and documentation associated with a particular suite of
+program or set of related programs. Normally, a Debian archive file has a
+filename that ends in <samp>.deb</samp>.
+</p>
+
+<p>
+The internals of this Debian binary packages format are described in the
+<code>deb(5)</code> manual page. This internal format is subject to change
+(between major releases of Debian GNU/Linux), therefore please always use
+<code>dpkg-deb(1)</code> for manipulating <samp>.deb</samp> files.
+</p>
+
+<hr>
+
+<h2><a name="s-pkgname"></a>6.3 Why are Debian package file names so long?</h2>
+
+<p>
+The Debian binary package file names conform to the following convention:
+&lt;foo&gt;_&lt;VersionNumber&gt;-&lt;DebianRevisionNumber&gt;.deb
+</p>
+
+<p>
+Note that <samp>foo</samp> is supposed to be the package name. As a check, one
+can learn the package name associated with a particular Debian archive file
+(.deb file) in one of these ways:
+</p>
+<ul>
+<li>
+<p>
+inspect the &quot;Packages&quot; file in the directory where it was stored at a
+Debian FTP archive site. This file contains a stanza describing each package;
+the first field in each stanza is the formal package name.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+use the command <samp>dpkg --info foo_VVV-RRR.deb</samp> (where VVV and RRR are
+the version and revision of the package in question, respectively). This
+displays, among other things, the package name corresponding to the archive
+file being unpacked.
+</p>
+</li>
+</ul>
+
+<p>
+The <samp>VVV</samp> component is the version number specified by the upstream
+developer. There are no standards in place here, so the version number may
+have formats as different as &quot;19990513&quot; and &quot;1.3.8pre1&quot;.
+</p>
+
+<p>
+The <samp>RRR</samp> component is the Debian revision number, and is specified
+by the Debian developer (or an individual user if he chooses to build the
+package himself). This number corresponds to the revision level of the Debian
+package, thus, a new revision level usually signifies changes in the Debian
+Makefile (<samp>debian/rules</samp>), the Debian control file
+(<samp>debian/control</samp>), the installation or removal scripts
+(<samp>debian/p*</samp>), or in the configuration files used with the package.
+</p>
+
+<hr>
+
+<h2><a name="s-controlfile"></a>6.4 What is a Debian control file?</h2>
+
+<p>
+Specifics regarding the contents of a Debian control file are provided in the
+Debian Policy Manual, section 5, see <a
+href="ch-support.en.html#s-debiandocs">What other documentation exists on and
+for a Debian system?, Section 11.1</a>.
+</p>
+
+<p>
+Briefly, a sample control file is shown below for the Debian package hello:
+</p>
+
+<pre>
+ Package: hello
+ Priority: optional
+ Section: devel
+ Installed-Size: 45
+ Maintainer: Adam Heath &lt;doogie@debian.org&gt;
+ Architecture: i386
+ Version: 1.3-16
+ Depends: libc6 (&gt;= 2.1)
+ Description: The classic greeting, and a good example
+ The GNU hello program produces a familiar, friendly greeting. It
+ allows nonprogrammers to use a classic computer science tool which
+ would otherwise be unavailable to them.
+ .
+ Seriously, though: this is an example of how to do a Debian package.
+ It is the Debian version of the GNU Project's `hello world' program
+ (which is itself an example for the GNU Project).
+</pre>
+
+<p>
+The Package field gives the package name. This is the name by which the
+package can be manipulated by the package tools, and usually similar to but not
+necessarily the same as the first component string in the Debian archive file
+name.
+</p>
+
+<p>
+The Version field gives both the upstream developer's version number and (in
+the last component) the revision level of the Debian package of this program as
+explained in <a href="#s-pkgname">Why are Debian package file names so long?,
+Section 6.3</a>.
+</p>
+
+<p>
+The Architecture field specifies the chip for which this particular binary was
+compiled.
+</p>
+
+<p>
+The Depends field gives a list of packages that have to be installed in order
+to install this package successfully.
+</p>
+
+<p>
+The Installed-Size indicates how much disk space the installed package will
+consume. This is intended to be used by installation front-ends in order to
+show whether there is enough disk space available to install the program.
+</p>
+
+<p>
+The Section line gives the &quot;section&quot; where this Debian package is
+stored at the Debian FTP sites. This is the name of a subdirectory (within one
+of the main directories, see <a href="ch-ftparchives.en.html#s-dirtree">What
+are all those directories at the Debian FTP archives?, Section 5.1</a>) where
+the package is stored.
+</p>
+
+<p>
+The Priority indicates how important is this package for installation, so that
+semi-intelligent software like dselect or console-apt can sort the package into
+a category of e.g. packages optionally installed. See <a
+href="#s-priority">What is an <em>Essential</em> <em>Required</em>,
+<em>Important</em>, <em>Standard</em>, <em>Optional</em>, or <em>Extra</em>
+package?, Section 6.7</a>.
+</p>
+
+<p>
+The Maintainer field gives the e-mail address of the person who is currently
+responsible for maintaining this package.
+</p>
+
+<p>
+The Description field gives a brief summary of the package's features.
+</p>
+
+<p>
+For more information about all possible fields a package can have, please see
+the Debian Policy Manual, section 5., &quot;Control files and their
+fields&quot;.
+</p>
+
+<hr>
+
+<h2><a name="s-conffile"></a>6.5 What is a Debian conffile?</h2>
+
+<p>
+Conffiles is a list of configuration files (usually placed in
+<samp>/etc</samp>) that the package management system will not overwrite when
+the package is upgraded. This ensures that local values for the contents of
+these files will be preserved, and is a critical feature enabling the in-place
+upgrade of packages on a running system.
+</p>
+
+<p>
+To determine exactly which files are preserved during an upgrade, run:
+</p>
+
+<pre>
+ dpkg --status package
+</pre>
+
+<p>
+And look under &quot;Conffiles:&quot;.
+</p>
+
+<hr>
+
+<h2><a name="s-maintscripts"></a>6.6 What is a Debian preinst, postinst, prerm, and postrm script?</h2>
+
+<p>
+These files are executable scripts which are automatically run before or after
+a package is installed. Along with a file named <samp>control</samp>, all of
+these files are part of the &quot;control&quot; section of a Debian archive
+file.
+</p>
+
+<p>
+The individual files are:
+</p>
+<dl>
+<dt>preinst</dt>
+<dd>
+<p>
+This script executes before that package will be unpacked from its Debian
+archive (&quot;.deb&quot;) file. Many 'preinst' scripts stop services for
+packages which are being upgraded until their installation or upgrade is
+completed (following the successful execution of the 'postinst' script).
+</p>
+</dd>
+</dl>
+<dl>
+<dt>postinst</dt>
+<dd>
+<p>
+This script typically completes any required configuration of the package
+<samp>foo</samp> once <samp>foo</samp> has been unpacked from its Debian
+archive (&quot;.deb&quot;) file. Often, 'postinst' scripts ask the user for
+input, and/or warn the user that if he accepts default values, he should
+remember to go back and re-configure that package as the situation warrants.
+Many 'postinst' scripts then execute any commands necessary to start or restart
+a service once a new package has been installed or upgraded.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>prerm</dt>
+<dd>
+<p>
+This script typically stops any daemons which are associated with a package.
+It is executed before the removal of files associated with the package.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>postrm</dt>
+<dd>
+<p>
+This script typically modifies links or other files associated with
+<samp>foo</samp>, and/or removes files created by the package. (Also see <a
+href="#s-virtual">What is a Virtual Package?, Section 6.8</a>.)
+</p>
+</dd>
+</dl>
+
+<p>
+Currently all of the control files can be found in directory
+<samp>/var/lib/dpkg/info</samp>. The files relevant to package
+<samp>foo</samp> begin with the name &quot;foo&quot; and have file extensions
+of &quot;preinst&quot;, &quot;postinst&quot;, etc., as appropriate. The file
+<samp>foo.list</samp> in that directory lists all of the files that were
+installed with the package <samp>foo</samp>. (Note that the location of these
+files is a dpkg internal; you should not rely on it.)
+</p>
+
+<hr>
+
+<h2><a name="s-priority"></a>6.7 What is an <em>Essential</em> <em>Required</em>, <em>Important</em>, <em>Standard</em>, <em>Optional</em>, or <em>Extra</em> package?</h2>
+
+<p>
+Each Debian package is assigned a <em>priority</em> by the distribution
+maintainers, as an aid to the package management system. The priorities are:
+</p>
+<ul>
+<li>
+<p>
+<strong>Required</strong>: packages that are necessary for the proper
+functioning of the system.
+</p>
+
+<p>
+This includes all tools that are necessary to repair system defects. You must
+not remove these packages or your system may become totally broken and you may
+probably not even be able to use dpkg to put things back. Systems with only
+the Required packages are probably unusable, but they do have enough
+functionality to allow the sysadmin to boot and install more software.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<strong>Important</strong> packages should be found on any Unix-like system.
+</p>
+
+<p>
+Other packages which the system will not run well or be usable without will be
+here. This does <em>NOT</em> include Emacs or X11 or TeX or any other large
+applications. These packages only constitute the bare infrastructure.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<strong>Standard</strong> packages are standard on any Linux system, including
+a reasonably small but not too limited character-mode system.
+</p>
+
+<p>
+This is what will install by default if users do not select anything else. It
+does not include many large applications, but it does include some development
+software like the GNU C and C++ compilers (<samp>gcc</samp>, <samp>g++</samp>),
+GNU make, as well as the Python interpreter and some server software like
+OpenSSH, the BSD printer daemon (<samp>lpr</samp>) and the RPC portmapper
+(<samp>portmap</samp>).
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<strong>Optional</strong> packages include all those that you might reasonably
+want to install if you did not know what it was, or do not have specialized
+requirements.
+</p>
+
+<p>
+This includes X11, a full TeX distribution, and lots of applications.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<strong>Extra</strong>: packages that either conflict with others with higher
+priorities, are only likely to be useful if you already know what they are, or
+have specialized requirements that make them unsuitable for
+&quot;Optional&quot;.
+</p>
+</li>
+</ul>
+
+<p>
+If you do a default Debian installation all the packages of priority
+<strong>Standard</strong> or higher will be installed in your system. If you
+select pre-defined tasks you will get lower priority packages too.
+</p>
+
+<p>
+Additionally, some packages are marked as <strong>Essential</strong> since they
+are absolutely necessary for the proper functioning of the system. The package
+management tools will refuse to remove these.
+</p>
+
+<hr>
+
+<h2><a name="s-virtual"></a>6.8 What is a Virtual Package?</h2>
+
+<p>
+A virtual package is a generic name that applies to any one of a group of
+packages, all of which provide similar basic functionality. For example, both
+the <samp>tin</samp> and <samp>trn</samp> programs are news readers, and should
+therefore satisfy any dependency of a program that required a news reader on a
+system, in order to work or to be useful. They are therefore both said to
+provide the &quot;virtual package&quot; called <samp>news-reader</samp>.
+</p>
+
+<p>
+Similarly, <samp>smail</samp> and <samp>sendmail</samp> both provide the
+functionality of a mail transport agent. They are therefore said to provide
+the virtual package, &quot;mail transport agent&quot;. If either one is
+installed, then any program depending on the installation of a
+<samp>mail-transport-agent</samp> will be satisfied by the existence of this
+virtual package.
+</p>
+
+<p>
+Debian provides a mechanism so that, if more than one package which provide the
+same virtual package is installed on a system, then system administrators can
+set one as the preferred package. The relevant command is
+<samp>update-alternatives</samp>, and is described further in <a
+href="ch-customizing.en.html#s-diverse">Some users like mawk, others like gawk;
+some like vim, others like elvis; some like trn, others like tin; how does
+Debian support diversity?, Section 10.10</a>.
+</p>
+
+<hr>
+
+<h2><a name="s-depends"></a>6.9 What is meant by saying that a package <em>Depends</em>, <em>Recommends</em>, <em>Suggests</em>, <em>Conflicts</em>, <em>Replaces</em> or <em>Provides</em> another package?</h2>
+
+<p>
+The Debian package system has a range of package &quot;dependencies&quot; which
+are designed to indicate (in a single flag) the level at which Program A can
+operate independently of the existence of Program B on a given system:
+</p>
+<ul>
+<li>
+<p>
+Package A <em>depends</em> on Package B if B absolutely must be installed in
+order to run A. In some cases, A depends not only on B, but on a version of B.
+In this case, the version dependency is usually a lower limit, in the sense
+that A depends on any version of B more recent than some specified version.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Package A <em>recommends</em> Package B, if the package maintainer judges that
+most users would not want A without also having the functionality provided by
+B.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Package A <em>suggests</em> Package B if B contains files that are related to
+(and usually enhance) the functionality of A.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Package A <em>conflicts</em> with Package B when A will not operate if B is
+installed on the system. Most often, conflicts are cases where A contains
+files which are an improvement over those in B. &quot;Conflicts&quot; are
+often combined with &quot;replaces&quot;.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Package A <em>replaces</em> Package B when files installed by B are removed and
+(in some cases) over-written by files in A.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Package A <em>provides</em> Package B when all of the files and functionality
+of B are incorporated into A. This mechanism provides a way for users with
+constrained disk space to get only that part of package A which they really
+need.
+</p>
+</li>
+</ul>
+
+<p>
+More detailed information on the use of each these terms can be found in the
+Policy manual.
+</p>
+
+<hr>
+
+<h2><a name="s-pre-depends"></a>6.10 What is meant by Pre-Depends?</h2>
+
+<p>
+&quot;Pre-Depends&quot; is a special dependency. In the case of most packages,
+<samp>dpkg</samp> will unpack its archive file (i.e., its <samp>.deb</samp>
+file) independently of whether or not the files on which it depends exist on
+the system. Simplistically, unpacking means that <samp>dpkg</samp> will
+extract the files from the archive file that were meant to be installed on your
+file system, and put them in place. If those packages <em>depend</em> on the
+existence of some other packages on your system, <samp>dpkg</samp> will refuse
+to complete the installation (by executing its &quot;configure&quot; action)
+until the other packages are installed.
+</p>
+
+<p>
+However, for some packages, <samp>dpkg</samp> will refuse even to unpack them
+until certain dependencies are resolved. Such packages are said to
+&quot;Pre-depend&quot; on the presence of some other packages. The Debian
+project provided this mechanism to support the safe upgrading of systems from
+<samp>a.out</samp> format to <samp>ELF</samp> format, where the <em>order</em>
+in which packages were unpacked was critical. There are other large upgrade
+situations where this method is useful, e.g. the packages with the required
+priority and their LibC dependency.
+</p>
+
+<p>
+As before, more detailed information about this can be found in the Policy
+manual.
+</p>
+
+<hr>
+
+<h2><a name="s-pkgstatus"></a>6.11 What is meant by <em>unknown</em>, <em>install</em>, <em>remove</em> <em>purge</em> and <em>hold</em> in the package status?</h2>
+
+<p>
+These &quot;want&quot; flags tell what the user wanted to do with a package (as
+indicated either by the user's actions in the &quot;Select&quot; section of
+<samp>dselect</samp>, or by the user's direct invocations of
+<samp>dpkg</samp>).
+</p>
+
+<p>
+Their meanings are:
+</p>
+<ul>
+<li>
+<p>
+unknown - the user has never indicated whether he wants the package
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+install - the user wants the package installed or upgraded
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+remove - the user wants the package removed, but does not want to remove any
+existing configuration files.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+purge - the user wants the package to be removed completely, including its
+configuration files.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+hold - the user wants this package not to be processed, i.e., he wants to keep
+the current version with the current status whatever that is.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-puttingonhold"></a>6.12 How do I put a package on hold?</h2>
+
+<p>
+There are three ways of holding back packages, with dpkg, aptitude or with
+dselect.
+</p>
+
+<p>
+With dpkg, you just have to export the list of package selections, with:
+</p>
+
+<pre>
+ dpkg --get-selections \* &gt; selections.txt
+</pre>
+
+<p>
+Then edit the resulting file <code>selections.txt</code>, change the line
+containing the package you wish to hold, e.g. <code>libc6</code>, from this:
+</p>
+
+<pre>
+ libc6 install
+</pre>
+
+<p>
+to this:
+</p>
+
+<pre>
+ libc6 hold
+</pre>
+
+<p>
+Save the file, and reload it into dpkg database with:
+</p>
+
+<pre>
+ dpkg --set-selections &lt; selections.txt
+</pre>
+
+<p>
+With aptitude, you can hold a package using
+</p>
+
+<pre>
+ aptitude hold package_name
+</pre>
+
+<p>
+and remove the hold with
+</p>
+
+<pre>
+ aptitude unhold package_name
+</pre>
+
+<p>
+With dselect, you just have to enter the [S]elect screen, find the package you
+wish to hold in its present state, and press the `=' key (or `H'). The changes
+will go live immediately after you exit the [S]elect screen.
+</p>
+
+<hr>
+
+<h2><a name="s-sourcepkgs"></a>6.13 How do I install a source package?</h2>
+
+<p>
+Debian source packages can't actually be &quot;installed&quot;, they are just
+unpacked in whatever directory you want to build the binary packages they
+produce.
+</p>
+
+<p>
+Source packages are distributed on most of the same mirrors where you can
+obtain the binary packages. If you set up your APT's
+<code>sources.list(5)</code> to include the appropriate &quot;deb-src&quot;
+lines, you'll be able to easily download any source packages by running
+</p>
+
+<pre>
+ apt-get source foo
+</pre>
+
+<p>
+To help you in actually building the source package, Debian source package
+provide the so-called build-dependencies mechanism. This means that the source
+package maintainer keeps a list of other packages that are required to build
+their package. To see how this is useful, run
+</p>
+
+<pre>
+ apt-get build-dep foo
+</pre>
+
+<p>
+before building the source.
+</p>
+
+<hr>
+
+<h2><a name="s-sourcebuild"></a>6.14 How do I build binary packages from a source package?</h2>
+
+<p>
+You will need all of foo_*.dsc, foo_*.tar.gz and foo_*.diff.gz to compile the
+source (note: there is no .diff.gz for some packages that are native to
+Debian).
+</p>
+
+<p>
+Once you have them (<a href="#s-sourcepkgs">How do I install a source package?,
+Section 6.13</a>), if you have the <code>dpkg-dev</code> package installed, the
+following command:
+</p>
+
+<pre>
+ dpkg-source -x foo_version-revision.dsc
+</pre>
+
+<p>
+will extract the package into a directory called <samp>foo-version</samp>.
+</p>
+
+<p>
+If you want just to compile the package, you may cd into
+<samp>foo-version</samp> directory and issue the command
+</p>
+
+<pre>
+ dpkg-buildpackage -rfakeroot -b
+</pre>
+
+<p>
+to build the package (note that this also requires the <code>fakeroot</code>
+package), and then
+</p>
+
+<pre>
+ dpkg -i ../foo_version-revision_arch.deb
+</pre>
+
+<p>
+to install the newly-built package(s).
+</p>
+
+<hr>
+
+<h2><a name="s-creatingdebs"></a>6.15 How do I create Debian packages myself?</h2>
+
+<p>
+For more detailed description on this, read the New Maintainers' Guide,
+available in the <code>maint-guide</code> package, or at <code><a
+href="http://www.debian.org/doc/devel-manuals#maint-guide">http://www.debian.org/doc/devel-manuals#maint-guide</a></code>.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-ftparchives.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ 6 ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-pkgtools.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-pkgtools.en.html b/includes/common/doc/FAQ/html/ch-pkgtools.en.html
index 114bb9f..114bb9f 100644
--- a/templates/common/doc/FAQ/html/ch-pkgtools.en.html
+++ b/includes/common/doc/FAQ/html/ch-pkgtools.en.html
diff --git a/includes/common/doc/FAQ/html/ch-pkgtools.html b/includes/common/doc/FAQ/html/ch-pkgtools.html
new file mode 100644
index 0000000..114bb9f
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-pkgtools.html
@@ -0,0 +1,936 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - The Debian package management tools</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-pkgtools"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-pkg_basics.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ 7 ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-uptodate.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 7 - The Debian package management tools
+</h1>
+
+<hr>
+
+<h2><a name="s-pkgprogs"></a>7.1 What programs does Debian provide for managing its packages?</h2>
+
+<p>
+There are multiple tools that are used to manage Debian packages, from graphic
+or text-based interfaces to the low level tools used to install packages. All
+the available tools rely on the lower level tools to properly work and are
+presented here in decreasing complexity level.
+</p>
+
+<p>
+It is important to understand that the higher level package management tools
+such as <code>aptitude</code> or <code>dselect</code> rely on <code>apt</code>
+which, itself, relies on <code>dpkg</code> to manage the packages in the
+system.
+</p>
+
+<p>
+See the <code><a href="http://www.debian.org/doc/manuals/apt-howto/">APT
+HOWTO</a></code> for more information about the Debian package management
+utilities. This document is available in various languages and formats, see
+<code><a href="http://www.debian.org/doc/user-manuals#apt-howto">the APT HOWTO
+entry on the DDP Users' Manuals overview</a></code>.
+</p>
+
+<hr>
+
+<h3><a name="s-dpkg"></a>7.1.1 dpkg</h3>
+
+<p>
+This is the main package management program. <code>dpkg</code> can be invoked
+with many options. Some common uses are:
+</p>
+<ul>
+<li>
+<p>
+Find out all the options: <samp>dpkg --help</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Print out the control file (and other information) for a specified package:
+<samp>dpkg --info foo_VVV-RRR.deb</samp>
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Install a package (including unpacking and configuring) onto the file system of
+the hard disk: <samp>dpkg --install foo_VVV-RRR.deb</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Unpack (but do not configure) a Debian archive into the file system of the hard
+disk: <samp>dpkg --unpack foo_VVV-RRR.deb</samp>. Note that this operation
+does <em>not</em> necessarily leave the package in a usable state; some files
+may need further customization to run properly. This command removes any
+already-installed version of the program and runs the preinst (see <a
+href="ch-pkg_basics.en.html#s-maintscripts">What is a Debian preinst, postinst,
+prerm, and postrm script?, Section 6.6</a>) script associated with the package.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Configure a package that already has been unpacked: <samp>dpkg --configure
+foo</samp>. Among other things, this action runs the postinst (see <a
+href="ch-pkg_basics.en.html#s-maintscripts">What is a Debian preinst, postinst,
+prerm, and postrm script?, Section 6.6</a>) script associated with the package.
+It also updates the files listed in the <samp>conffiles</samp> for this
+package. Notice that the 'configure' operation takes as its argument a package
+name (e.g., foo), <em>not</em> the name of a Debian archive file (e.g.,
+foo_VVV-RRR.deb).
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Extract a single file named &quot;blurf&quot; (or a group of files named
+&quot;blurf*&quot; from a Debian archive: <samp>dpkg --fsys-tarfile
+foo_VVV-RRR.deb | tar -xf - blurf*</samp>
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Remove a package (but not its configuration files): <samp>dpkg --remove
+foo</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Remove a package (including its configuration files): <samp>dpkg --purge
+foo</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+List the installation status of packages containing the string (or regular
+expression) &quot;foo*&quot;: <samp>dpkg --list 'foo*'</samp>.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h3><a name="s-apt-get"></a>7.1.2 APT</h3>
+
+<p>
+APT is the <em>Advanced Package Tool</em> and provides the <code>apt-get</code>
+program. <code>apt-get</code> provides a simple way to retrieve and install
+packages from multiple sources using the command line. Unlike
+<code>dpkg</code>, <code>apt-get</code> does not understand .deb files, it
+works with the packages proper name and can only install .deb archives from a
+source specified in <code>/etc/apt/sources.list</code>. <code>apt-get</code>
+will call <code>dpkg</code> directly after downloading the .deb archives[<a
+href="footnotes.en.html#f4" name="fr4">4</a>] from the configured sources.
+</p>
+
+<p>
+Some common ways to use <code>apt-get</code> are:
+</p>
+<ul>
+<li>
+<p>
+To update the list of package known by your system, you can run:
+</p>
+
+<pre>
+ apt-get update
+</pre>
+
+<p>
+(you should execute this regularly to update your package lists)
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To upgrade all the packages on your system, run:
+</p>
+
+<pre>
+ apt-get upgrade
+</pre>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To install the <var>foo</var> package and all its dependencies, run:
+</p>
+
+<pre>
+ apt-get install foo
+</pre>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To remove the foo package from your system, run:
+</p>
+
+<pre>
+ apt-get remove foo
+</pre>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To remove the foo package and its configuration files from your system, run:
+</p>
+
+<pre>
+ apt-get --purge remove foo
+</pre>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To upgrade all the packages on your system to a new Debian GNU/Linux release,
+run:
+</p>
+
+<pre>
+ apt-get dist-upgrade
+</pre>
+</li>
+</ul>
+
+<p>
+Note that you must be logged in as root to perform any commands that modify the
+system packages.
+</p>
+
+<p>
+The apt tool suite also includes the <code>apt-cache</code> tool to query the
+package lists. You can use it to find packages providing specific
+functionality through simple text or regular expression queries and through
+queries of dependencies in the package management system. Some common ways to
+use <code>apt-cache</code> are:
+</p>
+<ul>
+<li>
+<p>
+To find packages whose description contain <var>word</var>:
+</p>
+
+<pre>
+ apt-cache search <var>word</var>
+</pre>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To print the detailed information of a package:
+</p>
+
+<pre>
+ apt-cache show <var>package</var>
+</pre>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To print the packages a given package depends on:
+</p>
+
+<pre>
+ apt-cache depends <var>package</var>
+</pre>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+To print detailed information of the versions available for a package and the
+packages that reverse-depends on it:
+</p>
+
+<pre>
+ apt-cache showpkg <var>package</var>
+</pre>
+</li>
+</ul>
+
+<p>
+For more information, install the <code>apt</code> package and read
+<code>apt-get(8)</code>, <code>sources.list(5)</code> and install the
+<code>apt-doc</code> package and read
+<code>/usr/share/doc/apt-doc/guide.html/index.html</code>.
+</p>
+
+<hr>
+
+<h3><a name="s-aptitude"></a>7.1.3 aptitude</h3>
+
+<p>
+<code>aptitude</code> is a package manager for Debian GNU/Linux systems that
+provides a frontend to the apt package management infrastructure.
+<code>aptitude</code> is a text-based interface using the curses library, it
+can be used to perform management tasks in a fast and easy way.
+</p>
+
+<p>
+<code>aptitude</code> provides the functionality of <code>dselect</code> and
+<code>apt-get</code>, as well as many additional features not found in either
+program:
+</p>
+<ul>
+<li>
+<p>
+<code>aptitude</code> offers access to all versions of a package.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code>aptitude</code> logs all its actions in <code>/var/log/aptitude</code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code>aptitude</code> makes it easy to keep track of obsolete software by
+listing it under &quot;Obsolete and Locally Created Packages&quot;.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code>aptitude</code> includes a fairly powerful system for searching
+particular packages and limiting the package display. Users familiar with
+<code>mutt</code> will pick up quickly, as <code>mutt</code> was the
+inspiration for the expression syntax.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code>aptitude</code> tracks which packages have been installed due to
+dependencies and removes them automatically when the packages that needed them
+are removed from the system.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code>aptitude</code> can automatically install <em>Recommended:</em>
+packages[<a href="footnotes.en.html#f5" name="fr5">5</a>].
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code>aptitude</code> in full screen mode has <code>su</code> functionality
+embedded and can be run by a normal user. It will call <code>su</code> (and
+ask for the root password, if any) when you really need administrative
+privileges
+</p>
+</li>
+</ul>
+
+<p>
+You can use <code>aptitude</code> through a visual interface (simply run
+<samp>aptitude</samp>) or directly from the command line. The command line
+syntax used is very similar to the one used in <code>apt-get</code>. For
+example, to install the <var>foo</var> package, you can run <samp>aptitude
+install <var>foo</var></samp>.
+</p>
+
+<p>
+Note that <code>aptitude</code> is the recommended program by Debian to install
+a package and/or to upgrade your system.
+</p>
+
+<p>
+For more informations, read the manual page <code>aptitude(8)</code> and
+install the <code>aptitude-doc-en</code> package.
+</p>
+
+<hr>
+
+<h3><a name="s-dselect"></a>7.1.4 dselect</h3>
+
+<p>
+This program is a menu-driven interface to the Debian package management
+system. It is particularly useful for first-time installations. Some users
+might feel more comfortable using <code>aptitude</code> which is also
+recommended over <code>dselect</code> for large-scale upgrades. For more
+information on <code>aptitude</code> please see <a href="#s-aptitude">aptitude,
+Section 7.1.3</a>.
+</p>
+
+<p>
+<code>dselect</code> can:
+</p>
+<ul>
+<li>
+<p>
+guide the user as he/she chooses among packages to install or remove, ensuring
+that no packages are installed that conflict with one another, and that all
+packages required to make each package work properly are installed;
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+warn the user about inconsistencies or incompatibilities in their selections;
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+determine the order in which the packages must be installed;
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+automatically perform the installation or removal; and
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+guide the user through whatever configuration process are required for each
+package.
+</p>
+</li>
+</ul>
+
+<p>
+<code>dselect</code> begins by presenting the user with a menu of 7 items, each
+of which is a specific action. The user can select one of the actions by using
+the arrow keys to move the highlighter bar, then pressing the
+<em>&lt;enter&gt;</em> key to select the highlighted action.
+</p>
+
+<p>
+What the user sees next depends on the action he selected. If he selects any
+option but <samp>Access</samp> or <samp>Select</samp>, then
+<code>dselect</code> will simply proceed to execute the specified action: e.g.,
+if the user selected the action <samp>Remove</samp>, then dselect would proceed
+to remove all of the files selected for removal when the user last chose the
+<samp>Select</samp> action.
+</p>
+
+<p>
+Both the <samp>Access</samp> menu item and the <samp>Select</samp> menu item
+lead to additional menus. In both cases, the menus are presented as split
+screens; the top screen gives a scrollable list of choices, while the bottom
+screen gives a brief explanation (&quot;info&quot;) for each choice.
+</p>
+
+<p>
+Extensive on-line help is available, use the '?' key to get to a help screen
+at any time.
+</p>
+
+<p>
+The order in which the actions are presented in the first <code>dselect</code>
+menu represents the order in which a user would normally choose
+<code>dselect</code> to install packages. However, a user can pick any of the
+main menu choices as often as needed (including not at all, depending on what
+one wants to do).
+</p>
+<ul>
+<li>
+<p>
+Begin by choosing an <strong>Access Method</strong>. This is the method by
+which the user plans on accessing Debian packages; e.g., some users have Debian
+packages available on CD-ROM, while others plan to fetch them using anonymous
+FTP. The selected &quot;Access Method&quot; is stored after
+<code>dselect</code> exits, so if it does not change, then this option need not
+be invoked again.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Then <strong>Update</strong> the list of available packages. To do this,
+<code>dselect</code> reads the file &quot;Packages.gz&quot; which should be
+included in the top level of the directory where the Debian packages to be
+installed are stored. (But if it is not there, <code>dselect</code> will offer
+to make it for you.)
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<strong>Select</strong> specific packages for installation on his system.
+After choosing this menu item, the user is first presented with a full screen
+of help (unless the `--expert' command line option was used). Once the user
+exits the Help screen, he sees the split-screen menu for choosing packages to
+install (or remove).
+</p>
+
+<p>
+The top part of the screen is a relatively narrow window into the list of
+Debian's 15400 packages; the bottom part of the screen contains description of
+the package or group of packages which are highlighted above.
+</p>
+
+<p>
+One can specify which packages should be operated on by highlighting a package
+name or the label for a group of packages. After that, you can select
+packages:
+</p>
+<dl>
+<dt>to be installed:</dt>
+<dd>
+<p>
+This is accomplished by pressing the `+' key.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>to be deleted:</dt>
+<dd>
+<p>
+Packages can be deleted two ways:
+</p>
+<ul>
+<li>
+<p>
+removed: this removes most of the files associated with the package, but
+preserves the files listed as configuration files (see <a
+href="ch-pkg_basics.en.html#s-conffile">What is a Debian conffile?, Section
+6.5</a>) and package configuration information. This is done by pressing the
+`-' key.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+purged: this removes <em>every</em> file that is part of the package. This is
+done by pressing the `_' key.
+</p>
+</li>
+</ul>
+
+<p>
+Note that it's not possible to remove &quot;All Packages&quot;. If you try
+that, your system will instead be reduced to the initial installed base
+packages.
+</p>
+</dd>
+</dl>
+<dl>
+<dt>to be put &quot;on hold&quot;</dt>
+<dd>
+<p>
+This is done by pressing `=', and it effectively tells <code>dselect</code> not
+to upgrade a package even if the version currently installed on your system is
+not as recent as the version that is available in the Debian repository you are
+using (this was specified when you set the <strong>Access Method</strong>, and
+acquired when you used <strong>Update</strong>).
+</p>
+
+<p>
+Just like you can put a package on hold, you can reverse such setting by
+pressing `:'. That tells <code>dselect</code> that the package(s) may be
+upgraded if a newer version is available. This is the default setting.
+</p>
+</dd>
+</dl>
+
+<p>
+You can select a different order in which the packages are presented, by using
+the `o' key to cycle between various options for sorting the packages. The
+default order is to present packages by Priority; within each priority,
+packages are presented in order of the directory (a.k.a. section) of the
+archive in which they are stored. Given this sort order, some packages in
+section A (say) may be presented first, followed by some packages in section B,
+followed by more packages (of lower priority) in section A.
+</p>
+
+<p>
+You can also expand meanings of the labels at the top of the screen, by using
+the `v' (verbose) key. This action pushes much of the text that formerly fit
+onto the display off to the right. To see it, press the right arrow; to scroll
+back to the left, press the left arrow.
+</p>
+
+<p>
+If you select a package for installation or removal, e.g.,
+<code>foo.deb</code>, and that package depends on (or recommends) another
+package, e.g., <code>blurf.deb</code>, then <code>dselect</code> will place the
+you in a sub-screen of the main selection screen. There you can choose among
+the related packages, accepting the suggested actions (to install or not), or
+rejecting them. To do the latter, press Shift-D; to return to the former,
+press Shift-U. In any case, you can save your selections and return to the
+main selection screen by pressing Shift-Q.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Users returning to the main menu can then select the &quot;Install&quot; menu
+item to unpack and configure the selected packages. Alternatively, users
+wishing to remove files can choose the &quot;Remove&quot; menu item. At any
+point, users can choose &quot;Quit&quot; to exit dselect; users' selections are
+preserved by <code>dselect</code>.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h3><a name="s-dpkg-extra"></a>7.1.5 Other package management tools</h3>
+
+<hr>
+
+<h4><a name="s-dpkg-deb"></a>7.1.5.1 dpkg-deb</h4>
+
+<p>
+This program manipulates Debian archive(<samp>.deb</samp>) files. Some common
+uses are:
+</p>
+<ul>
+<li>
+<p>
+Find out all the options: <samp>dpkg-deb --help</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Determine what files are contained in a Debian archive file: <samp>dpkg-deb
+--contents foo_VVV-RRR.deb</samp>)
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Extract the files contained in a named Debian archive into a user specified
+directory: <samp>dpkg-deb --extract foo_VVV-RRR.deb tmp</samp> extracts each of
+the files in <samp>foo_VVV-RRR.deb</samp> into the directory <samp>tmp/</samp>.
+This is convenient for examining the contents of a package in a localized
+directory, without installing the package into the root file system.
+</p>
+</li>
+</ul>
+
+<p>
+Note that any packages that were merely unpacked using <samp>dpkg-deb
+--extract</samp> will be incorrectly installed, you should use <samp>dpkg
+--install</samp> instead.
+</p>
+
+<p>
+More information is given in the manual page <code>dpkg-deb(1)</code>.
+</p>
+
+<hr>
+
+<h4><a name="s-dpkg-split"></a>7.1.5.2 dpkg-split</h4>
+
+<p>
+This program splits large package into smaller files (e.g., for writing onto a
+set of floppy disks), and can also be used to merge a set of split files back
+into a single file. It can only be used on a Debian system (i.e. a system
+containing the <code>dpkg</code> package), since it calls the program
+<samp>dpkg-deb</samp> to parse the debian package file into its component
+records.
+</p>
+
+<p>
+For example, to split a big .deb file into N parts,
+</p>
+<ul>
+<li>
+<p>
+Execute the command <samp>dpkg-split --split foo.deb</samp>. This will produce
+N files each of approximately 460 KBytes long in the current directory.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Copy those N files to floppy disks.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Copy the contents of the floppy disks onto the hard disk of your choice on the
+other machine.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Join those part-files together using <samp>dpkg-split --join
+&quot;foo*&quot;</samp>.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-updaterunning"></a>7.2 Debian claims to be able to update a running program; how is this accomplished?</h2>
+
+<p>
+The kernel (file system) in Debian GNU/Linux systems supports replacing files
+even while they're being used.
+</p>
+
+<p>
+We also provide a program called <code>start-stop-daemon</code> which is used
+to start daemons at boot time or to stop daemons when the kernel runlevel is
+changed (e.g., from multi-user to single-user or to halt). The same program is
+used by installation scripts when a new package containing a daemon is
+installed, to stop running daemons, and restart them as necessary.
+</p>
+
+<hr>
+
+<h2><a name="s-whatpackages"></a>7.3 How can I tell what packages are already installed on a Debian system?</h2>
+
+<p>
+To learn the status of all the packages installed on a Debian system, execute
+the command
+</p>
+
+<pre>
+ dpkg --list
+</pre>
+
+<p>
+This prints out a one-line summary for each package, giving a 2-letter status
+symbol (explained in the header), the package name, the version which is
+<em>installed</em>, and a brief description.
+</p>
+
+<p>
+To learn the status of packages whose names match the string any pattern
+beginning with &quot;foo&quot; by executing the command:
+</p>
+
+<pre>
+ dpkg --list 'foo*'
+</pre>
+
+<p>
+To get a more verbose report for a particular package, execute the command:
+</p>
+
+<pre>
+ dpkg --status packagename
+</pre>
+
+<hr>
+
+<h2><a name="s-filesearch"></a>7.4 How can I find out what package produced a particular file?</h2>
+
+<p>
+To identify the package that produced the file named <samp>foo</samp> execute
+either:
+</p>
+<ul>
+<li>
+<p>
+<samp>dpkg --search filename</samp>
+</p>
+
+<p>
+This searches for <samp>filename</samp> in installed packages. (This is
+(currently) equivalent to searching all of the files having the file extension
+of <samp>.list</samp> in the directory <samp>/var/lib/dpkg/info/</samp>, and
+adjusting the output to print the names of all the packages containing it, and
+diversions.)
+</p>
+
+<p>
+A faster alternative to this is the <code>dlocate</code> tool.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>zgrep foo Contents-ARCH.gz</samp>
+</p>
+
+<p>
+This searches for files which contain the substring <samp>foo</samp> in their
+full path names. The files <samp>Contents-ARCH.gz</samp> (where ARCH
+represents the wanted architecture) reside in the major package directories
+(main, non-free, contrib) at a Debian FTP site (i.e. under
+<samp>/debian/dists/sarge</samp>). A <samp>Contents</samp> file refers only to
+the packages in the subdirectory tree where it resides. Therefore, a user
+might have to search more than one <samp>Contents</samp> files to find the
+package containing the file <samp>foo</samp>.
+</p>
+
+<p>
+This method has the advantage over <samp>dpkg --search</samp> in that it will
+find files in packages that are not currently installed on your system.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>apt-file search <var>foo</var></samp>
+</p>
+
+<p>
+Similar to the above, it searches files which contain the substring or regular
+expression <samp>foo</samp> in their full path names. The advantage over the
+sample above is that there is no need to retrieve the
+<samp>Contents-ARCH.gz</samp> files as it will do this automatically for all
+the sources defined in <code>/etc/apt/sources.list</code> when you run (as
+root) <samp>apt-file update</samp>.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-datapackages"></a>7.5 Why doesn't get `foo-data' removed when I uninstall `foo'? How do I make sure old unused library-packages get purged?</h2>
+
+<p>
+Some packages that are split in program (`foo') and data (`foo-data'). This is
+true for many games, multimedia applications and dictionaries in Debian and has
+been introduced since some users might want to access the raw data without
+installing the program or because the program can be run without the data
+itself, making it optional.
+</p>
+
+<p>
+Similar situations occur when dealing with libraries: generally these get
+installed since packages containing applications depend on them. When the
+application-package is purged, the library-package might stay on the system.
+Or: when the application-package no longer depends upon e.g. libdb4.2, but
+upon libdb4.3, the libdb4.2 package might stay when the application-package is
+upgraded.
+</p>
+
+<p>
+In these cases, `foo-data' doesn't depend on `foo', so when you remove the
+`foo' package it will not get automatically removed by most package management
+tools. The same holds true for the library packages. This is necessary to
+avoid circular dependencies. If you use <code>aptitude</code> (see <a
+href="#s-aptitude">aptitude, Section 7.1.3</a>) as your package management tool
+it will, however, track automatically installed packages and remove them when
+no packages remain that need them in your system.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-pkg_basics.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ 7 ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-uptodate.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-redistrib.en.html b/includes/common/doc/FAQ/html/ch-redistrib.en.html
index f0ac5d0..f0ac5d0 100644
--- a/templates/common/doc/FAQ/html/ch-redistrib.en.html
+++ b/includes/common/doc/FAQ/html/ch-redistrib.en.html
diff --git a/includes/common/doc/FAQ/html/ch-redistrib.html b/includes/common/doc/FAQ/html/ch-redistrib.html
new file mode 100644
index 0000000..f0ac5d0
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-redistrib.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Redistributing Debian GNU/Linux in a commercial product</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-redistrib"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-contributing.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ 13 ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-nexttime.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 13 - Redistributing Debian GNU/Linux in a commercial product
+</h1>
+
+<hr>
+
+<h2><a name="s-sellcds"></a>13.1 Can I make and sell Debian CDs?</h2>
+
+<p>
+Go ahead. You do not need permission to distribute anything we have
+<em>released</em>, so that you can master your CD as soon as the beta-test
+ends. You do not have to pay us anything. Of course, all CD manufacturers
+must honor the licenses of the programs in Debian. For example, many of the
+programs are licensed under the GPL, which requires you to distribute their
+source code.
+</p>
+
+<p>
+Also, we will publish a list of CD manufacturers who donate money, software,
+and time to the Debian project, and we will encourage users to buy from
+manufacturers who donate, so it is good advertising to make donations.
+</p>
+
+<hr>
+
+<h2><a name="s-packagednonfree"></a>13.2 Can Debian be packaged with non-free software?</h2>
+
+<p>
+Yes. While all the main components of Debian are free software, we provide a
+non-free directory for programs that are not freely redistributable.
+</p>
+
+<p>
+CD manufacturers <em>may</em> be able to distribute the programs we have placed
+in that directory, depending on the license terms or their private arrangements
+with the authors of those software packages. CD manufacturers can also
+distribute the non-free software they get from other sources on the same CD.
+This is nothing new: free and commercial software are distributed on the same
+CD by many manufacturers now. Of course we still encourage software authors to
+release the programs they write as free software.
+</p>
+
+<hr>
+
+<h2><a name="s-childistro"></a>13.3 I am making a special Linux distribution for a &quot;vertical market&quot;. Can I use Debian GNU/Linux for the guts of a Linux system and add my own applications on top of it?</h2>
+
+<p>
+Yes. Debian-derived distributions are being created both in close cooperation
+with the Debian project itself and by external parties. One can use the
+<code><a href="http://cdd.alioth.debian.org/">Custom Debian
+Distributions</a></code> framework to work together with Debian; <code><a
+href="http://www.skolelinux.org/">Skolelinux</a></code> is one such project.
+</p>
+
+<p>
+One person is building a &quot;Linux for Hams&quot; distribution, with
+specialized programs for Radio Amateurs. He is starting with Debian as the
+&quot;base system&quot;, and adding programs to control the transmitter, track
+satellites, etc. All of the programs he adds are packaged with the Debian
+packaging system so that his users will be able to upgrade easily when he
+releases subsequent CDs.
+</p>
+
+<p>
+There are several other Debian-derived distributions already on the market,
+such as Progeny Debian, Linspire, Knoppix and Ubuntu, that are targeted at a
+different kind of audience than the original Debian GNU/Linux is, but use most
+of our components in their product.
+</p>
+
+<p>
+Debian also provides a mechanism to allow developers and system administrators
+to install local versions of selected files in such a way that they will not be
+overwritten when other packages are upgraded. This is discussed further in the
+question on <a href="ch-customizing.en.html#s-divert">How do I override a file
+installed by a package, so that a different version can be used instead?,
+Section 10.8</a>.
+</p>
+
+<hr>
+
+<h2><a name="s-commercialdebs"></a>13.4 Can I put my commercial program in a Debian &quot;package&quot; so that it installs effortlessly on any Debian system?</h2>
+
+<p>
+Go right ahead. The package tool is free software; the packages may or may not
+be free software, it can install them all.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-contributing.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ 13 ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-nexttime.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-software.en.html b/includes/common/doc/FAQ/html/ch-software.en.html
index bedb65f..bedb65f 100644
--- a/templates/common/doc/FAQ/html/ch-software.en.html
+++ b/includes/common/doc/FAQ/html/ch-software.en.html
diff --git a/includes/common/doc/FAQ/html/ch-software.html b/includes/common/doc/FAQ/html/ch-software.html
new file mode 100644
index 0000000..bedb65f
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-software.html
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Software available in the Debian system</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-software"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-compat.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ 4 ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-ftparchives.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 4 - Software available in the Debian system
+</h1>
+
+<hr>
+
+<h2><a name="s-apps"></a>4.1 What types of applications and development software are available for Debian GNU/Linux?</h2>
+
+<p>
+Like most Linux distributions, Debian GNU/Linux provides:
+</p>
+<ul>
+<li>
+<p>
+the major GNU applications for software development, file manipulation, and
+text processing, including gcc, g++, make, texinfo, Emacs, the Bash shell and
+numerous upgraded Unix utilities,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Perl, Python, Tcl/Tk and various related programs, modules and libraries for
+each of them,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+TeX (LaTeX) and Lyx, dvips, Ghostscript,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+the X Window System, which provides a networked graphical user interface for
+Linux, and countless X applications including GNOME and KDE as well as the GIMP
+GNU Image Manipulation Program,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+a full suite of networking applications, including servers for Internet
+protocols such as HTTP (WWW), FTP, NNTP (news), SMTP and POP (mail) and name
+server; relational databases like PostgreSQL, MySQL; also provided are web
+browsers including the various Mozilla producs,
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+a complete set of office applications, including the OpenOffice.org
+productivity suite, Gnumeric and other spreadsheets, WYSIWYG editors,
+calendars.
+</p>
+</li>
+</ul>
+
+<p>
+More than 15180 packages, ranging from news servers and readers to sound
+support, FAX programs, database and spreadsheet programs, image processing
+programs, communications, net, and mail utilities, Web servers, and even
+ham-radio programs are included in the distribution. Another 450 software
+suites are available as Debian packages, but are not formally part of Debian
+due to license restrictions.
+</p>
+
+<hr>
+
+<h2><a name="s-softwareauthors"></a>4.2 Who wrote all that software?</h2>
+
+<p>
+For each package the <em>authors</em> of the program(s) are credited in the
+file <samp>/usr/share/doc/PACKAGE/copyright</samp>, where PACKAGE is to be
+substituted with the package's name.
+</p>
+
+<p>
+<em>Maintainers</em> who package this software for the Debian GNU/Linux system
+are listed in the Debian control file (see <a
+href="ch-pkg_basics.en.html#s-controlfile">What is a Debian control file?,
+Section 6.4</a>) that comes with each package. The Debian changelog, in
+<samp>/usr/share/doc/PACKAGE/changelog.Debian.gz</samp>, mentions the people
+who've worked on the Debian packaging too.
+</p>
+
+<hr>
+
+<h2><a name="s-pkglist"></a>4.3 How can I get a current list of programs that have been packaged for Debian?</h2>
+
+<p>
+A complete list is available from any of the <code><a
+href="http://www.debian.org/distrib/ftplist">Debian mirrors</a></code>, in the
+file <samp>indices/Maintainers</samp>. That file includes the package names
+and the names and e-mails of their respective maintainers.
+</p>
+
+<p>
+The <code><a href="http://packages.debian.org/">WWW interface to the Debian
+packages</a></code> conveniently summarizes the packages in each of about
+twenty &quot;sections&quot; of the Debian archive.
+</p>
+
+<hr>
+
+<h2><a name="s-missing"></a>4.4 What is missing from Debian GNU/Linux?</h2>
+
+<p>
+A list of packages which are still needed to be packaged for Debian exists, the
+<code><a href="http://www.debian.org/devel/wnpp/">Work-Needing and Prospective
+Packages list</a></code>.
+</p>
+
+<p>
+For more details about adding the missing things, see <a
+href="ch-contributing.en.html#s-contrib">How can I become a Debian software
+developer?, Section 12.1</a>.
+</p>
+
+<hr>
+
+<h2><a name="s-no-devs"></a>4.5 Why do I get &quot;ld: cannot find -lfoo&quot; messages when compiling programs? Why aren't there any libfoo.so files in Debian library packages?</h2>
+
+<p>
+Debian Policy requires that such symbolic links (to libfoo.so.x.y.z or similar)
+are placed in separate, development packages. Those packages are usually named
+libfoo-dev or libfooX-dev (presuming the library package is named libfooX, and
+X is a whole number).
+</p>
+
+<hr>
+
+<h2><a name="s-java"></a>4.6 (How) Does Debian support Java?</h2>
+
+<p>
+Since the official Java Development kit and Runtime Environment from Sun
+Microsystems is non-free software, even undistributeable by Debian, it cannot
+properly be included in Debian. If you want those installed anyway, please
+refer to the <code>java-package</code> package in contrib.
+</p>
+
+<p>
+However, both the JDK and several <em>free</em> implementations of Java
+technology are available as Debian packages. You can write, debug and run Java
+programs using Debian.
+</p>
+
+<p>
+Running a Java applet requires a web browser with the capability to recognize
+and execute them. Several web browsers available in Debian, such as Mozilla or
+Konqueror, support Java plug-ins that enable running Java applets within them.
+Netscape Navigator, while non-free, is also available as a Debian package and
+it can run Java applets.
+</p>
+
+<p>
+Please refer to the <code><a
+href="http://www.debian.org/doc/manuals/debian-java-faq/">Debian Java
+FAQ</a></code> for more information.
+</p>
+
+<hr>
+
+<h2><a name="s-isitdebian"></a>4.7 How can I check that I am using a Debian system, and what version is it?</h2>
+
+<p>
+In order to make sure that your system has been installed from the real Debian
+base disks check for the existence of <samp>/etc/debian_version</samp> file,
+which contains a single one-line entry giving the version number of the
+release, as defined by the package <samp>base-files</samp>.
+</p>
+
+<p>
+The existence of the program <samp>dpkg</samp> shows that you should be able to
+install Debian packages on your system, but as the program has been ported to
+many other operating systems and architectures, this is no longer a reliable
+method of determining is a system Debian GNU/Linux.
+</p>
+
+<p>
+Users should be aware, however, that the Debian system consists of many parts,
+each of which can be updated (almost) independently. Each Debian
+&quot;release&quot; contains well defined and unchanging contents. Updates are
+separately available. For a one-line description of the installation status of
+package <samp>foo</samp>, use the command <samp>dpkg --list foo</samp>. To
+view versions of all installed packages, run:
+</p>
+
+<pre>
+ dpkg -l
+</pre>
+
+<p>
+For a more verbose description, use:
+</p>
+
+<pre>
+ dpkg --status foo
+</pre>
+
+<hr>
+
+<h2><a name="s-nonenglish"></a>4.8 How does Debian support non-English languages?</h2>
+<ul>
+<li>
+<p>
+Debian GNU/Linux is distributed with keymaps for nearly two dozen keyboards,
+and with utilities (in the <samp>kbd</samp> package) to install, view, and
+modify the tables.
+</p>
+
+<p>
+The installation prompts the user to specify the keyboard he will use.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Vast majority of the software we packaged supports entering non-US-ASCII
+characters used in other Latin languages (e.g. ISO-8859-1 or ISO-8859-2), and
+a number of programs support multi-byte languages such as Japanese or Chinese.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Currently, support for German-, Spanish-, Finnish-, French-, Hungarian-,
+Italian-, Japanese-, Korean- and Polish-language manual pages is provided
+through the <samp>manpages-LANG</samp> packages (where LANG is the two-letter
+ISO country code). To access an NLS manual page, the user must set the shell
+LC_MESSAGES variable to the appropriate string.
+</p>
+
+<p>
+For example, in the case of the Italian-language manual pages, LC_MESSAGES
+needs to be set to 'italian'. The <code>man</code> program will then search
+for Italian manual pages under <samp>/usr/share/man/it/</samp>.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-usexports"></a>4.9 What about the US export regulation limitations?</h2>
+
+<p>
+US laws placed restrictions on the export of defense articles, which includes
+some types of cryptographic software. PGP and ssh, among others, fall into
+this category. For the <em>sarge</em> release packages in this archive were
+moved to the main archive (or to <em>non-free</em>, if applicable) due to the
+US relaxing its regulations on the export of cryptography.
+</p>
+
+<p>
+To prevent anyone from taking unnecessary legal risks, certain Debian GNU/Linux
+packages were only available from a non-US site <code><a
+href="ftp://non-US.debian.org/debian-non-US/">ftp://non-US.debian.org/debian-non-US/</a></code>,
+with numerous mirror sites all of which are also outside of the US, see
+<code><a
+href="ftp://non-US.debian.org/debian-non-US/README.non-US">ftp://non-US.debian.org/debian-non-US/README.non-US</a></code>
+for a full list. These sites still exist (for the benefit of users of
+<em>woody</em>) but its contents are no longer supported and are considered
+obsolete. Please remove any mentions to non-US from your sources in your
+<code>/etc/apt/sources.list</code> configuration file.
+</p>
+
+<hr>
+
+<h2><a name="s-pine"></a>4.10 Where is pine?</h2>
+
+<p>
+Due to its restrictive license, it's in the non-free area. Moreover, since
+license does not even allow modified binaries to be distributed, you have to
+compile it yourself from the source and the Debian patches.
+</p>
+
+<p>
+The source package name is <code>pine</code>. You can use the
+<code>pine-tracker</code> package to be notified about when you need to
+upgrade.
+</p>
+
+<p>
+Note that there are many replacements for both pine and pico, such as
+<code>mutt</code> and <code>nano</code>, that are located in the main section.
+</p>
+
+<hr>
+
+<h2><a name="s-qmail"></a>4.11 Where is qmail/ezmlm/djbdns?</h2>
+
+<p>
+Dan J. Bernstein distributes <code><a href="http://cr.yp.to/software.html">all
+software he has written</a></code> with a restrictive license, consequently,
+it's in the non-free area. Since the license he uses does not allow modified
+binaries to be distributed, you have to compile it yourself from the source and
+the Debian patches to obtain a binary package you can install in your Debian
+GNU/Linux system.
+</p>
+
+<p>
+The source package names are <code>qmail-src</code>, <code>ezmlm-src</code> and
+<code>djbdns-installer</code>, respectively.
+</p>
+
+<p>
+For <code>qmail</code> you need to install <code>qmail-src</code> first and
+then run <code>build-qmail</code> to build the Debian package. You also need
+to do install the <code>ucspi-tcp-src</code> package to get ucspi-tcp, which
+<code>qmail</code> depends on.
+</p>
+
+<p>
+Dan J. Bernstein maintains a <code><a
+href="http://cr.yp.to/distributors.html">FAQ from distributors</a></code> page
+if you are interested in reading his reasons (one of which is <code><a
+href="http://cr.yp.to/compatibility.html">Cross-platform
+compatibility</a></code>)
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-compat.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ 4 ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-ftparchives.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-support.en.html b/includes/common/doc/FAQ/html/ch-support.en.html
index 57e21da..57e21da 100644
--- a/templates/common/doc/FAQ/html/ch-support.en.html
+++ b/includes/common/doc/FAQ/html/ch-support.en.html
diff --git a/includes/common/doc/FAQ/html/ch-support.html b/includes/common/doc/FAQ/html/ch-support.html
new file mode 100644
index 0000000..57e21da
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-support.html
@@ -0,0 +1,525 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Getting support for Debian GNU/Linux</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-support"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-customizing.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ 11 ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-contributing.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 11 - Getting support for Debian GNU/Linux
+</h1>
+
+<hr>
+
+<h2><a name="s-debiandocs"></a>11.1 What other documentation exists on and for a Debian system?</h2>
+<ul>
+<li>
+<p>
+Installation instructions for the current release: see <code><a
+href="http://www.debian.org/releases/stable/installmanual">http://www.debian.org/releases/stable/installmanual</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+The Debian GNU/Linux reference covers many aspects of system administration
+through shell-command examples. Basic tutorials, tips, and other information
+are provided for many different topics ranging from system administration to
+programming.
+</p>
+
+<p>
+Get it from the <code>debian-reference</code> package, or at <code><a
+href="http://www.debian.org/doc/user-manuals#quick-reference">http://www.debian.org/doc/user-manuals#quick-reference</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Policy manual documents the policy requirements for the distribution, i.e. the
+structure and contents of the Debian archive, several design issues of the
+operating system etc. It also includes the technical requirements that each
+package must satisfy to be included in the distribution, and documents the
+basic technical aspects of Debian binary and source packages.
+</p>
+
+<p>
+Get it from the <code>debian-policy</code> package, or at <code><a
+href="http://www.debian.org/doc/devel-manuals#policy">http://www.debian.org/doc/devel-manuals#policy</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Documentation developed by the Debian Documentation Project. It is available
+at <code><a
+href="http://www.debian.org/doc/">http://www.debian.org/doc/</a></code> and
+includes user guides, administration guides and security guides for the Debian
+GNU/Linux operating system.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Documentation on installed Debian packages: Most packages have files that are
+unpacked into <samp>/usr/share/doc/PACKAGE</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Documentation on the Linux project: The Debian package <code>doc-linux</code>
+installs all of the most recent versions of the HOWTOs and mini-HOWTOs from the
+<code><a href="http://www.tldp.org/">Linux Documentation Project</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Unix-style `man' pages: Most commands have manual pages written in the style of
+the original Unix 'man' files. They are referenced by the section of the 'man'
+directory where they reside: e.g., foo(3) refers to a manual page which resides
+in /usr/share/man/man3/, and it can be called by executing the command:
+<samp>man 3 foo</samp>, or just <samp>man foo</samp> if section 3 is the first
+one containing a page on <samp>foo</samp>.
+</p>
+
+<p>
+One can learn which directory of <samp>/usr/share/man/</samp> contains a
+certain manual page by executing <samp>man -w foo</samp>.
+</p>
+
+<p>
+New Debian users should note that the 'man' pages of many general system
+commands are not available until they install these packages:
+</p>
+<ul>
+<li>
+<p>
+<samp>man-db</samp>, which contains the <samp>man</samp> program itself, and
+other programs for manipulating the manual pages.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>manpages</samp>, which contains the system manual pages. (see <a
+href="ch-software.en.html#s-nonenglish">How does Debian support non-English
+languages?, Section 4.8</a>).
+</p>
+</li>
+</ul>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+GNU-style `info' pages: User documentation for many commands, particularly GNU
+tools, is available not in `man' pages, but in `info' files which can be read
+by the GNU tool <samp>info</samp>, by running <samp>M-x info</samp> within GNU
+Emacs, or with some other Info page viewer.
+</p>
+
+<p>
+Its main advantage over the original `man' pages are that it is a hypertext
+system. It does <em>not</em> require the WWW, however; <samp>info</samp> can
+be run from a plain text console. It was designed by Richard Stallman and
+preceded the WWW.
+</p>
+</li>
+</ul>
+
+<p>
+Note that you may access a lot of documentation on your system by using a WWW
+browser, through `dwww', `dhelp' or `doccentral' commands, found in respective
+packages.
+</p>
+
+<hr>
+
+<h2><a name="s-onlineresources"></a>11.2 Are there any on-line resources for discussing Debian?</h2>
+
+<p>
+Yes. In fact, the main method of support Debian provides to our users is by
+the way of e-mail.
+</p>
+
+<hr>
+
+<h3><a name="s11.2.1"></a>11.2.1 Mailing lists</h3>
+
+<p>
+There are a lot of <code><a
+href="http://www.debian.org/MailingLists/">Debian-related mailing
+lists</a></code>.
+</p>
+
+<p>
+On a system with the <code>doc-debian</code> package installed there is a
+complete list of mailing lists in
+<code>/usr/share/doc/debian/mailing-lists.txt</code>.
+</p>
+
+<p>
+Debian mailing lists are named following the pattern
+debian-<var>list-subject</var>. Examples are debian-announce, debian-user,
+debian-news. To subscribe to any list debian-<var>list-subject</var>, send
+mail to debian-<var>list-subject</var>-request@lists.debian.org with the word
+&quot;subscribe&quot; in the Subject: header. Be sure to remember to add
+<em>-request</em> to the e-mail address when using this method to subscribe or
+unsubscribe. Otherwise your e-mail will go to the list itself, which could be
+embarrassing or annoying, depending on your point of view.
+</p>
+
+<p>
+If you have a forms-capable World Wide Web browser, you can subscribe to
+mailing lists using the <code><a
+href="http://www.debian.org/MailingLists/subscribe">WWW form</a></code>. You
+can also un-subscribe using a <code><a
+href="http://www.debian.org/MailingLists/unsubscribe">WWW form</a></code>.
+</p>
+
+<p>
+The list manager's e-mail address is <code><a
+href="mailto:listmaster@lists.debian.org">listmaster@lists.debian.org</a></code>,
+in case you have any trouble.
+</p>
+
+<p>
+The mailing lists are public forums. All e-mails sent to the lists are also
+copied to the public archive, for anybody (even non-subscribers) to browse or
+search. Please make sure you never send any confidential or unlicensed
+material to the lists. This includes things like e-mail addresses. Of
+particular note is the fact that spammers have been known to abuse e-mail
+addresses posted to our mailing lists. See the <code><a
+href="http://www.debian.org/MailingLists/index.en.html#disclaimer">Mailing
+Lists Privacy policy</a></code> for more information.
+</p>
+
+<p>
+Archives of the Debian mailing lists are available via WWW at <code><a
+href="http://lists.debian.org/">http://lists.debian.org/</a></code>.
+</p>
+
+<hr>
+
+<h4><a name="s-mailinglistconduct"></a>11.2.1.1 What is the code of conduct for the mailing lists?</h4>
+
+<p>
+When using the Debian mailing lists, please follow these rules:
+</p>
+<ul>
+<li>
+<p>
+Do not send spam. See the <code><a
+href="http://www.debian.org/MailingLists/#ads">Debian mailing list advertising
+policy</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Do not flame; it is not polite. The people developing Debian are all
+volunteers, donating their time, energy and money in an attempt to bring the
+Debian project together.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Do not use foul language; besides, some people receive the lists via packet
+radio, where swearing is illegal.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Make sure that you are using the proper list. <em>Never</em> post your
+(un)subscription requests to the mailing list itself[<a
+href="footnotes.en.html#f6" name="fr6">6</a>]
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+See section <a href="#s-bugreport">How do I report a bug in Debian?, Section
+11.5</a> for notes on reporting bugs.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h3><a name="s11.2.2"></a>11.2.2 Maintainers</h3>
+
+<p>
+Users can address questions to individual package maintainers using e-mail. To
+reach a maintainer of a package called xyz, send e-mail to
+<em>xyz@packages.debian.org</em>.
+</p>
+
+<hr>
+
+<h3><a name="s11.2.3"></a>11.2.3 Usenet newsgroups</h3>
+
+<p>
+Users should post non-Debian-specific questions to one of the Linux USENET
+groups, which are named comp.os.linux.* or linux.*. There are several lists of
+Linux Usenet newsgroups and other related resources on the WWW, e.g. on the
+<code><a href="http://www.linux.org/docs/usenet.html">Linux Online</a></code>
+and <code><a
+href="http://www.linuxjournal.com/helpdesk.php">LinuxJournal</a></code> sites.
+</p>
+
+<hr>
+
+<h2><a name="s-searchtools"></a>11.3 Is there a quick way to search for information on Debian GNU/Linux?</h2>
+
+<p>
+There is a variety of search engines that serve documentation related to
+Debian:
+</p>
+<ul>
+<li>
+<p>
+<code><a href="http://search.debian.org/">Debian WWW search site</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code><a href="http://groups.google.com/">Google Groups</a></code>: a search
+engine for newsgroups.
+</p>
+
+<p>
+For example, to find out what experiences people have had with finding drivers
+for Promise controllers under Debian, try searching on the phrase <samp>Promise
+Linux driver</samp>. This will show you all the postings that contain these
+strings, i.e. those where people discussed these topics. If you add
+<samp>Debian</samp> to those search strings, you'll also get the postings
+specifically related to Debian.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Any of the common web spidering engines, such as <code><a
+href="http://www.altavista.com/">AltaVista</a></code> or <code><a
+href="http://www.google.com/">Google</a></code>, as long as you use the right
+search terms.
+</p>
+
+<p>
+For example, searching on the string &quot;cgi-perl&quot; gives a more detailed
+explanation of this package than the brief description field in its control
+file.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-buglogs"></a>11.4 Are there logs of known bugs?</h2>
+
+<p>
+Reports on unsolved (and closed) issues are publicly available: Debian
+promissed to do so by stating &quot;We will not hide problems&quot; in the
+<code><a href="http://www.debian.org/social_contract">Debian Social
+Contract</a></code>.
+</p>
+
+<p>
+The Debian GNU/Linux distribution has a bug tracking system (BTS) which files
+details of bugs reported by users and developers. Each bug is given a number,
+and is kept on file until it is marked as having been dealt with.
+</p>
+
+<p>
+Copies of this information are available at <code><a
+href="http://www.debian.org/Bugs/">http://www.debian.org/Bugs/</a></code>.
+</p>
+
+<p>
+A mail server provides access to the bug tracking system database via e-mail.
+In order to get the instructions, send an e-mail to request@bugs.debian.org
+with &quot;help&quot; in the body.
+</p>
+
+<hr>
+
+<h2><a name="s-bugreport"></a>11.5 How do I report a bug in Debian?</h2>
+
+<p>
+If you have found a bug in Debian, please read the instructions for reporting a
+bug in Debian. These instructions can be obtained in one of several ways:
+</p>
+<ul>
+<li>
+<p>
+By anonymous FTP. Debian mirror sites contain the instructions in the file
+<samp>doc/bug-reporting.txt</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+From the WWW. A copy of the instructions is shown at <code><a
+href="http://www.debian.org/Bugs/Reporting">http://www.debian.org/Bugs/Reporting</a></code>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+On any Debian system with the <code>doc-debian</code> package installed. The
+instructions are in the file
+<code>/usr/share/doc/debian/bug-reporting.txt</code>.
+</p>
+</li>
+</ul>
+
+<p>
+You can use the package <code>reportbug</code> that will guide you through the
+reporting process and mail the message to the proper address, with some extra
+details about your system added automatically. It will also show you a list of
+bugs already reported to the package you are reporting against in case your bug
+has been reported previously, so that you can additional information to the
+existing bug report.
+</p>
+
+<p>
+If you want to mail the report with an e-mail program, send a message to
+<code><a
+href="mailto:submit@bugs.debian.org">submit@bugs.debian.org</a></code>. The
+message's first line must be similar to
+</p>
+
+<pre>
+ Package: package-name
+</pre>
+
+<p>
+(replace <var>package-name</var> with the name of the package). The next line
+should relate the package version number in a similar way:
+</p>
+
+<pre>
+ Version: version-number
+</pre>
+
+<p>
+The version number for any package installed on your system can be obtained
+using the command line
+</p>
+
+<pre>
+ dpkg -s <var>package-name</var>
+</pre>
+
+<p>
+This section is referred to as the pseudo-header. The rest of the message
+should contain the description of the bug (please make it moderately detailed),
+the Debian release you are using, and versions of other relevant packages. The
+Debian release number will be displayed by the command
+</p>
+
+<pre>
+ cat /etc/debian_version
+</pre>
+
+<p>
+Expect to get an automatic acknowledgement of your bug report. It will also be
+automatically given a bug tracking number, entered into the bug log and
+forwarded to the debian-bugs-dist mailing list.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-customizing.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ 11 ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-contributing.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/ch-uptodate.en.html b/includes/common/doc/FAQ/html/ch-uptodate.en.html
index b271f29..b271f29 100644
--- a/templates/common/doc/FAQ/html/ch-uptodate.en.html
+++ b/includes/common/doc/FAQ/html/ch-uptodate.en.html
diff --git a/includes/common/doc/FAQ/html/ch-uptodate.html b/includes/common/doc/FAQ/html/ch-uptodate.html
new file mode 100644
index 0000000..b271f29
--- /dev/null
+++ b/includes/common/doc/FAQ/html/ch-uptodate.html
@@ -0,0 +1,479 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Keeping your Debian system up-to-date</title>
+
+</head>
+
+<body>
+
+<p><a name="ch-uptodate"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-pkgtools.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ 8 ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-kernel.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Chapter 8 - Keeping your Debian system up-to-date
+</h1>
+
+<hr>
+
+<p>
+A Debian goal is to provide a consistent upgrade path and a secure upgrade
+process. We always do our best to make upgrading to new releases a smooth
+procedure. In case there's some important note to add to the upgrade process,
+the packages will alert the user, and often provide a solution to a possible
+problem.
+</p>
+
+<p>
+You should also read the Release Notes document that describes the details of
+specific upgrades. It is shipped on all Debian CDs and available on the WWW at
+<code><a
+href="http://www.debian.org/releases/stable/releasenotes">http://www.debian.org/releases/stable/releasenotes</a></code>.
+</p>
+
+<hr>
+
+<h2><a name="s-libc5to6upgrade"></a>8.1 How can I upgrade my Debian 1.3.1 (or earlier) distribution, based on libc5, to 2.0 (or later), based on libc6?</h2>
+
+<p>
+There are several ways to upgrade:
+</p>
+<ul>
+<li>
+<p>
+Using a simple shell script called <samp>autoup.sh</samp> which upgrades the
+most important packages. After <samp>autoup.sh</samp> has done his job, you
+may use dselect to install the remaining packages <em>en masse</em>. This is
+probably the recommended method, but not the only one.
+</p>
+
+<p>
+Currently, the latest release of <samp>autoup.sh</samp> may be found on the
+following locations:
+</p>
+<ul>
+<li>
+<p>
+<code><a
+href="http://www.debian.org/releases/2.0/autoup/">http://www.debian.org/releases/2.0/autoup/</a></code>
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code><a
+href="http://www.taz.net.au/autoup/">http://www.taz.net.au/autoup/</a></code>
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<code><a
+href="http://debian.vicnet.net.au/autoup/">http://debian.vicnet.net.au/autoup/</a></code>
+</p>
+</li>
+</ul>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Following closely the <code><a
+href="http://debian.vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html">Debian
+libc5 to libc6 Mini-HOWTO</a></code> and upgrade the most important packages by
+hand. <samp>autoup.sh</samp> is based on this Mini-HOWTO, so this method
+should work more or less like using <samp>autoup.sh</samp>.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Using a libc5-based <samp>apt</samp>. APT stands for Advanced Package Tool,
+and it might replace dselect some day. Currently, it works just as a
+command-line interface, or as a dselect access method. You will find a libc5
+version in the <samp>dists/slink/main/upgrade-older-i386</samp> directory at
+the Debian archives.
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+Using just dselect, without upgrading any package by hand first. It is highly
+recommended that you do NOT use this method if you can avoid it, because
+dselect alone currently does not install packages in the optimal order. APT
+works much better and it is safer.
+</p>
+</li>
+</ul>
+
+<hr>
+
+<h2><a name="s-howtocurrent"></a>8.2 How can I keep my Debian system current?</h2>
+
+<p>
+One could simply execute an anonymous ftp call to a Debian archive, then peruse
+the directories until one finds the desired file, and then fetch it, and
+finally install it using <samp>dpkg</samp>. Note that <samp>dpkg</samp> will
+install upgrade files in place, even on a running system. Sometimes, a revised
+package will require the installation of a newly revised version of another
+package, in which case the installation will fail until/unless the other
+package is installed.
+</p>
+
+<p>
+Many people find this approach much too time-consuming, since Debian evolves so
+quickly -- typically, a dozen or more new packages are uploaded every week.
+This number is larger just before a new major release. To deal with this
+avalanche, many people prefer to use a more automated method. Several
+different packages are available for this purpose:
+</p>
+
+<hr>
+
+<h3><a name="s-aptitude-upgrade"></a>8.2.1 aptitude</h3>
+
+<p>
+APT is an advanced interface to the Debian packaging system. It features
+complete installation ordering, multiple source capability and several other
+unique features, see the User's Guide in
+<samp>/usr/share/doc/apt-doc/guide.html/index.html</samp> (you will have to
+install the <samp>apt-doc</samp> package).
+</p>
+
+<p>
+<code>aptitude</code> is the recommended package manager for Debian GNU/Linux
+systems. It is a text-based interface to APT using the curses library, and can
+be used to perform management tasks in a fast and easy way.
+</p>
+
+<p>
+Before you can use <code>aptitude</code>, you'll have to edit the
+<samp>/etc/apt/sources.list</samp> file to set it up. If you wish to upgrade
+to the latest stable version of Debian, you'll probably want to use a source
+like this one:
+</p>
+
+<pre>
+ http://http.us.debian.org/debian stable main contrib non-free
+</pre>
+
+<p>
+You can replace http.us.debian.org with the name of a faster Debian mirror near
+you. See the mirror list at <code><a
+href="http://www.debian.org/misc/README.mirrors">http://www.debian.org/misc/README.mirrors</a></code>
+for more information.
+</p>
+
+<p>
+More details on this can be found in the <code>sources.list(8)</code> manual
+page.
+</p>
+
+<p>
+To update your system, run
+</p>
+
+<pre>
+ aptitude update
+</pre>
+
+<p>
+followed by
+</p>
+
+<pre>
+ aptitude dist-upgrade
+</pre>
+
+<p>
+Answer any questions that might come up, and your system will be upgraded. See
+also <a href="ch-pkgtools.en.html#s-aptitude">aptitude, Section 7.1.3</a>.
+</p>
+
+<hr>
+
+<h3><a name="s-apt"></a>8.2.2 apt-get, dselect and apt-cdrom</h3>
+
+<p>
+<code>apt-get</code> is an APT-based command-line tool for handling packages,
+and the APT dselect method is an interface to APT through <code>dselect</code>.
+Both of these provide a simple, safe way to install and upgrade packages.
+</p>
+
+<p>
+To use <code>apt-get</code>, install the <code>apt</code> package, and edit the
+<samp>/etc/apt/sources.list</samp> file to set it up, just as for <a
+href="#s-aptitude-upgrade">aptitude, Section 8.2.1</a>.
+</p>
+
+<p>
+Then run
+</p>
+
+<pre>
+ apt-get update
+</pre>
+
+<p>
+followed by
+</p>
+
+<pre>
+ apt-get dist-upgrade
+</pre>
+
+<p>
+Answer any questions that might come up, and your system will be upgraded. See
+also the <code>apt-get(8)</code> manual page, as well as <a
+href="ch-pkgtools.en.html#s-apt-get">APT, Section 7.1.2</a>.
+</p>
+
+<p>
+To use APT with <code>dselect</code>, choose the APT access method in dselect's
+method selection screen (option 0) and then specify the sources that should be
+used. The configuration file is <code>/etc/apt/sources.list</code>. See also
+<a href="ch-pkgtools.en.html#s-dselect">dselect, Section 7.1.4</a>.
+</p>
+
+<p>
+If you want to use CDs to install packages, you can use <code>apt-cdrom</code>.
+For details, please see the Release Notes, section &quot;Setting up for an
+upgrade from a local mirror&quot;.
+</p>
+
+<p>
+Please note that when you get and install the packages, you'll still have them
+kept in your /var directory hierarchy. To keep your partition from
+overflowing, remember to delete extra files using <samp>apt-get clean</samp>
+and <samp>apt-get autoclean</samp>, or to move them someplace else (hint: use
+<code>apt-move</code>).
+</p>
+
+<hr>
+
+<h3><a name="s-dpkg-ftp"></a>8.2.3 dpkg-ftp</h3>
+
+<p>
+This is an older access method for <code>dselect</code>. It can be invoked
+from within <code>dselect</code>, thereby allowing a user the ability to
+download files and install them directly in one step. To do this, select the
+<samp>ftp</samp> access method in <code>dselect</code> (option 0) and specify
+the remote host name and directory. <code>dpkg-ftp</code> will then
+automatically download the files that are selected (either in this session of
+<code>dselect</code> or earlier ones).
+</p>
+
+<p>
+Note that, unlike the <code>mirror</code> program, <code>dpkg-ftp</code> does
+not grab everything at a mirror site. Rather, it downloads only those files
+which you have selected (when first starting up <code>dpkg-ftp</code>), and
+which need to be updated.
+</p>
+
+<p>
+<code>dpkg-ftp</code> is somewhat obsolete. You should use the APT access
+method with ftp:// URLs in <code>sources.list</code> instead.
+</p>
+
+<hr>
+
+<h3><a name="s-mirror"></a>8.2.4 mirror</h3>
+
+<p>
+This Perl script, and its (optional) manager program called
+<code>mirror-master</code>, can be used to fetch user-specified parts of a
+directory tree from a specified host <em>via</em> anonymous FTP.
+</p>
+
+<p>
+<code>mirror</code> is particularly useful for downloading large volumes of
+software. After the first time files have been downloaded from a site, a file
+called <samp>.mirrorinfo</samp> is stored on the local host. Changes to the
+remote file system are tracked automatically by <code>mirror</code>, which
+compares this file to a similar file on the remote system and downloads only
+changed files.
+</p>
+
+<p>
+The <code>mirror</code> program is generally useful for updating local copies
+of remote directory trees. The files fetched need not be Debian files. (Since
+<code>mirror</code> is a Perl script, it can also run on non-Unix systems.)
+Though the <code>mirror</code> program provides mechanisms for excluding files
+names of which match user-specified strings, this program is most useful when
+the objective is to download whole directory trees, rather than selected
+packages.
+</p>
+
+<hr>
+
+<h3><a name="s-dpkg-mountable"></a>8.2.5 dpkg-mountable</h3>
+
+<p>
+dpkg-mountable adds an access method called `mountable' to dselect's list,
+which allows you to install from any file system specified in /etc/fstab. For
+example, the archive could be a normal hard disk partition or an NFS server,
+which it will automatically mount and umount for you if necessary.
+</p>
+
+<p>
+It also has some extra features not found in the standard dselect methods, such
+as provision for a local file tree (either parallel to the main distribution or
+totally separate), and only getting packages which are required, rather than
+the time-consuming recursive directory scan, as well as logging of all dpkg
+actions in the install method.
+</p>
+
+<hr>
+
+<h2><a name="s-upgradesingle"></a>8.3 Must I go into single user mode in order to upgrade a package?</h2>
+
+<p>
+No. Packages can be upgraded in place, even in running systems. Debian has a
+<samp>start-stop-daemon</samp> program that is invoked to stop, then restart
+running process if necessary during a package upgrade.
+</p>
+
+<hr>
+
+<h2><a name="s-savedebs"></a>8.4 Do I have to keep all those .deb archive files on my disk?</h2>
+
+<p>
+No. If you have downloaded the files to your disk (which is not absolutely
+necessary, see above for the description of dpkg-ftp), then after you have
+installed the packages, you can remove them from your system.
+</p>
+
+<hr>
+
+<h2><a name="s-keepingalog"></a>8.5 How can I keep a log of the packages I added to the system? I'd like to know when which package upgrades and removals have occured!</h2>
+
+<p>
+Passing the <samp>--log</samp>-option to <code>dpkg</code> makes
+<code>dpkg</code> log status change updates and actions. It logs both the
+<code>dpkg</code>-invokation (e.g.
+</p>
+
+<pre>
+ 2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
+</pre>
+
+<p>
+) and the results (e.g.
+</p>
+
+<pre>
+ 2005-12-30 18:10:35 status installed hello 2.1.1-4
+</pre>
+
+<p>
+) If you'd like to log all your <code>dpkg</code> invokations (even those done
+using frontends like <code>aptitude</code>), you could add
+</p>
+
+<pre>
+ log /var/log/dpkg.log
+</pre>
+
+<p>
+to your <code>/etc/dpkg/dpkg.cfg</code>. Be sure the created logfile gets
+rotated periodically. If you're using <code>logrotate</code>, this can be
+achieved by creating a file <code>/etc/logrotate.d/dpkg</code> with contents
+</p>
+
+<pre>
+ /var/log/dpkg {
+ missingok
+ notifempty
+ }
+</pre>
+
+<p>
+More details on <code>dpkg</code> logging can be found in the
+<code>dpkg(1)</code> manual page.
+</p>
+
+<p>
+<code>aptitude</code> logs the package installations, removals, and upgrades
+that it intends to perform to <code>/var/log/aptitude</code>. Note that the
+<em>results</em> of those actions are not recorded in this file!
+</p>
+
+<p>
+Another way to record your actions is to run your package management session
+within the <code>script(1)</code> program.
+</p>
+
+<hr>
+
+<p>
+[ <a href="ch-pkgtools.en.html">previous</a> ]
+[ <a href="index.en.html#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ 8 ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-kernel.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/footnotes.en.html b/includes/common/doc/FAQ/html/footnotes.en.html
index 0d5b7d4..0d5b7d4 100644
--- a/templates/common/doc/FAQ/html/footnotes.en.html
+++ b/includes/common/doc/FAQ/html/footnotes.en.html
diff --git a/includes/common/doc/FAQ/html/footnotes.html b/includes/common/doc/FAQ/html/footnotes.html
new file mode 100644
index 0000000..0d5b7d4
--- /dev/null
+++ b/includes/common/doc/FAQ/html/footnotes.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ - Footnotes</title>
+
+</head>
+
+<body>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br>Footnotes</h1>
+
+<h2><a href="ch-ftparchives.en.html#fr1" name="f1">1</a></h2>
+
+<p>
+When the present-day sid did not exist, the FTP site organization had one major
+flaw: there was an assumption that when an architecture is created in the
+current unstable, it will be released when that distribution becomes the new
+stable. For many architectures that isn't the case, with the result that those
+directories had to be moved at release time. This was impractical because the
+move would chew up lots of bandwidth.
+</p>
+
+<p>
+The archive administrators worked around this problem for several years by
+placing binaries for unreleased architectures in a special directory called
+&quot;sid&quot;. For those architectures not yet released, the first time they
+were released there was a link from the current stable to sid, and from then on
+they were created inside the unstable tree as normal. This layout was somewhat
+confusing to users.
+</p>
+
+<p>
+With the advent of package pools (see <a href="#s-pools">What's in the
+<samp>pool</samp> directory?, Section 5.10</a>), binary packages began to be
+stored in a canonical location in the pool, regardless of the distribution, so
+releasing a distribution no longer causes large bandwidth consumption on the
+mirrors (there is, however, a lot of gradual bandwidth consumption throughout
+the development process).
+</p>
+
+<h2><a href="ch-ftparchives.en.html#fr2" name="f2">2</a></h2>
+
+<p>
+<samp>dists/stable/main</samp>, <samp>dists/stable/contrib</samp>,
+<samp>dists/stable/non-free</samp>, and <samp>dists/unstable/main/</samp>, etc.
+</p>
+
+<h2><a href="ch-ftparchives.en.html#fr3" name="f3">3</a></h2>
+
+<p>
+Historically, packages were kept in the subdirectory of <samp>dists</samp>
+corresponding to which distribution contained them. This turned out to cause
+various problems, such as large bandwidth consumption on mirrors when major
+changes were made. This was fixed with the introduction of the package pool.
+</p>
+
+<p>
+The <samp>dists</samp> directories are still used for the index files used by
+programs like <samp>apt</samp>. You may also still see paths containing
+<samp>dists/potato</samp> or <samp>dists/woody</samp> in the Filename header
+field of some older packages.
+</p>
+
+<h2><a href="ch-pkgtools.en.html#fr4" name="f4">4</a></h2>
+
+<p>
+Notice that there are ports that make this tool available with other package
+management systems, like Red Hat package manager, also known as
+<code>rpm</code>
+</p>
+
+<h2><a href="ch-pkgtools.en.html#fr5" name="f5">5</a></h2>
+
+<p>
+Although this can also lead to systems with more packages installed than they
+actually need to work.
+</p>
+
+<h2><a href="ch-support.en.html#fr6" name="f6">6</a></h2>
+
+<p>
+Use the debian-<var>list-subject</var>-REQUEST@lists.debian.org address for
+that.
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/FAQ/html/index.en.html b/includes/common/doc/FAQ/html/index.en.html
index 952a225..952a225 100644
--- a/templates/common/doc/FAQ/html/index.en.html
+++ b/includes/common/doc/FAQ/html/index.en.html
diff --git a/includes/common/doc/FAQ/html/index.html b/includes/common/doc/FAQ/html/index.html
new file mode 100644
index 0000000..952a225
--- /dev/null
+++ b/includes/common/doc/FAQ/html/index.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+
+<title>The Debian GNU/Linux FAQ</title>
+
+</head>
+
+<body>
+
+<p><a name="index"></a></p>
+<hr>
+
+<p>
+[ <a href="ch-faqinfo.en.html">previous</a> ]
+[ <a href="#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-basic_defs.en.html">next</a> ]
+</p>
+
+<hr>
+
+<h1>
+The Debian GNU/Linux FAQ
+<br></h1>
+
+<hr>
+
+<h2><a name="abstract"></a>Abstract</h2>
+
+<p>
+This document answers questions frequently asked about Debian GNU/Linux.
+</p>
+
+<hr>
+
+<h2><a name="copyright"></a>Copyright Notice</h2>
+
+<p>
+Copyright &copy; 1996-2005 by Software in the Public Interest
+</p>
+
+<p>
+Permission is granted to make and distribute verbatim copies of this document
+provided the copyright notice and this permission notice are preserved on all
+copies.
+</p>
+
+<p>
+Permission is granted to copy and distribute modified versions of this document
+under the conditions for verbatim copying, provided that the entire resulting
+derived work is distributed under the terms of a permission notice identical to
+this one.
+</p>
+
+<p>
+Permission is granted to copy and distribute translations of this document into
+another language, under the above conditions for modified versions, except that
+this permission notice may be included in translations approved by the Free
+Software Foundation instead of in the original English.
+</p>
+
+<hr>
+
+<h2><a name="contents"></a>Contents</h2>
+
+<ul>
+<li><a href="ch-basic_defs.en.html">1 Definitions and overview</a></li>
+<li><ul>
+<li><a href="ch-basic_defs.en.html#s-whatisfaq">1.1 What is this FAQ?</a></li>
+<li><a href="ch-basic_defs.en.html#s-whatisdebian">1.2 What is Debian GNU/Linux?</a></li>
+<li><a href="ch-basic_defs.en.html#s-linux">1.3 OK, now I know what Debian is... what is Linux?!</a></li>
+<li><a href="ch-basic_defs.en.html#s-non-linux">1.4 Does Debian just do GNU/Linux?</a></li>
+<li><a href="ch-basic_defs.en.html#s-difference">1.5 What is the difference between Debian GNU/Linux and other Linux distributions? Why should I choose Debian over some other distribution?</a></li>
+<li><a href="ch-basic_defs.en.html#s-gnu">1.6 How does the Debian project fit in or compare with the Free Software Foundation's GNU project?</a></li>
+<li><a href="ch-basic_defs.en.html#s-pronunciation">1.7 How does one pronounce Debian and what does this word mean?</a></li>
+</ul></li>
+<li><a href="ch-getting.en.html">2 Getting and installing Debian GNU/Linux</a></li>
+<li><ul>
+<li><a href="ch-getting.en.html#s-version">2.1 What is the latest version of Debian?</a></li>
+<li><a href="ch-getting.en.html#s-updatestable">2.2 Are there package upgrades in `stable'?</a></li>
+<li><a href="ch-getting.en.html#s-boot-floppies">2.3 Where/how can I get the Debian installation disks?</a></li>
+<li><a href="ch-getting.en.html#s-cdrom">2.4 How do I install the Debian from CD-ROMs?</a></li>
+<li><a href="ch-getting.en.html#s-cdimage-symlinks">2.5 Why does the official stable released CD-ROM contain symlinks for `frozen' and `unstable'? I thought this CD contains just `stable'!</a></li>
+<li><a href="ch-getting.en.html#s-cdimages">2.6 I have my own CD-writer, are there CD images available somewhere?</a></li>
+<li><a href="ch-getting.en.html#s-floppy">2.7 Can I install it from a pile of floppy disks?</a></li>
+<li><a href="ch-getting.en.html#s-remoteinstall">2.8 Can I get and install Debian directly from a remote Internet site?</a></li>
+</ul></li>
+<li><a href="ch-compat.en.html">3 Compatibility issues</a></li>
+<li><ul>
+<li><a href="ch-compat.en.html#s-arches">3.1 On what hardware architectures/systems does Debian GNU/Linux run?</a></li>
+<li><a href="ch-compat.en.html#s-otherdistribs">3.2 How compatible is Debian with other distributions of Linux?</a></li>
+<li><a href="ch-compat.en.html#s-otherunices">3.3 How source code compatible is Debian with other Unix systems?</a></li>
+<li><a href="ch-compat.en.html#s-otherpackages">3.4 Can I use Debian packages (&quot;.deb&quot; files) on my Red Hat/Slackware/... Linux system? Can I use Red Hat packages (&quot;.rpm&quot; files) on my Debian GNU/Linux system?</a></li>
+<li><a href="ch-compat.en.html#s-libc5">3.5 Is Debian able to run my old libc5 programs?</a></li>
+<li><a href="ch-compat.en.html#s-libc5-compile">3.6 Can Debian be used to compile libc5 programs?</a></li>
+<li><a href="ch-compat.en.html#s-non-debian-programs">3.7 How should I install a non-Debian program?</a></li>
+<li><a href="ch-compat.en.html#s-termcap">3.8 Why can't I compile programs that require libtermcap?</a></li>
+<li><a href="ch-compat.en.html#s-accelx">3.9 Why can't I install AccelX?</a></li>
+<li><a href="ch-compat.en.html#s-motifnls">3.10 Why do my old XFree 2.1 Motif applications crash?</a></li>
+</ul></li>
+<li><a href="ch-software.en.html">4 Software available in the Debian system</a></li>
+<li><ul>
+<li><a href="ch-software.en.html#s-apps">4.1 What types of applications and development software are available for Debian GNU/Linux?</a></li>
+<li><a href="ch-software.en.html#s-softwareauthors">4.2 Who wrote all that software?</a></li>
+<li><a href="ch-software.en.html#s-pkglist">4.3 How can I get a current list of programs that have been packaged for Debian?</a></li>
+<li><a href="ch-software.en.html#s-missing">4.4 What is missing from Debian GNU/Linux?</a></li>
+<li><a href="ch-software.en.html#s-no-devs">4.5 Why do I get &quot;ld: cannot find -lfoo&quot; messages when compiling programs? Why aren't there any libfoo.so files in Debian library packages?</a></li>
+<li><a href="ch-software.en.html#s-java">4.6 (How) Does Debian support Java?</a></li>
+<li><a href="ch-software.en.html#s-isitdebian">4.7 How can I check that I am using a Debian system, and what version is it?</a></li>
+<li><a href="ch-software.en.html#s-nonenglish">4.8 How does Debian support non-English languages?</a></li>
+<li><a href="ch-software.en.html#s-usexports">4.9 What about the US export regulation limitations?</a></li>
+<li><a href="ch-software.en.html#s-pine">4.10 Where is pine?</a></li>
+<li><a href="ch-software.en.html#s-qmail">4.11 Where is qmail/ezmlm/djbdns?</a></li>
+</ul></li>
+<li><a href="ch-ftparchives.en.html">5 The Debian FTP archives</a></li>
+<li><ul>
+<li><a href="ch-ftparchives.en.html#s-dirtree">5.1 What are all those directories at the Debian FTP archives?</a></li>
+<li><a href="ch-ftparchives.en.html#s-dists">5.2 How many Debian distributions are there in the <samp>dists</samp> directory?</a></li>
+<li><a href="ch-ftparchives.en.html#s-codenames">5.3 What are all those names like slink, potato, etc.?</a></li>
+<li><ul>
+<li><a href="ch-ftparchives.en.html#s-oldcodenames">5.3.1 Which other codenames have been used in the past?</a></li>
+<li><a href="ch-ftparchives.en.html#s-sourceforcodenames">5.3.2 Where do these codenames come from?</a></li>
+</ul></li>
+<li><a href="ch-ftparchives.en.html#s-sid">5.4 What about &quot;sid&quot;?</a></li>
+<li><a href="ch-ftparchives.en.html#s-stable">5.5 What does the stable directory contain?</a></li>
+<li><a href="ch-ftparchives.en.html#s-testing">5.6 What does the testing directory contain?</a></li>
+<li><ul>
+<li><a href="ch-ftparchives.en.html#s-frozen">5.6.1 What about &quot;testing&quot;? How is it `frozen'?</a></li>
+</ul></li>
+<li><a href="ch-ftparchives.en.html#s-unstable">5.7 What does the unstable directory contain?</a></li>
+<li><a href="ch-ftparchives.en.html#s-archsections">5.8 What are all those directories inside <samp>dists/stable/main</samp>?</a></li>
+<li><a href="ch-ftparchives.en.html#s-source">5.9 Where is the source code?</a></li>
+<li><a href="ch-ftparchives.en.html#s-pools">5.10 What's in the <samp>pool</samp> directory?</a></li>
+<li><a href="ch-ftparchives.en.html#s-incoming">5.11 What is &quot;incoming&quot;?</a></li>
+<li><a href="ch-ftparchives.en.html#s-ownrepository">5.12 How do I set up my own apt-able repository?</a></li>
+</ul></li>
+<li><a href="ch-pkg_basics.en.html">6 Basics of the Debian package management system</a></li>
+<li><ul>
+<li><a href="ch-pkg_basics.en.html#s-package">6.1 What is a Debian package?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-deb-format">6.2 What is the format of a Debian binary package?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-pkgname">6.3 Why are Debian package file names so long?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-controlfile">6.4 What is a Debian control file?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-conffile">6.5 What is a Debian conffile?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-maintscripts">6.6 What is a Debian preinst, postinst, prerm, and postrm script?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-priority">6.7 What is an <em>Essential</em> <em>Required</em>, <em>Important</em>, <em>Standard</em>, <em>Optional</em>, or <em>Extra</em> package?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-virtual">6.8 What is a Virtual Package?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-depends">6.9 What is meant by saying that a package <em>Depends</em>, <em>Recommends</em>, <em>Suggests</em>, <em>Conflicts</em>, <em>Replaces</em> or <em>Provides</em> another package?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-pre-depends">6.10 What is meant by Pre-Depends?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-pkgstatus">6.11 What is meant by <em>unknown</em>, <em>install</em>, <em>remove</em> <em>purge</em> and <em>hold</em> in the package status?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-puttingonhold">6.12 How do I put a package on hold?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-sourcepkgs">6.13 How do I install a source package?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-sourcebuild">6.14 How do I build binary packages from a source package?</a></li>
+<li><a href="ch-pkg_basics.en.html#s-creatingdebs">6.15 How do I create Debian packages myself?</a></li>
+</ul></li>
+<li><a href="ch-pkgtools.en.html">7 The Debian package management tools</a></li>
+<li><ul>
+<li><a href="ch-pkgtools.en.html#s-pkgprogs">7.1 What programs does Debian provide for managing its packages?</a></li>
+<li><ul>
+<li><a href="ch-pkgtools.en.html#s-dpkg">7.1.1 dpkg</a></li>
+<li><a href="ch-pkgtools.en.html#s-apt-get">7.1.2 APT</a></li>
+<li><a href="ch-pkgtools.en.html#s-aptitude">7.1.3 aptitude</a></li>
+<li><a href="ch-pkgtools.en.html#s-dselect">7.1.4 dselect</a></li>
+<li><a href="ch-pkgtools.en.html#s-dpkg-extra">7.1.5 Other package management tools</a></li>
+</ul></li>
+<li><a href="ch-pkgtools.en.html#s-updaterunning">7.2 Debian claims to be able to update a running program; how is this accomplished?</a></li>
+<li><a href="ch-pkgtools.en.html#s-whatpackages">7.3 How can I tell what packages are already installed on a Debian system?</a></li>
+<li><a href="ch-pkgtools.en.html#s-filesearch">7.4 How can I find out what package produced a particular file?</a></li>
+<li><a href="ch-pkgtools.en.html#s-datapackages">7.5 Why doesn't get `foo-data' removed when I uninstall `foo'? How do I make sure old unused library-packages get purged?</a></li>
+</ul></li>
+<li><a href="ch-uptodate.en.html">8 Keeping your Debian system up-to-date</a></li>
+<li><ul>
+<li><a href="ch-uptodate.en.html#s-libc5to6upgrade">8.1 How can I upgrade my Debian 1.3.1 (or earlier) distribution, based on libc5, to 2.0 (or later), based on libc6?</a></li>
+<li><a href="ch-uptodate.en.html#s-howtocurrent">8.2 How can I keep my Debian system current?</a></li>
+<li><ul>
+<li><a href="ch-uptodate.en.html#s-aptitude-upgrade">8.2.1 aptitude</a></li>
+<li><a href="ch-uptodate.en.html#s-apt">8.2.2 apt-get, dselect and apt-cdrom</a></li>
+<li><a href="ch-uptodate.en.html#s-dpkg-ftp">8.2.3 dpkg-ftp</a></li>
+<li><a href="ch-uptodate.en.html#s-mirror">8.2.4 mirror</a></li>
+<li><a href="ch-uptodate.en.html#s-dpkg-mountable">8.2.5 dpkg-mountable</a></li>
+</ul></li>
+<li><a href="ch-uptodate.en.html#s-upgradesingle">8.3 Must I go into single user mode in order to upgrade a package?</a></li>
+<li><a href="ch-uptodate.en.html#s-savedebs">8.4 Do I have to keep all those .deb archive files on my disk?</a></li>
+<li><a href="ch-uptodate.en.html#s-keepingalog">8.5 How can I keep a log of the packages I added to the system? I'd like to know when which package upgrades and removals have occured!</a></li>
+</ul></li>
+<li><a href="ch-kernel.en.html">9 Debian and the kernel</a></li>
+<li><ul>
+<li><a href="ch-kernel.en.html#s-non-debian-kernel">9.1 Can I install and compile a kernel without some Debian-specific tweaking?</a></li>
+<li><a href="ch-kernel.en.html#s-customkernel">9.2 What tools does Debian provide to build custom kernels?</a></li>
+<li><a href="ch-kernel.en.html#s-custombootdisk">9.3 How can I make a custom boot floppy?</a></li>
+<li><a href="ch-kernel.en.html#s-modules">9.4 What special provisions does Debian provide to deal with modules?</a></li>
+<li><a href="ch-kernel.en.html#s-removeoldkernel">9.5 Can I safely de-install an old kernel package, and if so, how?</a></li>
+</ul></li>
+<li><a href="ch-customizing.en.html">10 Customizing your installation of Debian GNU/Linux</a></li>
+<li><ul>
+<li><a href="ch-customizing.en.html#s-papersize">10.1 How can I ensure that all programs use the same paper size?</a></li>
+<li><a href="ch-customizing.en.html#s-hardwareaccess">10.2 How can I provide access to hardware peripherals, without compromising security?</a></li>
+<li><a href="ch-customizing.en.html#s-consolefont">10.3 How do I load a console font on startup the Debian way?</a></li>
+<li><a href="ch-customizing.en.html#s-appdefaults">10.4 How can I configure an X11 program's application defaults?</a></li>
+<li><a href="ch-customizing.en.html#s-booting">10.5 Every distribution seems to have a different boot-up method. Tell me about Debian's.</a></li>
+<li><a href="ch-customizing.en.html#s-custombootscripts">10.6 It looks as if Debian does not use <samp>rc.local</samp> to customize the boot process; what facilities are provided?</a></li>
+<li><a href="ch-customizing.en.html#s-interconffiles">10.7 How does the package management system deal with packages that contain configuration files for other packages?</a></li>
+<li><a href="ch-customizing.en.html#s-divert">10.8 How do I override a file installed by a package, so that a different version can be used instead?</a></li>
+<li><a href="ch-customizing.en.html#s-localpackages">10.9 How can I have my locally-built package included in the list of available packages that the package management system knows about?</a></li>
+<li><a href="ch-customizing.en.html#s-diverse">10.10 Some users like mawk, others like gawk; some like vim, others like elvis; some like trn, others like tin; how does Debian support diversity?</a></li>
+</ul></li>
+<li><a href="ch-support.en.html">11 Getting support for Debian GNU/Linux</a></li>
+<li><ul>
+<li><a href="ch-support.en.html#s-debiandocs">11.1 What other documentation exists on and for a Debian system?</a></li>
+<li><a href="ch-support.en.html#s-onlineresources">11.2 Are there any on-line resources for discussing Debian?</a></li>
+<li><ul>
+<li><a href="ch-support.en.html#s11.2.1">11.2.1 Mailing lists</a></li>
+<li><a href="ch-support.en.html#s11.2.2">11.2.2 Maintainers</a></li>
+<li><a href="ch-support.en.html#s11.2.3">11.2.3 Usenet newsgroups</a></li>
+</ul></li>
+<li><a href="ch-support.en.html#s-searchtools">11.3 Is there a quick way to search for information on Debian GNU/Linux?</a></li>
+<li><a href="ch-support.en.html#s-buglogs">11.4 Are there logs of known bugs?</a></li>
+<li><a href="ch-support.en.html#s-bugreport">11.5 How do I report a bug in Debian?</a></li>
+</ul></li>
+<li><a href="ch-contributing.en.html">12 Contributing to the Debian Project</a></li>
+<li><ul>
+<li><a href="ch-contributing.en.html#s-contrib">12.1 How can I become a Debian software developer?</a></li>
+<li><a href="ch-contributing.en.html#s-contribresources">12.2 How can I contribute resources to the Debian project?</a></li>
+<li><a href="ch-contributing.en.html#s-supportingorganizations">12.3 How can I contribute financially to the Debian project?</a></li>
+<li><ul>
+<li><a href="ch-contributing.en.html#s-SPI">12.3.1 Software in the Public Interest</a></li>
+<li><a href="ch-contributing.en.html#s-FSF">12.3.2 Free Software Foundation</a></li>
+</ul></li>
+</ul></li>
+<li><a href="ch-redistrib.en.html">13 Redistributing Debian GNU/Linux in a commercial product</a></li>
+<li><ul>
+<li><a href="ch-redistrib.en.html#s-sellcds">13.1 Can I make and sell Debian CDs?</a></li>
+<li><a href="ch-redistrib.en.html#s-packagednonfree">13.2 Can Debian be packaged with non-free software?</a></li>
+<li><a href="ch-redistrib.en.html#s-childistro">13.3 I am making a special Linux distribution for a &quot;vertical market&quot;. Can I use Debian GNU/Linux for the guts of a Linux system and add my own applications on top of it?</a></li>
+<li><a href="ch-redistrib.en.html#s-commercialdebs">13.4 Can I put my commercial program in a Debian &quot;package&quot; so that it installs effortlessly on any Debian system?</a></li>
+</ul></li>
+<li><a href="ch-nexttime.en.html">14 Changes expected in the next major release of Debian</a></li>
+<li><ul>
+<li><a href="ch-nexttime.en.html#s-security">14.1 Increased security</a></li>
+<li><a href="ch-nexttime.en.html#s-i18n">14.2 Extended support for non-English users</a></li>
+<li><a href="ch-nexttime.en.html#s-morearches">14.3 More architectures</a></li>
+<li><a href="ch-nexttime.en.html#s-morekernels">14.4 More kernels</a></li>
+</ul></li>
+<li><a href="ch-faqinfo.en.html">15 General information about the FAQ</a></li>
+<li><ul>
+<li><a href="ch-faqinfo.en.html#s-authors">15.1 Authors</a></li>
+<li><a href="ch-faqinfo.en.html#s-feedback">15.2 Feedback</a></li>
+<li><a href="ch-faqinfo.en.html#s-latest">15.3 Availability</a></li>
+<li><a href="ch-faqinfo.en.html#s-docformat">15.4 Document format</a></li>
+</ul></li>
+</ul>
+
+<hr>
+
+<p>
+[ <a href="ch-faqinfo.en.html">previous</a> ]
+[ <a href="#contents">Contents</a> ]
+[ <a href="ch-basic_defs.en.html">1</a> ]
+[ <a href="ch-getting.en.html">2</a> ]
+[ <a href="ch-compat.en.html">3</a> ]
+[ <a href="ch-software.en.html">4</a> ]
+[ <a href="ch-ftparchives.en.html">5</a> ]
+[ <a href="ch-pkg_basics.en.html">6</a> ]
+[ <a href="ch-pkgtools.en.html">7</a> ]
+[ <a href="ch-uptodate.en.html">8</a> ]
+[ <a href="ch-kernel.en.html">9</a> ]
+[ <a href="ch-customizing.en.html">10</a> ]
+[ <a href="ch-support.en.html">11</a> ]
+[ <a href="ch-contributing.en.html">12</a> ]
+[ <a href="ch-redistrib.en.html">13</a> ]
+[ <a href="ch-nexttime.en.html">14</a> ]
+[ <a href="ch-faqinfo.en.html">15</a> ]
+[ <a href="ch-basic_defs.en.html">next</a> ]
+</p>
+
+<hr>
+
+<p>
+The Debian GNU/Linux FAQ
+</p>
+
+<address>
+version 3.1.3, 25 April 2006<br>
+<br>
+Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
+<br>
+</address>
+<hr>
+
+</body>
+
+</html>
+
diff --git a/templates/common/doc/bug-log-access.txt b/includes/common/doc/bug-log-access.txt
index c8fa75f..c8fa75f 100644
--- a/templates/common/doc/bug-log-access.txt
+++ b/includes/common/doc/bug-log-access.txt
diff --git a/templates/common/doc/bug-log-mailserver.txt b/includes/common/doc/bug-log-mailserver.txt
index aa28efc..aa28efc 100644
--- a/templates/common/doc/bug-log-mailserver.txt
+++ b/includes/common/doc/bug-log-mailserver.txt
diff --git a/templates/common/doc/bug-mailserver-refcard.txt b/includes/common/doc/bug-mailserver-refcard.txt
index b3ce545..b3ce545 100644
--- a/templates/common/doc/bug-mailserver-refcard.txt
+++ b/includes/common/doc/bug-mailserver-refcard.txt
diff --git a/templates/common/doc/bug-maint-info.txt b/includes/common/doc/bug-maint-info.txt
index 1a450eb..1a450eb 100644
--- a/templates/common/doc/bug-maint-info.txt
+++ b/includes/common/doc/bug-maint-info.txt
diff --git a/templates/common/doc/bug-maint-mailcontrol.txt b/includes/common/doc/bug-maint-mailcontrol.txt
index 1167b10..1167b10 100644
--- a/templates/common/doc/bug-maint-mailcontrol.txt
+++ b/includes/common/doc/bug-maint-mailcontrol.txt
diff --git a/templates/common/doc/bug-reporting.txt b/includes/common/doc/bug-reporting.txt
index ca14c2a..ca14c2a 100644
--- a/templates/common/doc/bug-reporting.txt
+++ b/includes/common/doc/bug-reporting.txt
diff --git a/templates/common/doc/constitution.txt b/includes/common/doc/constitution.txt
index 191f73b..191f73b 100644
--- a/templates/common/doc/constitution.txt
+++ b/includes/common/doc/constitution.txt
diff --git a/templates/common/doc/debian-manifesto b/includes/common/doc/debian-manifesto
index 9322c93..9322c93 100644
--- a/templates/common/doc/debian-manifesto
+++ b/includes/common/doc/debian-manifesto
diff --git a/templates/common/doc/mailing-lists.txt b/includes/common/doc/mailing-lists.txt
index 2d92973..2d92973 100644
--- a/templates/common/doc/mailing-lists.txt
+++ b/includes/common/doc/mailing-lists.txt
diff --git a/templates/common/doc/social-contract.txt b/includes/common/doc/social-contract.txt
index cd9c368..cd9c368 100644
--- a/templates/common/doc/social-contract.txt
+++ b/includes/common/doc/social-contract.txt
diff --git a/templates/common/doc/source-unpack.txt b/includes/common/doc/source-unpack.txt
index 151b733..151b733 100644
--- a/templates/common/doc/source-unpack.txt
+++ b/includes/common/doc/source-unpack.txt
diff --git a/templates/common/pics/blue-lowerleft.png b/includes/common/pics/blue-lowerleft.png
index 2a2245e..2a2245e 100644
--- a/templates/common/pics/blue-lowerleft.png
+++ b/includes/common/pics/blue-lowerleft.png
Binary files differ
diff --git a/templates/common/pics/blue-lowerright.png b/includes/common/pics/blue-lowerright.png
index 7e66271..7e66271 100644
--- a/templates/common/pics/blue-lowerright.png
+++ b/includes/common/pics/blue-lowerright.png
Binary files differ
diff --git a/templates/common/pics/blue-upperleft.png b/includes/common/pics/blue-upperleft.png
index a58d0ec..a58d0ec 100644
--- a/templates/common/pics/blue-upperleft.png
+++ b/includes/common/pics/blue-upperleft.png
Binary files differ
diff --git a/templates/common/pics/blue-upperright.png b/includes/common/pics/blue-upperright.png
index 2f36849..2f36849 100644
--- a/templates/common/pics/blue-upperright.png
+++ b/includes/common/pics/blue-upperright.png
Binary files differ
diff --git a/templates/common/pics/debian.jpg b/includes/common/pics/debian.jpg
index db62d7a..db62d7a 100644
--- a/templates/common/pics/debian.jpg
+++ b/includes/common/pics/debian.jpg
Binary files differ
diff --git a/templates/common/pics/logo-50.jpg b/includes/common/pics/logo-50.jpg
index 542f0a4..542f0a4 100644
--- a/templates/common/pics/logo-50.jpg
+++ b/includes/common/pics/logo-50.jpg
Binary files differ
diff --git a/templates/common/pics/red-lowerleft.png b/includes/common/pics/red-lowerleft.png
index caca9c5..caca9c5 100644
--- a/templates/common/pics/red-lowerleft.png
+++ b/includes/common/pics/red-lowerleft.png
Binary files differ
diff --git a/templates/common/pics/red-lowerright.png b/includes/common/pics/red-lowerright.png
index c27056c..c27056c 100644
--- a/templates/common/pics/red-lowerright.png
+++ b/includes/common/pics/red-lowerright.png
Binary files differ
diff --git a/templates/common/pics/red-upperleft.png b/includes/common/pics/red-upperleft.png
index c1e3301..c1e3301 100644
--- a/templates/common/pics/red-upperleft.png
+++ b/includes/common/pics/red-upperleft.png
Binary files differ
diff --git a/templates/common/pics/red-upperright.png b/includes/common/pics/red-upperright.png
index 54d17ca..54d17ca 100644
--- a/templates/common/pics/red-upperright.png
+++ b/includes/common/pics/red-upperright.png
Binary files differ
diff --git a/templates/common/tools/README b/includes/common/tools/README
index bc56f93..bc56f93 100644
--- a/templates/common/tools/README
+++ b/includes/common/tools/README
diff --git a/templates/common/tools/diskio.zip b/includes/common/tools/diskio.zip
index b30fa96..b30fa96 100644
--- a/templates/common/tools/diskio.zip
+++ b/includes/common/tools/diskio.zip
Binary files differ
diff --git a/templates/common/tools/fips20.zip b/includes/common/tools/fips20.zip
index c4a64b6..c4a64b6 100644
--- a/templates/common/tools/fips20.zip
+++ b/includes/common/tools/fips20.zip
Binary files differ
diff --git a/templates/common/tools/gzip124.exe b/includes/common/tools/gzip124.exe
index 1a8d137..1a8d137 100644
--- a/templates/common/tools/gzip124.exe
+++ b/includes/common/tools/gzip124.exe
Binary files differ
diff --git a/templates/common/tools/lodlin16.zip b/includes/common/tools/lodlin16.zip
index 1e5441e..1e5441e 100644
--- a/templates/common/tools/lodlin16.zip
+++ b/includes/common/tools/lodlin16.zip
Binary files differ
diff --git a/templates/common/tools/md5sum-w32.zip b/includes/common/tools/md5sum-w32.zip
index 982202b..982202b 100644
--- a/templates/common/tools/md5sum-w32.zip
+++ b/includes/common/tools/md5sum-w32.zip
Binary files differ
diff --git a/templates/common/tools/rawrite1.zip b/includes/common/tools/rawrite1.zip
index abdc229..abdc229 100644
--- a/templates/common/tools/rawrite1.zip
+++ b/includes/common/tools/rawrite1.zip
Binary files differ
diff --git a/templates/common/tools/rawrite2.zip b/includes/common/tools/rawrite2.zip
index aa33885..aa33885 100644
--- a/templates/common/tools/rawrite2.zip
+++ b/includes/common/tools/rawrite2.zip
Binary files differ
diff --git a/templates/common/tools/rwwrtwin.zip b/includes/common/tools/rwwrtwin.zip
index 2c3fd11..2c3fd11 100644
--- a/templates/common/tools/rwwrtwin.zip
+++ b/includes/common/tools/rwwrtwin.zip
Binary files differ
diff --git a/templates/common/tools/src/md5sum-w32_1.1.dsc b/includes/common/tools/src/md5sum-w32_1.1.dsc
index 44393f8..44393f8 100644
--- a/templates/common/tools/src/md5sum-w32_1.1.dsc
+++ b/includes/common/tools/src/md5sum-w32_1.1.dsc
diff --git a/templates/common/tools/src/md5sum-w32_1.1.tar.gz b/includes/common/tools/src/md5sum-w32_1.1.tar.gz
index bf42ec8..bf42ec8 100644
--- a/templates/common/tools/src/md5sum-w32_1.1.tar.gz
+++ b/includes/common/tools/src/md5sum-w32_1.1.tar.gz
Binary files differ
diff --git a/templates/common/tools/unz512x3.exe b/includes/common/tools/unz512x3.exe
index e8b36c8..e8b36c8 100644
--- a/templates/common/tools/unz512x3.exe
+++ b/includes/common/tools/unz512x3.exe
Binary files differ
diff --git a/templates/iso/autorun.bat b/includes/iso/autorun.bat
index 4718afe..4718afe 100644
--- a/templates/iso/autorun.bat
+++ b/includes/iso/autorun.bat
diff --git a/templates/iso/autorun.inf b/includes/iso/autorun.inf
index 1b28f75..1b28f75 100644
--- a/templates/iso/autorun.inf
+++ b/includes/iso/autorun.inf
diff --git a/includes/usb/autorun.bat b/includes/usb/autorun.bat
new file mode 100644
index 0000000..4718afe
--- /dev/null
+++ b/includes/usb/autorun.bat
@@ -0,0 +1,3 @@
+@echo Starting "README.html"...
+@start README.html
+@exit
diff --git a/includes/usb/autorun.inf b/includes/usb/autorun.inf
new file mode 100644
index 0000000..1b28f75
--- /dev/null
+++ b/includes/usb/autorun.inf
@@ -0,0 +1,2 @@
+[autorun]
+open=autorun.bat
diff --git a/src/lists/gnome b/lists/gnome
index 3e831cf..c7ac989 100644
--- a/src/lists/gnome
+++ b/lists/gnome
@@ -13,5 +13,4 @@ desktop-base
rhythmbox synaptic
-x-window-system-core
-xresprobe
+xorg xresprobe
diff --git a/src/lists/gnome-core b/lists/gnome-core
index f51a2ef..8d34c63 100644
--- a/src/lists/gnome-core
+++ b/lists/gnome-core
@@ -10,5 +10,4 @@ console-common kbd locales
gdm gnome-core
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
diff --git a/src/lists/gnome-full b/lists/gnome-full
index d049e15..f5e1c3e 100644
--- a/src/lists/gnome-full
+++ b/lists/gnome-full
@@ -10,5 +10,4 @@ console-common kbd locales
gdm gnome
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
diff --git a/src/lists/gnome-junior b/lists/gnome-junior
index e05a969..facf95d 100644
--- a/src/lists/gnome-junior
+++ b/lists/gnome-junior
@@ -13,8 +13,7 @@ desktop-base
rhythmbox synaptic
-x-window-system-core
-xresprobe
+xorg xresprobe
# Debian Junior
junior-sound junior-typing junior-internet junior-gnome junior-toys
diff --git a/src/lists/gnustep b/lists/gnustep
index 89623b0..653be15 100644
--- a/src/lists/gnustep
+++ b/lists/gnustep
@@ -7,9 +7,11 @@ eject file sudo vim-tiny
console-common kbd locales
# X11
-wdm x-window-system-core
+xorg xresprobe
# GNUstep
+wdm
+
gnustep gnumail.app talksoup.app viewpdf.app wmaker gnustep-icons
gnustep-examples gnumail-doc aclock.app biococoa.app timemon.app cenon.app wmnd
bubblefishymon wmmixer wmpinboard gworkspace.app clipbook.app poe.app
diff --git a/src/lists/kde b/lists/kde
index 0dedbf6..7bfd909 100644
--- a/src/lists/kde
+++ b/lists/kde
@@ -10,5 +10,4 @@ console-common kbd locales
kde kdm
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
diff --git a/src/lists/kde-core b/lists/kde-core
index 9e85cf4..14ac905 100644
--- a/src/lists/kde-core
+++ b/lists/kde-core
@@ -10,5 +10,4 @@ console-common kbd locales
kde-core kdm
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
diff --git a/src/lists/kde-extra b/lists/kde-extra
index cd7c01a..2b47a2b 100644
--- a/src/lists/kde-extra
+++ b/lists/kde-extra
@@ -10,8 +10,7 @@ console-common kbd locales
kde kdm
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
# KDE Full
koffice
diff --git a/src/lists/kde-full b/lists/kde-full
index ec74bec..1ce47e5 100644
--- a/src/lists/kde-full
+++ b/lists/kde-full
@@ -10,8 +10,7 @@ console-common kbd locales
kde kdm
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
# KDE Full
koffice
diff --git a/src/lists/kde-junior b/lists/kde-junior
index 53cdf2a..da159e5 100644
--- a/src/lists/kde-junior
+++ b/lists/kde-junior
@@ -10,8 +10,7 @@ console-common kbd locales
kde kdm
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
# Debian Junior
junior-sound junior-typing junior-internet junior-toys junior-games-net
diff --git a/src/lists/knoppix b/lists/knoppix
index e981fd7..e981fd7 100644
--- a/src/lists/knoppix
+++ b/lists/knoppix
diff --git a/src/lists/knoppix-dvd b/lists/knoppix-dvd
index c6ab94e..c6ab94e 100644
--- a/src/lists/knoppix-dvd
+++ b/lists/knoppix-dvd
diff --git a/src/lists/mini b/lists/mini
index 434bde0..434bde0 100644
--- a/src/lists/mini
+++ b/lists/mini
diff --git a/src/lists/minimal b/lists/minimal
index dd81279..dd81279 100644
--- a/src/lists/minimal
+++ b/lists/minimal
diff --git a/src/lists/minimal-net b/lists/minimal-net
index 0609035..0609035 100644
--- a/src/lists/minimal-net
+++ b/lists/minimal-net
diff --git a/src/lists/rescue b/lists/rescue
index 256b6ea..256b6ea 100644
--- a/src/lists/rescue
+++ b/lists/rescue
diff --git a/src/lists/standard b/lists/standard
index 4da4dd2..4da4dd2 100644
--- a/src/lists/standard
+++ b/lists/standard
diff --git a/src/lists/x11 b/lists/standard-x11
index 8928ee4..7f4bc4b 100644
--- a/src/lists/x11
+++ b/lists/standard-x11
@@ -7,5 +7,4 @@ eject file sudo vim-tiny
console-common kbd locales
# X11
-xdm x-window-system
-xresprobe
+xorg xresprobe
diff --git a/src/lists/xfce b/lists/xfce
index 0390a39..b6c22ae 100644
--- a/src/lists/xfce
+++ b/lists/xfce
@@ -10,5 +10,4 @@ console-common kbd locales
gdm xfce4
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
diff --git a/src/lists/xfce-junior b/lists/xfce-junior
index 56184e7..1fc3269 100644
--- a/src/lists/xfce-junior
+++ b/lists/xfce-junior
@@ -10,8 +10,7 @@ console-common kbd locales
gdm xfce4
desktop-base
-x-window-system-core
-xresprobe
+xorg xresprobe
# Debian Junior
junior-sound junior-typing junior-internet junior-gnome junior-toys
diff --git a/src/config b/src/config
deleted file mode 100644
index 7196b6c..0000000
--- a/src/config
+++ /dev/null
@@ -1,116 +0,0 @@
-# /etc/make-live.conf - configuration file for make-live(8)
-
-# make-live does work out of the box. However, if you want to customize it,
-# you can edit the variables below. Look make-live.conf(8) for more information.
-
-# Root directory (Default: `pwd`/debian-live)
-#LIVE_ROOT="`pwd`/debian-live"
-
-# Image type (Default: iso)
-#LIVE_TYPE="iso"
-
-# Bootstrap architecture (Default: auto-detected)
-#LIVE_ARCHITECTURE="i386"
-
-# Boot parameters (Default: empty)
-#LIVE_BOOTAPPEND=""
-
-# Chroot directory (Default: ${LIVE_ROOT}/chroot)
-#LIVE_CHROOT="${LIVE_ROOT}/chroot"
-
-# Configuration file (Default: /etc/make-live.conf)
-#LIVE_CONFIG="/etc/make-live.conf"
-
-# Debian distribution (Default: sid)
-#LIVE_DISTRIBUTION="sid"
-
-# Image filesystem (Default: squashfs for iso, plain for net)
-#LIVE_FILESYSTEM="squashfs"
-
-# Bootstrap flavour (Default: standard)
-#LIVE_FLAVOUR="standard"
-
-# Bootstrap config (Default: empty)
-#LIVE_BOOTSTRAP_CONFIG=""
-
-# User command (Default: empty)
-#LIVE_HOOK=""
-
-# Chroot includes (Default: empty)
-#LIVE_INCLUDE_CHROOT=""
-
-# Image includes (Default: empty)
-#LIVE_INCLUDE_IMAGE=""
-
-# Kernel flavour (Default: auto-detected)
-#LIVE_KERNEL=""
-
-# Kernel packages (Default: auto-detected)
-#LIVE_KERNEL_PACKAGES=""
-
-# Desktop package manifest (Default: empty)
-#LIVE_MANIFEST=""
-
-# Debian mirror (Default: http://ftp.debian.org/debian/)
-#LIVE_MIRROR="http://ftp.debian.org/debian/"
-
-# Debian security mirror (Default: http://security.debian.org/)
-#LIVE_MIRROR_SECURITY="http://security.debian.org/"
-
-# Packages (Default: empty)
-#LIVE_PACKAGES=""
-
-# Package list (Default: standard)
-#LIVE_PACKAGE_LIST="standard"
-
-# Chroots ftp_proxy (Default: empty)
-#LIVE_PROXY_FTP=""
-
-# Chroots http_proxy (Default: empty)
-#LIVE_PROXY_HTTP=""
-
-# Custom repositories (Default: none)
-#LIVE_REPOSITORIES=""
-
-# Custom repository list
-LIVE_REPOSITORY_bpo="http://www.backports.org/debian/"
-LIVE_REPOSITORY_KEY_bpo="http://backports.org/debian/archive.key"
-LIVE_REPOSITORY_KEYRING_bpo=""
-LIVE_REPOSITORY_DISTRIBUTION_bpo="sarge-backports"
-LIVE_REPOSITORY_SECTIONS_bpo="main contrib non-free"
-
-LIVE_REPOSITORY_edu="http://ftp.skolelinux.org/skolelinux/"
-LIVE_REPOSITORY_KEY_edu=""
-LIVE_REPOSITORY_KEYRING_edu="debian-edu-archive-keyring"
-LIVE_REPOSITORY_DISTRIBUTION_edu="etch-test"
-LIVE_REPOSITORY_SECTIONS_edu="local"
-
-LIVE_REPOSITORY_restricted="http://ftp.debian-unofficial.org/debian-restricted/"
-LIVE_REPOSITORY_KEY_restricted="http://ftp-master.debian-unofficial.org/key_2007.asc"
-LIVE_REPOSITORY_KEYRING_restricted="debian-unofficial-archive-keyring"
-LIVE_REPOSITORY_DISTRIBUTION_restricted=""
-LIVE_REPOSITORY_SECTIONS_restricted="restricted"
-
-LIVE_REPOSITORY_fai="http://www.informatik.uni-koeln.de/fai/download/"
-LIVE_REPOSITORY_KEY_fai=""
-LIVE_REPOSITORY_KEYRING_fai=""
-LIVE_REPOSITORY_DISTRIBUTION_fai="etch"
-LIVE_REPOSITORY_SECTIONS_fai="koeln"
-
-# Debian section (Default: main)
-#LIVE_SECTIONS="main"
-
-# Netboot server (Default: 192.168.1.1)
-#LIVE_SERVER_ADDRESS=""
-
-# Netboot path (Default: /srv/debian-live/chroot)
-#LIVE_SERVER_PATH=""
-
-# Image templates (Default: /usr/share/make-live/templates)
-#LIVE_TEMPLATES="/usr/share/make-live/templates"
-
-# Generic package indices (Default: no)
-#LIVE_GENERIC_INDICES="no"
-
-# Source images (Default: no)
-#LIVE_SOURCE="no"
diff --git a/src/hooks/mini b/src/hooks/mini
deleted file mode 100644
index 16df392..0000000
--- a/src/hooks/mini
+++ /dev/null
@@ -1,9 +0,0 @@
-# /usr/share/make-live/hooks/minimal - hook list for make-live(8)
-
-# Remove unused packages
-apt-get remove --purge --yes apt-utils libdb4.4
-
-# Remove unused files
-rm -rf /usr/share/doc
-rm -rf /usr/share/locale
-rm -rf /usr/share/man
diff --git a/src/hooks/minimal b/src/hooks/minimal
deleted file mode 100644
index de36a30..0000000
--- a/src/hooks/minimal
+++ /dev/null
@@ -1,4 +0,0 @@
-# /usr/share/make-live/hooks/minimal - hook list for make-live(8)
-
-# Remove unused packages
-#apt-get remove --purge --yes apt-utils libdb4.4
diff --git a/src/lists/kde-core-i18n b/src/lists/kde-core-i18n
deleted file mode 100644
index cdb1501..0000000
--- a/src/lists/kde-core-i18n
+++ /dev/null
@@ -1,33 +0,0 @@
-# /usr/share/make-live/lists/kde-core-i18n - package list for make-live(1)
-
-# Minimal
-eject file sudo vim-tiny
-
-# Standard
-console-common kbd locales
-
-# Standard i18n
-manpages manpages-dev manpages-de manpages-de-dev manpages-es manpages-es-extra
-manpages-fi manpages-fr manpages-fr-dev manpages-fr-extra manpages-hu
-manpages-it manpages-ja manpages-ja-dev manpages-ko manpages-nl manpages-pl
-manpages-pl-dev manpages-pt manpages-pt-dev manpages-ru manpages-tr manpages-zh
-
-# KDE Core
-kde-core kdm
-desktop-base
-
-x-window-system-core
-xresprobe
-
-# KDE i18n
-kde-i18n-af kde-i18n-ar kde-i18n-az kde-i18n-bg kde-i18n-bn kde-i18n-br
-kde-i18n-bs kde-i18n-ca kde-i18n-cs kde-i18n-cy kde-i18n-da kde-i18n-de
-kde-i18n-el kde-i18n-engb kde-i18n-eo kde-i18n-es kde-i18n-et kde-i18n-eu
-kde-i18n-fa kde-i18n-fi kde-i18n-fr kde-i18n-fy kde-i18n-ga kde-i18n-gl
-kde-i18n-he kde-i18n-hi kde-i18n-hr kde-i18n-hu kde-i18n-is kde-i18n-it
-kde-i18n-ja kde-i18n-km kde-i18n-ko kde-i18n-lt kde-i18n-lv kde-i18n-mk
-kde-i18n-mn kde-i18n-ms kde-i18n-nb kde-i18n-nds kde-i18n-nl kde-i18n-nn
-kde-i18n-pa kde-i18n-pl kde-i18n-pt kde-i18n-ptbr kde-i18n-ro kde-i18n-ru
-kde-i18n-rw kde-i18n-se kde-i18n-sk kde-i18n-sl kde-i18n-sr kde-i18n-srlatin
-kde-i18n-ss kde-i18n-sv kde-i18n-ta kde-i18n-tg kde-i18n-tr kde-i18n-uk
-kde-i18n-uz kde-i18n-zhcn kde-i18n-zhtw
diff --git a/src/lists/kde-extra-i18n b/src/lists/kde-extra-i18n
deleted file mode 100644
index 7a25a58..0000000
--- a/src/lists/kde-extra-i18n
+++ /dev/null
@@ -1,52 +0,0 @@
-# /usr/share/make-live/lists/kde-extra-i18n - package list for make-live(1)
-
-# Minimal
-eject file sudo vim-tiny
-
-# Standard
-console-common kbd locales
-
-# Standard i18n
-manpages manpages-dev manpages-de manpages-de-dev manpages-es manpages-es-extra
-manpages-fi manpages-fr manpages-fr-dev manpages-fr-extra manpages-hu
-manpages-it manpages-ja manpages-ja-dev manpages-ko manpages-nl manpages-pl
-manpages-pl-dev manpages-pt manpages-pt-dev manpages-ru manpages-tr manpages-zh
-
-# KDE
-kde kdm
-desktop-base
-
-x-window-system-core
-xresprobe
-
-# KDE i18n
-kde-i18n-af kde-i18n-ar kde-i18n-az kde-i18n-bg kde-i18n-bn kde-i18n-br
-kde-i18n-bs kde-i18n-ca kde-i18n-cs kde-i18n-cy kde-i18n-da kde-i18n-de
-kde-i18n-el kde-i18n-engb kde-i18n-eo kde-i18n-es kde-i18n-et kde-i18n-eu
-kde-i18n-fa kde-i18n-fi kde-i18n-fr kde-i18n-fy kde-i18n-ga kde-i18n-gl
-kde-i18n-he kde-i18n-hi kde-i18n-hr kde-i18n-hu kde-i18n-is kde-i18n-it
-kde-i18n-ja kde-i18n-km kde-i18n-ko kde-i18n-lt kde-i18n-lv kde-i18n-mk
-kde-i18n-mn kde-i18n-ms kde-i18n-nb kde-i18n-nds kde-i18n-nl kde-i18n-nn
-kde-i18n-pa kde-i18n-pl kde-i18n-pt kde-i18n-ptbr kde-i18n-ro kde-i18n-ru
-kde-i18n-rw kde-i18n-se kde-i18n-sk kde-i18n-sl kde-i18n-sr kde-i18n-srlatin
-kde-i18n-ss kde-i18n-sv kde-i18n-ta kde-i18n-tg kde-i18n-tr kde-i18n-uk
-kde-i18n-uz kde-i18n-zhcn kde-i18n-zhtw
-
-# KDE Full
-koffice
-
-# KDE Full i18n
-koffice-i18n-af koffice-i18n-ar koffice-i18n-bg koffice-i18n-br koffice-i18n-bs
-koffice-i18n-ca koffice-i18n-cs koffice-i18n-cy koffice-i18n-da koffice-i18n-de
-koffice-i18n-el koffice-i18n-engb koffice-i18n-eo koffice-i18n-es
-koffice-i18n-et koffice-i18n-eu koffice-i18n-fi koffice-i18n-fr koffice-i18n-ga
-koffice-i18n-he koffice-i18n-hi koffice-i18n-hu koffice-i18n-it koffice-i18n-ja
-koffice-i18n-lt koffice-i18n-mk koffice-i18n-ms koffice-i18n-nb koffice-i18n-nl
-koffice-i18n-nn koffice-i18n-pl koffice-i18n-pt koffice-i18n-ptbr
-koffice-i18n-ro koffice-i18n-ru koffice-i18n-se koffice-i18n-sk koffice-i18n-sl
-koffice-i18n-sr koffice-i18n-srlatin koffice-i18n-sv koffice-i18n-ta
-koffice-i18n-tg koffice-i18n-tr koffice-i18n-uk koffice-i18n-uz
-koffice-i18n-zhcn koffice-i18n-zhtw
-
-# KDE Extra
-kde-extras
diff --git a/src/lists/kde-full-i18n b/src/lists/kde-full-i18n
deleted file mode 100644
index d40cd74..0000000
--- a/src/lists/kde-full-i18n
+++ /dev/null
@@ -1,49 +0,0 @@
-# /usr/share/make-live/lists/kde-full-i18n - package list for make-live(1)
-
-# Minimal
-eject file sudo vim-tiny
-
-# Standard
-console-common kbd locales
-
-# Standard i18n
-manpages manpages-dev manpages-de manpages-de-dev manpages-es manpages-es-extra
-manpages-fi manpages-fr manpages-fr-dev manpages-fr-extra manpages-hu
-manpages-it manpages-ja manpages-ja-dev manpages-ko manpages-nl manpages-pl
-manpages-pl-dev manpages-pt manpages-pt-dev manpages-ru manpages-tr manpages-zh
-
-# KDE
-kde kdm
-desktop-base
-
-x-window-system-core
-xresprobe
-
-# KDE i18n
-kde-i18n-af kde-i18n-ar kde-i18n-az kde-i18n-bg kde-i18n-bn kde-i18n-br
-kde-i18n-bs kde-i18n-ca kde-i18n-cs kde-i18n-cy kde-i18n-da kde-i18n-de
-kde-i18n-el kde-i18n-engb kde-i18n-eo kde-i18n-es kde-i18n-et kde-i18n-eu
-kde-i18n-fa kde-i18n-fi kde-i18n-fr kde-i18n-fy kde-i18n-ga kde-i18n-gl
-kde-i18n-he kde-i18n-hi kde-i18n-hr kde-i18n-hu kde-i18n-is kde-i18n-it
-kde-i18n-ja kde-i18n-km kde-i18n-ko kde-i18n-lt kde-i18n-lv kde-i18n-mk
-kde-i18n-mn kde-i18n-ms kde-i18n-nb kde-i18n-nds kde-i18n-nl kde-i18n-nn
-kde-i18n-pa kde-i18n-pl kde-i18n-pt kde-i18n-ptbr kde-i18n-ro kde-i18n-ru
-kde-i18n-rw kde-i18n-se kde-i18n-sk kde-i18n-sl kde-i18n-sr kde-i18n-srlatin
-kde-i18n-ss kde-i18n-sv kde-i18n-ta kde-i18n-tg kde-i18n-tr kde-i18n-uk
-kde-i18n-uz kde-i18n-zhcn kde-i18n-zhtw
-
-# KDE Full
-koffice
-
-# KDE Full i18n
-koffice-i18n-af koffice-i18n-ar koffice-i18n-bg koffice-i18n-br koffice-i18n-bs
-koffice-i18n-ca koffice-i18n-cs koffice-i18n-cy koffice-i18n-da koffice-i18n-de
-koffice-i18n-el koffice-i18n-engb koffice-i18n-eo koffice-i18n-es
-koffice-i18n-et koffice-i18n-eu koffice-i18n-fi koffice-i18n-fr koffice-i18n-ga
-koffice-i18n-he koffice-i18n-hi koffice-i18n-hu koffice-i18n-it koffice-i18n-ja
-koffice-i18n-lt koffice-i18n-mk koffice-i18n-ms koffice-i18n-nb koffice-i18n-nl
-koffice-i18n-nn koffice-i18n-pl koffice-i18n-pt koffice-i18n-ptbr
-koffice-i18n-ro koffice-i18n-ru koffice-i18n-se koffice-i18n-sk koffice-i18n-sl
-koffice-i18n-sr koffice-i18n-srlatin koffice-i18n-sv koffice-i18n-ta
-koffice-i18n-tg koffice-i18n-tr koffice-i18n-uk koffice-i18n-uz
-koffice-i18n-zhcn koffice-i18n-zhtw
diff --git a/src/lists/kde-i18n b/src/lists/kde-i18n
deleted file mode 100644
index 55469a5..0000000
--- a/src/lists/kde-i18n
+++ /dev/null
@@ -1,33 +0,0 @@
-# /usr/share/make-live/lists/kde-i18n - package list for make-live(1)
-
-# Minimal
-eject file sudo vim-tiny
-
-# Standard
-console-common kbd locales
-
-# Standard i18n
-manpages manpages-dev manpages-de manpages-de-dev manpages-es manpages-es-extra
-manpages-fi manpages-fr manpages-fr-dev manpages-fr-extra manpages-hu
-manpages-it manpages-ja manpages-ja-dev manpages-ko manpages-nl manpages-pl
-manpages-pl-dev manpages-pt manpages-pt-dev manpages-ru manpages-tr manpages-zh
-
-# KDE
-kde kdm
-desktop-base
-
-x-window-system-core
-xresprobe
-
-# KDE i18n
-kde-i18n-af kde-i18n-ar kde-i18n-az kde-i18n-bg kde-i18n-bn kde-i18n-br
-kde-i18n-bs kde-i18n-ca kde-i18n-cs kde-i18n-cy kde-i18n-da kde-i18n-de
-kde-i18n-el kde-i18n-engb kde-i18n-eo kde-i18n-es kde-i18n-et kde-i18n-eu
-kde-i18n-fa kde-i18n-fi kde-i18n-fr kde-i18n-fy kde-i18n-ga kde-i18n-gl
-kde-i18n-he kde-i18n-hi kde-i18n-hr kde-i18n-hu kde-i18n-is kde-i18n-it
-kde-i18n-ja kde-i18n-km kde-i18n-ko kde-i18n-lt kde-i18n-lv kde-i18n-mk
-kde-i18n-mn kde-i18n-ms kde-i18n-nb kde-i18n-nds kde-i18n-nl kde-i18n-nn
-kde-i18n-pa kde-i18n-pl kde-i18n-pt kde-i18n-ptbr kde-i18n-ro kde-i18n-ru
-kde-i18n-rw kde-i18n-se kde-i18n-sk kde-i18n-sl kde-i18n-sr kde-i18n-srlatin
-kde-i18n-ss kde-i18n-sv kde-i18n-ta kde-i18n-tg kde-i18n-tr kde-i18n-uk
-kde-i18n-uz kde-i18n-zhcn kde-i18n-zhtw
diff --git a/src/lists/standard-i18n b/src/lists/standard-i18n
deleted file mode 100644
index b7c7391..0000000
--- a/src/lists/standard-i18n
+++ /dev/null
@@ -1,13 +0,0 @@
-# /usr/share/make-live/lists/standard-i18n - package list for make-live(1)
-
-# Minimal
-eject file sudo vim-tiny
-
-# Standard
-console-common kbd locales
-
-# Standard i18n
-manpages manpages-dev manpages-de manpages-de-dev manpages-es manpages-es-extra
-manpages-fi manpages-fr manpages-fr-dev manpages-fr-extra manpages-hu
-manpages-it manpages-ja manpages-ja-dev manpages-ko manpages-nl manpages-pl
-manpages-pl-dev manpages-pt manpages-pt-dev manpages-ru manpages-tr manpages-zh
diff --git a/src/lists/x11-core b/src/lists/x11-core
deleted file mode 100644
index 89182c1..0000000
--- a/src/lists/x11-core
+++ /dev/null
@@ -1,11 +0,0 @@
-# /usr/share/make-live/lists/x11-core - package list for make-live(1)
-
-# Minimal
-eject file sudo vim-tiny
-
-# Standard
-console-common kbd locales
-
-# X11
-xdm x-window-system-core
-xresprobe
diff --git a/src/main.sh b/src/main.sh
deleted file mode 100755
index 346ec14..0000000
--- a/src/main.sh
+++ /dev/null
@@ -1,424 +0,0 @@
-#!/bin/sh
-
-# make-live - utility to build Debian Live systems
-#
-# Copyright (C) 2006 Daniel Baumann <daniel@debian.org>
-# Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-#
-# On Debian systems, the complete text of the GNU General Public License
-# can be found in /usr/share/common-licenses/GPL file.
-
-set -e
-
-# Set static variables
-BASE=${LIVE_BASE:-"/usr/share/make-live"}
-CONFIG="/etc/make-live.conf"
-PROGRAM="`basename ${0}`"
-VERSION="0.99.26"
-
-export VERSION
-
-CODENAME_OLDSTABLE="woody"
-CODENAME_STABLE="sarge"
-CODENAME_TESTING="etch"
-CODENAME_UNSTABLE="sid"
-
-export CODENAME_OLDSTABLE CODENAME_STABLE CODENAME_TESTING CODENAME_UNSTABLE
-
-# Source sub scripts
-for SCRIPT in `find ${BASE}/scripts/ -not -name '*~' -not -wholename "${BASE}/scripts/.*" -and -type f`
-do
- . "${SCRIPT}"
-done
-
-USAGE="Usage: ${PROGRAM} [-a|--architecture ARCHITECTURE] [-b|--bootappend KERNEL_PARAMETER|\"KERNEL_PARAMETERS\"] [--clone DIRECTORY] [--config FILE] [-c|--chroot DIRECTORY] [-d|--distribution DISTRIBUTION] [-e|--encryption ALGORITHM] [--with-generic-indices] [--without-generic-indices] [--with-recommends] [--without-recommends] [--with-daemons] [--without-daemons] [--filesystem FILESYSTEM] [-f|--flavour BOOTSTRAP_FLAVOUR] [--hook COMMAND|\"COMMANDS\"] [--include-chroot FILE|DIRECTORY] [--include-image FILE|DIRECTORY] [-k|--kernel KERNEL_FLAVOUR] [--manifest PACKAGE] [-m|--mirror URL] [-k|--keyring] [--mirror-security URL] [--packages PACKAGE|\"PACKAGES\"] [-p|--package-list LIST|FILE] [--preseed FILE] [--proxy-ftp URL] [--proxy-http URL] [--repositories NAME] [-r|--root DIRECTORY] [-s|--section SECTION|\"SECTIONS\"] [--server-address HOSTNAME|IP] [--server-path DIRECTORY] [--templates DIRECTORY] [-t|--type TYPE] [--tasks TASK]"
-
-Help ()
-{
- echo "${PROGRAM} - utility to build Debian Live systems"
- echo
- echo "${USAGE}"
- echo "Usage: ${PROGRAM} [-h|--help]"
- echo "Usage: ${PROGRAM} [-u|--usage]"
- echo "Usage: ${PROGRAM} [-v|--version]"
- echo
- echo "Lists: gnome, gnome-core, gnome-full, kde, kde-core, kde-core-i18n, kde-extra, kde-extra-i18n, kde-full, kde-full-i18n, kde-i18n, standard, standard-i18n, x11, x11-core, xfce."
- echo
- echo "Values:"
- echo " Architectures: alpha, amd64, arm, hppa, i386, ia64, m68k, powerpc, s390, sparc."
- echo " Distributions: testing, unstable, experimental or etch, sid".
- echo " Filesystems: ext2, plain, squashfs."
- echo " Boostrap flavours: minimal, standard."
- echo " Kernel flavours: Debian Kernel flavour of your architecture."
- echo " Types: iso, net, usb."
- echo
- echo "Options:"
- echo " -a, --architecture: specifies the bootstrap architecture."
- echo " -b, --bootappend: specifies the kernel parameter(s)."
- echo " --config: specifies an alternate configuration file."
- echo " -c, --chroot: specifies the chroot directory."
- echo " --clone: specifies a chroot directory to clone."
- echo " -d, --distribution: specifies the debian distribution."
- echo " -e, --encryption: specifies the filesystem encryption algorithm."
- echo " --filesystem: specifies the chroot filesystem."
- echo " -f, --flavour: specifies the bootstrap flavour."
- echo " --bootstrap-config: specifies the suite configuration to be used for bootstraping."
- echo " --hook: specifies extra command(s)."
- echo " --include-chroot: specifies file or directory for chroot inclusion."
- echo " --include-image: specifies file or directory for image inclusion."
- echo " -k, --kernel: specifies debian kernel flavour."
- echo " --manifest: specifies the pivot package to create filesystem.manifest-desktop upon (mostly \"ubuntu-live\")."
- echo " -m, --mirror: specifies debian mirror."
- echo " --mirror-security: specifies debian security mirror."
- echo " --keyring: specifies keyring package."
- echo " --packages: specifies aditional packages."
- echo " -p, --package-list: specifies additonal package list."
- echo " --repositories: specifies custom repositories."
- echo " -r, --root: specifies build root."
- echo " --preseed: specifies a debconf preseeding file."
- echo " --proxy-ftp: specifies \${ftp_proxy}."
- echo " --proxy-http: specifies \${http_proxy}."
- echo " -s, --section: specifies the debian sections."
- echo " --server-address: specifies the netboot server address."
- echo " --server-path: specifies the netboot server path for chroot."
- echo " --templates: specifies location of the templates."
- echo " -t, --type: specifies live system type."
- echo " --tasks: specifies one or more aptitude tasks."
- echo " --with-generic-indices: enables generic debian package indices (default)."
- echo " --without-generic-indices: disables generic debian package indices."
- echo " --with-recommends: installes recommended packages too."
- echo " --without-recommends: does not install recommended packages (default)."
- echo " --with-daemons: don't touch daemons."
- echo " --without-daemons: disable all non-essential daemons."
- echo
- echo "Environment:"
- echo " All settings can be also specified trough environment variables. Please see make-live.conf(5) for more information."
- echo
- echo "Report bugs to Debian Live project <http://live.debian.net>."
- exit 0
-}
-
-Usage ()
-{
- echo "${PROGRAM} - utility to build Debian Live systems"
- echo
- echo "${USAGE}"
- echo "Usage: ${PROGRAM} [-h|--help]"
- echo "Usage: ${PROGRAM} [-u|--usage]"
- echo "Usage: ${PROGRAM} [-v|--version]"
- echo
- echo "Try \"${PROGRAM} --help\" for more information."
- exit ${1}
-}
-
-Version ()
-{
- echo "${PROGRAM}, version ${VERSION}"
- echo
- echo "Copyright (C) 2006 Daniel Baumann <daniel@debian.org>"
- echo "Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>"
- echo
- echo "This program is free software; you can redistribute it and/or modify"
- echo "it under the terms of the GNU General Public License as published by"
- echo "the Free Software Foundation; either version 2 of the License, or"
- echo "(at your option) any later version."
- echo
- echo "This program is distributed in the hope that it will be useful,"
- echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
- echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
- echo "GNU General Public License for more details."
- echo
- echo "You should have received a copy of the GNU General Public License"
- echo "along with this program; if not, write to the Free Software"
- echo "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
- echo
- echo "On Debian systems, the complete text of the GNU General Public License"
- echo "can be found in /usr/share/common-licenses/GPL file."
- echo
- echo "Homepage: <http://live.debian.net/>"
- exit 0
-}
-
-Configuration ()
-{
- # Source default configuration
- if [ -r "${CONFIG}" ]
- then
- . "${CONFIG}"
- fi
-
- # Source alternate configuration
- if [ -n "${LIVE_CONFIG}" ]
- then
- if [ -r "${LIVE_CONFIG}" ]
- then
- . "${LIVE_CONFIG}"
- fi
- fi
-}
-
-Main ()
-{
- ARGUMENTS="`getopt --longoptions root:,tasks:,type:,architecture:,bootappend:,clone:,config:,chroot:,distribution:,encryption:,filesystem:,flavour:,bootstrap-config:,hook:,include-chroot:,include-image:,kernel:,manifest:,mirror:,keyring:,mirror-security:,output:,packages:,package-list:,proxy-ftp:,preseed:,proxy-http:,repositories:,section:,server-address:,server-path:,templates:,with-generic-indices,without-generic-indices,with-recommends,without-recommends,with-daemons,without-daemons,with-source,without-source,help,usage,version --name=${PROGRAM} --options r:t:a:b:c:d:e:f:k:m:o:p:s:huv --shell sh -- "${@}"`"
-
- if [ "${?}" != "0" ]
- then
- echo "Terminating." >&2
- exit 1
- fi
-
- eval set -- "${ARGUMENTS}"
-
- while true
- do
- case "${1}" in
- -r|--root)
- LIVE_ROOT="${2}"; shift 2
- export LIVE_ROOT
- ;;
-
- -t|--type)
- LIVE_TYPE="${2}"; shift 2
- export LIVE_TYPE
- ;;
-
- --tasks)
- LIVE_TASKS="${2}"; shift 2
- export LIVE_TASKS
- ;;
-
- -a|--architecture)
- LIVE_ARCHITECTURE="${2}"; shift 2
- export LIVE_ARCHITECTURE
- ;;
-
- -b|--bootappend)
- LIVE_BOOTAPPEND="${2}"; shift 2
- export LIVE_BOOTAPPEND
- ;;
-
- --clone)
- LIVE_CLONE="${2}"; shift 2
- export LIVE_CLONE
- ;;
-
- --config)
- LIVE_CONFIG="${2}"; shift 2
- export LIVE_CONFIG
- ;;
-
- -c|--chroot)
- LIVE_CHROOT="${2}"; shift 2
- export LIVE_CHROOT
- ;;
-
- -d|--distribution)
- LIVE_DISTRIBUTION="${2}"; shift 2
- export LIVE_DISTRIBUTION
- ;;
-
- -e|--encryption)
- LIVE_ENCRYPTION="${2}"; shift 2
- export LIVE_ENCRYPTION
- ;;
-
- --filesystem)
- LIVE_FILESYSTEM="${2}"; shift 2
- export LIVE_FILESYSTEM
- ;;
-
- -f|--flavour)
- LIVE_FLAVOUR="${2}"; shift 2
- export LIVE_FLAVOUR
- ;;
- --bootstrap-config)
- LIVE_BOOTSTRAP_CONFIG="${2}"; shift 2
- export LIVE_BOOTSTRAP_CONFIG
- ;;
- --hook)
- LIVE_HOOK="${2}"; shift 2
- export LIVE_HOOK
- ;;
-
- --include-chroot)
- LIVE_INCLUDE_CHROOT="${2}"; shift 2
- export LIVE_INCLUDE_CHROOT
- ;;
-
- --include-image)
- LIVE_INCLUDE_IMAGE="${2}"; shift 2
- export LIVE_INCLUDE_IMAGE
- ;;
-
- -k|--kernel)
- LIVE_KERNEL="${2}"; shift 2
- export LIVE_KERNEL
- ;;
-
- --manifest)
- LIVE_MANIFEST="${2}"; shift 2
- export LIVE_MANIFEST
- ;;
-
- -m|--mirror)
- LIVE_MIRROR="${2}"; shift 2
- export LIVE_MIRROR
- ;;
-
- --keyring)
- LIVE_REPOSITORY_KEYRING="${2}"; shift 2
- export LIVE_REPOSITORY_KEYRING
- ;;
-
- --mirror-security)
- LIVE_MIRROR_SECURITY="${2}"; shift 2
- export LIVE_MIRROR_SECURITY
- ;;
-
- -o|--output)
- LIVE_IMAGE="${2}"; shift 2
- export LIVE_IMAGE
- ;;
-
- --packages)
- LIVE_PACKAGES="${2}"; shift 2
- export LIVE_PACKAGES
- ;;
-
- -p|--package-list)
- LIVE_PACKAGE_LIST="${2}"; shift 2
- export LIVE_PACKAGE_LIST
- ;;
-
- --preseed)
- LIVE_PRESEED="${2}"; shift 2
- export LIVE_PRESEED
- ;;
-
- --proxy-ftp)
- LIVE_PROXY_FTP="${2}"; shift 2
- export LIVE_PROXY_FTP
- ;;
-
- --proxy-http)
- LIVE_PROXY_HTTP="${2}"; shift 2
- export LIVE_PROXY_HTTP
- ;;
-
- --repositories)
- LIVE_REPOSITORIES="${2}"; shift 2
- export LIVE_REPOSITORIES
- ;;
-
- -s|--section)
- LIVE_SECTION="${2}"; shift 2
- export LIVE_SECTION
- ;;
-
- --server-address)
- LIVE_SERVER_ADDRESS="${2}"; shift 2
- export LIVE_SERVER_ADDRESS
- ;;
-
- --server-path)
- LIVE_SERVER_PATH="${2}"; shift 2
- export LIVE_SERVER_PATH
- ;;
-
- --templates)
- LIVE_TEMPLATES="${2}"; shift 2
- export LIVE_TEMPLATES
- ;;
-
- --with-generic-indices)
- LIVE_GENERIC_INDICES="yes"; shift
- export LIVE_GENERIC_INDICES
- ;;
-
- --without-generic-indices)
- LIVE_GENERIC_INDICES="no"; shift
- export LIVE_GENERIC_INDIDCES
- ;;
-
- --with-recommends)
- LIVE_RECOMMENDS="yes"; shift
- export LIVE_RECOMMENDS
- ;;
-
- --without-recommends)
- LIVE_RECOMMENDS="no"; shift
- export LIVE_RECOMMENDS
- ;;
-
- --with-daemons)
- LIVE_DAEMONS="yes"; shift
- export LIVE_DAEMONS
- ;;
-
- --without-daemons)
- LIVE_DAEMONS="no"; shift
- export LIVE_DEAMONS
- ;;
-
- --with-source)
- LIVE_SOURCE="yes"; shift
- export LIVE_SOURCE
- ;;
-
- --without-source)
- LIVE_SOURCE="no"; shift
- export LIVE_SOURCE
- ;;
-
- -h|--help)
- Help; shift
- ;;
-
- -u|--usage)
- Usage 0; shift
- ;;
-
- -v|--version)
- Version; shift
- ;;
-
- --)
- shift; break
- ;;
-
- *)
- echo "Internal error."
- exit 1
- ;;
- esac
- done
-
- # Initialising
- lh_testroot
- Configuration
- Defaults
-
- # Building live system
- lh_cdebootstrap
- Chroot
-
- # Building live image
- lh_buildbinary
- lh_buildsource
-}
-
-Main "${@}"
diff --git a/src/scripts/02defaults.sh b/src/scripts/02defaults.sh
deleted file mode 100644
index 06e7c96..0000000
--- a/src/scripts/02defaults.sh
+++ /dev/null
@@ -1,376 +0,0 @@
-#!/bin/sh
-
-# make-live - utility to build Debian Live systems
-#
-# Copyright (C) 2006 Daniel Baumann <daniel@debian.org>
-# Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>
-#
-# make-live comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
-# This is free software, and you are welcome to redistribute it
-# under certain conditions; see COPYING for details.
-
-Defaults ()
-{
- # Set root directory
- if [ -z "${LIVE_ROOT}" ]
- then
- LIVE_ROOT="`pwd`/debian-live"
- fi
-
- export LIVE_ROOT
-
- # Set image type
- if [ -n "${LIVE_TYPE}" ]
- then
- case "${LIVE_TYPE}" in
- iso)
- LIVE_TYPE="Iso"
- ;;
-
- net)
- LIVE_TYPE="Net"
- ;;
-
- usb)
- LIVE_TYPE="Usb"
- ;;
-
- *)
- echo "E: image type wrong or not yet supported."
- Usage 1
- ;;
- esac
- else
- LIVE_TYPE="Iso"
- fi
-
- export LIVE_TYPE
-
- # Set bootstrap architecture
- if [ -z "${LIVE_ARCHITECTURE}" ]
- then
- LIVE_ARCHITECTURE="`dpkg --print-architecture`"
- fi
-
- export LIVE_ARCHITECTURE
-
- # Set chroot directory
- if [ -z "${LIVE_CHROOT}" ]
- then
- LIVE_CHROOT="${LIVE_ROOT}/chroot"
- fi
-
- export LIVE_CHROOT
-
- # Set debian distribution
- if [ -z "${LIVE_DISTRIBUTION}" ]
- then
- LIVE_DISTRIBUTION="unstable"
- fi
-
- if [ "${LIVE_DISTRIBUTION}" = "experimental" ]
- then
- LIVE_DISTRIBUTION="unstable"
- LIVE_DISTRIBUTION_EXPERIMENTAL="yes"
- fi
-
- export LIVE_DISTRIBUTION
- export LIVE_DISTRIBUTION_EXPERIMENTAL
-
- # Set bootstrap flavour
- if [ -z "${LIVE_FLAVOUR}" ]
- then
- LIVE_FLAVOUR="standard"
- fi
-
- export LIVE_FLAVOUR
-
- # Set filesystem
- if [ -z "${LIVE_FILESYSTEM}" ] && [ "${LIVE_TYPE}" = "Iso" ]
- then
- LIVE_FILESYSTEM="squashfs"
- elif [ -z "${LIVE_FILESYSTEM}" ] && [ "${LIVE_TYPE}" = "Usb" ]
- then
- LIVE_FILESYSTEM="squashfs"
- elif [ -z "${LIVE_FILESYSTEM}" ] && [ "${LIVE_TYPE}" = "Net" ]
- then
- LIVE_FILESYSTEM="plain"
- fi
-
- export LIVE_FILESYSTEM
-
- # Set kernel flavour
- if [ -z "${LIVE_KERNEL}" ]
- then
- case "${LIVE_ARCHITECTURE}" in
- alpha)
- LIVE_KERNEL="alpha-generic"
- ;;
-
- amd64)
- LIVE_KERNEL="amd64"
- ;;
-
- arm)
- echo "E: You need to specify the linux kernel flavour manually on arm."
- exit 1
- ;;
-
- hppa)
- LIVE_KERNEL="parisc"
- ;;
-
- i386)
- if [ "${LIVE_DISTRIBUTION}" = "oldstable" ] || [ "${LIVE_DISTRIBUTION}" = "${CODENAME_OLDSTABLE}" ] || \
- [ "${LIVE_DISTRIBUTION}" = "stable" ] || [ "${LIVE_DISTRIBUTION}" = "${CODENAME_STABLE}" ]
- then
- LIVE_KERNEL="386"
- else
- LIVE_KERNEL="486"
- fi
- ;;
-
- ia64)
- LIVE_KERNEL="itanium"
- ;;
-
- m68k)
- echo "E: You need to specify the linux kernel flavour manually on m68k."
- exit 1
- ;;
-
- powerpc)
- LIVE_KERNEL="powerpc"
- ;;
-
- s390)
- LIVE_KERNEL="s390"
- ;;
-
- sparc)
- LIVE_KERNEL="sparc32"
- ;;
-
- *)
- echo "FIXME: Architecture not yet supported."
- Usage 1
- ;;
- esac
- fi
-
- export LIVE_KERNEL
-
- # Set kernel packages
- if [ -z "${LIVE_KERNEL_PACKAGES}" ]
- then
- LIVE_KERNEL_PACKAGES="linux-image-2.6-${LIVE_KERNEL} squashfs-modules-2.6-${LIVE_KERNEL} unionfs-modules-2.6-${LIVE_KERNEL}"
-
- if [ -n "${LIVE_ENCRYPTION}" ]
- then
- LIVE_KERNEL_PACKAGES="${LIVE_KERNEL_PACKAGES} loop-aes-modules-2.6-${LIVE_KERNEL} loop-aes-utils"
- fi
-
- fi
-
- export LIVE_KERNEL_PACKAGES
-
- # Set debian mirror
- if [ -z "${LIVE_MIRROR}" ]
- then
- LIVE_MIRROR="http://ftp.debian.org/debian/"
- fi
-
- export LIVE_MIRROR
-
- # Set debian keyring
- if [ -z "${LIVE_REPOSITORY_KEYRING}" ]
- then
- LIVE_REPOSITORY_KEYRING="debian-archive-keyring"
- fi
-
- export LIVE_REPOSITORY_KEYRING
-
- # Set debian security mirror
- if [ -z "${LIVE_MIRROR_SECURITY}" ]
- then
- LIVE_MIRROR_SECURITY="http://security.debian.org/"
- fi
-
- export LIVE_MIRROR_SECURITY
-
- # Set default aptitude tasks
- if [ "${LIVE_PACKAGE_LIST}" = "gnome-desktop" ]
- then
- LIVE_PACKAGE_LIST="gnome"
- LIVE_TASKS="${LIVE_TASKS} standard laptop desktop gnome-desktop"
- elif [ "${LIVE_PACKAGE_LIST}" = "kde-desktop" ]
- then
- LIVE_PACKAGE_LIST="kde"
- LIVE_TASKS="${LIVE_TASKS} standard laptop desktop kde-desktop"
- elif [ "${LIVE_PACKAGE_LIST}" = "xfce-desktop" ]
- then
- LIVE_PACKAGE_LIST="xfce"
- LIVE_TASKS="${LIVE_TASKS} standard laptop desktop xfce-desktop"
- fi
-
- export LIVE_PACKAGE_LIST LIVE_TASKS
-
- # Check for package lists
- if [ -z "${LIVE_PACKAGE_LIST}" ]
- then
- if [ "${LIVE_FLAVOUR}" = "minimal" ]
- then
- LIVE_PACKAGE_LIST="${BASE}/lists/minimal"
- elif [ "${LIVE_FLAVOUR}" = "mini" ]
- then
- LIVE_PACKAGE_LISTS="${BASE}/lists/mini"
- else
- LIVE_PACKAGE_LIST="${BASE}/lists/standard"
- fi
- else
- if [ "${LIVE_PACKAGE_LIST}" != "everything" ]
- then
- if [ ! -r "${LIVE_PACKAGE_LIST}" ]
- then
- if [ -r "${BASE}/lists/${LIVE_PACKAGE_LIST}" ]
- then
- LIVE_PACKAGE_LIST="${BASE}/lists/${LIVE_PACKAGE_LIST}"
- else
- LIVE_PACKAGE_LIST="${BASE}/lists/standard"
- fi
- fi
- fi
- fi
-
- export LIVE_PACKAGE_LIST
-
- if [ -n "${LIVE_PACKAGES}" ]
- then
- export LIVE_PACKAGES
- fi
-
- # Set FTP proxy
- if [ -z "${LIVE_PROXY_FTP}" ] && [ -n "${ftp_proxy}" ]
- then
- LIVE_PROXY_FTP="${ftp_proxy}"
- export LIVE_PROXY_FTP
- else
- if [ -n "${LIVE_PROXY_FTP}" ] && [ "${LIVE_PROXY_FTP}" != "${ftp_proxy}" ]
- then
- ftp_proxy="${LIVE_PROXY_FTP}"
- export ftp_proxy
- fi
- fi
-
- # Set HTTP proxy
- if [ -z "${LIVE_PROXY_HTTP}" ] && [ -n "${http_proxy}" ]
- then
- LIVE_PROXY_HTTP="${http_proxy}"
- export LIVE_PROXY_HTTP
- else
- if [ -n "${LIVE_PROXY_HTTP}" ] && [ "${LIVE_PROXY_HTTP}" != "${http_proxy}" ]
- then
- http_proxy="${LIVE_PROXY_HTTP}"
- export http_proxy
- fi
- fi
-
- # Set debian sections
- if [ -z "${LIVE_SECTIONS}" ]
- then
- LIVE_SECTIONS="main"
- fi
-
- export LIVE_SECTIONS
-
- # Set netboot server
- if [ -z "${LIVE_SERVER_ADDRESS}" ]
- then
- LIVE_SERVER_ADDRESS="192.168.1.1"
- fi
-
- export LIVE_SERVER_ADDRESS
-
- # Set netboot path
- if [ -z "${LIVE_SERVER_PATH}" ]
- then
- LIVE_SERVER_PATH="/srv/debian-live"
- fi
-
- export LIVE_SERVER_PATH
-
- # Set templates directory
- if [ -z "${LIVE_TEMPLATES}" ]
- then
- LIVE_TEMPLATES="${BASE}/templates"
- fi
-
- export LIVE_TEMPLATES
-
- # Set package indices
- if [ -z "${LIVE_GENERIC_INDICES}" ] && [ "${LIVE_FLAVOUR}" != "minimal" ] && [ "${LIVE_FLAVOUR}" != "mini" ]
- then
- LIVE_GENERIC_INDICES="yes"
- fi
-
- export LIVE_GENERIC_INDICES
-
- # Set recommends
- if [ -z "${LIVE_RECOMMENDS}" ]
- then
- LIVE_RECOMMENDS="no"
- fi
-
- export LIVE_RECOMMENDS
-
- # Set source image
- if [ -z "${LIVE_SOURCE}" ]
- then
- LIVE_SOURCE="no"
- fi
-
- export LIVE_SOURCE
-
- # Set disk volume
- if [ -z "${LIVE_DISK_VOLUME}" ]
- then
- LIVE_DISK_VOLUME="Debian Live `date +%Y%m%d`"
- fi
-
- export LIVE_DISK_VOLUME
-
- if [ -z "${LIVE_DEBCONF_FRONTEND}" ]
- then
- LIVE_DEBCONF_FRONTEND="noninteractive"
- fi
-
- export LIVE_DEBCONF_FRONTEND
-
- if [ -z "${LIVE_DEBCONF_PRIORITY}" ]
- then
- LIVE_DEBCONF_PRIORITY="critical"
- fi
-
- export LIVE_DEBCONF_PRIORITY
-
- if [ -z "${LIVE_DAEMONS}" ]
- then
- LIVE_DAEMONS="yes"
- fi
-
- export LIVE_DAEMONS
-
- # This is a hack because Ubuntu does not ship cdrkit already
- if [ -x /usr/bin/genisoimage ]
- then
- GENISOIMAGE="/usr/bin/genisoimage"
- else
- GENISOIMAGE="/usr/bin/mkisofs"
- fi
-
- export GENISOIMAGE
-
- # Variables that do not have defaults but need to be exported to
- # allow other helpers to use their values
- export LIVE_BOOTAPPEND LIVE_BOOTSTRAP_CONFIG LIVE_INCLUDE_CHROOT LIVE_PRESEED LIVE_ISOLINUX_SPLASH
-}
diff --git a/src/scripts/13chroot.sh b/src/scripts/13chroot.sh
deleted file mode 100644
index f06cf4d..0000000
--- a/src/scripts/13chroot.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/sh
-
-# make-live - utility to build Debian Live systems
-#
-# Copyright (C) 2006 Daniel Baumann <daniel@debian.org>
-# Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>
-#
-# make-live comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
-# This is free software, and you are welcome to redistribute it
-# under certain conditions; see COPYING for details.
-
-Chroot ()
-{
- if [ ! -f "${LIVE_ROOT}"/.stage/chroot ]
- then
- # Configure chroot
- lh_patchchroot apply
- lh_patchrunlevel apply
-
- # Configure network
- lh_patchnetwork apply
-
- # Mount proc
- mount proc-live -t proc "${LIVE_CHROOT}"/proc
-
- # Configure sources.list
- lh_setupapt custom initial
- lh_configapt apply-proxy
- lh_configapt apply-recommends
-
- # Install aptitude
- lh_installapt
-
- # Update indices
- lh_chroot "aptitude update"
-
- # Configure linux-image
- lh_patchlinux apply
-
- # Install linux-image, modules and casper
- lh_chroot "aptitude install --assume-yes ${LIVE_KERNEL_PACKAGES} casper"
-
- # Deconfigure linux-image
- lh_patchlinux deapply
-
- lh_clone
- lh_preseed
-
- lh_installtasks
- lh_installpackagelists
- lh_installpackages
- lh_includechroot
- lh_hook
-
- # Save package list
- lh_chroot "dpkg --get-selections" > "${LIVE_ROOT}"/packages.txt
-
- lh_config disable-daemons
-
- lh_manifest
-
- lh_cleanapt
-
- # Workaround binfmt-support /proc locking
- umount "${LIVE_CHROOT}"/proc/sys/fs/binfmt_misc > /dev/null || true
-
- # Unmount proc
- umount "${LIVE_CHROOT}"/proc
-
- # Deconfigure network
- lh_patchnetwork deapply
-
- # Deconfigure chroot
- lh_patchrunlevel deapply
- lh_patchchroot deapply
-
- # Touching stage file
- touch "${LIVE_ROOT}"/.stage/chroot
- fi
-
- # Check depends
- if [ "`grep dosfstools ${LIVE_ROOT}/packages.txt`" ]
- then
- KEEP_DOSFSTOOLS="true"
- fi
-
- if [ "`grep memtest86+ ${LIVE_ROOT}/packages.txt`" ]
- then
- KEEP_MEMTEST86="true"
- fi
-
- if [ "`grep mtools ${LIVE_ROOT}/packages.txt`" ]
- then
- KEEP_MTOOLS="true"
- fi
-
- if [ "`grep parted ${LIVE_ROOT}/packages.txt`" ]
- then
- KEEP_PARTED="true"
- fi
-
- if [ "`grep syslinux ${LIVE_ROOT}/packages.txt`" ]
- then
- KEEP_SYSLINUX="true"
- fi
-}
diff --git a/templates/common/doc/FAQ/html/ch-basic_defs.html b/templates/common/doc/FAQ/html/ch-basic_defs.html
deleted file mode 120000
index 6bee626..0000000
--- a/templates/common/doc/FAQ/html/ch-basic_defs.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-basic_defs.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-compat.html b/templates/common/doc/FAQ/html/ch-compat.html
deleted file mode 120000
index 0696449..0000000
--- a/templates/common/doc/FAQ/html/ch-compat.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-compat.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-contributing.html b/templates/common/doc/FAQ/html/ch-contributing.html
deleted file mode 120000
index 4185524..0000000
--- a/templates/common/doc/FAQ/html/ch-contributing.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-contributing.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-customizing.html b/templates/common/doc/FAQ/html/ch-customizing.html
deleted file mode 120000
index 1cfdfaa..0000000
--- a/templates/common/doc/FAQ/html/ch-customizing.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-customizing.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-faqinfo.html b/templates/common/doc/FAQ/html/ch-faqinfo.html
deleted file mode 120000
index 0f759b4..0000000
--- a/templates/common/doc/FAQ/html/ch-faqinfo.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-faqinfo.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-ftparchives.html b/templates/common/doc/FAQ/html/ch-ftparchives.html
deleted file mode 120000
index cdad69f..0000000
--- a/templates/common/doc/FAQ/html/ch-ftparchives.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-ftparchives.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-getting.html b/templates/common/doc/FAQ/html/ch-getting.html
deleted file mode 120000
index 568d808..0000000
--- a/templates/common/doc/FAQ/html/ch-getting.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-getting.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-kernel.html b/templates/common/doc/FAQ/html/ch-kernel.html
deleted file mode 120000
index 125039f..0000000
--- a/templates/common/doc/FAQ/html/ch-kernel.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-kernel.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-nexttime.html b/templates/common/doc/FAQ/html/ch-nexttime.html
deleted file mode 120000
index da23d48..0000000
--- a/templates/common/doc/FAQ/html/ch-nexttime.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-nexttime.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-pkg_basics.html b/templates/common/doc/FAQ/html/ch-pkg_basics.html
deleted file mode 120000
index 98c97fe..0000000
--- a/templates/common/doc/FAQ/html/ch-pkg_basics.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-pkg_basics.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-pkgtools.html b/templates/common/doc/FAQ/html/ch-pkgtools.html
deleted file mode 120000
index 6c9eeed..0000000
--- a/templates/common/doc/FAQ/html/ch-pkgtools.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-pkgtools.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-redistrib.html b/templates/common/doc/FAQ/html/ch-redistrib.html
deleted file mode 120000
index f182623..0000000
--- a/templates/common/doc/FAQ/html/ch-redistrib.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-redistrib.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-software.html b/templates/common/doc/FAQ/html/ch-software.html
deleted file mode 120000
index f75c0ab..0000000
--- a/templates/common/doc/FAQ/html/ch-software.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-software.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-support.html b/templates/common/doc/FAQ/html/ch-support.html
deleted file mode 120000
index 978d556..0000000
--- a/templates/common/doc/FAQ/html/ch-support.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-support.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/ch-uptodate.html b/templates/common/doc/FAQ/html/ch-uptodate.html
deleted file mode 120000
index 37f6852..0000000
--- a/templates/common/doc/FAQ/html/ch-uptodate.html
+++ /dev/null
@@ -1 +0,0 @@
-ch-uptodate.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/footnotes.html b/templates/common/doc/FAQ/html/footnotes.html
deleted file mode 120000
index c18fdfb..0000000
--- a/templates/common/doc/FAQ/html/footnotes.html
+++ /dev/null
@@ -1 +0,0 @@
-footnotes.en.html \ No newline at end of file
diff --git a/templates/common/doc/FAQ/html/index.html b/templates/common/doc/FAQ/html/index.html
deleted file mode 120000
index 0e85422..0000000
--- a/templates/common/doc/FAQ/html/index.html
+++ /dev/null
@@ -1 +0,0 @@
-index.en.html \ No newline at end of file
diff --git a/templates/syslinux/f10.txt b/templates/syslinux/f10.txt
index 9d1ed8d..33f6f11 100644
--- a/templates/syslinux/f10.txt
+++ b/templates/syslinux/f10.txt
@@ -12,8 +12,8 @@ permitted by applicable law.
---
-This Debian Live system was built with make-live, version LIVE_VERSION.
-make-live was written by Daniel Baumann <daniel@debian.org> and
+This Debian Live system was built with live-helper, version LIVE_VERSION.
+live-helper was written by Daniel Baumann <daniel@debian.org> and
Marco Amadori <marco.amadori@gmail.com>.