Age | Commit message (Collapse) | Author | |
---|---|---|---|
27 hours | simplify or-ed isinstance invocations | Helmut Grohne | |
Suggested-by: pylint | |||
35 hours | log unhandled exceptions from run_in_fork | Helmut Grohne | |
35 hours | handle SystemExit in run_in_fork reasonably | Helmut Grohne | |
5 days | async_run_in_fork: explicitly give up on the event loop | Helmut Grohne | |
The forked process still shares file descriptors with its parent running asyncio code. Having two processes deal with the same epoll fd or similar would be really bad. Hence release the event loop in the child to prevent accidental use. | |||
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. |