Skip to content

Commit 77c7bfd

Browse files
sonicajUser Bugclerk
authored and
User Bugclerk
committed
Allow user to use higher minor version number jails
(cherry picked from commit 38032fe)
1 parent 449ad86 commit 77c7bfd

File tree

6 files changed

+14
-36
lines changed

6 files changed

+14
-36
lines changed

iocage_cli/create.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ def cli(
164164

165165
if release:
166166
try:
167-
ioc_common.check_release_newer(release)
167+
ioc_common.check_release_newer(release, major_only=True)
168168
except ValueError:
169169
# We're assuming they understand the implications of a custom
170170
# scheme
@@ -173,7 +173,7 @@ def cli(
173173
_release = ioc_common.get_jail_freebsd_version(path, release)
174174

175175
try:
176-
ioc_common.check_release_newer(_release)
176+
ioc_common.check_release_newer(_release, major_only=True)
177177
except ValueError:
178178
# We tried
179179
pass

iocage_cli/fetch.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,6 @@ def cli(**kwargs):
176176
})
177177

178178
if not _file:
179-
ioc_common.check_release_newer(release)
179+
ioc_common.check_release_newer(release, major_only=True)
180180

181181
ioc.IOCage().fetch(**kwargs)

iocage_lib/ioc_fetch.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def __fetch_validate_release__(self, releases, eol=None):
174174
try:
175175
self.release = releases[int(self.release)]
176176
iocage_lib.ioc_common.check_release_newer(
177-
self.release, self.callback, self.silent)
177+
self.release, self.callback, self.silent, major_only=True)
178178
except IndexError:
179179
# Time to print the list again
180180
self.release = self.__fetch_validate_release__(releases)
@@ -209,7 +209,8 @@ def fetch_release(self, _list=False):
209209

210210
if self.release:
211211
iocage_lib.ioc_common.check_release_newer(
212-
self.release, callback=self.callback, silent=self.silent
212+
self.release, callback=self.callback, silent=self.silent,
213+
major_only=True,
213214
)
214215
rel = self.fetch_http_release(eol, _list=_list)
215216

iocage_lib/ioc_plugin.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -448,15 +448,15 @@ def __fetch_plugin_props__(self, conf, props, num):
448448

449449
if not os.path.isdir(f"{self.iocroot}/releases/{self.release}"):
450450
iocage_lib.ioc_common.check_release_newer(
451-
self.release, self.callback, self.silent)
451+
self.release, self.callback, self.silent, major_only=True)
452452
self.__fetch_release__(self.release)
453453

454454
if conf["release"][:4].endswith("-"):
455455
# 9.3-RELEASE and under don't actually have this binary.
456456
release = conf["release"]
457457
else:
458458
iocage_lib.ioc_common.check_release_newer(
459-
self.release, self.callback, self.silent)
459+
self.release, self.callback, self.silent, major_only=True)
460460

461461
try:
462462
with open(
@@ -1241,7 +1241,7 @@ def upgrade(self, jid):
12411241
self.__check_manifest__(plugin_conf)
12421242
plugin_release = plugin_conf["release"]
12431243
iocage_lib.ioc_common.check_release_newer(
1244-
plugin_release, self.callback, self.silent)
1244+
plugin_release, self.callback, self.silent, major_only=True)
12451245

12461246
# We want the new json to live with the jail
12471247
plugin_name = self.plugin.rsplit('_', 1)[0]

iocage_lib/iocage.py

+2-27
Original file line numberDiff line numberDiff line change
@@ -1751,24 +1751,11 @@ def start(self, jail=None, ignore_exception=False, used_ports=None):
17511751
uuid, path = self.__check_jail_existence__()
17521752
conf = ioc_json.IOCJson(path, silent=self.silent).json_get_value(
17531753
'all')
1754-
host_release = float(os.uname()[2].rsplit("-", 1)[0].rsplit("-",
1755-
1)[0])
17561754
release = conf["release"]
17571755

17581756
if release != "EMPTY":
17591757
release = float(release.rsplit("-", 1)[0].rsplit("-", 1)[0])
1760-
1761-
if host_release < release:
1762-
ioc_common.logit(
1763-
{
1764-
"level":
1765-
"EXCEPTION",
1766-
"message":
1767-
f"\nHost: {host_release} is not greater than"
1768-
f" jail: {release}\nThis is unsupported."
1769-
},
1770-
_callback=self.callback,
1771-
silent=self.silent)
1758+
ioc_common.check_release_newer(release, major_only=True)
17721759

17731760
err, msg = self.__check_jail_type__(conf["type"], uuid)
17741761
depends = conf["depends"].split()
@@ -1987,20 +1974,8 @@ def upgrade(self, release):
19871974
return
19881975

19891976
if release is not None:
1990-
host_release = float(os.uname()[2].rsplit("-", 1)[0].rsplit(
1991-
"-", 1)[0])
19921977
_release = release.rsplit("-", 1)[0].rsplit("-", 1)[0]
1993-
_release = float(_release)
1994-
1995-
if host_release < _release:
1996-
ioc_common.logit({
1997-
"level":
1998-
"EXCEPTION",
1999-
"message":
2000-
f"\nHost: {host_release} is not greater than"
2001-
f" target: {_release}\nThis is unsupported."
2002-
},
2003-
_callback=self.callback)
1978+
ioc_common.check_release_newer(_release, major_only=True)
20041979

20051980
uuid, path = self.__check_jail_existence__()
20061981
root_path = f"{path}/root"

iocage_lib/release.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ def __iter__(self):
5858
for release in filter(
5959
lambda r: (
6060
r if not self.eol_check else r not in self.eol_list
61-
) and not check_release_newer(r, raise_error=False),
61+
) and not check_release_newer(
62+
r, raise_error=False, major_only=True
63+
),
6264
re.findall(
6365
r'href="(\d.*RELEASE)/"', req.content.decode('utf-8')
6466
)

0 commit comments

Comments
 (0)