repo: rollback to using dpkg-deb for deb extraction
Metadata
Current evaluation
Merged a revert restoring dpkg-deb for deb extraction after debian.arfile caused severe performance regressions. The change addresses LP #1767119 by switching back to the faster dpkg-deb tool, resolving the build slowdown.
Suggested action: —
No scores available.
Issue body
Revert "repo: use debian.arfile instead of dpkg-deb (#1878)"
This reverts commit fa287bec3376293e791e24ead3e666b11cddfef6.
LP: #1767119
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
The first run is using `dpkg-deb`, the ssecond run using arfile (didn't even wait for it to finish, but the numbers speak for themselves).
```
(snapcraft) ubuntu@snapcraft-xenial-dev:~/source/vlc/extras/package/snap$ time snapcraft build
DEPRECATED: The 'prepare' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn7 for more information.
DEPRECATED: The 'build' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn8 for more information.
DEPRECATED: The 'install' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn9 for more information.
Skipping pull desktop-qt5-vlc (already ran)
Skipping build desktop-qt5-vlc (already ran)
Skipping stage desktop-qt5-vlc (already ran)
Skipping pull wrapper (already ran)
Skipping pull vlc (already ran)
Preparing to build wrapper
Building wrapper
Preparing to build vlc
Building vlc
cmake too old
ragel not found
protoc not found
ant not found
nasm not found
To-be-built packages: cmake ragel protoc ant nasm
curl -f -L -- "http://downloads.videolan.org/pub/contrib/protobuf/protobuf-3.1.0.tar.gz" > "protobuf-3.1.0.tar.gz.tmp" && touch protobuf-3.1.0.tar.gz.tmp && mv protobuf-3.1.0.tar.gz.tmp protobuf-3.1.0.tar.gz || ( curl -f -L -- "https://github.com/google/protobuf/releases/download/v3.1.0/protobuf-cpp-3.1.0.tar.gz" > "protobuf-3.1.0.tar.gz.tmp" && touch protobuf-3.1.0.tar.gz.tmp && mv protobuf-3.1.0.tar.gz.tmp protobuf-3.1.0.tar.gz && echo "Please upload package protobuf-3.1.0.tar.gz to our FTP" ) && grep protobuf-3.1.0.tar.gz SHA512SUMS| shasum -a 512 -c
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0^Ctools.mak:298: recipe for target 'protobuf-3.1.0.tar.gz' failed
make: *** [protobuf-3.1.0.tar.gz] Interrupt
Aborted!
real 0m18.712s
user 0m14.700s
sys 0m3.663s
(snapcraft) ubuntu@snapcraft-xenial-dev:~/source/vlc/extras/package/snap$ time snapcraft build
DEPRECATED: The 'prepare' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn7 for more information.
DEPRECATED: The 'build' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn8 for more information.
DEPRECATED: The 'install' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn9 for more information.
Skipping pull desktop-qt5-vlc (already ran)
Skipping build desktop-qt5-vlc (already ran)
Skipping stage desktop-qt5-vlc (already ran)
Skipping pull vlc (already ran)
Skipping pull wrapper (already ran)
Skipping build wrapper (already ran)
Preparing to build vlc
^C
Aborted!
real 5m10.762s
user 5m7.907s
sys 0m2.493s
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged a revert restoring dpkg-deb for deb extraction after debian.arfile caused severe performance regressions. The change addresses LP #1767119 by switching back to the faster dpkg-deb tool, resolving the build slowdown. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged revert restoring dpkg-deb for deb extraction after debian.arfile caused severe performance degradation, increasing build times from 18 seconds to over 5 minutes. Addresses Launchpad bug #1767119. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a revert switching deb extraction back to dpkg-deb from debian.arfile due to significant performance improvements. Resolves LP: #1767119. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1878 repo: use debian.arfile instead of dpkg-deb | snapcraft | merged | Merged a fix replacing dpkg-deb with debian.arfile in the repo source handler to bypass a tar and sshfs bug. Reviewers approved the change and suggested extracting shared extraction logic in a follow-up. | |
| #3083 repo: revert logic to get deb_arch | snapcraft | merged | Merged a revert of the deb_arch retrieval logic to fix SNAPCRAFT-1K1. It removes reliance on dpkg-architecture, unavailable on some systems and executed on the host before build environments. The change modifies one file, reducing 14 lines. |