Compare commits

..

125 Commits

Author SHA1 Message Date
Daniel Baumann 569c51b183 Including firmware debs into d-i netboot initrds. 2013-01-24 01:30:42 +01:00
Daniel Baumann 2bbcc84208 Updating d-i initrd repacking handling in binary_debian-installer for additional inclusions of stuff. 2013-01-24 01:30:03 +01:00
Daniel Baumann ff227d990e Correcting install path in loadlins install.bat for the gtk d-i flavour. 2013-01-24 00:26:37 +01:00
Daniel Baumann d9dcd81b35 Escaping quotes to workaround a false-positive of checkbashisms in binary_debian-installer. 2013-01-24 00:08:00 +01:00
Daniel Baumann eb54a9d7b4 Correcting spelling typos in changelog to make lintian happy. 2013-01-23 23:49:46 +01:00
Daniel Baumann 65cf771804 Dropping dpkg compression level. 2013-01-23 14:07:14 +01:00
Daniel Baumann 2edfe56f0f Updating wheezy pre-release number for b4. 2013-01-20 15:12:49 +01:00
Daniel Baumann 04bebdf9b4 Releasing debian version 4.0~a8-1. 2013-01-20 11:58:11 +01:00
Daniel Baumann 300a0208e8 Avoiding to unconditionally adding whitespace seperator to config/control for existing configs. 2013-01-20 10:42:07 +01:00
Daniel Baumann a9b85c8d7b Correcting variable default assignment for new configuration tree layout. 2013-01-20 10:36:31 +01:00
Daniel Baumann fd3c848218 Adding 3.0~b6-1 changelog entries. 2013-01-20 10:22:01 +01:00
Daniel Baumann fb06044fea Adding config/control in example gitignore file. 2013-01-20 09:44:11 +01:00
Daniel Baumann e939b2bbfe Applying slightly modified patch from Raphaël Hertzog <hertzog@debian.org> to fix automatic firmware inclusion when using debian-installer with live-installer and having firmware packages installed in the live system already. 2013-01-20 08:53:43 +01:00
Daniel Baumann c9b37c92e9 Making xorriso option handling a bit more readable. 2013-01-19 18:03:19 +01:00
Daniel Baumann 5553c0d992 Correcting apt-key cleanup of local dummy signing keys when using local packages, thanks to jhcha54008 <jhcha54008@free.fr>. 2013-01-19 12:49:56 +01:00
Daniel Baumann c1ea3c7fb4 Updating samhain workaround in chroot_dpkg to work if live-build is being used with sudo or fakeroot (Closes: #698423). 2013-01-19 12:46:53 +01:00
Richard Nelson c6c1e8db08 Correcting typo on functions/default.sh, thanks to jhcha54008 <jhcha54008@free.fr> (Closes: #698397). 2013-01-18 05:42:15 +01:00
Daniel Baumann 578392f661 Removing reference to removed --package-lists option in lb_config manpage (Closes: #698260). 2013-01-16 07:49:18 +01:00
Daniel Baumann d9dbc04c05 Correcting spelling typo in html footer of the cgi, thanks to Jean-Christophe Saint-Marc <jchristophe.stmarc@free.fr>. 2013-01-11 12:23:22 +01:00
Daniel Baumann b220c1d721 Updating footer in cgi html template. 2013-01-09 14:40:36 +01:00
Daniel Baumann 5b320c48f0 Updating for twitter-bootstrap usage on live.debia.net in the cgi html templates. 2013-01-09 14:04:47 +01:00
Daniel Baumann 75a0e2bf22 Cleaning up binary_loadlin. 2013-01-06 23:30:59 +01:00
Daniel Baumann 57f04c22c4 Updating footer link to 'legal information' in cgi html template. 2013-01-06 21:02:39 +01:00
Daniel Baumann 7bb740ca08 Using cat instead of echo to workaround incompatible and conflicting uses in escaping of \t in dash and bash, and less importantly to workaround a false-positive in checkbashisms. 2013-01-04 19:14:21 +01:00
Daniel Baumann 6ec9186c37 Updating manpage year handling for 2013. 2013-01-02 12:56:10 +01:00
Daniel Baumann 7f18bcaba8 Releasing debian version 4.0~a7-1. 2013-01-02 11:51:39 +01:00
Daniel Baumann 053cc5dc72 Adding 3.0~b5-1 changelog entries. 2013-01-02 11:48:57 +01:00
Daniel Baumann 8f0449939f Dropping pre-wheezy handling for win32-loader files. 2013-01-02 11:41:30 +01:00
Daniel Baumann 1c1d9254d8 Adding support for sha512 checksums. 2013-01-02 11:27:40 +01:00
Daniel Baumann edca6cace7 Removing all checksum files in lb clean. 2013-01-02 11:25:24 +01:00
Daniel Baumann 4b13d3864c Correcting legacy filename for checksum files. 2013-01-02 11:23:34 +01:00
Daniel Baumann bccf020023 Updating win32-loader.ini for wheezy. 2013-01-02 11:19:08 +01:00
Daniel Baumann 96081d87c8 Only including gtk d-i in win32-loader config if available on the target image. 2013-01-02 11:18:20 +01:00
Daniel Baumann d9a9925b31 Creating install.bat for loadlin. 2013-01-02 11:09:19 +01:00
Daniel Baumann c5b627de43 Dropping stable and unstable dist symlinks for d-i in dists for wheezy. 2013-01-02 11:04:30 +01:00
Daniel Baumann 066cdad4bf Creating autorun.inf in binary_win32-loader. 2013-01-02 10:59:59 +01:00
Daniel Baumann 499fe805fd Also ignoring legacy checksum filenames when creating checksum files. 2013-01-02 10:51:12 +01:00
Daniel Baumann cc4a598798 Correcting spelling typo in help text within the binary checksums file. 2013-01-02 10:51:11 +01:00
Daniel Baumann dd2aed00d2 Defaulting to obsolete filenames for checksums on debian, as debians cdrom-check in d-i only supports legacy filenames (Closes: #697082). 2013-01-02 10:38:06 +01:00
Daniel Baumann 1dbd997d9d Defaulting to obsolete md5 for checksums instead of sha256 on debian, as debians cdrom-check in d-i only supports md5. 2013-01-02 10:34:19 +01:00
Daniel Baumann 1c64392f33 Don't fail when adding symlinks for firmware in binary/firmware for debian-installer and the symlink already exists (Closes: #696688). 2013-01-02 10:22:30 +01:00
Daniel Baumann 5473c18214 Updating removal of backup files in stripped example hook to also work with spaces in filenames. 2013-01-01 08:43:49 +01:00
Daniel Baumann c68a776eff Updating year in all copyright notices. 2013-01-01 00:12:04 +01:00
Daniel Baumann 953a3e0886 Setting debian-installer to false in all modes by default. 2012-12-31 23:59:24 +01:00
Daniel Baumann f58b06eb6f Adding sample gitignore file in examples. 2012-12-31 23:50:49 +01:00
Daniel Baumann 36d7b899f8 Using .cfg suffix for consistency with debian-installer on preseed files in config/preseed. 2012-12-31 10:18:36 +01:00
Daniel Baumann 8f06bcd738 Dropping support for now unused includes feature in package lists. 2012-12-30 19:51:33 +01:00
Daniel Baumann d3f2b2c9c7 Switching order of kernel flavours in defaults, the last added one in the list becomes the default symlink target in the rootfs by apt. 2012-12-30 14:41:45 +01:00
Daniel Baumann 58ad2be9a7 Correcting glitch with plain chroot filesystems in binary_chroot. 2012-12-30 14:17:53 +01:00
Daniel Baumann 0ec7df36ef Removing redundant check for linux-images in binary_linux-image. 2012-12-30 13:14:59 +01:00
Daniel Baumann 63b636d830 Splitting off chroot firmware handling into an own script. 2012-12-30 13:10:12 +01:00
Daniel Baumann ae2bee55ed Simplifying exit check in chroot_linux-image. 2012-12-30 13:07:19 +01:00
Daniel Baumann 1c5b4985dc Omitting memtest in binary if chroot filesystem is set to none. 2012-12-30 12:58:38 +01:00
Daniel Baumann 6d81ec003d Omitting binary manifest creation when chroot filesystem is set to none. 2012-12-30 12:51:03 +01:00
Daniel Baumann 4bcc88fef3 Releasing debian version 4.0~a6-1. 2012-12-23 10:54:33 +01:00
Daniel Baumann 0849389dae Adding 3.0~b4-1 changelog entries. 2012-12-23 10:53:54 +01:00
Daniel Baumann 77fc617e2a Removing pre-wheezy grub package from binary_debian-installer. 2012-12-22 19:30:43 +01:00
Richard Nelson 2094b4570d Unify _DEBUG variable values to be true or false for l-b-cgi. 2012-12-20 12:27:49 +01:00
Daniel Baumann 4e283bbd7a Only writing out Parent-Archive-Areas field into configuration when building a derivative. 2012-12-20 12:27:49 +01:00
Daniel Baumann 4118eb4c1e Moving off binary image parent archive areas into new config tree format. 2012-12-20 12:27:49 +01:00
Daniel Baumann 3cbe97f28e Updating comment for image name config handling. 2012-12-20 12:27:49 +01:00
Daniel Baumann b0217026ea Moving off binary image archive areas into new config tree format. 2012-12-20 12:27:49 +01:00
Daniel Baumann 87008965a1 Including architecture in binary output filenames. 2012-12-20 12:27:48 +01:00
Ben Armstrong fee335bed5 Improving warning wording to reflect unfinished state of code better. 2012-12-19 08:06:50 -04:00
Daniel Baumann b9c0e26eef Setting default name to live-image for the time being. 2012-12-19 13:04:00 +01:00
Daniel Baumann 21dcf9be33 Using image name from configuration to name source output files. 2012-12-19 13:03:56 +01:00
Daniel Baumann e3bc849953 Adding explicit warning for people that do not understand what stable is. 2012-12-19 12:36:12 +01:00
Daniel Baumann 9a28d557e6 Using image name from configuration to name binary output files. 2012-12-19 12:36:11 +01:00
Daniel Baumann 7bc281edde Correcting architecture defaults. 2012-12-19 12:07:10 +01:00
Daniel Baumann eda0a08788 Separate between configured values and runtime values in new configuration handling. 2012-12-19 12:04:36 +01:00
Daniel Baumann 802179e59d Also reading in existing values from new config tree format. 2012-12-19 11:34:34 +01:00
Daniel Baumann 9949a3a912 Moving off binary image architecture into new config tree format. 2012-12-19 11:16:57 +01:00
Daniel Baumann ec8aff4f49 Moving off binary image type into new config tree format. 2012-12-19 11:10:11 +01:00
Daniel Baumann 73108165ca Moving configuration version off as the first option into new config tree format. 2012-12-19 10:34:36 +01:00
Daniel Baumann 1cee103bbb Disabling accidentally enabled removal of apt sources hook by default. 2012-12-19 06:46:17 +01:00
Daniel Baumann 51ea37e4e7 Renumbering hooks. 2012-12-19 06:46:15 +01:00
Daniel Baumann ae3e571158 Moving removal of actual backup files for apt sources into correct hook. 2012-12-19 05:57:58 +01:00
Daniel Baumann 548b0bbe9d Releasing debian version 4.0~a5-1. 2012-12-17 20:34:43 +01:00
Daniel Baumann b00261b220 Adding 3.0~b3-1 changelog entries. 2012-12-17 20:34:43 +01:00
Daniel Baumann 257d8988ee Removing kubuntu mode, it's not different anymore to standard ubuntu mode. 2012-12-17 20:34:41 +01:00
Daniel Baumann 599eb2bd5b Removing some dead default handling code for global includes which do not exist anymore. 2012-12-17 13:43:24 +01:00
Daniel Baumann be24839163 Correcting config tree version check for the current version. 2012-12-17 13:41:11 +01:00
Daniel Baumann 55ee66f79b Correcting config tree version check for older versions. 2012-12-17 13:35:38 +01:00
Daniel Baumann 7c3f244741 Renumbering hooks. 2012-12-17 00:22:33 +01:00
Daniel Baumann 52c72ea042 Merging remove-linux-image-backups into remove-backup-files hook. 2012-12-17 00:15:45 +01:00
Daniel Baumann 6ca1504312 Adding default hook to use mesa glx renderer. 2012-12-17 00:10:31 +01:00
Daniel Baumann 1b87a1ba1a Using consistent naming for default hooks. 2012-12-17 00:08:46 +01:00
Daniel Baumann 654328aab3 Adding default hook to use newest nvidia version. 2012-12-17 00:06:26 +01:00
Daniel Baumann 7c159c9408 Also removing man chache in remove-temporary-files hook. 2012-12-17 00:00:15 +01:00
Daniel Baumann 4c68f85487 Adding default hook to truncate log files. 2012-12-16 23:59:21 +01:00
Daniel Baumann 7caf9ed19f Moving removal of backup and temporary files to their own hook script. 2012-12-16 23:56:34 +01:00
Daniel Baumann 21ac95b9a6 Removing loop-aes-utils related hack for squeeze. 2012-12-16 23:51:24 +01:00
Daniel Baumann 409545314f Moving kexec-tools default preseeding into its own hook script. 2012-12-16 23:48:34 +01:00
Daniel Baumann 10d0fb5aed Removing old code in chroot_hacks for tasks which are not used anymore. 2012-12-16 23:42:37 +01:00
Daniel Baumann 9013f5d8db Releasing debian version 4.0~a4-1. 2012-12-16 22:02:07 +01:00
Daniel Baumann 8f257674b4 Adding 3.0~b2-1 changelog entries. 2012-12-16 22:01:33 +01:00
Daniel Baumann 46b0d4370b Switching from genisoimage to xorriso. 2012-12-16 21:39:38 +01:00
Richard Nelson 9687f85695 Update l-b-cgi frontend to support new git config structure. 2012-12-14 17:40:16 -06:00
Daniel Baumann ba1ded2f1f Updating removal of adjtime in a split out hook for wheezy. 2012-12-13 20:32:40 +01:00
Daniel Baumann 0fa1427801 Avoid re-populating an already populated configuration tree when using lb config --config. 2012-12-13 19:04:23 +01:00
Daniel Baumann 3f19c0c357 Adding support for live-images configs and arbitrary configuration directories in lb_config --config option. 2012-12-13 18:51:54 +01:00
Daniel Baumann 1f07481fbc Correcting spelling typo in bug script. 2012-12-13 18:24:31 +01:00
Daniel Baumann 79fb672816 Adding default hook to remove mdadm configuration.
mdadm creates a /etc/mdadm/mdadm.conf configuration file
on package installation which contains array information
from the build system.
2012-12-12 11:44:38 +01:00
Daniel Baumann 55c9617e61 Removing not really useful symlinks example hook. 2012-12-11 20:35:10 +01:00
Daniel Baumann ba4a3ce12e Updating wheezy release number. 2012-12-10 22:30:46 +01:00
Daniel Baumann 946855b2e4 Releasing debian version 4.0~a3-1. 2012-12-10 20:40:16 +01:00
Daniel Baumann ed6c1a7db4 Adding 3.0~b1-1 changelog entries. 2012-12-10 20:39:45 +01:00
Daniel Baumann 12751445d0 Skipping creation of soon to be replaced config/templates directory. 2012-12-10 20:37:28 +01:00
Daniel Baumann 0ebb3e0dc3 Removing local/bin by default in lb_clean too. 2012-12-10 20:35:57 +01:00
Raphaël Hertzog 800e0f97e3 Adding initial menu entries for debian-installer. 2012-12-10 20:22:42 +01:00
Daniel Baumann 39def8c11f Releasing debian version 4.0~a2-1. 2012-12-06 21:17:52 +01:00
Daniel Baumann d24fcbd23f Adding 3.0~a69-1 changelog entries. 2012-12-06 21:17:17 +01:00
Daniel Baumann ab293d35ed Dropping ubuntu guards on firmware selection code, we're not enabling firmware inclusion in ubuntu mode anyway.
Also, we're not keeping this as ubuntu should just update their archive
structure for content files to match debian. Not worth keeping temporary
extra turns just for ubuntu.
2012-12-06 20:49:08 +01:00
Daniel Baumann 1815b4fcba Adding proper header to build.sh include. 2012-12-04 12:49:21 +01:00
Daniel Baumann ffa9706fc9 Ensuring that functions are either sources locally or globally, but not both. 2012-12-04 12:47:46 +01:00
Daniel Baumann f145e20565 Adding support for local apt conf.d snippets in archive definitions (Closes: #685791). 2012-12-04 12:08:15 +01:00
Daniel Baumann 9117fd0ba4 Harmonizing apt configuration handling in chroot_archives. 2012-12-04 12:08:11 +01:00
Daniel Baumann 8465c9650f Updating wording about regenerating config trees. 2012-12-04 11:25:51 +01:00
Daniel Baumann d6a2c442f9 Updating version config tree version check (Closes: #695091). 2012-12-04 11:25:19 +01:00
Daniel Baumann 0da4e6e3e3 Adding dropped empty-line separator in binary_debian-installer. 2012-12-01 01:57:01 +01:00
Daniel Baumann 1af24ca926 Adding dropped empty-line separator in defaults. 2012-12-01 01:56:52 +01:00
Daniel Baumann 2cfcafba89 Updating powerpc kernel list on ubuntu. 2012-12-01 01:50:32 +01:00
Daniel Baumann f767842b64 Removing some leftovers from stripped and minimal package lists. 2012-12-01 01:45:25 +01:00
Daniel Baumann d331018a47 Releasing debian version 4.0~a1-1. 2012-11-30 15:22:54 +01:00
Daniel Baumann d08aabb614 Dropping support for squeeze and squeeze-based distributions. 2012-11-30 15:22:05 +01:00
377 changed files with 21563 additions and 26599 deletions

View File

@ -4,7 +4,7 @@ SHELL := sh -e
LANGUAGES = $(shell cd manpages/po && ls)
SCRIPTS = frontend/* functions/* examples/auto/* examples/hooks/*.chroot examples/hooks/reproducible/*.chroot scripts/*.sh scripts/*/* share/bin/* share/hooks/*/*
SCRIPTS = bin/* frontends/cgi/live-build-cgi frontends/cgi/live-build-cgi.cron functions/* examples/auto/* examples/hooks/* scripts/*.sh scripts/*/* share/bin/* share/hooks/*
all: build
@ -29,7 +29,7 @@ test:
echo -n "."; \
done; \
else \
echo "WARNING: Skipping bashism test - you need to install devscripts."; \
echo "WARNING: skipping bashism test - you need to install devscripts."; \
fi
@echo " done."
@ -40,20 +40,19 @@ build:
install:
# Installing shared data
mkdir -p $(DESTDIR)/usr/share/live/build
cp -r data functions $(DESTDIR)/usr/share/live/build
sed -e 's/.*(\(.*\)).*/\1/; s/^[0-9]://; q' debian/changelog >$(DESTDIR)/usr/share/live/build/VERSION
cp -r frontends/cgi data functions templates VERSION $(DESTDIR)/usr/share/live/build
cp -r share/* $(DESTDIR)/usr/share/live/build
# Installing executables
mkdir -p $(DESTDIR)/usr/bin
cp -a frontend/* $(DESTDIR)/usr/bin
cp -a bin/* $(DESTDIR)/usr/bin
mkdir -p $(DESTDIR)/usr/lib/live
cp -a scripts/* $(DESTDIR)/usr/lib/live
# Installing documentation
mkdir -p $(DESTDIR)/usr/share/doc/live-build
cp -r COPYING examples $(DESTDIR)/usr/share/doc/live-build
cp -r COPYING docs/* examples $(DESTDIR)/usr/share/doc/live-build
# Installing manpages
for MANPAGE in manpages/en/*; \
@ -103,5 +102,3 @@ clean:
distclean:
reinstall: uninstall install
.PHONY: all test build install uninstall clean distclean reinstall

1
VERSION Normal file
View File

@ -0,0 +1 @@
4.0~a8-1

80
bin/lb Executable file
View File

@ -0,0 +1,80 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program 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.
set -e
# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
# Setting static variables
DESCRIPTION="$(Echo 'utility to build Debian Live systems')"
HELP="FIXME"
USAGE="FIXME"
case "${1}" in
-h|--help)
if [ -x "$(which man 2>/dev/null)" ]
then
man lb
exit 0
else
${0} --usage
exit 0
fi
;;
""|-u|--usage)
Usage
;;
-v|--version)
echo "${VERSION}"
exit 0
;;
*)
COMMAND="${1}"
shift
ENV=""
for _FILE in config/environment config/environment.binary
do
if [ -e "${_FILE}" ]
then
ENV="${ENV} $(grep -v '^#' ${_FILE})"
fi
done
if [ -x "${LIVE_BUILD}/scripts/build/${COMMAND}" ]
then
# User has live-build copied locally in the system
SCRIPT="${LIVE_BUILD}/scripts/build/${COMMAND}"
elif [ -x "local/live-build/scripts/build/${COMMAND}" ]
then
# User has live-build embedded in the config
SCRIPT="local/live-build/scripts/build/${COMMAND}"
elif [ -x /usr/lib/live/build/${COMMAND} ]
then
# User has live-build installed in the system
SCRIPT=/usr/lib/live/build/"${COMMAND}"
elif [ -x "$(which ${COMMAND} 2>/dev/null)" ]
then
# User has live-build commands in path
SCRIPT="${COMMAND}"
else
Echo_error "no such script: ${COMMAND}"
exit 1
fi
Echo "[%s] %s" "$(date +'%F %T')" "lb ${COMMAND} $(echo ${@})"
${ENV} exec "${SCRIPT}" "${@}"
;;
esac

View File

@ -1,8 +1,7 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## 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
@ -23,16 +22,18 @@
set -e
if command -v man >/dev/null
# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
if [ -x "$(which man 2>/dev/null)" ]
then
man live-build
exit 0
else
cat << EOF
live-build contains the scripts to build a live system from a configuration
directory.
An introduction to live-build can be found in the live-build(7) manpage.
EOF
Echo "live-build is a set of scripts to build Debian Live system images."
echo
Echo "The idea behind live-build is a framework that uses a configuration directory to completely automate and customize all aspects of building a Live image."
echo
Echo "An introduction to live-build can be found in the live-build(7) manpage."
exit 0
fi

View File

@ -0,0 +1,26 @@
The grub splash for Debian Live was made by Daniel Baumann <daniel@debian.org>
based on the original work of Mark Riedesel.
The contribution of Daniel is hereby placed in the public domain (no rights
reserved).
---------------
http://dugnet.com/klown/pics/klowner_debboot.png
by Mark Riedesel, license same as open use logo
To create klowner.rle:
1. convert klowner.png klowner.bmp
2. bmptoppm < klowner.bmp | ppmtolss16 #FBFDFA=7 > klowner.rle
(FBFDFA is the color used for the inside of the "n" in Debian.)
---------------
Debian Open Use Logo License
Copyright (c) 1999 Software in the Public Interest
This logo or a modified version may be used by anyone to refer to the Debian
project, but does not indicate endorsement by the project.
Note: we would appreciate that you make the image a link to
http://www.debian.org/ if you use it on a web page.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1 +0,0 @@
squeeze/

View File

@ -1 +0,0 @@
squeeze/

1
data/debian-cd/hardy Symbolic link
View File

@ -0,0 +1 @@
maverick

View File

@ -1 +0,0 @@
squeeze

View File

@ -1 +0,0 @@
sid

View File

@ -1 +0,0 @@
sid

View File

@ -1 +0,0 @@
sid

1
data/debian-cd/lucid Symbolic link
View File

@ -0,0 +1 @@
maverick

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1 @@
kernel-image-*

View File

@ -0,0 +1,5 @@
choose-mirror
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -1,3 +1,4 @@
choose-mirror
netcfg
ethdetect
wireless-tools-udeb

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

View File

@ -0,0 +1,4 @@
netcfg
ethdetect
pcmcia-cs-udeb
wireless-tools-udeb

1
data/debian-cd/oneiric Symbolic link
View File

@ -0,0 +1 @@
maverick

View File

@ -1 +1 @@
trixie
squeeze

View File

@ -1,2 +0,0 @@
netcfg
ethdetect

View File

@ -1,2 +0,0 @@
netcfg
ethdetect

View File

@ -1 +0,0 @@
squeeze

View File

@ -1 +0,0 @@
trixie

View File

@ -1,2 +0,0 @@
This is a manual copy of the exclude lists is debian-cd/data
https://salsa.debian.org/images-team/debian-cd

View File

@ -1,4 +0,0 @@
choose-mirror
netcfg
ethdetect
pcmciautils-udeb

View File

@ -1,3 +0,0 @@
netcfg
ethdetect
pcmciautils-udeb

View File

@ -1,3 +0,0 @@
netcfg
ethdetect
pcmciautils-udeb

View File

@ -1,143 +0,0 @@
# These udebs build the d-i cdrom initrd. As such, there is no reason
# to keep another copy of them on the CD in udeb form.
#
# This duplicates data found in the file build/pkg-lists/kernel, in d-i svn
kernel-image-*
# build/pkg-lists/base in d-i svn
archdetect
rootskel
main-menu
cdebconf-udeb
udpkg
anna
di-utils
di-utils-shell
di-utils-reboot
lowmemcheck
# build/pkg-lists/cdrom/common, in d-i svn (also included in the
# root+cd-drivers floppies)
busybox-udeb
installation-locale
localechooser
iso-3166-udeb
hw-detect
cdrom-detect
cdrom-retriever
load-cdrom
cdrom-checker
bogl-bterm-udeb
di-utils-terminfo
cdebconf-priority
cdebconf-newt-udeb
usb-discover
preseed-common
initrd-preseed
file-preseed
nano-udeb
floppy-retriever
libfribidi0-udeb
# Already on the initrd as dependencies
libdebconfclient0-udeb
libdebian-installer4-udeb
libdebian-installer-extra4-udeb
# These udebs are only useful in building the boot floppy image
busybox-floppy-udeb
rootskel-bootfloppy
# Graphical installer: common udebs included in initrd
rootskel-gtk
cdebconf-gtk-udeb
fontconfig-udeb
gtk2-engines-udeb
libatk1.0-udeb
libexpat1-udeb
libfreetype6-udeb
libglib2.0-udeb
libgtk2-engines-udeb
libpango1.0-udeb
libpcre3-udeb
libpixman-1-0-udeb
libpng*-udeb
libsdl1.2debian-udeb
mouse-modules-*
ttf-*
fbset-udeb
# Graphical installer: udebs for directfb
libdirectfb-*-udeb
libcairo-directfb2-udeb
libgtk-directfb-2.0-0-udeb
# Graphical installer: udebs for X.Org
xserver-xorg-core-udeb
xserver-xorg-input-evdev-udeb
xserver-xorg-video-fbdev-udeb
x11-xkb-utils-udeb
xkb-data-udeb
libcairo2-udeb
libdrm2-udeb
libfontenc1-udeb
libgtk-x11-udeb
libpciaccess0-udeb
libx11-6-udeb
libxau6-udeb
libxcb1-udeb
libxcursor1-udeb
libxdmcp6-udeb
libxext6-udeb
libxfixes3-udeb
libxfont1-udeb
libxft2-udeb
libxi6-udeb
libxinerama1-udeb
libxkbfile1-udeb
libxrender1-udeb
# Graphical installer: terminal support is included in initrd
cdebconf-gtk-terminal
libvte9-udeb
# Not currently used
cdebootstrap-udeb
hdparm-udeb
dhcp-client-udeb
# This package is only useful in the d-i-demo
di-utils-exit-installer
# No need for these loaders.
download-installer
load-floppy
# Only useful in the hd-media initrd
iso-scan
load-iso
# These are not really needed, the regular netcfg subsumes them
netcfg-static
# skolelinux stuff, not for the stock CDs
debian-edu-install-udeb
debian-edu-profile-udeb
debian-edu-archive-keyring-udeb
ltsp-client-builder
autopartkit
# live CD stuff
live-installer
simple-cdd-profiles
# If needed, will be on the initrd already
module-init-tools-udeb
env-preseed
rescue-check
cdebconf-text-udeb
brltty-udeb
klibc-utils-udeb
libklibc-udeb
udev-udeb
udev-gtk-udeb
ai-choosers
auto-install
libslang2-udeb
kbd-chooser
kbd-udeb
console-setup-*
# Currently unused
debian-ports-archive-keyring-udeb
emdebian-archive-keyring-udeb
nbd-client-udeb
pwgen-udeb
# Eh?
gnumach-udeb
# We only support grub these days, drop lilo and elilo
lilo-installer
elilo-installer

View File

@ -1,42 +0,0 @@
# These udebs are in the d-i cdrom initrd and the hd-media initrd.
# As such, there is no reason to keep another copy of them on the CD
# in udeb form.
console-keymaps-at
console-keymaps-usb
kbd-chooser
acpi-modules-*
ata-modules-*
cdrom-core-modules-*
core-modules-*
fat-modules-*
fb-modules-*
ide-core-modules-*
ide-modules-*
input-modules-*
isofs-modules-*
mmc-modules-*
nls-core-modules-*
parport-modules-*
pcmcia-modules-*
sata-modules-*
scsi-common-modules-*
scsi-core-modules-*
scsi-modules-*
serial-modules-*
speakup-modules-*
usb-modules-*
usb-serial-modules-*
usb-storage-modules-*
# Not used on amd64
console-keymaps-acorn
console-keymaps-amiga
console-keymaps-atari
console-keymaps-dec
console-keymaps-sun
# Not needed with the 2.6 kernel on amd64.
userdevfs
# Only needed on arches that use partconf or autopartkit.
partconf-mkfstab
# Not needed on arches that use partman
mdcfg
lvmcfg

View File

@ -1 +0,0 @@
apt-mirror-setup

View File

@ -1 +0,0 @@
sid

27
debian/NEWS vendored
View File

@ -1,27 +0,0 @@
live-build (1:20220505) unstable; urgency=medium
The support for FTP proxies has ended. You are advised to use http or https
while configuring the debian package mirror, instead of ftp.
See https://salsa.debian.org/live-team/live-build/-/merge_requests/252#note_243114
-- Roland Clobus <rclobus@rclobus.nl> Wed, 8 Sep 2021 11:55:00 +0200
live-build (1:20210329) unstable; urgency=medium
The 'filesystem.size' file is no longer created and included in the image,
as it is often incorrect and variates depending on the build environment,
breaking reproducibility. For more information see the following thread:
https://lists.debian.org/debian-live/2021/03/msg00008.html
-- Luca Boccassi <bluca@debian.org> Mon, 29 Mar 2021 10:49:43 +0100
live-build (1:20180411) unstable; urgency=medium
The live-boot mount points have been moved from /lib/live/mount to
/run/live. Since this is a backward-incompatible change, a compat
recursive bind mount point is being provided in /lib/live/mount so
that existing scripts will not break in Debian 10 (Buster).
Please note that this will be removed in Debian 11 (Bullseye) so
plan accordingly and update any required scripts.
-- Luca Boccassi <bluca@debian.org> Wed, 11 Apr 2018 12:35:19 +0100

2475
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

54
debian/control vendored
View File

@ -1,34 +1,34 @@
Source: live-build
Section: misc
Priority: optional
Maintainer: Debian Live <debian-live@lists.debian.org>
Uploaders: Raphaël Hertzog <raphael@offensive-security.com>,
Luca Boccassi <bluca@debian.org>
Build-Depends: debhelper-compat (= 13), devscripts, gettext, po4a
Standards-Version: 4.7.0
Rules-Requires-Root: no
Homepage: https://wiki.debian.org/DebianLive
Vcs-Browser: https://salsa.debian.org/live-team/live-build
Vcs-Git: https://salsa.debian.org/live-team/live-build.git
Maintainer: Debian Live Project <debian-live@lists.debian.org>
Uploaders: Daniel Baumann <daniel@debian.org>
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.4
Homepage: http://live.debian.net/devel/live-build/
Vcs-Browser: http://live.debian.net/gitweb/?p=live-build.git
Vcs-Git: git://live.debian.net/git/live-build.git
Package: live-build
Architecture: all
Depends: cpio, debootstrap, ${misc:Depends}
Recommends: apt-utils,
bzip2,
cryptsetup,
file,
live-boot-doc,
live-config-doc,
live-manual-html | live-manual,
rsync,
systemd-container,
wget,
xz-utils
Suggests: e2fsprogs, eatmydata, git, mtd-utils, parted
Description: Live System Build Components
The Debian Live project maintains the components to build Debian based Live
systems and the official Debian Live images themselves.
.
live-build contains the components to build a live system from a configuration
Depends: ${misc:Depends}, debootstrap | cdebootstrap | cdebootstrap-static
Recommends:
live-boot-doc, live-config-doc, live-manual-html | live-manual, cpio,
gnu-fdisk
Suggests:
dosfstools, xorriso, git, loadlin, memtest86+ | memtest86, mtools, parted,
squashfs-tools | mtd-tools, sudo | fakeroot, syslinux | grub,
uuid-runtime, win32-loader
Description: Live System Build Scripts
live-build contains the scripts that build a live system from a configuration
directory.
Package: live-build-cgi
Architecture: all
Depends: ${misc:Depends}, live-build (= ${source:Version})
Recommends: apache2 | httpd, cron
Description: Live System Build Scripts (CGI frontend)
live-build contains the scripts that build a live system from a configuration
directory.
.
This package contains the CGI frontend (experimental!).

59
debian/copyright vendored
View File

@ -1,14 +1,20 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: live-build
Upstream-Contact: Debian Live Project <debian-live@lists.debian.org>
Source: http://live.debian.net/archive/packages/live-build/
Files: *
Copyright:
2016-2020 The Debian Live team
2016-2017 Raphaël Hertzog <hertzog@debian.org>
2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
Copyright: 2006-2013 Daniel Baumann <daniel@debian.org>
License: GPL-3+
Files: contrib/grub-splash/lenny
Copyright: n/a
License: other
Files: share/bootloaders/*/splash.svg.in
Copyright: 2006-2013 Daniel Baumann <daniel@debian.org>
License: other
License: GPL-3+
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
@ -25,3 +31,46 @@ License: GPL-3+
.
The complete text of the GNU General Public License
can be found in /usr/share/common-licenses/GPL-3 file.
License: other
The splash for Debian Live was made by Daniel Baumann <daniel@debian.org> based
on the original work of Mark Riedesel.
.
The contribution of Daniel is hereby placed in the public domain (no rights
reserved).
.
---------------
http://dugnet.com/klown/pics/klowner_debboot.png
by Mark Riedesel, license same as open use logo
.
To create klowner.rle:
.
1. convert klowner.png klowner.bmp
2. bmptoppm < klowner.bmp | ppmtolss16 #FBFDFA=7 > klowner.rle
(FBFDFA is the color used for the inside of the "n" in Debian.)
---------------
.
Debian Open Use Logo License
.
Copyright (c) 1999 Software in the Public Interest
This logo or a modified version may be used by anyone to refer to the Debian
project, but does not indicate endorsement by the project.
.
Note: we would appreciate that you make the image a link to
http://www.debian.org/ if you use it on a web page.
License: other
The splash for Debian Live was made by Daniel Baumann <daniel@debian.org> based
on the Debian Open Use Logo.
.
The contribution of Daniel is hereby placed in the public domain (no rights
reserved).
.
Debian Open Use Logo License
.
Copyright (c) 1999 Software in the Public Interest
This logo or a modified version may be used by anyone to refer to the Debian
project, but does not indicate endorsement by the project.
.
Note: we would appreciate that you make the image a link to
http://www.debian.org/ if you use it on a web page.

55
debian/gitlab-ci.yml vendored
View File

@ -1,55 +0,0 @@
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
variables:
SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 1
SALSA_CI_DISABLE_BUILD_PACKAGE_I386: 1
.lb-build:
stage: test
script:
- apt-get update
- apt-get install -y "$(find . -type f -name '*.deb')"
- lb --version
# We need to stay within the maximum limit for artifacts on Salsa (250M),
# so disable a few things
- lb config --apt-indices false --apt-recommends false --firmware-chroot false --source false --distribution sid --updates false --debootstrap-options "--variant=minbase" --bootloaders grub-efi
# But do install user-setup and sudo to have a usable image
- echo "user-setup sudo" > config/package-lists/recommends.list.chroot
# xz compresses initrds much better than zstd
- echo xz-utils >> config/package-lists/live.list.chroot
- mkdir -p config/includes.chroot_after_packages/etc/initramfs-tools/conf.d/
- printf 'COMPRESS=xz\nCOMPRESSLEVEL=9\n' > config/includes.chroot_after_packages/etc/initramfs-tools/conf.d/compress
# Remove stuff not really needed to boot
- echo 'rm -rf /usr/share/doc/* /usr/share/i18n/* /usr/share/man/* /usr/share/locale/*' >> config/hooks/normal/9020-remove-man-cache.hook.chroot
# Build the ISO
- lb build
- ls -lh
- cp live-image-${BUILD_ARCH}.contents ${WORKING_DIR}
- cp live-image-${BUILD_ARCH}.hybrid.iso ${WORKING_DIR}
artifacts:
when: always
paths:
- ${WORKING_DIR}/live-image-${BUILD_ARCH}.contents
- ${WORKING_DIR}/live-image-${BUILD_ARCH}.hybrid.iso
needs:
- job: build
artifacts: true
ISO amd64:
extends:
- .lb-build
variables:
BUILD_ARCH: 'amd64'
ISO arm64:
extends:
- .lb-build
rules:
- if: $CI_PROJECT_ROOT_NAMESPACE != "rclobus-guest"
variables:
BUILD_ARCH: 'arm64'
tags:
- $SALSA_CI_ARM_RUNNER_TAG

View File

@ -1,7 +1,7 @@
Before submitting a bug report against live-build, please make sure
that you have read your guidelines for live systems bug reports:
that you have read your guidelines for Debian Live bug reports:
https://live-team.pages.debian.net/live-manual/
http://live.debian.net/manual/
By providing the required information as outlined in the guidelines makes
sure that we can optimally reproduce and fix bugs, not doing so wastes a

View File

@ -2,7 +2,11 @@
DEFAULT_SETTINGS="/etc/live/build.conf"
dpkg -l debootstrap
# Checking depends
dpkg -l debootstrap cdebootstrap
# Checking suggests
dpkg -l dosfstools xorriso loadlin memtest86+ memtest86 mtools parted squashfs-tools mtd-tools sudo fakeroot syslinux grub uuid-runtime win32-loader
if [ -e "${DEFAULT_SETTINGS}" ]; then
echo "Contents of ${DEFAULT_SETTINGS}:"

View File

@ -1,6 +1 @@
live-build: absolute-symlink-in-top-level-folder
# Those cases are legitimate uses of direct access to the database
live-build: uses-dpkg-database-directly [usr/lib/live/build/chroot_tmpfs]
live-build: uses-dpkg-database-directly [usr/lib/live/build/clean]
live-build: uses-dpkg-database-directly [usr/share/live/build/functions/chroot.sh]
live-build: uses-dpkg-database-directly [usr/share/live/build/hooks/normal/8010-remove-backup-files.hook.chroot]
live-build: symlink-should-be-relative

24
debian/rules vendored
View File

@ -1,18 +1,28 @@
#!/usr/bin/make -f
%:
dh $@
dh ${@}
override_dh_auto_install:
# Update manual pages first
$(MAKE) -C manpages update
$(MAKE) -C manpages build
dh_auto_install -- DESTDIR=debian/live-build
# Removing unused files
rm -f debian/live-build/usr/share/doc/live-build/COPYING
rm -f debian/live-build/usr/share/doc/live-build/ChangeLog*
# live-build-cgi
mkdir -p debian/live-build-cgi/usr/share/live/build
mv debian/live-build/usr/share/live/build/cgi debian/live-build-cgi/usr/share/live/build
override_dh_builddeb:
dh_builddeb -- -Zxz
override_dh_installchangelogs:
dh_installchangelogs docs/ChangeLog
override_dh_link:
# workaround dh_link conversion of absolute symlinks to relative symlinks
dh_link -X.c32 -Xisolinux.bin -Xpxelinux.0
dh_link
# workaround dh_link convertion of absolute symlinks to relvative symlinks
rm -rf debian/live-build/usr/share/live/build/bootloaders
cp -a share/bootloaders debian/live-build/usr/share/live/build/bootloaders

View File

@ -1 +1 @@
3.0 (native)
3.0 (quilt)

View File

@ -1,11 +0,0 @@
# Ignore those errors, it's not nice but works currently
absolute-symbolic-link-target-in-source /usr/lib/ISOLINUX/isolinux.bin [share/bootloaders/isolinux/isolinux.bin]
absolute-symbolic-link-target-in-source /usr/lib/PXELINUX/pxelinux.0 [share/bootloaders/pxelinux/pxelinux.0]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/hdt.c32 [share/bootloaders/syslinux_common/hdt.c32]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/ldlinux.c32 [share/bootloaders/isolinux/ldlinux.c32]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/ldlinux.c32 [share/bootloaders/pxelinux/ldlinux.c32]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/libcom32.c32 [share/bootloaders/syslinux_common/libcom32.c32]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/libgpl.c32 [share/bootloaders/syslinux_common/libgpl.c32]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/libmenu.c32 [share/bootloaders/syslinux_common/libmenu.c32]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/libutil.c32 [share/bootloaders/syslinux_common/libutil.c32]
absolute-symbolic-link-target-in-source /usr/lib/syslinux/modules/bios/vesamenu.c32 [share/bootloaders/syslinux_common/vesamenu.c32]

1
debian/source/local-options vendored Normal file
View File

@ -0,0 +1 @@
abort-on-upstream-changes

1
debian/source/options vendored Normal file
View File

@ -0,0 +1 @@
compression = xz

View File

@ -1,15 +0,0 @@
#!/bin/bash
set -eu
set -o pipefail
cd "${AUTOPKGTEST_TMP}"
# Use the default values
lb config --verbose
# Verify some values
lb config --dump | grep 'LB_DISTRIBUTION="testing"'
lb config --dump | grep 'LB_UPDATES="true"'
lb config --dump | grep 'LB_SECURITY="true"'
lb config --dump | grep 'LB_PROPOSED_UPDATES="false"'
lb build --verbose
ls -l

View File

@ -1,21 +0,0 @@
#!/bin/bash
set -eu
set -o pipefail
# Ensure Kali's keyring archive is installed and is always up to date
echo "Acquire::Retries 5;" > /etc/apt/apt.conf.d/live-build-ci
curl https://archive.kali.org/archive-key.asc > /etc/apt/trusted.gpg.d/kali.asc
mkdir -p /etc/apt/sources.list.d
echo "deb http://http.kali.org/kali kali-rolling main" > /etc/apt/sources.list.d/kali.list
apt-get update
apt-get install -y kali-archive-keyring
rm -f /etc/apt/trusted.gpg.d/kali.asc /etc/apt/sources.list.d/kali.list /etc/apt/apt.conf.d/live-build-ci
apt-get update
cd "${AUTOPKGTEST_TMP}"
git clone --depth 1 --no-tags https://gitlab.com/kalilinux/build-scripts/live-build-config.git
cd live-build-config
./build.sh --verbose
ls -l
ls -l images

View File

@ -1,14 +0,0 @@
#!/bin/bash
set -eu
set -o pipefail
cd "${AUTOPKGTEST_TMP}"
# A minimal command line
lb config --verbose --distribution stable
# Verify some default values
lb config --dump | grep 'LB_UPDATES="true"'
lb config --dump | grep 'LB_SECURITY="true"'
lb config --dump | grep 'LB_PROPOSED_UPDATES="false"'
lb build --verbose
ls -l

20
debian/tests/control vendored
View File

@ -1,20 +0,0 @@
Tests: build-default-image
Depends: live-build
Restrictions: allow-stderr, needs-internet, needs-root
Tests: build-stable-image
Depends: live-build
Restrictions: allow-stderr, needs-internet, needs-root
Tests: build-kali-image
Depends: apt-utils,
bzip2,
ca-certificates,
cpio,
curl,
file,
git,
live-build,
wget,
xz-utils
Restrictions: allow-stderr, flaky, needs-internet, needs-root

9
docs/AUTHORS Normal file
View File

@ -0,0 +1,9 @@
Main Author:
* Daniel Baumann <daniel@debian.org>
Main Contributors:
* Chris Lamb <lamby@debian.org>
* Otavio Salvador <otavio@debian.org>
* Richard Nelson <unixabg@gmail.com>

64
docs/CREDITS Normal file
View File

@ -0,0 +1,64 @@
Patches (alphabetical order):
* Alex Owen <r.a.owen@qmul.ac.uk>
* An-Cheng Huang <ancheng@vyatta.com>
* Antonio Amorim <Antonio.Amorim@sim.fc.ul.pt>
* Antonio Terceiro <terceiro@softwarelivre.org>
* Bas Wijnen <wijnen@debian.org>
* Ben Armstrong <synrg@debian.org>
* Cedric Lucantis <omer@no-log.org>
* Chris Lamb <lamby@debian.org>
* Cody A.W. Somerville <cody.somerville@canonical.com>
* Cyril Brulebois <cyril.brulebois@kerlabs.com>
* David Madore <david.madore@ens.fr>
* Erwan Le Gall <elegall@linagora.com>
* Fathi Boudra <fabo@debian.org>
* Franklin Piat <fpiat@bigfoot.com>
* Frederic Daniel Luc Lehobey <Frederic@Lehobey.net>
* Guerkan Senguen <gurkan@linuks.mine.nu>
* Hadar Weiss <whadar@gmail.com>
* Inigo Tejedor Arrondo <inigo@navarrux.org>
* Jason D. Clinton <me@jasonclinton.com>
* Jean Pierre LeJacq <jp.lejacq@quoininc.com>
* Jesse Hathaway <jesse@mbuki-mvuki.org>
* Justin Pryzby <pryzbyj@justinpryzby.com>
* Kai Hendry <hendry@webconverger.com>
* Kel Modderman <kel@otaku42.de>
* Maarten ter Huurne <maarten@treewalker.org>
* Marcelo D. Re <mdre@rectorado.unl.edu.ar>
* Marco Amadori <marco.amadori@gmail.com>
* Markus Bauer <bauer-markus@web.de>
* Mathieu Geli <mathieu.geli@gmail.com>
* Otavio Salvador <otavio@debian.org>
* Peter Holik <peter@holik.at>
* Peter Skogstroem <peter.skogstrom@bitrunner.com>
* Rene Merou <ochominutosdearco@gmail.com>
* Richard Nelson <unixabg@gmail.com>
* Scott Edwards <debian@foss.daxal.com>
* Sebastian Raveau <sebastien.raveau@epita.fr>
* Thomas Lange <lange@informatik.uni-koeln.de>
* Tiago Bortoletto Vaz <tiago@debian-ba.org>
* Trent Buck <trentbuck@gmail.com>
* Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* Vladimir Stavrinov <vs@inist.ru>
Donations (alphabetical order):
* Gracie <gracie@bithawk.net>
Special thanks (alphabetical order):
* Ben Armstrong <synrg@debian.org> for his IRC support and tremendous work on
documentation.
* Jason D. Clinton <me@jasonclinton.com> for his work on netboot type.
* Otavio Salvador <otavio@debian.org> for his QA patches.
* Richard Nelson <rjent@rjent.pair.com> for live-webhelper.
* 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.
* Michael Dorrington <mike@zen.co.uk> for distracting Luk Claes on DebConf 7,
so that Luk couldn't disturb me all the time and I could finally do some
work.
...and countless other people showed up on the #debian-live IRC channel since
February 2006: thanks for all your help, ideas, and wishes.

1560
docs/ChangeLog Normal file

File diff suppressed because it is too large Load Diff

474
docs/ChangeLog.live-package Normal file
View File

@ -0,0 +1,474 @@
2007-03-10 Daniel Baumann <daniel@debian.org>
* Added knoppix and knoppix-dvd package lists.
2007-03-09 Daniel Baumann <daniel@debian.org>
* Getting free loopdevice from inside the chroot, not outside.
2007-03-09 Daniel Baumann <daniel@debian.org>
* Added kbd to all !minimal lists.
* Uploaded 0.99.25.
2007-03-08 Otavio Salvador <otavio@debian.org>
* helpers/lh_configapt: Fix aptitude configuration to really avoid
recommended packages to get installed.
* src/scripts/02defaults.sh: Export LIVE_ISOLINUX_SPLASH.
2007-03-04 Daniel Baumann <daniel@debian.org>
* Replaced removal of kernel on minimal flavours with excludes on the
mksquashfs call.
* Added LIVE_INCLUDE_CHROOT to the manual exported variables as reported
by Mathieu Geli <mathieu.geli@gmail.com>.
* Exported CODENAME_* manually as reported by Cédric Lucantis
<omer@no-log.org>.
* Fixed typo s/aptiude/aptitude/ as reported by Kai Hendry
<hendry@iki.fi>.
* Uploaded 0.99.24.
2007-02-22 Daniel Baumann <daniel@debian.org>
* Added xresprobe to all x11 lists.
2007-02-22 Daniel Baumann <daniel@debian.org>
* Applied patches from Otavio Salvador <otavio@debian.org>:
- add and cleanup variable exporting in defaults.
- add LIVE_BOOTSTRAP_CONFIG to lh_debootstrap.
* Uploaded 0.99.23.
2007-02-21 Daniel Baumann <daniel@debian.org>
* Added gnome-junior, kde-junior and xfce-junior lists.
* Uploaded 0.99.22.
2007-02-19 Daniel Baumann <daniel@debian.org>
* Fixed manifest.
2007-02-15 Daniel Baumann <daniel@debian.org>
* Applied patch from Sebastian Raveau <sebastien.raveau@epita.fr> to
add support for filesystem images encrypted with loop-aes.
2007-02-13 Daniel Baumann <daniel@debian.org>
* Broken out scripts into modularized lh_* subscripts.
2007-02-12 Daniel Baumann <daniel@debian.org>
* Added some code as suggested by Alex Owen <r.a.owen@qmul.ac.uk> to
check if the depends (syslinux, memtest etc.) are intentionally
installed in the chroot, and hence, don't remove them.
* Moved some depends into the chroot.
* Uploaded 0.99.21.
2007-02-11 Daniel Baumann <daniel@debian.org>
* Added mini flavour.
2007-02-10 Daniel Baumann <daniel@debian.org>
* Added legacy code for genisoimage.
* Uploaded 0.99.20.
2007-02-09 Daniel Baumann <daniel@debian.org>
* Added usb type.
2007-02-08 Daniel Baumann <daniel@debian.org>
* Added desktop task to the *-desktop flavours.
2007-02-07 Daniel Baumann <daniel@debian.org>
* Extended cron job a bit.
* Fixed manual pruning in minimal flavour as suggested by Bas Wijnen
<wijnen@debian.org>
2007-02-02 Daniel Baumann <daniel@debian.org>
* Added "--without-daemons".
2007-02-01 Daniel Baumann <daniel@debian.org>
* Added "--tasks".
* Added desktop-base to all desktop package lists.
2007-01-31 Daniel Baumann <daniel@debian.org>
* Changed vars in autobuilding script to be able to source
make-live.conf.
* Uploaded 0.99.19.
2007-01-30 Daniel Baumann <daniel@debian.org>
* Added cron job for autobuilding images.
2007-01-25 Daniel Baumann <daniel@debian.org>
* Added additional pruning to minimal flavour.
* Using interactive frontend while processing --hook.
* Uploaded 0.99.18.
2007-01-24 Daniel Baumann <daniel@debian.org>
* Applied patches from Otavio Salvador <otavio@debian.org>:
- adding "--keyring" flag.
- adding LIVE_DISK_VOLUME.
- adding start-stop-daemon wrapper to avoid daemons to be started.
- adding workaround to prevent binfmt locking /proc.
- adding LIVE_ISOLINUX_SPLASH.
* Uploaded 0.99.17.
2007-01-19 Daniel Baumann <daniel@debian.org>
* Replacing mkisofs with genisoimage.
2007-01-18 Daniel Baumann <daniel@debian.org>
* Cleanups.
* Uploaded 0.99.16.
2007-01-16 Daniel Baumann <daniel@debian.org>
* Switched default distribution back to unstable, as unstable is usable
again from the kernel point of view.
* Added file to the minimal package list.
* Uploaded 0.99.15.
2007-01-04 Daniel Baumann <daniel@debian.org>
* Added 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.
* Added xdebconfigurator to all X11 package lists.
* Adding workaround for initrd backup files.
2006-11-06 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.14.
2006-11-05 Daniel Baumann <daniel@debian.org>
* Applied patch from Markus Bauer <bauer-markus@web.de>:
- fixing script sourcing to exclude files in .svn
2006-11-03 Daniel Baumann <daniel@debian.org>
* Fixed typo in the policy-rc.d hack.
2006-11-02 Daniel Baumann <daniel@debian.org>
* Using aptitude instead of apt-get.
* Added '--with-recommends' and '--without-recommends'.
2006-11-01 Daniel Baumann <daniel@debian.org>
* Fixed regression when using -d ${CODENAME} wrt/ kernel packages.
2006-10-30 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.13.
2006-10-29 Daniel Baumann <daniel@debian.org>
* Added minimal-net flavour.
2006-10-28 Daniel Baumann <daniel@debian.org>
* Added console-common to standard selection.
2006-10-27 Daniel Baumann <daniel@debian.org>
* Added patch from Otavio Salvador <otavio@debian.org>:
- fixing preseeding error-handling.
2006-10-26 Daniel Baumann <daniel@debian.org>
* Added gnustep package selection based on the suggestion of
Guerkan Senguen <gurkan@linuks.mine.nu>.
2006-10-25 Daniel Baumann <daniel@debian.org>
* Applied patch from Marcelo D. Re <mdre@rectorado.unl.edu.ar>:
- skip deb-src source-list entries when building images with
--without-source.
* Applied patches from Otavio Salvador <otavio@debian.org>:
- adding '--bootstrap-config' to support cdebootstraps
'--suite-config'.
- allowing override of ${BASE}.
- adjust sourcing of scripts, so that only the real scripts are
sourced and not other (backup) files.
- allowing override of kernel-packages.
* Reverted mangling of LIVE_DISTRIBUTION for sources.list generation.
2006-10-23 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.12.
2006-10-18 Daniel Baumann <daniel@debian.org>
* Autodetecting proxy now.
2006-10-16 Daniel Baumann <daniel@debian.org>
* Readded and slightly changed --clone and --preseed.
* Uploaded 0.99.11.
2006-10-09 Daniel Baumann <daniel@debian.org>
* Cleanups.
* Uploaded 0.99.10.
2006-10-02 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.9.
2006-10-01 Daniel Baumann <daniel@debian.org>
* Added multiple repositories.
* Using LIVE_PROXY_* also for bootstraping.
2006-09-27 Daniel Baumann <daniel@debian.org>
* Changing manpage section.
2006-09-26 Daniel Baumann <daniel@debian.org>
* Added default flavour hooks.
* minimal flavour does not install debian-archive-keyring to save space.
* Adjusted network patch.
2006-09-25 Daniel Baumann <daniel@debian.org>
* Removed now unused initramfs-tools hack.
* Simplified xorg check based on distribution rather than version.
* Added fix from Bas Wijnen <wijnen@debian.org> for space handling in
arguments.
* Fixed package list handling similar to the fix suggested by Alex Owen
<r.alex.owen@gmail.com>.
* Uploaded 0.99.8.
2006-09-24 Marco Amadori <marco.amadori@gmail.com>
* 13hack.sh: initramfs-tools hack, check added for xorg.
2006-09-18 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.7.
2006-09-15 Daniel Baumann <daniel@debian.org>
* Added eject to minimal package selection.
2006-09-14 Daniel Baumann <daniel@debian.org>
* Adjustements for linux 2.6.17 testing propagation.
2006-09-11 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.6.
2006-09-08 Marco Amadori <marco.amadori@gmail.com>
* 23net.sh: Fixed binary missing directory creation.
* templates/iso: Moved common files to templates/common.
2006-09-07 Daniel Baumann <daniel@debian.org>
* Minor cleanups.
* Fixed dist target.
2006-09-06 Marco Amadori <marco.amadori@gmail.com>
* 14chroot.sh, main.sh: Added manifest support.
* 23net.sh: Added 2 variables for basenames to ease readability.
* main.sh, 02default.sh: Modified Usage() uses.
2006-09-04 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.5.
2006-09-03 Daniel Baumann <daniel@debian.org>
* Added dist parameter to easily pull images for live.debian.net.
* Added "--output" to specify the image name prefix.
* Exclude iso templates for minimal flavour.
2006-09-02 Daniel Baumann <daniel@debian.org>
* Added experimental as distribution.
* Added source image generation.
* Using dpkg instead of dpkg-architecture, removed dpkg-dev dependency.
2006-08-31 Daniel Baumann <daniel@debian.org>
* Added "--disable-generic-indices" and "--enable-generic-indices".
* Fixed i18n lists.
* Rewritten all lists, comments are now possible.
* Lists must be now explicitly given with --package-list, no longer as
last argument of the make-live call.
* Setting default sources.list while the image generation, restoring
customized ones afterwards.
2006-08-30 Daniel Baumann <daniel@debian.org>
* Cleanups:
- moved 14patch_packages.sh to 13hack.sh.
- simplified 13hack.sh.
2006-08-29 Marco Amadori <marco.amadori@gmail.com>
* pxelinux.cfg: Updated to right defaults, first cifs then nfs or
select your favorite way. Rationale: /dev/nfs is for kernel
discovering, not for initramfs discover, casper will be just fine
with "netboot".
* 13chroot.sh, 14patch_packages.sh: Added a simple system for patching
packages, mainly for xserver-xorg so far.
2006-08-28 Daniel Baumann <daniel@debian.org>
* Updated documentation.
* Added patch from Alex Owen <r.a.owen@qmul.ac.uk> to update
pxelinux.cfg for NFS root in casper.
* Uploaded 0.99.4.
2006-08-27 Daniel Baumann <daniel@debian.org>
* Cleanups.
2006-08-27 Marco Amadori <marco.amadori@gmail.com>
* Added sysv init blocking policy.
2006-08-22 Daniel Baumann <daniel@debian.org>
* Reorganised sources.
* Added staging support.
* Cleaned up parameter names.
* testing is now supported.
2006-08-21 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.3.
2006-08-02 Marco Amadori <marco.amadori@gmail.com>
* Rewrote netboot support.
* Added support for pure directory rootfs images.
2006-07-31 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.2.
2006-07-28 Daniel Baumann <daniel@debian.org>
* Added DEBIAN_FRONTEND to chroots(), now completely non-interactive.
* Fixed wrong chroot patch.
2006-07-27 Marco Amadori <marco.amadori@gmail.com>
* Changed amd64 kernel naming scheme.
2006-07-24 Daniel Baumann <daniel@debian.org>
* Uploaded 0.99.1.
2006-07-19 Daniel Baumann <daniel@debian.org>
* Bugfixes.
2006-07-18 Daniel Baumann <daniel@debian.org>
* Added iso templates.
2006-07-17 Daniel Baumann <daniel@debian.org>
* Added chroot to 01-patch.sh.
* Added "--logfile".
* Uploaded 0.99.
2006-07-01 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Added "--flavour".
2006-06-28 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Added "--debug" and "--verbose".
2006-06-23 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Rewritten manpages.
2006-06-19 Marco Amadori <marco.amadori@gmail.com>
* Added "--templates" options.
* Fixed some typos.
2006-06-15 Daniel Baumann <daniel.baumann@panthera-systems.net>
* General fixes.
2006-06-18 Marco Amadori <marco.amadori@gmail.com>
* Added "-a|--architecture" and "-p|--package-list" options.
* Reworked how lists works.
2006-06-15 Daniel Baumann <daniel.baumann@panthera-systems.net>
* General cleanup.
2006-06-14 Marco Amadori <marco.amadori@gmail.com>
* Re-added "-f|--filesystem".
2006-06-12 Marco Amadori <marco.amadori@gmail.com>
* Added "--conffile", "--preseed", "--clone", and "--rootfs" options.
2006-06-12 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Added new splash.rle.
* Added memtest86+.
* Added "--distribution", and "--section" options.
* Moved /etc/default/make-live to /etc/make-live.conf.
2006-06-11 Marco Amadori <marco.amadori@gmail.com>
* Added handling of md5sums.
2006-06-09 Marco Amadori <marco.amadori@gmail.com>
* Added splashy support.
* Added ext2 rootfs support.
* Added external hook and path support.
* Swiched to getopt.
2006-06-02 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Added patch from Jason D. Clinton <me@jasonclinton.com>:
- Added netboot flavour.
- Thanks to SafeDesk Solutions <http://www.safedesk.com/>.
2006-06-01 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Moved syslinux inside the chroot.
2006-05-31 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Added kde-*i18n and standard-i18n lists.
2006-05-28 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Added patch from Frederic Lehobey <Frederic.Lehobey@free.fr>:
- Added locales to LIVE_PACKAGES.
- Added LIVE_MIRROR_KEY, LIVE_REPOSITORY, LIVE_REPOSITORY_KEY, and
LIVE_BOOTAPPEND.
2006-05-27 Daniel Baumann <daniel.baumann@panthera-systems.net>
* Initial release.

View File

@ -0,0 +1,182 @@
commit 1f4cf146edbd72a2d61ac2e60324d392569c9f24
Author: Daniel Baumann <daniel@debian.org>
Date: Wed Oct 14 13:35:25 2009 +0200
Updating vcs fields.
commit d1ab019de29691407e3bde1af2ff5efe9a284380
Author: Richard Nelson <unixabg@gmail.com>
Date: Wed May 27 09:42:55 2009 -0500
Update quoting on variables for safety.
commit 601b25634d291706fc477342b712554a54c42016
Author: Richard Nelson <unixabg@gmail.com>
Date: Sat Mar 14 22:19:41 2009 -0500
update copyright years
commit fed4e5adfd49b339bec16b0338b73f9f90ca40ce
Author: Richard Nelson <unixabg@gmail.com>
Date: Sat Mar 14 21:47:27 2009 -0500
Set lenny as defualt build
commit 083a14f46cc1298b33908991dea145cf4ec7415d
Author: Richard Nelson <unixabg@gmail.com>
Date: Sun Nov 30 16:41:15 2008 -0600
Bug fix on usb-hdd builds.
commit 7742576d3a9b84807c6456007ad3bc0147ca3024
Author: Richard Nelson <unixabg@gmail.com>
Date: Thu Nov 27 22:44:51 2008 -0600
Remove -x flag left on cron during debug operations.
commit 6817dca69fd0c53578c1e14c9c5333d5be94419d
Author: Richard Nelson <unixabg@gmail.com>
Date: Thu Nov 27 22:42:58 2008 -0600
Update to start using more live-helper functions.
commit 649fc3a0fac8eae1b8a239a9ba250e89f4b89dfd
Author: Richard Nelson <unixabg@gmail.com>
Date: Wed Nov 26 22:13:57 2008 -0600
Update Copyright (C) to 2007-2008
commit 5449c921111b2f300006cc41d7b6582270959a82
Author: Daniel Baumann <daniel@debian.org>
Date: Fri Nov 7 18:08:01 2008 +0100
Replacing obsolete dh_clean -k with dh_prep.
commit cd7a4a353ae652a45057da5726467e23401be52d
Author: Richard Nelson <unixabg@gmail.com>
Date: Tue Nov 4 18:40:06 2008 -0600
Bug fix on custom bootstrap and custom binary.
commit fc227fc32f06ba8e5af8c9ebdcd147f98790b6ea
Author: Richard Nelson <unixabg@gmail.com>
Date: Thu Oct 2 17:24:37 2008 -0500
Bug fix in netboot server and path.
commit 446a99439bfee38c89615e1e24bb4729b2223e9e
Author: Richard Nelson <unixabg@gmail.com>
Date: Mon Sep 8 21:39:37 2008 -0500
Include common functions from live-helper for code reuse.
commit 359e51591318966e97128b00bff38c62d07c6827
Author: Richard Nelson <unixabg@gmail.com>
Date: Mon Sep 8 21:35:52 2008 -0500
Added test for unmounting devpts-live.
commit 3fdcc59654986d57f014b6c6721b2a3abde2f722
Author: Richard Nelson <unixabg@gmail.com>
Date: Mon Sep 8 21:29:41 2008 -0500
Local variable prefix with _ on VAR i.e. _VAR
commit 4bbf10e31754f290d3aa0e158a45d09316487544
Author: Richard Nelson <unixabg@gmail.com>
Date: Mon Sep 8 16:12:22 2008 -0500
Local variable LH_ removal/cleanup.
commit 472a6a0825656fbc16f4df6cb19bb16e1df8605f
Author: Richard Nelson <unixabg@gmail.com>
Date: Mon Sep 8 16:02:36 2008 -0500
Minor local variable confusion for LH_ prefix cleanup.
commit df23442fca1c727dd43ca1ea464b277e3617cb0f
Author: Richard Nelson <unixabg@gmail.com>
Date: Mon Sep 8 15:59:08 2008 -0500
Upgrade variables to have the LH_ prefix for LH_* variable, to work with the current live-helper version.
commit f00e0cb212e0c84268e099ca35ca386982e4d82b
Author: Daniel Baumann <daniel@debian.org>
Date: Sun Sep 7 21:57:51 2008 +0200
Removing currently unused Upstream-Depends field in control.
commit 4c85494fa2907a54dd99eaf17816a4d403ddb5bc
Author: Daniel Baumann <daniel@debian.org>
Date: Sun Sep 7 21:57:41 2008 +0200
Updating vcs fields in control file.
commit eaf87ebd9f828740430cc60d3e9f201d88c67c25
Author: Daniel Baumann <daniel@debian.org>
Date: Thu Aug 28 23:40:35 2008 +0200
Setting project email address to the new debian-live@lists.debian.org.
commit 6fbca8e14be271dc62988d5555bba9f453ddbaa7
Author: Daniel Baumann <daniel@debian.org>
Date: Wed Apr 23 18:50:17 2008 +0200
Updating Richards email address.
commit 25e1e7bc4f6a095aaf248a80aeaa3795f4a3e3a9
Author: Daniel Baumann <daniel@debian.org>
Date: Tue Oct 30 11:04:42 2007 +0100
Correcting vcs fields.
commit c49d9ff77bd5be73d5367fd567a9e39fccf78410
Author: Daniel Baumann <daniel@debian.org>
Date: Wed Oct 3 09:11:29 2007 +0200
Fixing wrong homepage field.
commit 8e01ba16a737d04a0367ecf1d4f3d7f80437fe97
Author: Daniel Baumann <daniel@debian.org>
Date: Sun Sep 23 16:04:04 2007 +0200
Using new Homepage field now.
commit 49ca83a4d57051b2b4b4b950178063c6df25e222
Author: Daniel Baumann <daniel@debian.org>
Date: Sun Sep 23 16:04:04 2007 +0200
Adding Upstream-Depends field.
commit 39a9d3e82c71451734f0d4ddb630b67c9d55541a
Author: Daniel Baumann <daniel@debian.org>
Date: Sun Sep 23 16:04:04 2007 +0200
Moving from svn to git.
commit 7e823babbe815bdf520becbfd6f4ccec814aa7e2
Author: Daniel Baumann <daniel@debian.org>
Date: Sun Sep 23 16:04:03 2007 +0200
Removing not uploaded versions.
commit 46e8777246485a15fc6d5a202a361662f4e724b5
Author: Daniel Baumann <daniel@debian.org>
Date: Sun Sep 23 16:03:52 2007 +0200
Adding live-webhelper trunk 20070911.
2007-07-19 Daniel Baumann <daniel@debian.org>
* Introducing build modes.
2007-07-14 Daniel Baumann <daniel@debian.org>
* scripts/cgi:
- Quick fix in EMAIL.
2007-06-04 Daniel Baumann <daniel@debian.org>
* templates/form.html:
- Set default source image to 'generic'.
* Starting live-webhelper.

View File

@ -1,5 +1,3 @@
#!/bin/sh
set -e
lb build noauto "${@}" 2>&1 | tee build.log

View File

@ -1,7 +1,5 @@
#!/bin/sh
set -e
lb clean noauto "${@}"
rm -f config/binary config/bootstrap config/chroot config/common config/source

View File

@ -1,6 +1,4 @@
#!/bin/sh
set -e
lb config noauto \
"${@}"

View File

@ -1,8 +1,7 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it

View File

@ -1,63 +0,0 @@
#!/bin/sh
set -e
# util-linux creates random UUIDs when uuid_generate_random is called
# Use LD_PRELOAD to replace uuid_generate_random with a less random version
# Don't run if gcc is not installed
if [ ! -e /usr/bin/cc ];
then
exit 0
fi
cat > unrandomize_uuid_generate_random.c << END_OF_SOURCE
#include <stdlib.h>
#include <stdio.h>
#define SEQUENCE_FILENAME "/var/cache/unrandomize_uuid_generate_random.sequence_number"
/* https://tools.ietf.org/html/rfc4122 */
typedef unsigned char uuid_t[16];
/* Our pseudo-random version */
void uuid_generate_random(uuid_t out)
{
/* Nil UUID */
for (int i=0;i<16;i++) {
out[i] = 0x00;
}
out[6]=0x40; /* UUID version 4 means randomly generated */
out[8]=0x80; /* bit7=1,bit6=0 */
/* The file doesn't need to exist yet */
FILE *f = fopen(SEQUENCE_FILENAME, "rb");
if (f) {
fread(out+12, 4, 1, f);
fclose(f);
}
/* Use the next number. Endianness is not important */
(*(unsigned long*)(out+12))++;
unsigned long long epoch;
/* Use SOURCE_DATE_EPOCH when provided */
char *date = getenv("SOURCE_DATE_EPOCH");
if (date) {
epoch = strtoll(date, NULL, 10);
} else {
epoch = 0ll;
}
out[0] = (epoch & 0xFF000000) >> 24;
out[1] = (epoch & 0x00FF0000) >> 16;
out[2] = (epoch & 0x0000FF00) >> 8;
out[3] = (epoch & 0x000000FF);
/* Write the sequence number */
f = fopen(SEQUENCE_FILENAME, "wb");
if (f) {
fwrite(out+12, 4, 1, f);
fclose(f);
}
}
END_OF_SOURCE
/usr/bin/cc -shared -fPIC unrandomize_uuid_generate_random.c -Wall --pedantic -o /usr/lib/unrandomize_uuid_generate_random.so
rm -f unrandomize_uuid_generate_random.c

View File

@ -1,31 +0,0 @@
#!/bin/sh
set -e
# fontconfig creates non-reproducible files with UUIDs
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864082
#
# Because the UUIDs should not be deleted, the proposed work-around is:
# * Use LD_PRELOAD to replace uuid_generate_random with a less random version
# Don't run if fontconfig is not installed
if [ ! -e /usr/bin/fc-cache ];
then
exit 0
fi
# Don't run if fontconfig is sufficiently new
if dpkg --compare-versions $(dpkg-query --show --showformat '${Version}\n' fontconfig | head -1) ge 2.13.1-4.4~;
then
exit 0
fi
# Don't run if the LD_PRELOAD module is not compiled
if [ ! -e /usr/lib/unrandomize_uuid_generate_random.so ];
then
echo "P: $(basename $0) Reproducible hook inactive: The UUID module was not found"
exit 0
fi
LD_PRELOAD=/usr/lib/unrandomize_uuid_generate_random.so /usr/bin/fc-cache --force --really-force --system-only --verbose
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,21 +0,0 @@
#!/bin/sh
set -e
# mkconf of mdadm creates a file with a timestamp
# A bug report with patch is available at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=982607
# This script duplicates that patch
# Don't run if mdadm is not installed
if [ ! -e /usr/share/mdadm/mkconf ];
then
exit 0
fi
# If mkconf already contains references to SOURCE_DATE_EPOCH, there is no need to patch the file
if grep -q SOURCE_DATE_EPOCH /usr/share/mdadm/mkconf;
then
exit 0
fi
sed -i -e '/# This configuration was auto-generated on/cif [ -z $SOURCE_DATE_EPOCH ]; then\n echo "# This configuration was auto-generated on $(date -R) by mkconf"\nelse\n echo "# This configuration was auto-generated on $(date -R --utc -d@$SOURCE_DATE_EPOCH) by mkconf"\nfi' /usr/share/mdadm/mkconf
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,28 +0,0 @@
#!/bin/sh
set -e
# update-perl-sax-parsers of libxml-sax-perl creates a file with a random order of its lines
# A bug report with patch is available at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993444
# This script duplicates that patch
# Don't run if libxml-sax-perl is not installed
if [ ! -e /usr/bin/update-perl-sax-parsers ];
then
exit 0
fi
# If Debian.pm already contains a sort line, there is no need to patch the file
if grep -q sort /usr/share/perl5/XML/SAX/Debian.pm;
then
exit 0
fi
# Patch the Perl script
sed -i -e '/foreach my $key/s/keys/sort keys/' /usr/share/perl5/XML/SAX/Debian.pm
# Regenerate the file that has more than one key-value pair
update-perl-sax-parsers --remove XML::SAX::Expat
update-perl-sax-parsers --add XML::SAX::Expat --priority 50
update-perl-sax-parsers --update
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,62 +0,0 @@
#!/bin/sh
set -e
# libxmlb2 creates random GUIDs
# See https://github.com/hughsie/libxmlb/issues/110
# Fixed upstream: https://github.com/hughsie/libxmlb/commit/0652ec042cc0611b9b98e080e64e1025db9b4183
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1006358
#
# Until a sufficiently new version is installed, apply the work-around
# Don't run if libxmlb2 is not installed
if [ ! -e /usr/share/doc/libxmlb2 ];
then
exit 0
fi
# Don't run if AppStream is not installed
if [ ! -e /usr/bin/appstreamcli ];
then
exit 0
fi
# Don't run if the version of libxmlb2 is sufficiently new
if dpkg --compare-versions $(dpkg-query --show --showformat '${Version}\n' libxmlb2 | head -1) ge 0.3.7~;
then
exit 0
fi
# Refresh the compressed XML files
appstreamcli refresh --force > /dev/null
# appstream <= 0.15.1 uses /var/cache/app-info
# appstream >= 0.15.2 uses /var/cache/swcatalog
if [ -d /var/cache/swcatalog ];
then
CACHE_PATH=/var/cache/swcatalog/cache
else
CACHE_PATH=/var/cache/app-info/cache
fi
# Set the GUID field for each compressed XML file to zero
for f in $(ls ${CACHE_PATH}/*.xb);
do
dd if=$f of=tmp.xb count=8 iflag=count_bytes status=none
dd if=/dev/zero of=tmp.xb count=16 iflag=count_bytes status=none oflag=append conv=notrunc
dd if=$f of=tmp.xb skip=24 iflag=skip_bytes status=none oflag=append conv=notrunc
rm $f
mv tmp.xb $f
done
# When apt update is invoked, 50appstream calls 'appstreamcli refresh'
# so add another hook to reset the guid again
#
# Before the chroot is finalised, 'apt update' is invoked again, so the reset guid step needs to be re-applied
cat << EOF > /etc/apt/apt.conf.d/51appstream_reset_guid
# Reset the GUID of the AppStream cache files when APT's cache is updated (i.e. apt update)
APT::Update::Post-Invoke-Success {
"if /usr/bin/test -w ${CACHE_PATH} -a -e /usr/bin/appstreamcli; then for f in \$(ls ${CACHE_PATH}/*.xb); do dd if=\$f of=tmp.xb count=8 iflag=count_bytes status=none; dd if=/dev/zero of=tmp.xb count=16 iflag=count_bytes status=none oflag=append conv=notrunc; dd if=\$f of=tmp.xb skip=24 iflag=skip_bytes status=none oflag=append conv=notrunc; rm \$f; mv tmp.xb \$f; done; fi";
};
EOF
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,60 +0,0 @@
#!/bin/sh
set -e
# This script fixes several issues:
# 1. The fmt files contain timestamps
# 2. The fmt files randomly select the path to language.dat.lua and language.def
# (/var/lib/texmf/tex/generic/config vs /usr/share/texlive/texmf-dist/tex/generic/config)
# 3. The fmt files have a random order due to the way iterators work in lua
# The function 'exception_strings' uses these iterators
# https://sources.debian.org/src/texlive-bin/2021.20210626.59705-1/texk/web2c/luatexdir/lang/texlang.c/?hl=501#L501
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009196
# 4. The 'tex' executable intentionally ignores SOURCE_DATE_EPOCH
# See https://sources.debian.org/src/texlive-bin/2021.20210626.59705-1/debian/patches/debian-SDE-docs-in-tex-etex-manpage/?hl=36#L36
# Note: This hook must run before 0140-remove-log-files.hook.chroot and 0190-remove-temporary-files.hook.chroot
# Don't run if texlive-binaries is not installed
if [ ! -e /usr/bin/luahbtex ];
then
exit 0
fi
# This is TeX: set FORCE_SOURCE_DATE to enable SOURCE_DATE_EPOCH -> fixes 1 and 2
export FORCE_SOURCE_DATE=1
# Generate the .fmt file 10 times. If the content differs, a fix for 3 is required
for i in $(seq 1 10); do luahbtex -ini -jobname=luahbtex -progname=luabhtex luatex.ini > /dev/null; md5sum luahbtex.fmt >> md5sum.luahbtex; done
rm -f luahbtex.fmt
rm -f luahbtex.log
if [ $(sort -u < md5sum.luahbtex | wc -l) -ne 1 ];
then
# Ugly hack: remove the hyphenation exceptions -> fixes 3
# This results in incorrect hyphenation, but it is a work-around until the function 'exception_strings' has been adjusted
sed -i -e '/as-so-ciate/d;/as-so-ciates/d;/dec-li-na-tion/d;/oblig-a-tory/d;/phil-an-thropic/d;/present/d;/presents/d;/project/d;/projects/d;/reci-procity/d;/re-cog-ni-zance/d;/ref-or-ma-tion/d;/ret-ri-bu-tion/d;/ta-ble/d' /usr/share/texlive/texmf-dist/tex/generic/hyphen/hyphen.tex
echo "P: $(basename $0) Reproducible hack has been applied: hyphenation of some words will be incorrect"
fi
rm -f md5sum.luahbtex
# Rebuild all .fmt and .log files in /var/lib/texmf/web2c
fmtutil --sys --all
# Use faketime to enforce a timestamp -> fixes 4
# NB: hooks don't know about the apt/aptitude selection, so use 'apt-get'
export FAKETIME_ALREADY_INSTALLED=1
if [ ! -e /usr/bin/faketime ];
then
FAKETIME_ALREADY_INSTALLED=0
apt-get install faketime --yes -o Acquire::Check-Valid-Until=false
fi
OLD_PWD=$(pwd)
cd /var/lib/texmf/web2c/tex
faketime $(date --utc -d@$SOURCE_DATE_EPOCH --iso-8601=seconds) tex -ini -jobname=tex -progname=tex tex.ini
cd ${OLD_PWD}
if [ ${FAKETIME_ALREADY_INSTALLED} -eq 0 ];
then
apt-get remove --purge --yes faketime
apt-get autoremove --yes
fi
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,30 +0,0 @@
#!/bin/sh
set -e
# The file /var/lib/texmf/web2c/updmap.log contains timestamps for the files that it just generated
# Not reported yet. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=XXXXXXX
# Don't run if texlive-base is not installed
if [ ! -e /usr/bin/updmap ];
then
exit 0
fi
# Don't run if the script has been fixed
if grep -q gmtime /usr/share/texlive/texmf-dist/scripts/texlive/updmap.pl;
then
exit 0
fi
# Change: printf LOG "%s\n\n", scalar localtime();
# To : printf LOG "%s\n\n", defined $ENV{SOURCE_DATE_EPOCH} ? scalar gmtime($ENV{SOURCE_DATE_EPOCH}) : scalar localtime();
sed -i -e "/scalar localtime/s/scalar localtime/defined \$ENV{SOURCE_DATE_EPOCH} ? scalar gmtime(\$ENV{SOURCE_DATE_EPOCH}) : scalar localtime/" /usr/share/texlive/texmf-dist/scripts/texlive/updmap.pl
# Change: my ($s,$m,$h,$D,$M,$Y)=localtime($stat[9]);
# To : my ($s,$m,$h,$D,$M,$Y)=defined $ENV{SOURCE_DATE_EPOCH} ? gmtime($ENV{SOURCE_DATE_EPOCH}) : localtime($stat[9]);
sed -i -e "/localtime([$]/s/localtime/defined \$ENV{SOURCE_DATE_EPOCH} ? gmtime(\$ENV{SOURCE_DATE_EPOCH}) : localtime/" /usr/share/texlive/texmf-dist/scripts/texlive/updmap.pl
# The timestamp of the files that are generated by the script will be corrected in the 'lb binary' phase
updmap -sys
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,27 +0,0 @@
#!/bin/sh
set -e
# mktexlsr and mktexlsr.pl generate different output
# Whichever of both scripts is run last, determines the output of /var/lib/texmf/ls-R
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1003449
# Don't run if texlive-base is not installed
if [ ! -e /usr/share/texlive/texmf-dist/scripts/texlive/mktexlsr ];
then
exit 0
fi
# Don't run if the version of mktexlsr is sufficiently new
if grep -q "Also remove double empty" /usr/share/texlive/texmf-dist/scripts/texlive/mktexlsr;
then
exit 0
fi
# Apply only the functional part of the patch in #1003449 (removes double empty lines)
sed -i -e "/vc_dirs'\./s/[\\]/| cat -s \\\\/" /usr/share/texlive/texmf-dist/scripts/texlive/mktexlsr
# Run the shell script, this hook is the last invoker.
# The output in /var/lib/texmf/ls-R will be sorted
mktexlsr
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,87 +0,0 @@
#!/bin/sh
set -e
# vlc-cache-gen uses readdir() which depends on the order in the filesystem
# Don't run if vlc is not installed
if [ ! -x /usr/lib/x86_64-linux-gnu/vlc/vlc-cache-gen ];
then
exit 0
fi
# Don't run if the cache file does not exist
if [ ! -e /usr/lib/x86_64-linux-gnu/vlc/plugins/plugins.dat ];
then
exit 0
fi
# Install disorderfs when needed and mark for removal at the end
_DISORDERFS_PREINSTALLED=yes
if [ ! -x /usr/bin/disorderfs ];
then
_DISORDERFS_PREINSTALLED=no
apt-get install --yes disorderfs
fi
# Install the fuse device (needed by disorderfs) and mark for removal at the end
_FUSE_DEVICE_PRESENT=yes
if [ ! -e /dev/fuse ];
then
_FUSE_DEVICE_PRESENT=no
mknod /dev/fuse c 10 229
fi
# Check for changes in the cache file, for suppressing the output if no change was made
_CHECK_FOR_CHANGES=yes
if [ ! -x /usr/bin/sha256sum ];
then
_CHECK_FOR_CHANGES=no
fi
# Prepare a directory with a stable sorting order
_ORDERED_DIR=$(mktemp --directory)
disorderfs /usr/lib/x86_64-linux-gnu/vlc/plugins ${_ORDERED_DIR} --reverse-dirents=no --sort-dirents=yes --quiet
# The checksum of the original file
if [ "${_CHECK_FOR_CHANGES}" = "yes" ];
then
sha256sum /usr/lib/x86_64-linux-gnu/vlc/plugins/plugins.dat > ${_ORDERED_DIR}/before.sha256sum
fi
# Regenerate the cache file in a directory which guarantees the sorting order of the files
/usr/lib/x86_64-linux-gnu/vlc/vlc-cache-gen ${_ORDERED_DIR}
# Verify the checksum for changes
if [ "${_CHECK_FOR_CHANGES}" = "yes" ];
then
_HOOK_WAS_NEEDED=no
sha256sum --check ${_ORDERED_DIR}/before.sha256sum --status || _HOOK_WAS_NEEDED=yes
rm -f ${_ORDERED_DIR}/before.sha256sum
fi
# Cleanup
fusermount -u ${_ORDERED_DIR}
rmdir ${_ORDERED_DIR}
if [ "${_DISORDERFS_PREINSTALLED}" = "no" ];
then
apt-get remove --yes --purge disorderfs
apt-get autoremove --yes
fi
if [ "${_FUSE_DEVICE_PRESENT}" = "no" ];
then
rm -f /dev/fuse
fi
# Report only when either a change was detected or not detectable (due to missing tools)
if [ "${_CHECK_FOR_CHANGES}" = "yes" ];
then
if [ "${_HOOK_WAS_NEEDED}" = "yes" ];
then
echo "P: $(basename $0) Reproducible hook has been applied"
fi
else
echo "P: $(basename $0) Reproducible hook has been applied"
fi

View File

@ -1,42 +0,0 @@
#!/bin/sh
set -e
# install-info has an unstable sort order when a new section is added
# Fixed by https://git.savannah.gnu.org/cgit/texinfo.git/commit/?id=01b5a4b9c33bef08feae041c221f820a1c76749f
#
# The postinst-hook of install-info depends on the natural order of the
# filesystem and deletes the existing dir file beforehand.
# Installing the same info.gz file again follows a different code path,
# which has a stable sort order
# Don't run if install-info is not installed
if [ ! -x /usr/bin/install-info ];
then
exit 0
fi
# Don't run if install-info is sufficiently new
if dpkg --compare-versions $(dpkg-query --show --showformat '${Version}\n' install-info | head -1) gt 7.2~;
then
exit 0
fi
# Keep the original file
cp /usr/share/info/dir /tmp/before
# dir, dircolors, dirname / pr, printenv, printf / tr, true, truncate / who, whoami
install-info /usr/share/info/coreutils.info.gz /usr/share/info/dir
# diff, diff3
install-info /usr/share/info/diffutils.info.gz /usr/share/info/dir
# dirmngr, dirmngr-client
if [ -e /usr/share/info/gnupg.info.gz ];
then
install-info /usr/share/info/gnupg.info.gz /usr/share/info/dir
fi
# Only report when the hook has made a difference
if ! diff /tmp/before /usr/share/info/dir > /dev/null;
then
echo "P: $(basename $0) Reproducible hook has been applied"
fi
rm -f /tmp/before

View File

@ -1,64 +0,0 @@
#!/bin/sh
set -e
# /etc/ssl/certs/java/cacerts is a keystore
# Due to cryptographic requirements, it will be non-reproducible
# as it embeds timestamps
# It can be re-generated with low overhead
# Don't run if ca-certificates-java is not installed
if [ ! -e /etc/ssl/certs/java/cacerts ];
then
exit 0
fi
# Remove the file
rm -f /etc/ssl/certs/java/cacerts
# Add a hook to live-config to recreate it
cat << EOF > /usr/lib/live/config/5000-ca-certificates-java
#!/bin/sh
. /lib/live/config.sh
## live-config(7) - System Configuration Components
## Copyright (C) 2024 The Debian Live team
##
## This program 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.
Init ()
{
# Checking if package is installed
if ! pkg_is_installed "ca-certificates-java" || \\
component_was_executed "ca-certificates-java"
then
exit 0
fi
# If the keystore is embedded in the image, don't touch it
if [ -e /etc/ssl/certs/java/cacerts ]
then
exit 0
fi
echo -n " ca-certificates-java"
}
Config ()
{
# Re-generate the keystore
touch /var/lib/ca-certificates-java/fresh
dpkg-reconfigure ca-certificates-java
# Creating state file
touch /var/lib/live/config/ca-certificates-java
}
Init
Config
EOF
chmod u=rwx,go=rx /usr/lib/live/config/5000-ca-certificates-java
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,25 +0,0 @@
#!/bin/sh
set -e
# update-dictcommon-aspell creates a file with content depending on PERL_HASH_SEED
# A bug report with patch is available at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1090981
# This script duplicates that patch
# Don't run if the file is not present
if [ ! -e /usr/share/perl5/Debian/DictionariesCommon.pm ];
then
exit 0
fi
# If DictionariesCommon.pm already contains a sort statement at line 656, there is no need to patch the file
if sed -e '656p;d' /usr/share/perl5/Debian/DictionariesCommon.pm | grep -q "foreach my \$k (sort keys"
then
exit 0
fi
# Patch the Perl script (at line 656)
sed -i -e '656s/keys/sort keys/' /usr/share/perl5/Debian/DictionariesCommon.pm
update-dictcommon-aspell
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,7 +0,0 @@
#!/bin/sh
set -e
# Delete all older backups of ucf files
# The current files are /var/lib/ucf/hashfile and /var/lib/ucf/registry
rm -f /var/lib/ucf/hashfile.*
rm -f /var/lib/ucf/registry.*

View File

@ -1,38 +0,0 @@
#!/bin/sh
set -e
# fontconfig creates non-reproducible files with UUIDs
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864082
#
# Because the UUIDs should not be deleted, the proposed work-around is:
# * Use LD_PRELOAD to replace uuid_generate_random with a less random version
# Don't run if fontconfig is not installed
if [ ! -e /usr/bin/fc-cache ];
then
exit 0
fi
# Don't run if fontconfig is sufficiently new
if dpkg --compare-versions $(dpkg-query --show --showformat '${Version}\n' fontconfig | head -1) ge 2.13.1-4.4~;
then
exit 0
fi
# Don't run if there is no font in the initrd.img file
if ! lsinitramfs /initrd.img | grep "^var/cache/fontconfig" | grep ".cache-7$" > /dev/null;
then
exit 0
fi
# Don't run if the LD_PRELOAD module is not compiled
if [ ! -e /usr/lib/unrandomize_uuid_generate_random.so ];
then
echo "P: $(basename $0) Reproducible hook inactive: The UUID module was not found"
exit 0
fi
LD_PRELOAD=/usr/lib/unrandomize_uuid_generate_random.so update-initramfs -k all -u
touch /initrd.img_has_already_been_regenerated
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,41 +0,0 @@
#!/bin/sh
set -e
# 'appstreamcli refresh --source=os' which is invoked by 'apt-get update'
# creates cache files that will be re-generated by live-config.
# These cache files are generated by lb for the C locale, while after boot in
# the live image the actual language is used (default=en_US) when a network
# connection was made. If no network is available 'GNOME Software' still works
# correctly without these cache files.
# Therefore these files can safely be removed from the live image.
#
# However, after all hooks have run, 'apt-get update' is run once again by
# 'chroot_archives chroot remove', therefore the original executable
# 'appstreamcli' is moved away by this script, to be restored upon the next
# invocation.
# Don't run if AppStream is not installed
if [ ! -e /usr/bin/appstreamcli ];
then
exit 0
fi
# Don't run if the version of appstream is too old
if dpkg --compare-versions $(dpkg-query --show --showformat '${Version}\n' appstream | head -1) lt 0.15.2~;
then
exit 0
fi
# Create a wrapper that restores itself on the next invocation
mv /usr/bin/appstreamcli /usr/bin/appstreamcli.orig
cat << EOF > /usr/bin/appstreamcli
#!/bin/sh
/usr/bin/appstreamcli.orig \$@
rm /usr/bin/appstreamcli
mv /usr/bin/appstreamcli.orig /usr/bin/appstreamcli
# Delete the cache files
rm -f /var/cache/swcatalog/cache/C-*.xb
EOF
chmod a+x /usr/bin/appstreamcli
echo "P: $(basename $0) Reproducible hook has been applied"

View File

@ -1,6 +0,0 @@
#!/bin/sh
set -e
# Remove the module and its data file
rm -f /usr/lib/unrandomize_uuid_generate_random.so
rm -f /var/cache/unrandomize_uuid_generate_random.sequence_number

View File

@ -1,11 +0,0 @@
Use these scripts to generate reproducible images.
See the generic Wiki page: https://wiki.debian.org/ReproducibleInstalls/LiveImages
After 'lb config' and before 'lb build' you should copy these hooks:
cp /usr/share/doc/live-build/examples/hooks/reproducible/* config/hooks/normal
or (when using the latest git version):
cp $LIVE_BUILD/examples/hooks/reproducible/* config/hooks/normal

View File

@ -1,8 +1,7 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it

View File

@ -1,81 +0,0 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program 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.
set -e
# Including common functions
[ -n "${LIVE_BUILD}" ] && [ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
# Setting static variables
PROGRAM="${FRONTEND}"
DESCRIPTION="Utility to build live systems"
USAGE="lb {clean|config|build}"
# This bits of code relies on the fact that we only accept
# options without values before the real command.
GLOBAL_ARGS=""
while true; do
case $1 in
-*)
GLOBAL_ARGS="${GLOBAL_ARGS:+$GLOBAL_ARGS }$1"
shift
;;
*)
break
;;
esac
done
Arguments $GLOBAL_ARGS
if [ $# = 0 ]; then
Echo_error "Missing sub-command"
Usage --fail
fi
COMMAND="${1}"
shift
if [ -x "${LIVE_BUILD}/scripts/build/${COMMAND}" ]; then
# User has live-build copied locally in the system
SCRIPT="${LIVE_BUILD}/scripts/build/${COMMAND}"
elif [ -x "local/live-build/scripts/build/${COMMAND}" ]; then
# User has live-build copied locally in the config
SCRIPT="local/live-build/scripts/build/${COMMAND}";
elif [ -x /usr/lib/live/build/${COMMAND} ]; then
# User has live-build installed in the system
SCRIPT=/usr/lib/live/build/"${COMMAND}"
else
Echo_error "Unknown command: ${COMMAND}"
exit 1
fi
if [ "${COMMAND}" != "config" ]; then
# Checking user account
if [ "$(id -u)" -ne "0" ]; then
Echo_error "Root privileges needed!"
exit 1
fi
fi
ENV=""
for _FILE in config/environment config/environment.binary; do
if [ -e "${_FILE}" ]; then
ENV="${ENV} $(grep -v '^#' ${_FILE})"
fi
done
_CMD_LABEL="lb ${COMMAND}"
if [ "${_COLOR_OUT}" = "true" ]; then
_CMD_LABEL="${CYAN}${_CMD_LABEL}${NO_COLOR}"
fi
Echo "[%s] ${_CMD_LABEL} %s" "$(date +'%F %T')" "$(echo ${GLOBAL_ARGS} ${@})"
exec /usr/bin/env ${ENV} "${SCRIPT}" ${GLOBAL_ARGS} "${@}"

21
frontends/cgi/Makefile Normal file
View File

@ -0,0 +1,21 @@
# Makefile
install:
install -D -m 0755 live-build-cgi $(DESTDIR)/usr/lib/cgi-bin/live-build
install -D -m 0755 live-build-cgi.cron $(DESTDIR)/etc/cron.hourly/live-build-cgi
install -D -m 0644 live-build-cgi.crontab $(DESTDIR)/etc/cron.d/live-build-cgi
install -D -m 0644 live-build-cgi.default $(DESTDIR)/etc/default/live-build-cgi
install -D -m 0644 live-build-cgi.logrotate $(DESTDIR)/etc/logrotate.d/live-build-cgi
install -d -m 0755 $(DESTDIR)/var/log
touch $(DESTDIR)/var/log/live
chown www-data:www-data $(DESTDIR)/var/log/live
uninstall:
rm -f $(DESTDIR)/usr/lib/cgi-bin/live-build
rm -f $(DESTDIR)/etc/cron.d/live-build-cgi
rm -f $(DESTDIR)/etc/cron.hourly/live-build-cgi
rm -f $(DESTDIR)/etc/default/live-build-cgi
rm -f $(DESTDIR)/etc/logrotate.d/live-build-cgi
reinstall: uninstall install

208
frontends/cgi/live-build-cgi Executable file
View File

@ -0,0 +1,208 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program 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.
# Including common functions
. /usr/lib/live/build.sh
# Reading defaults
if [ -r /etc/default/live-build-cgi ]
then
. /etc/default/live-build-cgi
else
echo "E: /etc/default/live-build-cgi missing"
exit 1
fi
_HOSTNAME="$(hostname -f)"
# Turn on debug if true
if [ "${_DEBUG}" = "true" ]
then
set -x
fi
# Sending http header
echo "Content-type: text/html"
echo
# Sending html header
cat "${_TEMPLATES}"/header.html
# CGI
if [ -z "${QUERY_STRING}" ]
then
# Sending html form
sed -e "s/VERSION/${VERSION}/" \
-e "s/DATE/`date +%Y%m%d-%H:%M`/" \
"${_TEMPLATES}"/form.html
else
# Converting spaces: sed 's/+/ /g'
# Converting '@': sed 's/%40/@/g'
# Converting ':': sed 's/%3A/:/g'
# Converting ';': sed 's/%3B/\;/g'
# Converting '/': sed 's/%2F/\//g'
# Converting '~': sed 's/%7E/\~/g'
# Converting '=': sed 's/%3D/=/g'
# Converting '+': sed 's/%2B/+/g'
# Translate parameters
QUERY_STRING=$(echo "${QUERY_STRING}" | sed -e 's/%2F/\//g' -e 's/+/ /g' -e 's/%3B/;/g' -e 's/%7E/~/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%3D/=/g' -e 's/%2B/+/g')
# Debug the filtering string
# echo ${QUERY_STRING}
# Email
_EMAIL=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])email=[-0-9a-zA-Z._@]+' | cut -f 2 -d '=' | head -n1)
# CGI Packages List
_LB_CGIPACKAGES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])cgipackages=[-0-9a-zA-Z. _+]+' | cut -f 2 -d '=' | head -n1)
# CGI Config for git
_LB_CONFIG=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])config=[-a-z]+' | cut -f 2 -d '=' | head -n1)
# Standard options
LIVE_IMAGE_TYPE=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])binary_images=[-a-z]+' | cut -f 2 -d '=' | head -n1)
LB_DISTRIBUTION=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])distribution=[a-z]+' | cut -f 2 -d '=' | head -n1)
# Advanced bootstrap options
LIVE_IMAGE_ARCHITECTURE=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])architectures=[0-9a-z]+' | cut -f 2 -d '=' | head -n1)
LIVE_IMAGE_ARCHIVE_AREAS=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])archive_areas=[a-z]+' | cut -f 2 -d '=' | head -n1)
# Advanced chroot options
LB_CHROOT_FILESYSTEM=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])chroot_filesystem=[0-9a-z]+' | cut -f 2 -d '=' | head -n1)
LB_LINUX_FLAVOURS=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])linux_flavours=[-0-9a-z]+' | cut -f 2 -d '=' | head -n1)
LB_SECURITY=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])security=[a-z]+' | cut -f 2 -d '=' | head -n1)
# Advanced binary options
LB_APT_INDICES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])apt_indices=[a-z]+' | cut -f 2 -d '=' | head -n1)
LB_BOOTAPPEND_INSTALL=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])bootappend_install=[-0-9a-zA-Z. _+=:/]+' | cut -f2- -d '=' | head -n1)
LB_BOOTAPPEND_LIVE=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])bootappend_live=[-0-9a-zA-Z. _+=:/]+' | cut -f2- -d '=' | head -n1)
LB_BOOTLOADER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])bootloader=[a-z]+' | cut -f 2 -d '=' | head -n1)
LB_DEBIAN_INSTALLER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])debian_installer=[a-z]+' | cut -f 2 -d '=' | head -n1)
LB_ISO_APPLICATION=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_application=[-0-9a-zA-Z. ~;:/_]+' | cut -f 2 -d '=' | head -n1)
LB_ISO_PREPARER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_preparer=[-0-9a-zA-Z. ~;:/_]+' | cut -f 2 -d '=' | head -n1)
LB_ISO_PUBLISHER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_publisher=[-0-9a-zA-Z. ~;:/_@]+' | cut -f 2 -d '=' | head -n1)
LB_ISO_VOLUME=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_volume=[-0-9a-zA-Z. ~;:/_]+' | cut -f 2 -d '=' | head -n1)
LB_MEMTEST=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])memtest=[0-9a-z+]+' | cut -f 2 -d '=' | head -n1)
LB_NET_ROOT_PATH=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])net_path=[-0-9a-zA-Z._/]+' | cut -f 2 -d '=' | head -n1)
LB_NET_ROOT_SERVER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])net_server=[0-9.]+' | cut -f 2 -d '=' | head -n1)
# Advanced source options
LB_SOURCE=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])source=[a-z]+' | cut -f 2 -d '=' | head -n1)
LB_SOURCE_IMAGES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])source_images=[a-z]+' | cut -f 2 -d '=' | head -n1)
# FIXME: filter invalid options
unset QUERY_STRING
if [ -z "${_EMAIL}" ]
then
echo "<h2><div style='color: red;'>Error: No email address specified.</div></h2>"
sed -e "s/VERSION/${VERSION}/" \
-e "s/DATE/`date +%Y%m%d-%H:%M`/" \
"${_TEMPLATES}"/form.html
exit
fi
# Getting build identifier
_BUILD=$(date +%Y%m%d.%H%M%S.%N)
# Getting number of builds pending.
_QUEUENUM=$(ls "${_TEMPDIR}"/*.build | wc -l)
#echo "${QUERY_STRING}"
# Sending html confirmation
# Note: On each string remember to use a delimeter that is not in the string.
sed -e "s/BUILD/${_BUILD}/g" \
-e "s/EMAIL/${_EMAIL}/" \
-e "s/QUEUENUM/${_QUEUENUM}/" \
-e "s/LIVE_IMAGE_TYPE/${LIVE_IMAGE_TYPE}/" \
-e "s/LB_DISTRIBUTION/${LB_DISTRIBUTION}/" \
-e "s#_LB_CONFIG#${_LB_CONFIG}#" \
-e "s/_LB_CGIPACKAGES/${_LB_CGIPACKAGES}/" \
-e "s/LIVE_IMAGE_ARCHITECTURE/${LIVE_IMAGE_ARCHITECTURE}/" \
-e "s/LIVE_IMAGE_ARCHIVE_AREAS/${LIVE_IMAGE_ARCHIVE_AREAS}/" \
-e "s/LB_CHROOT_FILESYSTEM/${LB_CHROOT_FILESYSTEM}/" \
-e "s/LB_LINUX_FLAVOURS/${LB_LINUX_FLAVOURS}/" \
-e "s/LB_SECURITY/${LB_SECURITY}/" \
-e "s/LB_APT_INDICES/${LB_APT_INDICES}/" \
-e "s#LB_BOOTAPPEND_INSTALL#${LB_BOOTAPPEND_INSTALL}#" \
-e "s#LB_BOOTAPPEND_LIVE#${LB_BOOTAPPEND_LIVE}#" \
-e "s/LB_BOOTLOADER/${LB_BOOTLOADER}/" \
-e "s/LB_DEBIAN_INSTALLER/${LB_DEBIAN_INSTALLER}/" \
-e "s#LB_ISO_APPLICATION#${LB_ISO_APPLICATION}#" \
-e "s#LB_ISO_PREPARER#${LB_ISO_PREPARER}#" \
-e "s#LB_ISO_PUBLISHER#${LB_ISO_PUBLISHER}#" \
-e "s#LB_ISO_VOLUME#${LB_ISO_VOLUME}#" \
-e "s/LB_MEMTEST/${LB_MEMTEST}/" \
-e "s#LB_NET_ROOT_PATH#${LB_NET_ROOT_PATH}#" \
-e "s/LB_NET_ROOT_SERVER/${LB_NET_ROOT_SERVER}/" \
-e "s#SERVER#${_SERVER}#g" \
-e "s/LB_SOURCE_IMAGES/${LB_SOURCE_IMAGES}/" \
-e "s/LB_SOURCE/${LB_SOURCE}/" \
"${_TEMPLATES}"/build.html
# Creating temporary directory
mkdir -p "${_TEMPDIR}"
# Writing build file
cat > "${_TEMPDIR}"/"${_BUILD}".build << EOF
# live-build-cgi "${VERSION}" build file
# `date -R`
_BUILD="${_BUILD}"
_EMAIL="${_EMAIL}"
REMOTE_ADDR="${REMOTE_ADDR}"
# CGI Packages List
_LB_CGIPACKAGES="${_LB_CGIPACKAGES}"
# CGI Config for git
_LB_CONFIG="${_LB_CONFIG}"
# Standard options
LIVE_IMAGE_TYPE="${LIVE_IMAGE_TYPE}"
LB_DISTRIBUTION="${LB_DISTRIBUTION}"
# Advanced bootstrap options
LIVE_IMAGE_ARCHITECTURE="${LIVE_IMAGE_ARCHITECTURE}"
LIVE_IMAGE_ARCHIVE_AREAS="${LIVE_IMAGE_ARCHIVE_AREAS}"
# Advanced chroot options
LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM}"
LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS}"
LB_SECURITY="${LB_SECURITY}"
# Advanced binary options
LB_APT_INDICES="${LB_APT_INDICES}"
LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL}"
LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE}"
LB_BOOTLOADER="${LB_BOOTLOADER}"
LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER}"
LB_ISO_APPLICATION="${LB_ISO_APPLICATION}"
LB_ISO_PREPARER="${LB_ISO_PREPARER}"
LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER}"
LB_ISO_VOLUME="${LB_ISO_VOLUME}"
LB_MEMTEST="${LB_MEMTEST}"
LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH}"
LB_NET_ROOT_SERVER="${LB_NET_ROOT_SERVER}"
# Advanced source options
LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES}"
LB_SOURCE="${LB_SOURCE}"
EOF
echo "$(date +%b\ %d\ %H:%M:%S) ${_HOSTNAME} live-build-cgi: add web build (${_BUILD}) from ${REMOTE_ADDR}." >> /var/log/live
echo "$(date +%b\ %d\ %H:%M:%S) ${_HOSTNAME} live-build-cgi: options ${_BUILD} |email ${_EMAIL}|binary_images ${LIVE_IMAGE_TYPE}|distribution ${LB_DISTRIBUTION}|config ${_LB_CONFIG}|cgipackages ${_LB_CGIPACKAGES}|architectures ${LIVE_IMAGE_ARCHITECTURE}|archive_areas ${LIVE_IMAGE_ARCHIVE_AREAS}|chroot_filesystem ${LB_CHROOT_FILESYSTEM}|linux_flavours ${LB_LINUX_FLAVOURS}|security ${LB_SECURITY}|apt_indices ${LB_APT_INDICES}|bootappend_install ${LB_BOOTAPPEND_INSTALL}|bootappend_live ${LB_BOOTAPPEND_LIVE}|bootloader ${LB_BOOTLOADER}|debian_installer ${LB_DEBIAN_INSTALLER}|iso_application ${LB_ISO_APPLICATION}|iso_preparer ${LB_ISO_PREPARER}|iso_publisher ${LB_ISO_PUBLISHER}|iso_volume ${LB_ISO_VOLUME}|memtest ${LB_MEMTEST}|net_path ${LB_NET_ROOT_PATH}|net_server ${LB_NET_ROOT_SERVER}|source_images ${LB_SOURCE_IMAGES}|sources ${LB_SOURCE}" >> /var/log/live
fi
sed -e "s/VERSION/${VERSION}/" "${_TEMPLATES}"/footer.html

195
frontends/cgi/live-build-cgi.cron Executable file
View File

@ -0,0 +1,195 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program 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.
# Including common functions
. /usr/lib/live/build.sh
# Reading defaults
if [ -r /etc/default/live-build-cgi ]
then
. /etc/default/live-build-cgi
else
echo "E: /etc/default/live-build-cgi missing"
exit 1
fi
# Exit if disabled
if [ "${_WEBBUILD}" != "true" ]
then
exit 0
fi
_HOSTNAME="$(hostname -f)"
# Turn on debug if true
if [ "${_DEBUG}" = "true" ]
then
set -x
fi
# Checking lock file
if [ -f /var/lock/live-build-cgi.lock ]
then
echo "E: live-build-cgi already/still running."
exit 1
fi
# Creating lock trap
trap "test -f /var/lock/live-build-cgi.lock && rm -f /var/lock/live-build-cgi.lock; exit 0" 0 1 2 3 9 15
# Creating lock file
touch /var/lock/live-build-cgi.lock
# Cleanup old builds: cron should be run at least once per hour to take effect
if ls "${_DESTDIR}"/`date -d yesterday +%Y%m%d.%H`* > /dev/null 2>&1
then
rm -rf "${_DESTDIR}"/`date -d yesterday +%Y%m%d.%H`*
echo "`date +%b\ %d\ %H:%M:%S` ${_HOSTNAME} live-build-cgi: remove web build (`date -d yesterday +%Y%m%d.%H`*)." >> /var/log/live
fi
# Ok from here spin through the live-build-cgi files we have waiting to build
#if ls "${_TEMPDIR}"/*.build > /dev/null 2>&1
if Find_files ${_TEMPDIR}/*.build
then
for _FILE in "${_TEMPDIR}"/*.build
do
# Pull in variables from the build file.
. "${_FILE}"
# Clone the git config to target build directory
git clone ${_LB_GIT} "${_TEMPDIR}"/"${_BUILD}" >> /var/log/live
_ERRORGIT="${?}"
# Now set a variable for the correct build path
_BUILD_PATH="${_TEMPDIR}/${_BUILD}/images/${_LB_CONFIG}"
# Drop out some build data for information if something goes wrong.
echo "`date +%b\ %d\ %H:%M:%S` ${_HOSTNAME} live-build-cgi: begin web build (${_BUILD})." >> /var/log/live
# Creating directory for the config/package-lists
mkdir -p "${_BUILD_PATH}"/config/package-lists
# Add cgipackages.list.chroot
if [ -n "${_LB_CGIPACKAGES}" ]
then
echo "${_LB_CGIPACKAGES}" > "${_BUILD_PATH}"/config/package-lists/cgipackages.list.chroot
fi
_DATE_START="`date -R`"
echo "Begin: ${_DATE_START}" > "${_BUILD_PATH}"/log
# Generating config here
if [ "${_ERRORGIT}" -eq "0" ]
then
cd "${_BUILD_PATH}"
# Do config with git and stack on config file params to build
lb config --distribution "${LB_DISTRIBUTION}" --architectures "${LIVE_IMAGE_ARCHITECTURE}" --archive-areas "${LIVE_IMAGE_ARCHIVE_AREAS}" --chroot-filesystem "${LB_CHROOT_FILESYSTEM}" --linux-flavours "${LB_LINUX_FLAVOURS}" --security "${LB_SECURITY}" --apt-indices "${LB_APT_INDICES}" --bootappend-install "${LB_BOOTAPPEND_INSTALL}" --bootappend-live "${LB_BOOTAPPEND_LIVE}" --bootloader "${LB_BOOTLOADER}" --debian-installer "${LB_DEBIAN_INSTALLER}" --iso-application "${LB_ISO_APPLICATION}" --iso-preparer "${LB_ISO_PREPARER}" --iso-publisher "${LB_ISO_PUBLISHER}" --iso-volume "${LB_ISO_VOLUME}" --memtest "${LB_MEMTEST}" --net-root-path "${LB_NET_ROOT_PATH}" --net-root-server "${LB_NET_ROOT_SERVER}" --source-images "${LB_SOURCE_IMAGES}" --source "${LB_SOURCE}"
_ERRORCONFIG="${?}"
else
echo "Config stage skipped. The git clone produced an error: ${_ERRORGIT}" > "${_BUILD_PATH}"/log
fi
# Run build if config went ok
if [ "${_ERRORCONFIG}" -eq "0" ]
then
lb build >> "${_BUILD_PATH}"/log 2>&1
_ERRORBUILD="${?}"
else
echo "Build stage skipped. Config produced an error: ${_ERRORCONFIG}" > "${_BUILD_PATH}"/log
fi
_DATE_END="`date -R`"
echo "End: ${_DATE_END}" >> "${_BUILD_PATH}"/log
# Creating image directory
mkdir -p "${_DESTDIR}"/"${_BUILD}"
# Creating mail and logging.
if [ "${_ERRORGIT}" -eq "0" ] && [ "${_ERRORCONFIG}" -eq "0" ] && [ "${_ERRORBUILD}" -eq "0" ]
then
_STATUS="maybe-successful"
echo "${REMOTE_ADDR} - - `date +[%d/%b/%Y:%H:%m:%S\ %z]` \"${_BUILD} ${LIVE_IMAGE_ARCHITECTURE}/${LB_DISTRIBUTION}/${_LB_CGIPACKAGES}\" 200 - \"-\" \"\"">>/var/log/live-cgi.builds
else
_STATUS="maybe-failed"
echo "${REMOTE_ADDR} - - `date +[%d/%b/%Y:%H:%m:%S\ %z]` \"${_BUILD} ${LIVE_IMAGE_ARCHITECTURE}/${LB_DISTRIBUTION}/${_LB_CGIPACKAGES}\" 404 - \"-\" \"\"">>/var/log/live-cgi.builds
fi
sed -e "s/BUILD/${_BUILD}/g" \
-e "s/EMAIL/${_EMAIL}/" \
-e "s/VERSION/${VERSION}/" \
-e "s/DATE_START/${_DATE_START}/" \
-e "s/DATE_END/${_DATE_END}/" \
-e "s/STATUS/${_STATUS}/" \
-e "s#SERVER#${_SERVER}#" \
"${_TEMPLATES}"/mail.txt > "${_DESTDIR}"/"${_BUILD}"/mail
cat >> "${_DESTDIR}"/"${_BUILD}"/mail << EOF
---
Here's a list of all build-options that were used to build your image:
EOF
cat "${_TEMPDIR}"/"${_BUILD}".build >> "${_DESTDIR}"/"${_BUILD}"/mail
# Moving binary image
#if ls "${_TEMPDIR}"/"${_BUILD}"/binary*.* > /dev/null 2>&1
if Find_files ${_BUILD_PATH}/binary*.*
then
mv "${_BUILD_PATH}"/binary*.* "${_DESTDIR}"/"${_BUILD}"
fi
# Moving source image
#if ls "${_TEMPDIR}"/"${_BUILD}"/source.* > /dev/null 2>&1
if Find_files ${_BUILD_PATH}/source.*
then
mv "${_BUILD_PATH}"/source.* "${_DESTDIR}"/"${_BUILD}"
fi
# Moving build
mv "${_TEMPDIR}"/"${_BUILD}".build "${_DESTDIR}"/"${_BUILD}"/build
# Moving log
mv "${_BUILD_PATH}"/log "${_DESTDIR}"/"${_BUILD}"
# Generating md5sum
cd "${_DESTDIR}"/"${_BUILD}"
md5sum * > md5sum
cd "${OLDPWD}"
# Sending mail
cat "${_DESTDIR}"/"${_BUILD}"/mail | /usr/sbin/sendmail -t
# Unmounting devpts-live
#if ls "${_TEMPDIR}"/"${_BUILD}"/chroot/dev/pts/* > /dev/null 2>&1
if Find_files ${_BUILD_PATH}/chroot/dev/pts/*
then
umount "${_BUILD_PATH}"/chroot/dev/pts
fi
# Unmounting proc
if [ -f "${_BUILD_PATH}"/chroot/proc/version ]
then
umount "${_BUILD_PATH}"/chroot/proc
fi
# Unmounting sysfs
if [ -d "${_BUILD_PATH}"/chroot/sys/kernel ]
then
umount "${_BUILD_PATH}"/chroot/sys
fi
# Removing build directory
rm -rf "${_TEMPDIR}"/"${_BUILD}"
echo "`date +%b\ %d\ %H:%M:%S` ${_HOSTNAME} live-build-cgi: end web build (${_BUILD}: ${_STATUS})." >> /var/log/live
done
fi

View File

@ -0,0 +1,7 @@
# /etc/crontab - system-wide crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
*/1 * * * * root /etc/cron.hourly/live-build-cgi > /dev/null 2>&1

View File

@ -0,0 +1,15 @@
# Defaults for /etc/cron.daily/live-build-cgi
_WEBBUILD="false"
_MODE="debian"
_DEBUG="false"
_DESTDIR="/srv/debian-live/build/www"
_TEMPLATES="/usr/share/live/build/templates/cgi/${_MODE}"
_TEMPDIR="/srv/debian-live/build/tmp"
_SERVER="http://live.debian.net/build"
_LB_GIT="git://live-systems.org/git/live-images.git"

View File

@ -0,0 +1,11 @@
# /etc/logrotate.d/live-build
/var/log/live
{
compress
copytruncate
missingok
monthly
notifempty
rotate 24
}

View File

@ -1,8 +1,7 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2016-2020 The Debian Live team
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
@ -16,14 +15,18 @@ Find_files ()
In_list ()
{
local NEEDLE="${1}"
NEEDLES="${1}"
shift
local ITEM
for ITEM in "${@}"; do
if [ "${NEEDLE}" = "${ITEM}" ]; then
return 0
fi
for ITEM in ${@}
do
for NEEDLE in ${NEEDLES}
do
if [ "${NEEDLE}" = "${ITEM}" ]
then
return 0
fi
done
done
return 1
@ -31,11 +34,8 @@ In_list ()
Truncate ()
{
local FILE
for FILE in "${@}"; do
if [ ! -L ${FILE} ]
then
: > ${FILE}
fi
for FILE in ${@}
do
: > ${FILE}
done
}

124
functions/architectures.sh Executable file
View File

@ -0,0 +1,124 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program 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.
Check_architectures ()
{
ARCHITECTURES="${@}"
VALID="false"
for ARCHITECTURE in ${ARCHITECTURES}
do
if [ "$(echo ${LIVE_IMAGE_ARCHITECTURE} | grep ${ARCHITECTURE})" ]
then
VALID="true"
break
fi
done
if [ "${ARCHITECTURES}" = "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" ]
then
VALID="true"
if [ ! -e "${LB_BOOTSTRAP_QEMU_STATIC}" ]
then
Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_ARCHITECTURES} was not found"
VALID="false"
fi
if [ ! -x "${LB_BOOTSTRAP_QEMU_STATIC}" ]
then
Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_STATIC} is not executable"
VALID="false"
fi
fi
if [ "${VALID}" = "false" ]
then
Echo_warning "skipping %s, foreign architecture(s)." "${0}"
exit 0
fi
}
Check_crossarchitectures ()
{
if [ -x /usr/bin/dpkg ]
then
HOST="$(dpkg --print-architecture)"
else
HOST="$(uname -m)"
fi
case "${HOST}" in
amd64|i386|x86_64)
CROSS="amd64 i386"
;;
powerpc|ppc64)
CROSS="powerpc ppc64"
;;
*)
CROSS="${HOST}"
;;
esac
if [ "${LIVE_IMAGE_ARCHITECTURE}" = "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" ]
then
if [ ! -e "${LB_BOOTSTRAP_QEMU_STATIC}" ]
then
Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_ARCHITECTURES} was not found"
exit 0
fi
if [ ! -x "${LB_BOOTSTRAP_QEMU_STATIC}" ]
then
Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_STATIC} is not executable"
exit 0
fi
return
fi
Check_architectures "${CROSS}"
}
Check_multiarchitectures ()
{
if [ "$(echo ${LIVE_IMAGE_ARCHITECTURE} | wc -w)" -gt "1" ]
then
# First, only support multiarch on iso
case "${LIVE_IMAGE_TYPE}" in
iso*)
# Assemble multi-arch
case "${LB_CURRENT_ARCHITECTURE}" in
amd64)
DESTDIR="${DESTDIR}.amd"
DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
;;
i386)
DESTDIR="${DESTDIR}.386"
DESTDIR_LIVE="${DESTDIR_LIVE}.386"
DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
;;
powerpc)
DESTDIR="${DESTDIR}.ppc"
DESTDIR_LIVE="${DESTDIR_LIVE}.ppc"
DESTDIR_INSTALL="${DESTDIR_INSTALL}.ppc"
;;
esac
;;
esac
fi
}

Some files were not shown because too many files have changed in this diff Show More