summaryrefslogtreecommitdiffstats
path: root/NEWS (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-11repart: Take into account minimal filesystem sizeDaan De Meyer2-0/+193
Instead of requiring users to guess the required space for partitions populated with CopyFiles=, let's make an educated guess ourselves. We can populate the filesystem once in a very large sparse file and see how much data is actually used as a good indicator of the required size.
2022-11-11repart: Use ULL for all size constantsDaan De Meyer1-5/+5
2022-11-11repart: Allow custom root directory per copy blocks sourceDaan De Meyer1-4/+6
Preparation for the next commit
2022-11-11repart: Don't log partition number when populating filesystemDaan De Meyer1-2/+2
This might not be known yet so let's use the filesystem itself instead.
2022-11-11repart: Create loop device when populating filesystems if neededDaan De Meyer1-0/+13
2022-11-11repart: Move fstype_is_ro() checks out of the populate functionsDaan De Meyer1-22/+13
Preparation for the next commit.
2022-11-11resize-fs: Bump xfs minimum partition size to 16MBDaan De Meyer1-1/+1
14MB leads to errors in mkfs.xfs when running repart.
2022-11-11repart: Calculate filesystem UUID earlierDaan De Meyer1-16/+13
2022-11-11repart: Use COPY_HOLES moreDaan De Meyer1-3/+3
2022-11-11repart: Use COPY_REFLINK in context_copy_blocks()Daan De Meyer1-1/+1
We might be copying between files without a loop device involved. In that case, a reflink is possible and will be much faster.
2022-11-11repart: Use copy_bytes() instead of copy_bytes_full()Daan De Meyer1-2/+2
2022-11-10timedatectl: port to new 'vertical' table typeLennart Poettering1-29/+23
2022-11-10resolvectl: port to new 'vertical' table typeLennart Poettering1-30/+26
2022-11-10resolvectl: fail properly if we can't append to tableLennart Poettering1-1/+1
2022-11-10format-table: add an explicit "vertical" modeLennart Poettering3-15/+182
Originally, the table formatting code was written to display a number of records, one per line, and within each line multiple fields of the same record. The first line contains the column names. It was then started to be used in a "vertical" mode however, i.e. with field names on the left instead of the top. Let's support such a mode explicitly, so that we can provide systematic styling, and can properly convert this mode to JSON. A new constructor "table_new_vertical()" is added creating such "vertical" tables. Internally, this is a table with two columns: "key" and "value". When outputting this as JSON we'll output a single JSON object, with key/value as fields. (Which is different from the traditional output where we'd use the first line as JSON field names, and output an array of objects). A new cell type TABLE_FIELD is added for specifically marking the "field" cells, i.e. the cells in the first column. We'll automatically suffic ":" to these fields on output.
2022-11-10meson: install systemd-ac-power under /usr/binYu Watanabe1-3/+2
And test the its help message. The program is useful for e.g. scripts that conditionalize their tasks to be invoked only when running on AC power.
2022-11-10update TODOLennart Poettering1-0/+11
2022-11-10po: Translated using Weblate (Finnish)Ricky Tigg1-4/+5
Currently translated at 100.0% (193 of 193 strings) Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com> Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/fi/ Translation: systemd/main
2022-11-10test: add quick test for ensuring image UUID is deterministic based on the ↵Lennart Poettering1-1/+2
seed passed to repart
2022-11-10locale: honour new env var $SYSTEMD_UTF8=Lennart Poettering3-9/+26
This is useful to force off fancy unicode glyph use (i.e. use "->" instead of "→"), which is useful in tests where locales might be missing, and thus control via $LC_CTYPE is not reliable. Use this in TEST-58, to ensure the output checks we do aren't confused by missing these glyphs being unicode or not.
2022-11-10repart: Add integration test for #24678Daan De Meyer1-0/+55
2022-11-10repart: Don't descend into directories assigned to other partitionsDaan De Meyer1-10/+59
Let's say we have the following repart definitions files root.conf and home.conf: ``` [Partition] Type=root CopyFiles=/ ``` ``` [Partition] Type=home CopyFiles=/home ``` Currently, we'd end up copying /home to both the root partition and the home partition. To prevent this from happening, let's adopt a new policy when copying files for a partition: We won't copy any files/directories that appear in the CopyFiles= list of another partition, unless that directory explicitly appears in our own CopyFiles= list. This way, we prevent copying /home twice into the root and home partition, but should a user really want that behavior, they can have it by adding /home to the CopyFIles= list of the root partition as well.
2022-11-10gpt: Add gpt_partition_type_mountpoint_nulstr()Daan De Meyer2-0/+27
2022-11-10gpt: Replace bitfields with designator field in GptPartitionTypeDaan De Meyer4-243/+278
To achieve this we move the PartitionDesignator enum from dissect-image.h to gpt.h
2022-11-10copy: Support passing a deny list of files/directories to not copyDaan De Meyer9-27/+60
2022-11-10dissect: make image name boldLennart Poettering1-1/+1
2022-11-10dissect: also parse out the top-level GPT table uuid and expose this as ↵Lennart Poettering3-3/+28
image UUID systemd-repart generates this in a suitably stable fashion, hence let's actually use it as an identifier for the image. As a first step parse it, and show it.
2022-11-10json: add build helpers to insert id128 in uuid formatting into json objectLennart Poettering3-4/+15
2022-11-10update TODOLennart Poettering1-0/+2
2022-11-10stat-util: Move inode_hash_ops to stat-utilDaan De Meyer3-17/+24
TO make it usable in other code.
2022-11-10test: add tests for mDNS and LLMNR settingsYu Watanabe1-0/+73
2022-11-10test: create config under /runYu Watanabe1-1/+3
2022-11-10resolvectl: warn if the global mDNS or LLMNR support level is lower than the ↵Yu Watanabe1-0/+37
requested one
2022-11-10resolve: provide effective supporting levels of mDNS and LLMNRYu Watanabe1-2/+4
The per-link settings are ignored if the feature is disabled by the global setting. Let's announce the effective level, to make not users confused. Closes #24863.
2022-11-10resolve: introduce link_get_llmnr_support() and link_get_mdns_support()Yu Watanabe3-21/+34
2022-11-10resolve: drop redundant call of socket_ipv6_is_supported()Yu Watanabe1-2/+1
As link_relevant() is called with AF_INET6, which returns true only when the link has at least one relevant IPv6 address.
2022-11-10build: Use -fstrict-flex-arrays=1 if supportedCristian Rodríguez1-0/+1
Due to "historical reasons" both gcc and clang treat *all* trailing arrays members as flexible arrays, this has an evil side effect of inhibiting bounds checks on such members as __builtin_object_size cannot say for sure that: struct { ... type foo[3]; } has a trailing foo member of fixed size rather than unspecified. Ideally we should use -fstrict-flex-arrays as is, but we have to tolerate kernel uapi headers that use [0] and third party libraries written in c89 that may use [1] like curl.
2022-11-10test-network: skip test_match if alternative name is not supported by kernelYu Watanabe1-0/+1
Fixes #25259.
2022-11-09pid1: skip cleanup if root is not tmpfs/ramfsZbigniew Jędrzejewski-Szmek2-21/+21
in_initrd() was really doing two things: checking if we're in the initrd, and also verifying that the initrd is set up correctly. But this second check is complicated, in particular it would return false for overlayfs, even with an upper tmpfs layer. It also doesn't support the use case of having an initial initrd with tmpfs, and then transitioning into an intermediate initrd that is e.g. a DDI, i.e. a filesystem possibly with verity arranged as a disk image. We don't need to check if we're in initrd in every program. Instead, concerns are separated: - in_initrd() just does a simple check for /etc/initrd-release. - When doing cleanup, pid1 checks if it's on a tmpfs before starting to wipe the old root. The only case where we want to remove the old root is when we're on a plain tempory filesystem. With an overlay, we'd be creating whiteout files, which is not very useful. (*) This should resolve https://bugzilla.redhat.com/show_bug.cgi?id=2137631 which is caused by systemd refusing to treat the system as an initrd because overlayfs is used. (*) I think the idea of keeping the initrd fs around for shutdown is outdated. We should just have a completely separate exitrd that is unpacked when we want to shut down. This way, we don't waste memory at runtime, and we also don't transition to a potentially older version of systemd. But we don't have support for this yet. This replaces 0fef5b0f0bd9ded1ae7bcb3e4e4b2893e36c51a6.
2022-11-09test-fd-util: fix typos and use log_tests_skipped()Zbigniew Jędrzejewski-Szmek1-12/+8
2022-11-09test: add trivial test for systemd-dissect --mtreeLennart Poettering1-0/+1
2022-11-09man: document new systemd-dissect --mtree switchLennart Poettering1-0/+20
2022-11-09dissect: add a new "--mtree" switch for generating a BSD mtree(5) compatible ↵Lennart Poettering1-5/+182
file manifest
2022-11-09meson: add version.h dependency to more componentsFrantisek Sumsal1-1/+17
Follow-up to c47511da7e2bab1a429fc1958a73d3f426ebb3da. ``` archlinux_systemd_ci: In file included from ../build/src/dissect/dissect.c:15: archlinux_systemd_ci: ../build/src/basic/build.h:4:10: fatal error: version.h: No such file or directory archlinux_systemd_ci: 4 | #include "version.h" archlinux_systemd_ci: | ^~~~~~~~~~~ archlinux_systemd_ci: compilation terminated. ``` ``` archlinux_systemd_ci: In file included from ../build/src/journal/cat.c:13: archlinux_systemd_ci: ../build/src/basic/build.h:4:10: fatal error: 'version.h' file not found archlinux_systemd_ci: #include "version.h" archlinux_systemd_ci: ^~~~~~~~~~~ archlinux_systemd_ci: 1 error generated. ``` ``` archlinux_systemd_ci: In file included from ../build/src/sysext/sysext.c:10: archlinux_systemd_ci: ../build/src/basic/build.h:4:10: fatal error: version.h: No such file or directory archlinux_systemd_ci: 4 | #include "version.h" archlinux_systemd_ci: | ^~~~~~~~~~~ archlinux_systemd_ci: compilation terminated. archlinux_systemd_ci: FAILED: systemd-inhibit.p/src_login_inhibit.c.o ``` ``` archlinux_systemd_ci: In file included from ../build/src/login/inhibit.c:12: archlinux_systemd_ci: ../build/src/basic/build.h:4:10: fatal error: version.h: No such file or directory archlinux_systemd_ci: 4 | #include "version.h" archlinux_systemd_ci: | ^~~~~~~~~~~ archlinux_systemd_ci: compilation terminated. ``` ...
2022-11-09recurse-dir: optionally, call callback when entering/leaving toplevel dir, tooLennart Poettering2-1/+36
So far recurse_dir() will call the callback whenever we enter a directory, and then pass the struct dirent for that directory, and an fd for the directory the dirent is part of (i.e. the parent of the directory we call things for). For the top-level dir the function is invoked for we will not call the callback however, because we have no dirent for that, and not fd for the directory the top-level dir is part of. Let's add a flag to call it anyway, and in that case pass a NULL dirent and -1 as directory fd. This is useful when we want to treat the top-level dir the same as any dir further down. This is done opt-in since the callback must be ablet to handle a NULL dirent and a -1 directory fd.
2022-11-09random-seed: make sure to load machine id even if the seed file is missingFranck Bui1-20/+29
2022-11-09acpi-fpdt: make sure length/type fields are available in acpi_fpdt_headerLennart Poettering1-1/+1
some extra safety: make sure the two fields we care about are actually properly present before the buffer is over.
2022-11-09acpi-fpdt: don't accidentally drop signedness of pread() returnLennart Poettering1-5/+10
2022-11-09acpi-fpdt: use our usual ret_xyz naming schemeLennart Poettering2-6/+6
2022-11-09test: extend TEST-50-DISSECT for systemd-dissect --list and --withLennart Poettering2-1/+9