]>
git.ipfire.org Git - thirdparty/mkosi.git/log
Zbigniew Jędrzejewski-Szmek [Thu, 3 Nov 2016 15:27:11 +0000 (11:27 -0400)]
Add MANIFEST.in file
Without that, python setup.py sdist does not incldue the license file.
Zbigniew Jędrzejewski-Szmek [Thu, 3 Nov 2016 15:23:11 +0000 (11:23 -0400)]
setup.py: replace author field with maintainer field
As requested by the author himself ;)
Zbigniew Jędrzejewski-Szmek [Thu, 3 Nov 2016 15:18:54 +0000 (11:18 -0400)]
Add symlink README → README.md
This way "python3 setup.py sdist" correctly packages README.md and doesn't warn
about missing README.
Zbigniew Jędrzejewski-Szmek [Thu, 3 Nov 2016 15:11:17 +0000 (11:11 -0400)]
README: add note about various distro packages
Zbigniew Jędrzejewski-Szmek [Thu, 3 Nov 2016 15:01:40 +0000 (11:01 -0400)]
Add __version__ tag
Zbigniew Jędrzejewski-Szmek [Thu, 3 Nov 2016 15:01:32 +0000 (11:01 -0400)]
setup.py: correct license field
It should contain the license moniker, not the file name.
Jonathan Groth [Tue, 25 Oct 2016 23:45:36 +0000 (19:45 -0400)]
README: ensure fedora is distro used in directory example (#33)
If "-d" is not used, distribution is autodetected. This line was supposed to install Fedora though,
so add "-d Fedora" so no autodetection is performed.
Lennart Poettering [Mon, 24 Oct 2016 18:10:48 +0000 (20:10 +0200)]
Merge pull request #32 from bricewge/master
fix some typos and options
Brice Waegeneire [Tue, 18 Oct 2016 19:00:24 +0000 (21:00 +0200)]
fix args parsing: checksum read_only distribution
Brice Waegeneire [Tue, 18 Oct 2016 18:56:15 +0000 (20:56 +0200)]
set password from mkosi.default
Felipe Sateler [Wed, 12 Oct 2016 15:11:37 +0000 (12:11 -0300)]
Allow running workspace commands with network
Fixes: #30
Felipe Sateler [Wed, 12 Oct 2016 14:23:03 +0000 (11:23 -0300)]
debian: use policy-rc.d to force not-starting of daemons
Felipe Sateler [Wed, 12 Oct 2016 13:58:02 +0000 (10:58 -0300)]
debian: Use apt for installing extra packages
Debootstrap does not have a proper dependency resolver, so installing
extra stuff with it will cause conflicts. For example, installing
libpam-systemd will bring in systemd-shim as first preference, which
conflicts with systemd-sysv. Instead, only install the base system with
debootstrap, and then use apt to install the extra packages.
Lennart Poettering [Sun, 9 Oct 2016 10:20:08 +0000 (12:20 +0200)]
Merge pull request #29 from keszybz/fixes
Three unrelated fixes
Zbigniew Jędrzejewski-Szmek [Sat, 8 Oct 2016 19:15:33 +0000 (15:15 -0400)]
Fix argument parsing for --boolean and --use-git-files
bool('0') evaluates to True, so type=bool does not work as expected.
It is necessary to use a helper function which converts strings to
True/False as expected.
Also, fix parse_boolean().
Zbigniew Jędrzejewski-Szmek [Fri, 7 Oct 2016 20:20:40 +0000 (16:20 -0400)]
Create /efi dir on Fedora
This makes bootctl work in images again.
Zbigniew Jędrzejewski-Szmek [Fri, 7 Oct 2016 20:07:47 +0000 (16:07 -0400)]
README: tweak qemu invocation to avoid warning, recommend edk2-ovmf
WARNING: Image format was not specified for 'image.raw' and probing
guessed raw. Automatically detecting the format is dangerous
for raw images, write operations on block 0 will be restricted.
Specify the 'raw' format explicitly to remove the restrictions.
Nikita Puzyryov [Fri, 7 Oct 2016 10:43:02 +0000 (13:43 +0300)]
Fix run_workspace_command usage blunder (#27)
Zbigniew Jędrzejewski-Szmek [Thu, 6 Oct 2016 18:17:23 +0000 (14:17 -0400)]
Allow setting root password in the image (#26)
Those images are supposed to be used locally for testing, so it
should be as easy to log in as possible.
As a special case, --password= completely deletes the password.
In other words, it's not possible to set an empty password.
Note: the obvious thing of calling /bin/passwd does not work because
audit or some other thing trips it up.
Thanks to Lucas Werkmeister for the crypt.crypt() line!
Lennart Poettering [Thu, 6 Oct 2016 16:04:24 +0000 (18:04 +0200)]
Merge pull request #25 from keszybz/git-ls-and-other-bits
Git ls and other bits
Zbigniew Jędrzejewski-Szmek [Thu, 6 Oct 2016 14:27:56 +0000 (10:27 -0400)]
Define a helper function to run workspace commands
Zbigniew Jędrzejewski-Szmek [Thu, 6 Oct 2016 14:18:47 +0000 (10:18 -0400)]
Mount/unmount with a context manager
Zbigniew Jędrzejewski-Szmek [Thu, 6 Oct 2016 14:12:56 +0000 (10:12 -0400)]
Attach/detach loop device with a context manager
Zbigniew Jędrzejewski-Szmek [Wed, 5 Oct 2016 20:28:06 +0000 (16:28 -0400)]
Drop some add_argument options which repeat the default
Zbigniew Jędrzejewski-Szmek [Wed, 5 Oct 2016 20:23:18 +0000 (16:23 -0400)]
Use systemd-nspawn --quiet
With recent change to nspawn, this will not print the hint about ^]^]^].
Zbigniew Jędrzejewski-Szmek [Tue, 4 Oct 2016 16:57:45 +0000 (12:57 -0400)]
In a git repo, do not copy files that git itself would ignore
The file list to copy is generated using git ls-files --other --cached,
i.e. anything in git ignore lists is ignored.
Without that, mkosi chokes on the test/sys directory in systemd source
tree that is generated as part of tests. I think the new behaviour is
a good default, since most of the times people are going to be running
this from a git tree anyway.
Also skip .git directory by default.
This requires mkosi.build to be updated to remove 'git clean …'.
Fixes #22.
Zbigniew Jędrzejewski-Szmek [Tue, 4 Oct 2016 15:19:42 +0000 (11:19 -0400)]
Use metalink for Fedora repos
This allows dnf to get a geographically close and up-to-date mirror,
and also fixes installation of unreleased Fedora (currently 25).
If mirror is specified, use it, as before.
Zbigniew Jędrzejewski-Szmek [Tue, 4 Oct 2016 15:10:17 +0000 (11:10 -0400)]
Convert writes to a slightly more readable format
Stefan Schweter [Thu, 6 Oct 2016 14:26:08 +0000 (16:26 +0200)]
Add basic support for ARM64 (#24)
Zeal Jagannatha [Tue, 4 Oct 2016 10:36:57 +0000 (12:36 +0200)]
Fixed color output on arch linux (#23)
Before:
[1m[32m==>[m[1m Appending keys from archlinux.gpg...[m
[1m[32m==>[m[1m Locally signing trusted keys in keyring...[m
[1m[34m ->[m[1m Locally signing key
0E8B644079F599DFC1DDC3973348882F6AC6A4C2 ...[m
[1m[34m ->[m[1m Locally signing key
684148BB25B49E986A4944C55184252D824B18E8 ...[m
[1m[34m ->[m[1m Locally signing key
91FFE0700E80619CEB73235CA88E23E377514E00 ...[m
[1m[34m ->[m[1m Locally signing key
44D4A033AC140143927397D47EFD567D4C7EA887 ...[m
[1m[34m ->[m[1m Locally signing key
27FFC4769E19F096D41D9265A04F9397CDFD6BB0 ...[m
[1m[34m ->[m[1m Locally signing key
AB19265E5D7D20687D303246BA1DFB64FFF979E7 ...[m
After:
==> Appending keys from archlinux.gpg...
==> Locally signing trusted keys in keyring...
-> Locally signing key
0E8B644079F599DFC1DDC3973348882F6AC6A4C2 ...
-> Locally signing key
684148BB25B49E986A4944C55184252D824B18E8 ...
-> Locally signing key
91FFE0700E80619CEB73235CA88E23E377514E00 ...
-> Locally signing key
44D4A033AC140143927397D47EFD567D4C7EA887 ...
-> Locally signing key
27FFC4769E19F096D41D9265A04F9397CDFD6BB0 ...
-> Locally signing key
AB19265E5D7D20687D303246BA1DFB64FFF979E7 ...
Lennart Poettering [Sat, 1 Oct 2016 08:43:05 +0000 (10:43 +0200)]
Merge pull request #21 from keszybz/style-enhancement
Make the code more pythonic
Zbigniew Jędrzejewski-Szmek [Sat, 1 Oct 2016 08:39:40 +0000 (10:39 +0200)]
Fix infinite loop on symlinks (#20)
Fixes #9.
Zbigniew Jędrzejewski-Szmek [Thu, 29 Sep 2016 09:07:11 +0000 (05:07 -0400)]
… is not None is the preferred form
Also try to put None as the "else" argument instead of the "if" one
in ternary expressions.
Zbigniew Jędrzejewski-Szmek [Thu, 29 Sep 2016 08:59:56 +0000 (04:59 -0400)]
Some trivial style fixes
- no spaces around parameter assignment in function calls
- avoid unneeded concatenation in subprocess.run calls
- division operator always uses floats, no need to cast
- use os.makedirs(…, exist_ok=True) instead of catching exception
- use .get instead of catching exception
Felipe Sateler [Sat, 1 Oct 2016 07:10:43 +0000 (04:10 -0300)]
debian: do not fail if root/etc/dracut.conf.d already exists (#19)
This can happen if dracut is asked to be installed by the user
Lucas Werkmeister [Thu, 29 Sep 2016 08:24:45 +0000 (10:24 +0200)]
Install dbus and libpam-systemd with debootstrap (#16)
Both packages are recommended by the Debian systemd package, but
debootstrap does not install Recommends.
Installing dbus fixes #15; the addition of libpam-systemd was suggested
by @stefan-it in that same issue.
Felipe Sateler [Thu, 29 Sep 2016 08:22:11 +0000 (05:22 -0300)]
Allow specifying kernel command line in bootable images (#18)
Felipe Sateler [Thu, 22 Sep 2016 13:09:54 +0000 (10:09 -0300)]
Do not install usrmerge on Debian/Ubuntu images (#17)
This reverts commit
a7f5575b1a49cee812e3b4f6f105b2d8ce111bee
Turns out debootstrap now has native support for merged /usr, and will likely be default (for the supported targets) in the near future.
Thus disable explicitly installing usrmerge, unbreaking the generation of debian < stretch and ubuntu images.
Davide Cavalca [Fri, 2 Sep 2016 21:52:39 +0000 (14:52 -0700)]
Fix arch mirror selection (#13)
Lennart Poettering [Thu, 1 Sep 2016 22:22:36 +0000 (00:22 +0200)]
Merge pull request #12 from davide125/mirror
Mirror selection support and Fedora build improvements
Davide Cavalca [Thu, 1 Sep 2016 18:15:14 +0000 (11:15 -0700)]
Use local gpg key if available
Davide Cavalca [Thu, 1 Sep 2016 16:57:54 +0000 (09:57 -0700)]
Add option to use a custom mirror
Davide Cavalca [Thu, 1 Sep 2016 16:47:03 +0000 (09:47 -0700)]
Generate dnf.conf when installing Fedora
Stefan [Wed, 31 Aug 2016 14:22:44 +0000 (16:22 +0200)]
distro: Enable community repository in Arch Linux package manager configuration. (#11)
Stefan [Tue, 30 Aug 2016 14:20:35 +0000 (16:20 +0200)]
doc: Use correct output format commandline option. (#10)
Stefan [Tue, 30 Aug 2016 14:20:05 +0000 (16:20 +0200)]
Fix installation for Ubuntu. (#8)
Lennart Poettering [Tue, 30 Aug 2016 14:18:51 +0000 (16:18 +0200)]
Merge pull request #7 from fsateler/deb-bootable
RFC: Better support for debian-based distros
Felipe Sateler [Sat, 27 Aug 2016 19:20:18 +0000 (16:20 -0300)]
Add bootable image support for debian
Felipe Sateler [Sat, 27 Aug 2016 19:00:15 +0000 (16:00 -0300)]
Install usrmerge in debian/ubuntu images
Felipe Sateler [Sat, 27 Aug 2016 18:59:32 +0000 (15:59 -0300)]
Add cache support for debootstrap
Lennart Poettering [Sun, 21 Aug 2016 13:41:56 +0000 (15:41 +0200)]
Merge pull request #4 from L3n41c/arch
Miscellaneous fixes for ArchLinux
Stefan [Sun, 21 Aug 2016 13:32:46 +0000 (15:32 +0200)]
Renames README to README.md and uses nice markdown. (#6)
Lénaïc Huard [Sun, 7 Aug 2016 23:26:36 +0000 (01:26 +0200)]
Fix ArchLinux image build on non-ArchLinux host
Lénaïc Huard [Sun, 7 Aug 2016 21:50:30 +0000 (23:50 +0200)]
Customize the packages installed on ArchLinux
Lénaïc Huard [Sun, 7 Aug 2016 21:46:03 +0000 (23:46 +0200)]
Setup networkd on ArchLinux
Lénaïc Huard [Sun, 7 Aug 2016 21:42:24 +0000 (23:42 +0200)]
Add the ability to create bootable ArchLinux images
Lénaïc Huard [Sun, 7 Aug 2016 21:35:28 +0000 (23:35 +0200)]
Set the nocow attribute on the image file
Renich Bon Ciric [Fri, 19 Aug 2016 15:42:51 +0000 (10:42 -0500)]
identation: newlines proposed (#3)
Fixed a few identation patterns by adding/removing new lines here and there.
There were a lot of cases where I didn't know how to proceed in order to make indentation more consistent. I'd like to suggest
keeping to a coding standard. For python, there is pip8.
You could use a tox.ini to configure it and run it. Maybe, even, add a git-hook to run it and prevent non-compilant code from making
it into the repo.
Here's a minimal setup for a tox.ini file:
# tox.ini
[pep8]
filename = mkosi, *.py
max-line-length = 132
# count =
# exclude =
# format =
# hang-closing =
# ignore =
# quiet =
# select =
# show-pep8 =
# show-source =
# statistics =
# verbose =
More info about this at: https://www.python.org/dev/peps/pep-0008/
Tool to check: https://github.com/PyCQA/pep8
Lennart Poettering [Fri, 22 Jul 2016 15:45:31 +0000 (17:45 +0200)]
mark root disk writable by default
Lennart Poettering [Tue, 19 Jul 2016 19:21:35 +0000 (21:21 +0200)]
mkosi: fill in distro version earlier, so that "mkosi summary" can show it
Lennart Poettering [Tue, 19 Jul 2016 19:21:30 +0000 (21:21 +0200)]
update TODO
Felipe Sateler [Tue, 19 Jul 2016 11:13:39 +0000 (07:13 -0400)]
Sync after creating partition table (#1)
Otherwise mkfs.* might be invoked before the kernel realizes there are partitions in the loop device.
Felipe Sateler [Tue, 19 Jul 2016 11:12:19 +0000 (07:12 -0400)]
don't crash if release is not specified (#2)
Lennart Poettering [Fri, 15 Jul 2016 10:21:51 +0000 (12:21 +0200)]
drop "ro" from the kernel command line
Lennart Poettering [Fri, 15 Jul 2016 09:08:26 +0000 (11:08 +0200)]
fix invokation without a local build script
Lennart Poettering [Fri, 15 Jul 2016 08:46:57 +0000 (10:46 +0200)]
add a minimal setuptools script
Lennart Poettering [Fri, 15 Jul 2016 08:44:41 +0000 (10:44 +0200)]
add a proper LICENSE
Lennart Poettering [Fri, 15 Jul 2016 08:43:20 +0000 (10:43 +0200)]
embedd unshare.py directly in the main source file, so that we have a single source file only
Lennart Poettering [Thu, 14 Jul 2016 20:31:45 +0000 (22:31 +0200)]
switch to the srcdir if there is one specified
This way build scripts don't have to switch to the srcdir first.
Lennart Poettering [Thu, 14 Jul 2016 20:31:37 +0000 (22:31 +0200)]
update .gitignore file
Lennart Poettering [Wed, 13 Jul 2016 19:10:04 +0000 (21:10 +0200)]
beef up README
Lennart Poettering [Wed, 13 Jul 2016 17:36:41 +0000 (19:36 +0200)]
optionally change to a specified working directory
Lennart Poettering [Wed, 13 Jul 2016 17:13:33 +0000 (19:13 +0200)]
mkosi: add support for running arbitrary build logic within the image setup
If an executable script "mkosi.build" exists in the local directory, the
build logic will now build the image twice. First, it will build an
image that the working directory and "mkosi.build" is copied into (under
the assumption the tool is called from a source tree of a project). It
then runs that script inside the image via nspawn, and collects any
output it places in a directory passed as $DESTDIR. Then, it throws the
first image away, builds a new one, this time avoiding any source tree or
script copying. However, as final step of the image preparation the tree
from $DESTDIR is copied into the image.
The first image may optionally contain additional distro packages, on
top of the packages the final image will contain. This is useful for
adding in development headers and suchlike.
The suggested usecase for this is the following: let's say you develop a
project, and want to quickly build an OS image from it, with your
current development tree as source tree for the build, and you want to
build to take place inside an image that resembles the ultimate image to
generate as closely as possible. Hence we first build an image with all
development headers for compiling your project. Then artifacts it
generates are then included in the more minimal second image, which is
the result.
Lennart Poettering [Wed, 13 Jul 2016 10:30:12 +0000 (12:30 +0200)]
fix logic when run without defaults file
Lennart Poettering [Wed, 13 Jul 2016 10:16:14 +0000 (12:16 +0200)]
fix swap size display in summary
Lennart Poettering [Wed, 13 Jul 2016 10:16:05 +0000 (12:16 +0200)]
add new summary verb for showing just the summary
Lennart Poettering [Wed, 13 Jul 2016 10:12:49 +0000 (12:12 +0200)]
allow comma separated values to be passed to --package=
Lennart Poettering [Wed, 13 Jul 2016 10:01:29 +0000 (12:01 +0200)]
fix cache management on btrfs
Lennart Poettering [Wed, 13 Jul 2016 09:19:07 +0000 (11:19 +0200)]
print a summary before starting operation
Lennart Poettering [Wed, 13 Jul 2016 09:18:48 +0000 (11:18 +0200)]
normalize a few settings before starting operation
Lennart Poettering [Wed, 13 Jul 2016 09:18:28 +0000 (11:18 +0200)]
move nspawn settings option into PACKAGES section
Lennart Poettering [Wed, 13 Jul 2016 08:35:15 +0000 (10:35 +0200)]
add an extra argument group for the commands
Lennart Poettering [Wed, 13 Jul 2016 08:31:28 +0000 (10:31 +0200)]
add "mkosi clean" as verb to remove all generated artifacts
Lennart Poettering [Wed, 13 Jul 2016 08:02:40 +0000 (10:02 +0200)]
automatically use "mkosi.extra" in the current directory as extra subdir
With this mkosi.default in the local dir may contain config data,
mkosi.nspawn may contain nspawn settings data and mkosi.extra may
contain extra drop-in files for the image.
Lennart Poettering [Tue, 12 Jul 2016 20:23:38 +0000 (22:23 +0200)]
minor message fixes
Lennart Poettering [Tue, 12 Jul 2016 20:23:11 +0000 (22:23 +0200)]
optionally copy extra file trees on top of image tree
Lennart Poettering [Tue, 12 Jul 2016 19:20:48 +0000 (21:20 +0200)]
look for "mkosi.nspawn" in the local directory, and use it if it exists
Similar to "mkosi.default" this is useful for projects that need an
easy way to define an nspawn file in the source tree.
Lennart Poettering [Tue, 12 Jul 2016 19:09:23 +0000 (21:09 +0200)]
optionally, read additional settings from "default.mkosi" in the local directory
Projects may ship such a file to make it easy to build images from their
tree.
Lennart Poettering [Tue, 12 Jul 2016 17:42:42 +0000 (19:42 +0200)]
split up main function into seperate functions
Lennart Poettering [Tue, 12 Jul 2016 16:50:11 +0000 (18:50 +0200)]
fix building ubuntu images
Lennart Poettering [Tue, 12 Jul 2016 16:40:06 +0000 (18:40 +0200)]
print a nice error when invoked as non-root
Lennart Poettering [Tue, 12 Jul 2016 16:39:50 +0000 (18:39 +0200)]
apply caller's umask to resulting files
Lennart Poettering [Tue, 12 Jul 2016 14:54:25 +0000 (16:54 +0200)]
optionally install a .nspawn fiel companion and include it in the SHA256SUM
Lennart Poettering [Tue, 12 Jul 2016 14:21:08 +0000 (16:21 +0200)]
cache packages if possible (on dnf)
Lennart Poettering [Tue, 12 Jul 2016 14:20:36 +0000 (16:20 +0200)]
clarify which option is supported when in --help
Lennart Poettering [Tue, 12 Jul 2016 13:42:40 +0000 (15:42 +0200)]
group --help text nicely
Lennart Poettering [Tue, 12 Jul 2016 13:35:08 +0000 (15:35 +0200)]
add a friendly hint to use --force
Lennart Poettering [Tue, 12 Jul 2016 13:34:44 +0000 (15:34 +0200)]
make installation of docs optional
Lennart Poettering [Tue, 12 Jul 2016 12:42:23 +0000 (14:42 +0200)]
fix unshare (i.e. run everything in an fs namespace)
This way, mounts we add won't leak onto the host, and will go away
automatically when we die.
Lennart Poettering [Tue, 12 Jul 2016 08:12:46 +0000 (10:12 +0200)]
update TODO