-
baseimage: support bootstrapping in docker container
- use docker container instead of sudo for debootstrap run
- enabled when image is defined via
$DISTRO_BUILDER_IMAGE
- enabled it for Devuan targets
-
baseimage: optimized post-install steps (eg. apt-mark or file removal)
- formerly was done by looping through lists and calling the jail'ed commands separately
- now running in one command, thus only entering the jail once
- downside: can't use wildcards anymore (would be expanded outside jail/container)
-
baseimage: automatically install debootstrap
- bootstrapping jail might not have debootstrap installed, so install it automatically
- needed for dockerized bootstrapping w/ offical images
-
baseimage: caching rootfs tarballs
- rootfs tarballs are now cached and automatically reused (used to be temporary-only)
- helpful for CI's that always run fresh environments, but are able to cache/restore individual directories
- cache prefix can be defined via
$DCK_BUILDPACKAGE_TARBALL_CACHE
- default is still
/tmp/dck-buildpackage/debootstrap-tarballs/
-
baseimage: support setting distro variant to bootstrap
- target configs now can set it via
$DISTRO_VARIANT
- passed as
--variant
parameter to debootstrap
- target configs now can set it via
-
builder: fix missing
/tmp
inside container- rootfs images might be heavily trimmed down and lacking
/tmp
- make sure it always exists before doing anything else
- rootfs images might be heavily trimmed down and lacking
-
targets: Devuan: fix missing
usr-is-merged
package- on recent Debian, debootstrap wants to install
usr-is-merged
, which is not present on older releases - since it's never needed on Devuan, just add it to the
$DISTRO_EXCLUDE
list
- on recent Debian, debootstrap wants to install
-
targets: Devuan: rename
dng-*
targets todevuan-*
- Fixing target naming scheme
- Old names kept for backwards compatibility
-
targets: additions and removals
- add: Devuan Daedalus
- add: Devuan Testing
- add: Devuan Unstable
- drop: Devuan ASCII and Jessie (dead)
-
baseimage: add setting for extra packages
$DISTRO_EXTRA_PACKAGES
config variable for installing extra packages- installing happens before the cleanup phase
-
baseimage: use bundled bootstrap scripts
- some hosts lacking the right bootstrap scripts for certain distros
- keeping a bundled copy, which will be maintained along w/ target configs
-
builder: fix untrusted local repos
- Recent apt refuses to install from untrusted repos
- locally built repo needs to be explicitly set as trusted
-
builder: autogenerate
debian/changes
when needed- some packages want their debian/changes file generated
debian/rules
- calling
./debian/rules debian/changes
in that case
- some packages want their debian/changes file generated
-
targets: additions and removals:
- add: Devuan Beowulf
- add: Devuan Chimaera
- add: Ubuntu Focal
- drop: Ubuntu Trusty (dead)
-
targets: consolidated target configs
- consolidate common parts from arch specific distro targets
- most things now done in common include's
- per release includes that are just referenced by per arch targets
- consolidated keyring files
- updated debootstrap scrips
-
builder: fix broken permissions after build:
- Container's temporary source tree (fed in by the outside) can become inaccessible to host user
- Fixing it inside the container by just removing it
-
builder: fix unnecessary chown of generated apt repo
- picking out deb's and generating apt indices now runs as unprivileged user
- no need to
sudo chown
anymore
-
builder: record latest deb file names
- debs of last build run collected at:
<repo-prefix>/stat/<distro>/<pkg>/latest-debs
- higher level tools can pick it from there, e.g. for automatic tests
- debs of last build run collected at:
-
builder: ccache support
- ccache data put into a separate volume called
dckbp-ccache-$DISTRO_TAG
- ccache data put into a separate volume called
-
builder: generate
debian/control
- Some packages need to generate
debian/control
bydebian/rules
- installing deps via
debian/control.bootstrap
, then calldebian/rules
to generatedebian/control
- Some packages need to generate
-
builder: allow passing source package name via environment
- Some packages need to use a different source package name
- This can be passed via
$DCK_BUILDPACKAGE_SOURCE
environment variable
-
builder: check for uuidgen tool
- Sanity check for uuidgen tool installed
- Prevent silent failures that could go unnoticed and corrupt build
-
targets: additions
- Debian Stretch (i386/amd64)
- Devuan ASCII (i386)
-
targets: fix devuan apt repo
- Devuan's mirror cluster (auto.mirror.devuan.org) seems unstable
- using primary mirror: http://deb.devuan.org/merged
- Updated keyring