Date: Thu, 19 Sep 2019 08:24:40 +0800 From: Marcelo Araujo <araujobsdport@gmail.com> To: Michael Gmelin <grembo@freebsd.org> Cc: ports-committers <ports-committers@freebsd.org>, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r512299 - in head/sysutils/iocage: . files Message-ID: <CAOfEmZhSiKpKGjGh82yph_NdRiEfEid8gqGpVxOGQG6qXsLjug@mail.gmail.com> In-Reply-To: <201909190021.x8J0LARn004132@repo.freebsd.org> References: <201909190021.x8J0LARn004132@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
It was not a timeout as you can see by the discussion at the PR you opened! I was trying to coordinate with iocage devs a new release. Next time ping me. Best regards, On Thu, Sep 19, 2019, 8:21 AM Michael Gmelin <grembo@freebsd.org> wrote: > Author: grembo > Date: Thu Sep 19 00:21:10 2019 > New Revision: 512299 > URL: https://svnweb.freebsd.org/changeset/ports/512299 > > Log: > Fix `iocage upgrade' for 11.3-RELEASE and upcoming 12.1-RELEASE[0] > > Also: > - Fix dependencies when upgrading <12 jails running on a in -RELEASE > jailhost > (depend on `merge' from devel/rcs57). > - Fix to unbreak updating multiple jails at once[1]. > - Patch to `setup.py' to make `make check-plist' pass[2]. > - Move `NO_ARCH' to make portlint happy > > See: > [0]https://github.com/iocage/iocage/pull/1027 and > > https://github.com/iocage/iocage/commit/f66d9f0724daa03dc08cebc3f30b04abc7e97f82 > [1] > https://github.com/iocage/iocage/commit/47d7c28ad2db76eaba797921555bbf68a476eb9b#diff-134cbca4d064a61a693d1199494d24df > [2]https://github.com/iocage/iocage/issues/1043 > > PR: 240177 > Approved by: araujo (maintainer timeout) > > Added: > head/sysutils/iocage/files/patch-iocage_lib-ioc_upgrade.py (contents, > props changed) > head/sysutils/iocage/files/patch-setup.py (contents, props changed) > Modified: > head/sysutils/iocage/Makefile > > Modified: head/sysutils/iocage/Makefile > > ============================================================================== > --- head/sysutils/iocage/Makefile Thu Sep 19 00:08:47 2019 > (r512298) > +++ head/sysutils/iocage/Makefile Thu Sep 19 00:21:10 2019 > (r512299) > @@ -2,6 +2,7 @@ > > PORTNAME= iocage > PORTVERSION= 1.1 > +PORTREVISION= 1 > CATEGORIES= sysutils python > PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} > > @@ -22,12 +23,14 @@ RUN_DEPENDS= > ${PYTHON_PKGNAMEPREFIX}netifaces>0:net/py > ${PYTHON_PKGNAMEPREFIX}requests>=2.11.1:www/py-requests@${PY_FLAVOR} > \ > ${PYTHON_PKGNAMEPREFIX}libzfs>=1.0.2:devel/py-libzfs@${PY_FLAVOR} > \ > ${PYTHON_PKGNAMEPREFIX}dulwich>0:devel/dulwich@${PY_FLAVOR} > \ > - ${PYTHON_PKGNAMEPREFIX}dnspython>0:dns/py-dnspython@ > ${PY_FLAVOR} > + ${PYTHON_PKGNAMEPREFIX}dnspython>0:dns/py-dnspython@${PY_FLAVOR} > \ > + merge:devel/rcs57 > > -NO_ARCH= yes > USES= python:3.6+ > USE_GITHUB= yes > USE_PYTHON= autoplist distutils > + > +NO_ARCH= yes > > CONFLICTS= py27-iocage-[0-9]* > > > Added: head/sysutils/iocage/files/patch-iocage_lib-ioc_upgrade.py > > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sysutils/iocage/files/patch-iocage_lib-ioc_upgrade.py Thu Sep 19 > 00:21:10 2019 (r512299) > @@ -0,0 +1,105 @@ > +This patch can most likely be removed when updating to iocage 1.2, > +See > +https://github.com/iocage/iocage/pull/1027 and > + > https://github.com/iocage/iocage/commit/f66d9f0724daa03dc08cebc3f30b04abc7e97f82 > +--- iocage_lib/ioc_upgrade.py.orig 2019-01-25 21:32:55 UTC > ++++ iocage_lib/ioc_upgrade.py > +@@ -24,6 +24,7 @@ > + """iocage upgrade module""" > + import datetime > + import fileinput > ++import hashlib > + import os > + import pathlib > + import subprocess as su > +@@ -80,9 +81,12 @@ class IOCUpgrade(iocage_lib.ioc_json.IOCZFS): > + } > + > + self.callback = callback > +- # Work around for > https://github.com/freebsd/freebsd/commit/bffa924f > +- os.environ['UNAME_r'] = self.jail_release > + > ++ # symbolic link created on fetch by freebsd-update > ++ bd_hash = hashlib.sha256((self.path + > '\n').encode('utf-8')).hexdigest() > ++ self.freebsd_install_link = os.path.join(self.path, > ++ 'var/db/freebsd-update', bd_hash + '-install') > ++ > + def upgrade_jail(self): > + tmp_dataset = self.zfs_get_dataset_name('/tmp') > + tmp_val = self.zfs_get_property(tmp_dataset, 'exec') > +@@ -142,44 +146,26 @@ class IOCUpgrade(iocage_lib.ioc_json.IOCZFS): > + callback=self.callback > + ) > + else: > +- try: > +- iocage_lib.ioc_exec.InteractiveExec( > +- fetch_cmd, > +- self.path.replace('/root', ''), > +- uuid=self.uuid, > +- unjailed=True > +- ) > +- except iocage_lib.ioc_exceptions.CommandFailed: > +- self.__rollback_jail__() > +- msg = f'Upgrade failed! Rolling back jail' > ++ iocage_lib.ioc_exec.InteractiveExec( > ++ fetch_cmd, > ++ self.path.replace('/root', ''), > ++ uuid=self.uuid, > ++ unjailed=True > ++ ) > ++ > ++ if not os.path.islink(self.freebsd_install_link): > ++ msg = f'Upgrade failed, nothing to install after > fetch!' > + iocage_lib.ioc_common.logit( > + { > +- "level": "EXCEPTION", > +- "message": msg > ++ 'level': 'EXCEPTION', > ++ 'message': msg > + }, > + _callback=self.callback, > + silent=self.silent > + ) > + > +- if not self.interactive: > +- while not self.__upgrade_install__(tmp.name): > +- pass > +- else: > +- # FreeBSD update loops 3 times > +- for _ in range(3): > +- try: > +- self.__upgrade_install__(tmp.name) > +- except iocage_lib.ioc_exceptions.CommandFailed: > +- self.__rollback_jail__() > +- msg = f'Upgrade failed! Rolling back jail' > +- iocage_lib.ioc_common.logit( > +- { > +- 'level': 'EXCEPTION', > +- 'message': msg > +- }, > +- _callback=self.callback, > +- silent=self.silent > +- ) > ++ while os.path.islink(self.freebsd_install_link): > ++ self.__upgrade_install__(tmp.name) > + > + new_release = iocage_lib.ioc_common.get_jail_freebsd_version( > + self.path, > +@@ -353,16 +339,10 @@ class IOCUpgrade(iocage_lib.ioc_json.IOCZFS): > + unjailed=True, > + callback=self.callback, > + ) as _exec: > +- update_output = iocage_lib.ioc_common.consume_and_log( > ++ iocage_lib.ioc_common.consume_and_log( > + _exec, > + callback=self.callback > + ) > +- > +- for i in update_output: > +- if i == 'No updates are available to install.': > +- return True > +- > +- return False > + else: > + iocage_lib.ioc_exec.InteractiveExec( > + install_cmd, > > Added: head/sysutils/iocage/files/patch-setup.py > > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sysutils/iocage/files/patch-setup.py Thu Sep 19 00:21:10 2019 > (r512299) > @@ -0,0 +1,50 @@ > +See https://github.com/iocage/iocage/issues/1043 > +--- setup.py.orig 2019-01-25 21:32:55 UTC > ++++ setup.py > +@@ -43,26 +43,26 @@ if sys.version_info < (3, 6): > + > + VERSION = '1.1' > + > +-setup( > +- name='iocage_lib', > +- version=VERSION, > +- description='A jail manager that uses ZFS.', > +- author='iocage Contributors', > +- author_email='https://groups.google.com/forum/#!forum/iocage', > +- url='https://github.com/iocage/iocage', > +- packages=find_packages(), > +- include_package_data=True, > +- install_requires=[ > +- 'dulwich>=0.18.6', > +- 'netifaces>=0.10.8', > +- 'dnspython>=1.15.0', > +- 'libzfs' > +- ], > +- setup_requires=['pytest-runner'], > +- entry_points={'console_scripts': ['iocage = iocage_lib:cli']}, > +- data_files=_data, > +- tests_require=['pytest', 'pytest-cov', 'pytest-pep8'] > +-) > ++#setup( > ++# name='iocage_lib', > ++# version=VERSION, > ++# description='A jail manager that uses ZFS.', > ++# author='iocage Contributors', > ++# author_email='https://groups.google.com/forum/#!forum/iocage', > ++# url='https://github.com/iocage/iocage', > ++# packages=find_packages(), > ++# include_package_data=True, > ++# install_requires=[ > ++# 'dulwich>=0.18.6', > ++# 'netifaces>=0.10.8', > ++# 'dnspython>=1.15.0', > ++# 'libzfs' > ++# ], > ++# setup_requires=['pytest-runner'], > ++# entry_points={'console_scripts': ['iocage = iocage_lib:cli']}, > ++# data_files=_data, > ++# tests_require=['pytest', 'pytest-cov', 'pytest-pep8'] > ++#) > + > + setup( > + name='iocage_cli', >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOfEmZhSiKpKGjGh82yph_NdRiEfEid8gqGpVxOGQG6qXsLjug>