** Description changed:

+ [Impact]
+ 
  src:ubuntu-dev-tools 0.193ubuntu4~20.04.2 regressed behaviour in how
  python3-ubuntutools downloads source packages from Launchpad. This is
  currently breaking the git-ubuntu importer, causing it to fail to update
  repositories for some packages, since the git-ubuntu snap is based on
  Focal and has been rebuilt since. The most recent version of the git-
  ubuntu snap for amd64 that does not exhibit the problem is r1212.
  
  [Test Plan]
  
  Scenario A:
  
  python3
  from ubuntutools.archive import UbuntuSourcePackage
  pkg=UbuntuSourcePackage(package='ffc', version='0.7.0-1')
  pkg.pull()
  
  Actual results:
  
  File ffc_0.7.0-1.diff.gz incorrect size, got 53464 expected 13021
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 470, in 
pull
      self._download_file_from_urls(urls, name, int(entry["size"]), 
dscverify=True)
    File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 447, in 
_download_file_from_urls
      raise DownloadError(f"Failed to download {filename}")
  ubuntutools.misc.DownloadError: Failed to download ffc_0.7.0-1.diff.gz
  
  Expected results: no output and no error and ffc_0.7.0-1.diff.gz should
  be 13021 bytes.
  
  You may also want to add the lines:
  
  import logging
  logging.basicConfig()
  logging.getLogger().setLevel(logging.DEBUG)
  
  to help with debugging, but it is not necessary to reproduce the
  problem.
  
  With python3-ubuntutools 0.176ubuntu20.04.1 this works
  With python3-ubuntutools 0.193ubuntu4~20.04.2 this fails.
  I think 0.193ubuntu4~20.04.1 was never published to focal-updates.
  
  Scenario B:
  
  $ pull-lp-source ffc 0.7.0-1
  Found ffc 0.7.0-1 in lucid
  Downloading ffc_0.7.0-1.dsc from launchpadlibrarian.net (0.001 MiB)
  [=====================================================>]100%
  Public key not found, could not verify signature
  Downloading ffc_0.7.0.orig.tar.gz from launchpadlibrarian.net (1.551 MiB)
  [=====================================================>]100%
  Downloading ffc_0.7.0-1.diff.gz from launchpadlibrarian.net (0.012 MiB)
  File ffc_0.7.0-1.diff.gz incorrect size, got 53464 expected 13021
  Traceback (most recent call last):
-   File "/usr/bin/pull-lp-source", line 14, in <module>
-     PullPkg.main(distro="ubuntu", pull="source")
-   File "/usr/lib/python3/dist-packages/ubuntutools/pullpkg.py", line 111, in 
main
-     cls(*args, **kwargs).pull()
-   File "/usr/lib/python3/dist-packages/ubuntutools/pullpkg.py", line 461, in 
pull
-     srcpkg.pull()
-   File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 470, in 
pull
-     self._download_file_from_urls(urls, name, int(entry["size"]), 
dscverify=True)
-   File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 447, in 
_download_file_from_urls
-     raise DownloadError(f"Failed to download {filename}")
+   File "/usr/bin/pull-lp-source", line 14, in <module>
+     PullPkg.main(distro="ubuntu", pull="source")
+   File "/usr/lib/python3/dist-packages/ubuntutools/pullpkg.py", line 111, in 
main
+     cls(*args, **kwargs).pull()
+   File "/usr/lib/python3/dist-packages/ubuntutools/pullpkg.py", line 461, in 
pull
+     srcpkg.pull()
+   File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 470, in 
pull
+     self._download_file_from_urls(urls, name, int(entry["size"]), 
dscverify=True)
+   File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 447, in 
_download_file_from_urls
+     raise DownloadError(f"Failed to download {filename}")
  ubuntutools.misc.DownloadError: Failed to download ffc_0.7.0-1.diff.gz
  
  Expected results: success and ffc_0.7.0-1.diff.gz should be 13021 bytes.
  
  Scenario C:
  
  Pick a package in an Unapproved queue. In this example I chose r8125 in
  the Jammy queue.
  
  pull-pkg -D ubuntu --upload-queue --pull source r8125 jammy
  
  This should result in (amongst others) an appropriately named changes
  file eg. r8125_9.007.01-3ubuntu0.2_source.changes and the file should be
  uncompressed. For example:
  
  $ xxd r8125_9.007.01-3ubuntu0.2_source.changes|head -1
  00000000: 466f 726d 6174 3a20 312e 380a 4461 7465  Format: 1.8.Date
+ 
+ [Where things could go wrong]
+ 
+ We're changing how we download files, so other classes of downloads
+ could regress. To try and mitigate this, the Test Plan tries the
+ opposing known edge cases of .diff.gz and .changes files.

-- 
You received this bug notification because you are a member of MOTU,
which is subscribed to ubuntu-dev-tools in Ubuntu.
https://bugs.launchpad.net/bugs/2025748

Title:
  Launchpad downloads fail with "incorrect size, got X expected Y"

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools/+bug/2025748/+subscriptions


-- 
universe-bugs mailing list
universe-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/universe-bugs

Reply via email to