Commit Graph

46 Commits

Author SHA1 Message Date
Luca Boccassi 9a0c6102fd Fix build with local offline mirrors
Commit a15b579652 (#775989) dropped an early exit from the
chroot_archives remove step in case the parent mirror chroot and binary
parameters are the same and introduced a regression, as with the
following live-build now fails when the parent mirror is using a file:/
local apt repository (for example when the build worker is offline and
uses a pre-built cache of packages).

Example config:

  lb config --mirror-bootstrap "file:/pkgs" \
    --mirror-chroot "file:/pkgs/" \
    --mirror-binary "file:/pkgs" \
    --parent-mirror-bootstrap "file:/pkgs" \
    --parent-mirror-chroot "file:/pkgs/" \
    --parent-mirror-binary "file:/pkgs" \
    ...

with /pkgs being a directory with the packages for the installation and
the apt metadata (Packages/Sources/Release).

The problem is that, with such a setup, the /pkgs directory is bind
mounted inside the chroot as an optimisation in the install step,
and umounted as one of the first actions in the remove step for
chroot_archives.

Before that fix, the script terminated immediately. But now it
progresses and at the end it tries to run apt update inside the chroot
which will fail since the repository directory has been umounted, and
thus the packages and the apt metadata are no longer available, while
still being listed in /etc/apt/sources.list.

The proposed solution is to umount the local directory at the end of
the remove step, rather than at the beginning.

Closes: #891206
2018-02-23 14:04:59 +00:00
Raphaël Hertzog a15b579652 Drop an optimization in chroot_archives that has undesired side-effects
Thanks to jnqnfe for the patch.

Closes: #775989
2016-11-28 21:48:18 +01:00
Sophie Brun e92dbc3696 Handle packages.chroot with an explicitly trusted file:// repository
Up to now we created a temporary GPG key that we registered with apt-key
but with the switch to GnuPG 2 by default, this code broke. Now we stop
doing that but we add the “trusted=yes“ attribute in sources.list so
that APT knows that the repository can be trusted even if it's unsigned.

Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
2016-10-28 08:57:37 +02:00
Daniel Baumann 2dcb4dc06e Updating stat calls to also give the right result in container setups, thanks to Kristian Klausen <klausenbusk@hotmail.com> (Closes: #789300). 2015-08-10 21:45:00 +02:00
Daniel Baumann 279a149d8a Dropping automagics for ubuntu.
Future live-build versions will still allow to use casper,
but its configuration will be done differently by a custom
config tree, rather than embedded and maintenance intensive
code in live-build itself.
2015-05-03 16:03:10 +02:00
Daniel Baumann 242aef5d83 Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
Daniel Baumann fdc9250bca Changing package dependency checks within chroot to work outside as well. 2015-01-04 18:19:47 +01:00
Daniel Baumann cb7e5f256c Cleaning up from python removal (LIVE_IMAGE_PARENT_ARCHIVE_AREAS). 2014-12-10 09:19:07 +01:00
Jan Blunck 9d5639e9a0 Bind local repository into chroot directory.
If a local repository path is given as a mirror URL lets bind it into the
chroot. The local repository will be unmounted while processing "remove" or
latest by the exit function.
2014-12-10 08:43:02 +01:00
Daniel Baumann 57dd8c6376 Correcting typo in apt.conf.d directory name, thanks to jnqnfe <jnqnfe@gmail.com> (Closes: #771392). 2014-12-10 07:56:10 +01:00
Daniel Baumann 2eecd1b814 Cleaning up from python removal (LIVE_IMAGE_ARCHIVE_AREAS). 2014-12-10 07:41:29 +01:00
Daniel Baumann 1f7f6dd88a Cleaning up from python removal (LIVE_IMAGE_ARCHITECTURE). 2014-12-10 07:39:58 +01:00
Daniel Baumann 61a166adea Applying patch from Gabriele Gristina <gabriele.gristina@gmail.com> to fix automated checks for using aptitude. 2014-11-10 19:48:53 +01:00
Daniel Baumann eb336bb782 Updating copyright notices for 2014. 2014-02-08 17:47:24 +01:00
Jan Blunck ddb8ad5dae Selectively remove chroot-only APT configuration and preferences instead of wiping everything. 2013-09-18 10:48:21 +02:00
Jan Blunck 4d9c77d20e Remove chroot-only configured apt sources in chroot_archives remove.
If an archive is configured with *.chroot extension remove it when
deconfiguring chroot/etc/apt/sources.list.d directory.
2013-09-18 10:36:31 +02:00
Daniel Baumann 4e9c7ee662 Removing some leftovers in chroot_archives from --archives removal. 2013-07-01 16:08:33 +02:00
Daniel Baumann 613f8cfd6d Dropping global archive definitions shipped in /usr/share/live/build/archives (same as with packagelists, hidden archive 'magic' is gone now in favour of explicit config tree configuration). 2013-06-25 09:12:03 +02:00
Daniel Baumann 68700f466c Dropping dedicated updates (formerly volatile) mirror handling, not needed anymore. 2013-05-06 14:50:07 +02:00
Daniel Baumann dd15ade8bb Dropping dedicated backports mirror handling, not needed anymore with the move of backports.d.o into ftp.d.o. 2013-05-06 14:50:07 +02:00
Daniel Baumann c287072126 Debranding package for derivatives. 2013-05-06 14:50:07 +02:00
Daniel Baumann 59ce459f40 Removing all references to my old email address. 2013-05-06 14:50:06 +02:00
Daniel Baumann 48939b9ac9 Harmonize handling of pre-existing gnupg dotfiles in chroot when handling fake signing keys for local repository. 2013-05-06 14:50:06 +02:00
Daniel Baumann d06b25079f Adding bootrap_archive-keys to establish secure trust-chain on top of debian-keyring for derivatives. 2013-05-06 14:50:05 +02:00
Daniel Baumann 07ffebc750 Correcting apt-key cleanup of local dummy signing keys when using local packages, thanks to jhcha54008 <jhcha54008@free.fr>. 2013-05-06 14:50:04 +02:00
Daniel Baumann 62d94a4454 Updating year in all copyright notices. 2013-05-06 14:50:03 +02:00
Daniel Baumann 5123ca4547 Moving off binary image parent archive areas into new config tree format. 2013-05-06 14:50:03 +02:00
Daniel Baumann 4c7518fd76 Moving off binary image archive areas into new config tree format. 2013-05-06 14:50:03 +02:00
Daniel Baumann 6499442212 Moving off binary image architecture into new config tree format. 2013-05-06 14:50:03 +02:00
Daniel Baumann 5e07604353 Removing kubuntu mode, it's not different anymore to standard ubuntu mode. 2013-05-06 14:50:02 +02:00
Daniel Baumann a70409e1f2 Adding support for local apt conf.d snippets in archive definitions (Closes: #685791). 2013-05-06 14:50:01 +02:00
Daniel Baumann bc985a6a32 Harmonizing apt configuration handling in chroot_archives. 2013-05-06 14:50:01 +02:00
Daniel Baumann d1047e809a Adding debian version 4.0~a1-1. 2013-05-06 14:48:46 +02:00
Daniel Baumann 4259fcac5d Harmonize handling of pre-existing gnupg dotfiles in chroot when handling fake signing keys for local repository. 2013-04-09 05:40:16 +02:00
Daniel Baumann 628c93f923 Adding bootrap_archive-keys to establish secure trust-chain on top of debian-keyring for derivatives. 2013-02-08 21:40:27 +01:00
Daniel Baumann 9ec95b51a7 Correcting apt-key cleanup of local dummy signing keys when using local packages, thanks to jhcha54008 <jhcha54008@free.fr>. 2013-01-19 12:50:03 +01:00
Daniel Baumann a203b86fdd Updating year in all copyright notices. 2013-01-01 00:13:01 +01:00
Daniel Baumann 7e8240cd5e Removing kubuntu mode, it's not different anymore to standard ubuntu mode. 2012-12-17 13:51:44 +01:00
Daniel Baumann 6a206425e8 Adding support for local apt conf.d snippets in archive definitions (Closes: #685791). 2012-12-04 12:07:51 +01:00
Daniel Baumann dabe28bdd3 Harmonizing apt configuration handling in chroot_archives. 2012-12-04 12:04:47 +01:00
Daniel Baumann 3138b1a4fa Correcting copying of archive specific apt preferences files, thanks to Thanatermesis <thanatermesis@gmail.com> (Closes: #693250). 2012-11-14 21:54:42 +01:00
Daniel Baumann 9a33f681fa Removing unecessary removal of apt preferences.
When we rebuild an image with changed local archives,
we would preferably remove the already existing preferences files.
However, there's no way to make sure that we remove enough or too
much, hence we don't remove any at all and stay with the dogma:

  "If you change something in the config tree affecting $stage,
   you need to rebuild that stage from scratch."

So for pinning changes for local archives, this means, since it's
affecting the chroot stage, we'll have to rebuild the chroot stage:

  "lb clean --chroot && lb chroot"
2012-10-25 14:00:36 +02:00
Daniel Baumann 2caef33ea2 Renaming progress mode to progress-linux to match the used naming scheme. 2012-10-25 13:36:18 +02:00
Daniel Baumann 26f2278a23 Supporting parent distribution as a variable field in archive definitions. 2012-09-30 20:14:05 +02:00
Daniel Baumann 9228a0ca66 Renaming volatile options refering to volatile archive to updates to match current archive namings. 2012-09-26 14:43:12 +02:00
Daniel Baumann a0a5bbfd1c Dropping lb prefix from live-build scripts, not needed anymore.
Previously, we needed to keep the lb_* prefix as the scripts
could also be executed standalone. Since the lb wrapper is
mandatory since squeeze, we can drop this now.
2012-08-27 16:05:49 +02:00