]>
git.ipfire.org Git - thirdparty/mkosi.git/log
Joerg Behrmann [Thu, 20 Aug 2020 12:42:29 +0000 (14:42 +0200)]
move do-a-release.sh to tools directory
Joerg Behrmann [Thu, 20 Aug 2020 12:41:20 +0000 (14:41 +0200)]
add generate-zipapp.sh script to generate a zipapp
Joerg Behrmann [Fri, 14 Aug 2020 14:20:59 +0000 (16:20 +0200)]
ci: add installation tests
Joerg Behrmann [Fri, 14 Aug 2020 14:09:54 +0000 (16:09 +0200)]
Statically set the program name in the argument parser
Joerg Behrmann [Sun, 9 Aug 2020 09:21:09 +0000 (11:21 +0200)]
Eschew using an entrypoint for an explicit wrapper script
Joerg Behrmann [Sat, 8 Aug 2020 21:53:11 +0000 (23:53 +0200)]
Revert "Revert: Make mkosi a python module and generate script via entrypoint"
This reverts commit
7b86ed98f07d20a46aaeaa64db03499b443412e9 .
Joerg Behrmann [Mon, 17 Aug 2020 18:32:22 +0000 (20:32 +0200)]
generate a new man page for a release
Daan De Meyer [Sun, 16 Aug 2020 17:44:52 +0000 (18:44 +0100)]
Arch: Use Arch mirrorlist generator to get a list of mirrors.
Fixes #467 and puts us in a good spot for when pacman 6.0 releases with
parallel download support.
Daan De Meyer [Sun, 16 Aug 2020 16:32:00 +0000 (17:32 +0100)]
Merge pull request #514 from DaanDeMeyer/ci-boot
CI: Add systemd-nspawn boot test
Daan De Meyer [Sat, 15 Aug 2020 21:20:10 +0000 (22:20 +0100)]
CI: Add systemd-nspawn boot test
Daan De Meyer [Sun, 16 Aug 2020 00:16:59 +0000 (01:16 +0100)]
OpenMandriva: Disable pam_securetty
Daan De Meyer [Sun, 16 Aug 2020 00:16:45 +0000 (01:16 +0100)]
Mageia: Disable pam_securetty
Daan De Meyer [Sun, 16 Aug 2020 00:04:39 +0000 (01:04 +0100)]
Use --volatile=overlay when booting generated_root() images
These aren't meant to be modified after being created so make sure that
writes don't fail by mounting a tmpfs overlay on top when booting.
Daan De Meyer [Sat, 15 Aug 2020 23:19:19 +0000 (00:19 +0100)]
Only require --bootable for --qemu-headless when building
Daan De Meyer [Sat, 15 Aug 2020 22:10:50 +0000 (23:10 +0100)]
OpenSUSE: Add systemd package
Daan De Meyer [Sat, 15 Aug 2020 21:44:57 +0000 (22:44 +0100)]
OpenSUSE: Simplify
Daan De Meyer [Sat, 15 Aug 2020 20:33:13 +0000 (21:33 +0100)]
Ignore mypy false positives and update to latest version
Daan De Meyer [Sat, 15 Aug 2020 18:31:42 +0000 (19:31 +0100)]
Drop --verbose flag when running dracut
Daan De Meyer [Sat, 15 Aug 2020 14:56:28 +0000 (15:56 +0100)]
Ubuntu/Debian: Simplify installation and drop some outdated workarounds
Daan De Meyer [Sat, 15 Aug 2020 17:19:33 +0000 (18:19 +0100)]
Merge pull request #510 from DaanDeMeyer/check-default
Make run() set check=True by default
Daan De Meyer [Sat, 15 Aug 2020 10:39:50 +0000 (11:39 +0100)]
Make run_workspace_command take the command as a list
Consistent with how run() takes its command.
Daan De Meyer [Sat, 15 Aug 2020 09:35:08 +0000 (10:35 +0100)]
Arch: Make pacman hooks more generic
It's generally good to not depend on specific packages in pacman hooks
since it doesn't take new packages into account. To get around, this we
can simply depend on the /usr/lib/kernel/install.d directory so any
package that installs a file into this directory can plug into the
pacman hook.
One annoyance we can't solve without package specific information in the
pacman hook is packages that themself support hook directories that
other packages can install to. This would require a mechanism in pacman
where packages can contribute triggers to hooks installed by other
packages.
Daan De Meyer [Sat, 15 Aug 2020 10:24:28 +0000 (11:24 +0100)]
Make run() set check=True by default
Daan De Meyer [Thu, 13 Aug 2020 19:57:23 +0000 (20:57 +0100)]
Interpret CLI args as nspawn args when verb == "boot"
Normal command line args are ignored by nspawn when --boot is used.
Instead of doing nothing with them, let's allow users to pass nspawn
args via the command line directly when boot is used.
Daan De Meyer [Sat, 8 Aug 2020 19:33:14 +0000 (20:33 +0100)]
Add setup-mkosi Github Action
We want to make it easy to set up mkosi based CI for other Linux
userspace projects on Github. By extracting all the tedious building of
dependencies out into a Github Actions, other projects can start using
mkosi for CI by simply adding 'uses: actions/setup-mkosi' to their
Github Actions workflow.
Joerg Behrmann [Sat, 8 Aug 2020 21:44:20 +0000 (23:44 +0200)]
Revert: Make mkosi a python module and generate script via entrypoint
This commit reverts
5c9faf85fd6cc3101bbed9c506bfcce612102eae
97f22b9fada69687127c8086e9ea4ee869a33c15
0e477deeabb51e99ce4f85538b079ed8b42b250d
because the entrypoint console_script does not work properly when called with
sudo when not installed in a virtual environment, since the python binary is
unable to find the mkosi module in its search path.
Daan De Meyer [Sat, 8 Aug 2020 22:26:55 +0000 (23:26 +0100)]
Revert "Add note to README that `sudo python -m mkosi` should be used to run"
This reverts commit
ba62763ad0858753fe473c43ff6705353f9ab0d0 .
Daan De Meyer [Sat, 8 Aug 2020 22:08:35 +0000 (23:08 +0100)]
Add note to README that `sudo python -m mkosi` should be used to run
mkosi
Daan De Meyer [Sat, 8 Aug 2020 18:32:53 +0000 (19:32 +0100)]
Merge pull request #499 from behrmann/manpage2
Manpage and entrypoint fix
Joerg Behrmann [Sat, 8 Aug 2020 16:54:29 +0000 (18:54 +0200)]
Fix entrypoint installation
Joerg Behrmann [Sat, 8 Aug 2020 16:48:52 +0000 (18:48 +0200)]
Install the man page
Joerg Behrmann [Sat, 8 Aug 2020 15:00:39 +0000 (17:00 +0200)]
Fix man page generation
Daan De Meyer [Sat, 8 Aug 2020 16:24:43 +0000 (17:24 +0100)]
Merge pull request #401 from behrmann/entrypoint
Use entrypoint to generate mkosi instead of symlink
Joerg Behrmann [Sat, 8 Aug 2020 12:22:22 +0000 (14:22 +0200)]
Explain the installation in the README
Joerg Behrmann [Thu, 30 Jul 2020 18:45:06 +0000 (20:45 +0200)]
Make mkosi a python module and generate script via entrypoint
Blair Bonnett [Fri, 24 Jul 2020 10:06:31 +0000 (12:06 +0200)]
Fix default source file transfer
According to the man page, --source-file-transfer "defaults to
copy-git-cached if a git source tree is detected, otherwise copy-all".
However the existing code only sets it to copy-git-cached if a .git
folder exists and leaves it at None otherwise, meaning a non-Git source
is never transferred.
Daan De Meyer [Sat, 8 Aug 2020 11:37:03 +0000 (12:37 +0100)]
Merge pull request #490 from DaanDeMeyer/arch-kernel-install-hooks
Unified kernel images improvements
Daan De Meyer [Fri, 7 Aug 2020 21:15:02 +0000 (22:15 +0100)]
Fedora: Capitalize rawhide in repository full name
Daan De Meyer [Fri, 7 Aug 2020 21:13:57 +0000 (22:13 +0100)]
Fedora: Fall back to fedora.gpg if key id is not in FEDORA_KEYS_MAP.
Daan De Meyer [Fri, 7 Aug 2020 18:55:15 +0000 (19:55 +0100)]
Arch: Add bootctl update pacman hook
Daan De Meyer [Sat, 8 Aug 2020 00:13:33 +0000 (01:13 +0100)]
Fix --subvolume --read-only combo
Fixes #145
Daan De Meyer [Fri, 7 Aug 2020 18:53:55 +0000 (19:53 +0100)]
Use bootctl install instead of manually copying systemd-boot to $BOOT
Daan De Meyer [Thu, 6 Aug 2020 17:40:44 +0000 (18:40 +0100)]
Arch: Drop pacstrap dependency
We have all the bits and pieces necessary to re-implement its
functionality.
Daan De Meyer [Thu, 6 Aug 2020 07:28:13 +0000 (08:28 +0100)]
Simplify grub installation
Daan De Meyer [Wed, 5 Aug 2020 20:48:33 +0000 (21:48 +0100)]
Make sure serial-getty override parent directories exist
Daan De Meyer [Wed, 5 Aug 2020 20:43:14 +0000 (21:43 +0100)]
Make warning messages yellow and simplify warn()
Daan De Meyer [Wed, 5 Aug 2020 20:38:52 +0000 (21:38 +0100)]
Collapse print_error() into die()
Daan De Meyer [Wed, 5 Aug 2020 20:37:32 +0000 (21:37 +0100)]
Add --qemu-headless to option summary
Daan De Meyer [Wed, 5 Aug 2020 20:36:19 +0000 (21:36 +0100)]
Add --without-unified-kernel-images option
Specifying this option makes mkosi install kernels with a separate
initrd and boot loader config.
Daan De Meyer [Wed, 5 Aug 2020 20:11:43 +0000 (21:11 +0100)]
Docs: Remove trailing whitespace
Daan De Meyer [Wed, 5 Aug 2020 19:33:47 +0000 (20:33 +0100)]
Arch: Drop UseSyslog from the pacman config
It clutters the log at warning level and doesn't provide much benefit.
Daan De Meyer [Mon, 3 Aug 2020 18:42:53 +0000 (19:42 +0100)]
Arch: Simplify kernel logic
Daan De Meyer [Tue, 4 Aug 2020 18:46:20 +0000 (19:46 +0100)]
Arch: Switch to dracut
Daan De Meyer [Mon, 3 Aug 2020 18:27:06 +0000 (19:27 +0100)]
Arch: Add kernel-install pacman hooks
We keep mkinitcpio disabled and replace the mkinitpcio and depmod pacman
hooks by kernel-install hooks instead.
Daan De Meyer [Mon, 3 Aug 2020 16:22:23 +0000 (17:22 +0100)]
Arch: Enable pacman colors
We use colors in the rest of mkosi so no reason to explicitly disable
them in pacman.
Daan De Meyer [Mon, 3 Aug 2020 16:20:58 +0000 (17:20 +0100)]
Arch: Drop removal of packages
Leftover from a time where base still included way too much stuff. Can
be removed now that Arch's base group is much leaner.
Daan De Meyer [Tue, 4 Aug 2020 18:46:47 +0000 (19:46 +0100)]
Regenerate unified kernel images when installing/updating kernels in
image.
This also removes --add qemu and --add-drivers squashfs from the dracut
command line as these are added by default in recent versions.
Daan De Meyer [Thu, 6 Aug 2020 23:13:12 +0000 (00:13 +0100)]
Fix btrfs EEXIST error when using cached images
Fixes #416
Daan De Meyer [Thu, 6 Aug 2020 16:00:03 +0000 (17:00 +0100)]
CentOS: Fix --mirror
Daan De Meyer [Wed, 5 Aug 2020 17:49:46 +0000 (18:49 +0100)]
Fedora: Fix --mirror
Daan De Meyer [Mon, 3 Aug 2020 23:16:44 +0000 (00:16 +0100)]
opensuse: Add binutils
Daan De Meyer [Tue, 4 Aug 2020 23:58:50 +0000 (00:58 +0100)]
Merge pull request #486 from DaanDeMeyer/ci-tdnf
Ci tdnf
Daan De Meyer [Fri, 31 Jul 2020 20:10:07 +0000 (21:10 +0100)]
Add photon to CI
We build tdnf along with the centos dependencies as it needs libsolv as
well and splitting everything up in separate steps is relatively more
complexity for a little extra run time.
We should look into caching the dependency building so we don't rebuild
the same dependencies each build.
Daan De Meyer [Fri, 31 Jul 2020 21:48:27 +0000 (22:48 +0100)]
Fix photon default release
Daan De Meyer [Fri, 31 Jul 2020 20:13:32 +0000 (21:13 +0100)]
Rename CI steps
Daan De Meyer [Fri, 31 Jul 2020 20:08:49 +0000 (21:08 +0100)]
Install zypper along with all other apt packages
Simpler build config > minimal performance win
Daan De Meyer [Mon, 3 Aug 2020 16:42:29 +0000 (17:42 +0100)]
Merge pull request #489 from DaanDeMeyer/ci-bootable
Add bootable builds to CI
Daan De Meyer [Sun, 2 Aug 2020 18:38:29 +0000 (19:38 +0100)]
Add bootable CI builds
Daan De Meyer [Sat, 1 Aug 2020 20:14:44 +0000 (21:14 +0100)]
Enable BIOS on all distros
Daan De Meyer [Sun, 2 Aug 2020 18:44:17 +0000 (19:44 +0100)]
Gracefully handle BIOS + --minimize/gpt_squashfs combo
Using grub on generated_root() images currently has problems as there is
a circular dependency between the root partition wanting to have grub
installed before being generated and grub wanting the root partition to
be generated before being installed.
It might be possible to get this working but until we do it's better to
explicitly fail when users try to do this.
Daan De Meyer [Sun, 2 Aug 2020 18:32:58 +0000 (19:32 +0100)]
Gracefully handle hybrid BIOS/UEFI images on Clear Linux
Clear Linux's bootloader clr-boot-manager supports either BIOS or UEFI
but not both.
Daan De Meyer [Sun, 2 Aug 2020 18:29:43 +0000 (19:29 +0100)]
Fail gracefully when trying to install Clear Linux on btrfs
Clear Linux does not yet support btrfs.
Daan De Meyer [Sun, 2 Aug 2020 12:22:59 +0000 (13:22 +0100)]
Only mount necessary loop device and partitions when installing bootloaders
Daan De Meyer [Sat, 1 Aug 2020 22:32:15 +0000 (23:32 +0100)]
Don't try to install systemd-boot on Clear Linux
Clear Linux has its own modified version of systemd-boot already.
Daan De Meyer [Sun, 2 Aug 2020 12:22:44 +0000 (13:22 +0100)]
Install systemd on Clear Linux
Daan De Meyer [Sun, 2 Aug 2020 12:02:22 +0000 (13:02 +0100)]
Add workspace-command debug option
Daan De Meyer [Sat, 1 Aug 2020 21:29:31 +0000 (22:29 +0100)]
Fix BIOS on OpenSUSE
Daan De Meyer [Sat, 1 Aug 2020 20:48:42 +0000 (21:48 +0100)]
Fix CentOS EPEL bootloader installation
Daan De Meyer [Sat, 1 Aug 2020 20:41:49 +0000 (21:41 +0100)]
Add plain_squashfs to output formats that cannot be booted.
Daan De Meyer [Sat, 1 Aug 2020 20:39:09 +0000 (21:39 +0100)]
Fail gracefully when trying to use btrfs on CentOS 8
Daan De Meyer [Sat, 1 Aug 2020 20:36:02 +0000 (21:36 +0100)]
Install correct grub package on openmandriva and mageia
Daan De Meyer [Sat, 1 Aug 2020 14:13:47 +0000 (15:13 +0100)]
Workaround nspawn PATH bug
See https://github.com/systemd/systemd/pull/16645
Daan De Meyer [Mon, 27 Jul 2020 20:12:42 +0000 (21:12 +0100)]
Require --merged-usr support in debootstrap.
Let's assume debootstrap is recent enough to support --merged-usr. The
option was added in 2016 so it should be widely available now.
Joerg Behrmann [Fri, 31 Jul 2020 16:57:12 +0000 (18:57 +0200)]
add whitespace
Joerg Behrmann [Fri, 31 Jul 2020 16:08:08 +0000 (18:08 +0200)]
ci: add openSUSE
Daan De Meyer [Thu, 30 Jul 2020 18:32:16 +0000 (19:32 +0100)]
Drop semaphore CI
Superseded by Github Actions
Daan De Meyer [Thu, 30 Jul 2020 18:36:25 +0000 (19:36 +0100)]
Merge unit-test and mypy workflows
Reduces duplication and saves us one machine usable for the main CI
workflow.
Daan De Meyer [Thu, 30 Jul 2020 18:10:15 +0000 (19:10 +0100)]
Don't depend on python3 being at /usr/bin/python3
Daan De Meyer [Thu, 30 Jul 2020 18:27:26 +0000 (19:27 +0100)]
Merge pull request #476 from DaanDeMeyer/dnf-improvements
Dnf refactoring
Daan De Meyer [Thu, 30 Jul 2020 18:08:01 +0000 (19:08 +0100)]
Add docbook-xsl to CI packages
This makes sure xsltproc doesn't go to the internet to find the
stylesheet.
Daan De Meyer [Thu, 30 Jul 2020 16:13:28 +0000 (17:13 +0100)]
Add Mageia to CI
Daan De Meyer [Wed, 29 Jul 2020 22:31:40 +0000 (23:31 +0100)]
Reduce dnf duplication
Daan De Meyer [Sun, 19 Jul 2020 20:48:59 +0000 (21:48 +0100)]
Increase default root size to 3G
1G isn't sufficient for a default ubuntu focal bootable image. Let's
up the size for a better new user experience.
We also remove the special casing for XFS since it should comfortably
fit under the 3G as well.
Daan De Meyer [Thu, 30 Jul 2020 11:13:52 +0000 (12:13 +0100)]
Merge pull request #477 from DaanDeMeyer/centos-systemd-udev
CentOS/Fedora fixes
Daan De Meyer [Wed, 29 Jul 2020 22:53:57 +0000 (23:53 +0100)]
Install systemd by default on Fedora
This makes sure a default mkosi Fedora image can be booted using nspawn.
Currently, this failes because of missing init (systemd).
Daan De Meyer [Wed, 29 Jul 2020 22:51:54 +0000 (23:51 +0100)]
Install systemd-udev on bootable CentOS images
The udev daemon and rules are split off from the main systemd package
because they aren't necessary in containers. When we're doing bootable
images, we definitely want systemd-udev to be installed.
Daan De Meyer [Tue, 28 Jul 2020 20:58:37 +0000 (21:58 +0100)]
Check if scripts are executable
Easy to forget and annoying to find out in the middle of mkosi
execution.
Daan De Meyer [Tue, 28 Jul 2020 18:46:58 +0000 (19:46 +0100)]
Remove mkosi.default from repo and add it to .gitignore
Causes more issues that it solves. Currently, one always has to be
careful to specify --default /dev/null when running in the mkosi project
directory to avoid options from the mkosi.default file taking effect.
The mkosi.default file also only works on distros with dnf. Removing it
and putting it into the .gitignore also makes it easier for developers
to put their own symlink to their distro of choice in place.
Daan De Meyer [Tue, 28 Jul 2020 18:14:35 +0000 (19:14 +0100)]
Use Ubuntu Focal in all Github Actions workflows
We also stop installing Python via setup-python as the version in
Focal should be more than recent enough.
Daan De Meyer [Tue, 28 Jul 2020 18:43:27 +0000 (19:43 +0100)]
Merge pull request #442 from DaanDeMeyer/better-interrupt-handling
Add better CTRL+C handling when running a subprocess