summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2025-07-26 09:00:55 +0200
committerHelmut Grohne <helmut@subdivi.de>2025-07-26 09:00:55 +0200
commit5a1118d38032f902b1259928f83636b86742e49e (patch)
tree7a47bcb21870d9b8dce31c94b5120c18d12aef35
parentdfe59b8fb43de011367912733516fef7f9e288bd (diff)
downloadpython-linuxnamespaces-5a1118d38032f902b1259928f83636b86742e49e.tar.gz
relicense as GPL-2+HEADmain
The earlier GPL-3 only is implied in the new grant.
-rw-r--r--README.md2
-rwxr-xr-xexamples/cgroup.py2
-rwxr-xr-xexamples/chhostname.py2
-rwxr-xr-xexamples/chrootfuse.py2
-rwxr-xr-xexamples/chroottar.py2
-rwxr-xr-xexamples/fakeroot.py2
-rwxr-xr-xexamples/netnsslirp.py2
-rwxr-xr-xexamples/pidns.py2
-rwxr-xr-xexamples/unschroot_fs.py2
-rwxr-xr-xexamples/unschroot_proc.py2
-rwxr-xr-xexamples/userchroot.py2
-rwxr-xr-xexamples/withallsubuids.py2
-rw-r--r--linuxnamespaces/__init__.py2
-rw-r--r--linuxnamespaces/atlocation.py2
-rw-r--r--linuxnamespaces/filedescriptor.py2
-rw-r--r--linuxnamespaces/idmap.py2
-rw-r--r--linuxnamespaces/syscalls.py2
-rw-r--r--linuxnamespaces/systemd/__init__.py2
-rw-r--r--linuxnamespaces/systemd/dbussy.py2
-rw-r--r--linuxnamespaces/systemd/jeepney.py2
-rw-r--r--linuxnamespaces/tarutils.py2
-rw-r--r--pyproject.toml2
-rw-r--r--tests/test_atlocation.py2
-rw-r--r--tests/test_simple.py2
24 files changed, 24 insertions, 24 deletions
diff --git a/README.md b/README.md
index 9acba17..a290ca6 100644
--- a/README.md
+++ b/README.md
@@ -9,4 +9,4 @@ To see these are composed, consider looking into the `examples/` directory.
License
-------
-GPL-3
+GPL-2+
diff --git a/examples/cgroup.py b/examples/cgroup.py
index 2a423d3..cd6f743 100755
--- a/examples/cgroup.py
+++ b/examples/cgroup.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Unshare a cgroup (and user) namespace such that the entire cgroup hierarchy
(inside the namespace) becomes writeable to the user.
diff --git a/examples/chhostname.py b/examples/chhostname.py
index bf174e6..de1ee42 100755
--- a/examples/chhostname.py
+++ b/examples/chhostname.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Unshare a UTS (and user and mount) namespace and change the hostname."""
diff --git a/examples/chrootfuse.py b/examples/chrootfuse.py
index d8ca965..0eeb5ce 100755
--- a/examples/chrootfuse.py
+++ b/examples/chrootfuse.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Mount a given filesystem image inside a user and mount namespace using
an unprivileged fuse driver and chroot into the mounted filesystem. Supported
diff --git a/examples/chroottar.py b/examples/chroottar.py
index cf0f87e..095712a 100755
--- a/examples/chroottar.py
+++ b/examples/chroottar.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Extract a given tarball into a temporary location and chroot into it inside
a user and mount namespace.
diff --git a/examples/fakeroot.py b/examples/fakeroot.py
index 47db330..9679bab 100755
--- a/examples/fakeroot.py
+++ b/examples/fakeroot.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Vaguely emulate fakeroot using a user namespace that maps the current user
and group to root and the rest of the low range to a subuid range without
diff --git a/examples/netnsslirp.py b/examples/netnsslirp.py
index 7a1a27e..92f473b 100755
--- a/examples/netnsslirp.py
+++ b/examples/netnsslirp.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Construct a network namespace with a host0 interface backed by slirp4netns.
"""
diff --git a/examples/pidns.py b/examples/pidns.py
index d926d87..0ef049e 100755
--- a/examples/pidns.py
+++ b/examples/pidns.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Create a pid namespace and provide a matching /proc view. As a consequence,
user and mount namespaces will be unshared as well.
diff --git a/examples/unschroot_fs.py b/examples/unschroot_fs.py
index d1953bc..b29ecc5 100755
--- a/examples/unschroot_fs.py
+++ b/examples/unschroot_fs.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Emulate schroot using namespaces sufficiently well that sbuild can deal with
it but not any better. It assumes that ~/.cache/sbuild contains tars suitable
diff --git a/examples/unschroot_proc.py b/examples/unschroot_proc.py
index 31cb1e8..f5a444f 100755
--- a/examples/unschroot_proc.py
+++ b/examples/unschroot_proc.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2025 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Emulate schroot using namespaces and a background session process
sufficiently well that sbuild can deal with it but not any better. For using
diff --git a/examples/userchroot.py b/examples/userchroot.py
index 4006dc6..cbb827a 100755
--- a/examples/userchroot.py
+++ b/examples/userchroot.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Perform something like an unprivileged chroot via a user and mount
namespace. This is similar to "unshare --map-auto --mount-proc --root=$1", but
diff --git a/examples/withallsubuids.py b/examples/withallsubuids.py
index c247002..32ff2f6 100755
--- a/examples/withallsubuids.py
+++ b/examples/withallsubuids.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Map all available ranges from /etc/subuid and /etc/subgid as identity and
run a given command with all capabilities (including CAP_DAC_OVERRIDE)
diff --git a/linuxnamespaces/__init__.py b/linuxnamespaces/__init__.py
index 83358b6..ccf3314 100644
--- a/linuxnamespaces/__init__.py
+++ b/linuxnamespaces/__init__.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Provide plumbing-layer functionality for working with Linux namespaces in
Python.
diff --git a/linuxnamespaces/atlocation.py b/linuxnamespaces/atlocation.py
index 46ac541..1e719a1 100644
--- a/linuxnamespaces/atlocation.py
+++ b/linuxnamespaces/atlocation.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Describe a location in the filesystem by a combination of a file descriptor
and a file name each of which can be optional. Many Linux system calls are able
diff --git a/linuxnamespaces/filedescriptor.py b/linuxnamespaces/filedescriptor.py
index ee96a94..f159a83 100644
--- a/linuxnamespaces/filedescriptor.py
+++ b/linuxnamespaces/filedescriptor.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""A type tag for integers that represent file descriptors."""
diff --git a/linuxnamespaces/idmap.py b/linuxnamespaces/idmap.py
index 8f33d70..315198a 100644
--- a/linuxnamespaces/idmap.py
+++ b/linuxnamespaces/idmap.py
@@ -1,5 +1,5 @@
# Copyright 2024-2025 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Provide functionalit related to mapping user and group ids in a user
namespace.
diff --git a/linuxnamespaces/syscalls.py b/linuxnamespaces/syscalls.py
index e9b0e44..86b21e3 100644
--- a/linuxnamespaces/syscalls.py
+++ b/linuxnamespaces/syscalls.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Provide typed Python functions for a number of Linux system calls relevant
for Linux namespaces including the new mount API.
diff --git a/linuxnamespaces/systemd/__init__.py b/linuxnamespaces/systemd/__init__.py
index 84cb135..ff09d00 100644
--- a/linuxnamespaces/systemd/__init__.py
+++ b/linuxnamespaces/systemd/__init__.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Communicate with a systemd instance to create e.g. delegated croups."""
diff --git a/linuxnamespaces/systemd/dbussy.py b/linuxnamespaces/systemd/dbussy.py
index 60b74fc..e38a119 100644
--- a/linuxnamespaces/systemd/dbussy.py
+++ b/linuxnamespaces/systemd/dbussy.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Communicate with a systemd instance via dbus using dbussy."""
diff --git a/linuxnamespaces/systemd/jeepney.py b/linuxnamespaces/systemd/jeepney.py
index ef276d3..16fbca1 100644
--- a/linuxnamespaces/systemd/jeepney.py
+++ b/linuxnamespaces/systemd/jeepney.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Communicate with a systemd instance via dbus using jeepney."""
diff --git a/linuxnamespaces/tarutils.py b/linuxnamespaces/tarutils.py
index 5ad60cd..9569939 100644
--- a/linuxnamespaces/tarutils.py
+++ b/linuxnamespaces/tarutils.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
"""Extensions to the tarfile module.
* ZstdTarFile extends TarFile to deal with zstd-compressed archives.
diff --git a/pyproject.toml b/pyproject.toml
index 9e90387..fbd5218 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ description = "typed syscall wrappers and plumbing for working with Linux namesp
authors = [{name = "Helmut Grohne", email = "helmut@subdivi.de"}]
classifiers = [
"Development Status :: 3 - Alpha",
- "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
+ "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: POSIX :: Linux",
"Typing :: Typed",
"Programming Language :: Python :: 3",
diff --git a/tests/test_atlocation.py b/tests/test_atlocation.py
index b107975..16a4d53 100644
--- a/tests/test_atlocation.py
+++ b/tests/test_atlocation.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
import contextlib
import functools
diff --git a/tests/test_simple.py b/tests/test_simple.py
index 114b922..5c9d2d3 100644
--- a/tests/test_simple.py
+++ b/tests/test_simple.py
@@ -1,5 +1,5 @@
# Copyright 2024 Helmut Grohne <helmut@subdivi.de>
-# SPDX-License-Identifier: GPL-3
+# SPDX-License-Identifier: GPL-2+
import asyncio
import errno