Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#66426 - Extraction of sources doesn't use custom file name

Attached to Project: Pacman
Opened by mirh (mirh) - Sunday, 26 April 2020, 16:47 GMT
Last edited by Eli Schwartz (eschwartz) - Sunday, 26 April 2020, 17:02 GMT
Task Type Bug Report
Category makepkg
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version git
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Summary and Info:
When you use a custom file name for an archive, despite symlinking and seemingly everything else working perfectly, automatic extraction doesn't respect this property.
I'm think this is a bug since if you have two separate sources that needs to be separated, I'm pretty sure "merging together" is not what you want.

Steps to Reproduce:
1. Have something like source=("foo.zip::https://github.com/user/whatever/archive/bar.zip") in your PKGBUILD
2. Expect its content in $srcdir/foo
3. It's instead still extracted at $srcdir/bar
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Sunday, 26 April 2020, 17:02 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Working as intended, see comments.
Comment by Eli Schwartz (eschwartz) - Sunday, 26 April 2020, 16:53 GMT
pacman doesn't rename extracted sources, it renames the downloaded source archive. The purpose of this is to allow correct validation of downloaded sources in $SRCDEST when multiple packages download remote files with the same name (commonly '1.0.tar.gz' or similar).

The directory name comes from within the .zip file. This is expected, as it is how all source extraction operates, and it's not reliable to determine whether automatic renaming should create a directory and extract all contents to it, or rename the existing toplevel directory. The current implementation guarantees that every source follows the same rules.

Use noextract=() and extract it yourself, this gives you full control over source extraction when the defaults aren't good enough.
Comment by mirh (mirh) - Sunday, 26 April 2020, 16:56 GMT
Wops, sorry, I had just figured out myself this too.
Thanks for the bother anyhow.

Loading...