svn commit: r512299 - in head/sysutils/iocage: . files
Marcelo Araujo
araujobsdport at gmail.com
Thu Sep 19 01:06:54 UTC 2019
Em qui, 19 de set de 2019 às 08:53, Michael Gmelin <grembo at freebsd.org>
escreveu:
> Hi Marcelo,
>
> Nice to get some positive feedback ;)
>
> This was causing real harm to users. The PR was merged 20 days
> ago. The only (indirect) interaction I had with you was you asking
> upstream if they plan to release 1.2 anytime soon 17 days ago, the bug
> remained untouched and there was no indication that anything will happen
> anytime soon. I asked you if you objected to the changes on the bug
> almost 10 days ago and didn't get any feedback (see
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240177#c3).
>
> As I didn't hear back and also 1.2 release didn't happen the week
> upstream suggested it would (and not the week after + looking at
> upstream it seems like they've been trying to push it out for quite
> some time), and as the change is non-intrusive - it has only positive
> effects, in that it unbreaks upgrades for users, especially as some of
> the issues were related to the port skeleton itself - e.g. port QA
> failed and must have been for quite a while - this seemed the most
> productive way forward. It wasn't meant as an insult to you as a
> maintainer and I'm sorry if it was received as such. The patch will fix
> issues regardless if and when subsequent updates to 1.2 happen.
>
> I detailed the reasons why I committed this *now* here (11.2 is EoL,
> 2019Q4 is branched soon, 12.1 will happen in Q4, having a proven
> release in quarterly is beneficial, you really don't want 1.2 happen a
> week before branching quarterly, etc.):
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240177#c4
>
> Happy to have more direct communication happen next time though.
>
> Cheers,
> Michael
>
Not a problem Michael, it lacked a good communication and coordination from
my side. You did right, apologize for my previous email.
Thanks for the patch upstream and to update the ports. I will try to ping
the iocage guys again to see when we will have a new release.
Cheers,
>
> On Thu, 19 Sep 2019 08:24:40 +0800
> Marcelo Araujo <araujobsdport at gmail.com> wrote:
>
> > 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 at 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',
> > >
>
>
>
> --
> Michael Gmelin
>
--
--
Marcelo Araujo (__)araujo at FreeBSD.org
\\\'',)http://www.FreeBSD.org <http://www.freebsd.org/> \/ \ ^
Power To Server. .\. /_)
More information about the svn-ports-head
mailing list