Skip site navigation (1)Skip section navigation (2)
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>