Age | Commit message (Collapse) | Author | |
---|---|---|---|
5 days | linuxnamespaces.syscalls: mark the logger object as private | Helmut Grohne | |
2025-06-12 | run_in_fork: allow starting the function immediately | Helmut Grohne | |
Doing so skips creating the EventFD. | |||
2025-06-12 | run_in_fork should never propagate exceptions from the child | Helmut Grohne | |
Otherwise an exception handler in the caller may be invoked in unexpected ways. If an exception occurs, exit non-zero and reraise in the parent with less detail. | |||
2025-06-12 | dbussy.SystemdJobWaiter: drop references to removed jobs as soon as we can | Helmut Grohne | |
2025-06-03 | drop redundant OPEN_TREE_ prefix from some OpenTreeFlags | Helmut Grohne | |
2025-06-03 | add wrapper for PR_SET_DUMPABLE prctl | Helmut Grohne | |
2025-06-03 | add method MountFlags.tonames | Helmut Grohne | |
It provides part of the functionality of MountFlags.tostr. | |||
2025-06-01 | idmapping functions accept a further proc arguement | Helmut Grohne | |
This allows opening /proc as an O_PATH descriptor, then locking a process up and then still writing idmaps by accessing the now inaccessible /proc via the retained file descriptor. | |||
2025-06-01 | New methods AtLocation.write_{bytes,text} | Helmut Grohne | |
They bring similarity to their pathlib.Path counterparts. | |||
2025-05-24 | SignalFD.areaditer: support iterative reading | Helmut Grohne | |
2025-05-24 | split idmapping things to new module idmap | Helmut Grohne | |
2025-05-23 | align HasFileno protocol with asyncvarlink | Helmut Grohne | |
2025-05-21 | extend .gitignore for more tool-generated files | Helmut Grohne | |
2025-05-21 | agree a bit with black's formatting recommendations | Helmut Grohne | |
2025-05-21 | test_atlocation.py: mypy/1.15 now understands those literals | Helmut Grohne | |
2025-05-21 | relax type of async_copyfd regarding FileDescriptors | Helmut Grohne | |
Fixes: 30a111639ce6 ("expand use of FileDescriptor and add FileDescriptorLike type alias") | |||
2025-05-21 | fix return type of FileDescriptor.fileno | Helmut Grohne | |
Fixes: 30a111639ce6 ("expand use of FileDescriptor and add FileDescriptorLike type alias") | |||
2025-05-21 | fix type checking on mypy/1.15 | Helmut Grohne | |
2025-05-21 | choose flit as build backend | Helmut Grohne | |
It's a pure Python module and flit seems to just work for those. | |||
2025-05-21 | expand use of FileDescriptor and add FileDescriptorLike type alias | Helmut Grohne | |
When accepting file descriptors, non-int objects with a fileno method are now generally accepted. When returning a file descriptor, a FileDescriptor instance is now returned. | |||
2025-05-20 | AtLocation.chdir: FileDescriptor already is a context manager | Helmut Grohne | |
2025-05-20 | fix AtLocation.chdir for the mixed case | Helmut Grohne | |
When both fd and location are given, it would previously ignore the fd component. To properly implement that, we must open and fchdir. | |||
2025-05-20 | syscalls.py: help old mypy in better understanding sigval | Helmut Grohne | |
2025-05-20 | syscalls.py: simplify MountFlags implementation | Helmut Grohne | |
The "mustnegate" field was a bit strange and it was only ever set in the default value used for the lookup. Remove it and express its semantics in code instead. | |||
2025-05-06 | FileDescriptor: add convenience wrapper for pidfd_open | Helmut Grohne | |
2025-05-04 | implement signalfd(2) and sigqueue(2) system calls | Helmut Grohne | |
2025-05-04 | examples/withallsubuids.py: expand comparison to unshare(1) | Helmut Grohne | |
2025-05-02 | examples/unschroot.py: actually support using aliases | Helmut Grohne | |
Fixes: 426f547d5b54 ("examples/unschroot.py: support overlayfs-based directory chroots") Reported-by: Christoph Berg <myon@debian.org> | |||
2025-05-01 | examples/unschroot.py: fix sbuild compatibility | Helmut Grohne | |
The parent commit regressed working with "chroot:" prefixed chroots. Directory chroots are required to emit a "Mount Location" to be considered valid by sbuild. | |||
2025-05-01 | examples/unschroot.py: support overlayfs-based directory chroots | Helmut Grohne | |
Suggested-by: Christoph Berg <myon@debian.org> | |||
2025-04-30 | systemd.dbussy: call StartTransientUnit asynchronously | Helmut Grohne | |
Fixes: b0874c6086f1 ("lift the dbus functionality from the cgroup example") Fixes: bb83f3fe1bec ("add examples/cgroup.py: writeable cgroup hierarchy") | |||
2025-04-29 | move the get_cgroup utility function into the library | Helmut Grohne | |
2025-04-29 | README.md: suggest looking into examples | Helmut Grohne | |
2025-03-27 | examples/chroottar.py: expand matching of device files | Helmut Grohne | |
2025-03-22 | examples/chrootfuse.py: add support for erofs | Helmut Grohne | |
2024-11-16 | systemd: improve dbus type guessing | Helmut Grohne | |
The PIDs property receives integers. Since the guessing code did not handle integers, it would fail immediately. | |||
2024-11-12 | add chhostname.py example | Helmut Grohne | |
2024-10-26 | add a method IDMapping.identity for convenience | Helmut Grohne | |
2024-10-26 | fix license in pyproject classifiers | Helmut Grohne | |
Confirm that the SPDX annotation in several files is correct rather than the pyproject classification. The SPDX headers were there right from the start. Fixes: 9f7a434600f4 ("add some metadata to a first pyproject.toml") | |||
2024-06-22 | unschroot: allow device access | Helmut Grohne | |
2024-06-22 | populate_sys: allow device access | Helmut Grohne | |
The systemd test suite does not like having no access to /sys/dev and other trees related to devices. Optionally provide them. Properly virtualizing them likely requires lxcfs or similar. | |||
2024-06-22 | populate_sys: refactor | Helmut Grohne | |
We now compute the actual bind mounts first and deduce the directories in need of creation from that. This makes populate_sys easier to extend. | |||
2024-06-22 | unschroot: only provide /dev/net/tun when the network namespace is unshared | Helmut Grohne | |
2024-06-22 | populate_dev: fix /dev/net/tun | Helmut Grohne | |
Fixes: 8b98dc846e7b ("populate_dev: remove assumption that newdev does not shadow origdev") | |||
2024-06-22 | unschroot: create an /etc/hosts unless it exists | Helmut Grohne | |
Software has a reasonable assumption that localhost as well as the current hostname resolves to an IP address. Without an /etc/hosts file, this is not the case and makes some builds such as src:ovn fail. | |||
2024-06-22 | unschroot: add argument --isolate-network | Helmut Grohne | |
This is where unschroot becomes incompatible with schroot as schroot does not have this option. The idea is that unschroot becomes feature-compatible with sbuild --chroot-mode=unshare and that requires supporting network isolation. To make use of this, sbuild needs to be extended to pass this flag when it sees a "Type unshare" chroot that is not normally exposed from regular schroot. | |||
2024-06-22 | add function enable_loopback_if | Helmut Grohne | |
It can be used in a new network namespace to enable the loopback network interface and thus provide easy network isolation. | |||
2024-06-21 | unschroot: enable opening /dev/stdout | Helmut Grohne | |
When stdout is an (unnamed) pipe, it usually has permission 0o644. Since we change uids, /dev/stdout cannot be opened unless we chmod it first. This causes some packages such as supervisor to fail to build. | |||
2024-06-16 | populate_dev: also provide /dev/shm | Helmut Grohne | |
This is needed e.g. for Python's multiprocessing.SemLock. | |||
2024-06-16 | examples/userchroot.py: correctly bind mount proc and sys | Helmut Grohne | |
Fixes: be42cb03f861 ("add userchroot.py example") |