summaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/iocage/Makefile1
-rw-r--r--sysutils/iocage/files/patch-iocage__lib_ioc__fetch.py22
-rw-r--r--sysutils/iocage/files/patch-iocage__lib_ioc__plugin.py22
-rw-r--r--sysutils/iocage/files/patch-setup.py15
4 files changed, 60 insertions, 0 deletions
diff --git a/sysutils/iocage/Makefile b/sysutils/iocage/Makefile
index bd966a2674fe..a6d03c6a02cb 100644
--- a/sysutils/iocage/Makefile
+++ b/sysutils/iocage/Makefile
@@ -1,5 +1,6 @@
PORTNAME= iocage
PORTVERSION= 1.8
+PORTREVISION= 1
CATEGORIES= sysutils python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/sysutils/iocage/files/patch-iocage__lib_ioc__fetch.py b/sysutils/iocage/files/patch-iocage__lib_ioc__fetch.py
new file mode 100644
index 000000000000..73d8b6e58068
--- /dev/null
+++ b/sysutils/iocage/files/patch-iocage__lib_ioc__fetch.py
@@ -0,0 +1,22 @@
+--- iocage_lib/ioc_fetch.py.orig 2024-09-20 06:45:27 UTC
++++ iocage_lib/ioc_fetch.py
+@@ -47,7 +47,10 @@ import iocage_lib.ioc_start
+ from iocage_lib.pools import Pool
+ from iocage_lib.dataset import Dataset
+
++# deliberately crash if tarfile doesn't have required filter
++tarfile.tar_filter
+
++
+ class IOCFetch:
+
+ """Fetch a RELEASE for use as a jail base."""
+@@ -817,7 +820,7 @@ class IOCFetch:
+ # removing them first.
+ member = self.__fetch_extract_remove__(f)
+ member = self.__fetch_check_members__(member)
+- f.extractall(dest, members=member)
++ f.extractall(dest, members=member, filter='tar')
+
+ def fetch_update(self, cli=False, uuid=None):
+ """This calls 'freebsd-update' to update the fetched RELEASE."""
diff --git a/sysutils/iocage/files/patch-iocage__lib_ioc__plugin.py b/sysutils/iocage/files/patch-iocage__lib_ioc__plugin.py
new file mode 100644
index 000000000000..be9ee84d1e3f
--- /dev/null
+++ b/sysutils/iocage/files/patch-iocage__lib_ioc__plugin.py
@@ -0,0 +1,22 @@
+--- iocage_lib/ioc_plugin.py.orig 2024-09-20 06:45:27 UTC
++++ iocage_lib/ioc_plugin.py
+@@ -61,7 +61,10 @@ from iocage_lib.dataset import Dataset
+ GIT_LOCK = threading.Lock()
+ RE_PLUGIN_VERSION = re.compile(r'"path":"([/\.\+,\d\w-]*)\.txz"')
+
++# deliberately crash if tarfile doesn't have required filter
++tarfile.tar_filter
+
++
+ class IOCPlugin(object):
+
+ """
+@@ -157,7 +160,7 @@ class IOCPlugin(object):
+ shutil.copyfileobj(r.raw, f)
+
+ with tarfile.open(packagesite_txz_path) as p_file:
+- p_file.extractall(path=tmpdir)
++ p_file.extractall(path=tmpdir, filter='data')
+
+ packagesite_path = os.path.join(tmpdir, 'packagesite.yaml')
+ if not os.path.exists(packagesite_path):
diff --git a/sysutils/iocage/files/patch-setup.py b/sysutils/iocage/files/patch-setup.py
new file mode 100644
index 000000000000..cad071146d2d
--- /dev/null
+++ b/sysutils/iocage/files/patch-setup.py
@@ -0,0 +1,15 @@
+--- setup.py.orig 2024-09-20 06:45:27 UTC
++++ setup.py
+@@ -30,10 +30,10 @@ from setuptools import find_packages, setup
+
+ if os.path.isdir("/".join([sys.prefix, "etc/init.d"])):
+ _data = [('etc/init.d', ['rc.d/iocage']),
+- ('man/man8', ['iocage.8.gz'])]
++ ('share/man/man8', ['iocage.8.gz'])]
+ else:
+ _data = [('etc/rc.d', ['rc.d/iocage']),
+- ('man/man8', ['iocage.8.gz'])]
++ ('share/man/man8', ['iocage.8.gz'])]
+
+ if os.path.isdir("/".join([sys.prefix, "share/zsh/site-functions/"])):
+ _data.append(('share/zsh/site-functions', ['zsh-completion/_iocage']))