[elbe-devel] [PATCH 2/3] fetch_initvm_pkgs: switch to our own fixed version of fetch_binary
Bastian Germann
bage at linutronix.de
Fri Dec 6 19:51:01 CET 2019
Am 04.12.19 um 17:37 schrieb Torben Hohn:
> Version.fetch_binary() from python-apt sometimes fails, because the
> md5_hash does not seem to exist.
>
> --------------------------------------------------------------------------------
> Oct 20 07:39:21 in-target: Traceback (most recent call last):
> Oct 20 07:39:21 in-target: File "/bin/elbe", line 55, in <module>
> Oct 20 07:39:21 in-target: cmdmod.run_command(sys.argv[2:])
> Oct 20 07:39:21 in-target: File "/usr/lib/python2.7/dist-packages/elbepack/commands/fetch_initvm_pkgs.py", line 108, in run_command
> Oct 20 07:39:21 in-target: ElbeAcquireProgress(cb=None))
> Oct 20 07:39:21 in-target: File "/usr/lib/python2.7/dist-packages/apt/package.py", line 867, in fetch_binary
> Oct 20 07:39:21 in-target: if _file_is_same(destfile, self.size, self._records.md5_hash):
> Oct 20 07:39:21 in-target: SystemError: error return without exception set
> --------------------------------------------------------------------------------
>
> Use our own implementation from the previous commit, which only validates
> sha256.
>
> Signed-off-by: Torben Hohn <torben.hohn at linutronix.de>
Reviewed-by: Bastian Germann <bage at linutronix.de>
> ---
> elbepack/commands/fetch_initvm_pkgs.py | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/elbepack/commands/fetch_initvm_pkgs.py b/elbepack/commands/fetch_initvm_pkgs.py
> index 46c3299df..992f1af92 100644
> --- a/elbepack/commands/fetch_initvm_pkgs.py
> +++ b/elbepack/commands/fetch_initvm_pkgs.py
> @@ -20,6 +20,7 @@ from elbepack.aptprogress import ElbeAcquireProgress
> from elbepack.filesystem import hostfs
> from elbepack.log import elbe_logging
> from elbepack.shellhelper import do
> +from elbepack.aptpkgutils import fetch_binary
>
>
> def run_command(argv):
> @@ -104,8 +105,9 @@ def run_command(argv):
> try:
> p = cache[pkg.name]
> pkgver = p.installed
> - deb = pkgver.fetch_binary(opt.archive,
> - ElbeAcquireProgress(cb=None))
> + deb = fetch_binary(pkgver,
> + opt.archive,
> + ElbeAcquireProgress(cb=None))
> repo.includedeb(deb, 'main')
> except ValueError:
> logging.exception('No package "%s"', pkg_id)
>
More information about the elbe-devel
mailing list