FS#65281 - [pacman] 5.2.1-4 makepkg does not extract source tarballs from location file:///...

Attached to Project: Pacman
Opened by Kaspar Hollenstein (archiebug) - Monday, 27 January 2020, 03:04 GMT
Last edited by Eli Schwartz (eschwartz) - Monday, 27 January 2020, 03:28 GMT
Task Type Bug Report
Category makepkg
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version 5.2.1
Due in Version 5.2.2
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Makepkg successfully copies local source tarballs specified in the source array with a URL like "file:///foo/bar.tar.gz" into current directory, but fails to extract them before entering fakeroot environment and continuing with the execution of the PKGBUILD functions. No errors are returned. The src directory is created and a softlink to the source tarball therein as well. However, no extracted files are present in the src directory.

Manually copying the source file into the directory containing PKGBUILD and changing the source array to "bar.tar.gz" works fine. Similarly, downloading the source file from a remote server, i.e. with a source array containing "ftp://ftp.server.org/bar.tar.gz" or the like works, too.

This is what the output looks like for a failed case:

==> Making package: xds 20180126-1 (Sun 26 Jan 2020 09:19:25 PM EST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found XDS-INTEL64_Linux_x86_64.tar.gz
==> Validating source files with sha256sums...
XDS-INTEL64_Linux_x86_64.tar.gz ... Passed
==> Extracting sources...
==> Entering fakeroot environment...
==> Starting package()...
...

For a successful case (source file manually copied into current directory) it looks like so:

==> Making package: 20180126-1 (Sun 26 Jan 2020 09:26:29 PM EST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found XDS-INTEL64_Linux_x86_64.tar.gz
==> Validating source files with sha256sums...
XDS-INTEL64_Linux_x86_64.tar.gz ... Passed
==> Extracting sources...
-> Extracting XDS-INTEL64_Linux_x86_64.tar.gz with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
...


Note: Unlike in the failed case, makepkg reports extracting the file with bsdtar.

This behavior could be reproduced with several independent source files. In previous versions of makepkg (not sure when the change happened, though), using URLs like "file:///foo/bar.tar.gz" in the source array worked fine.

Attached are an example PKGBUILD and my configuration file ~/.makepkg.conf
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Monday, 27 January 2020, 03:28 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#64648  and fixed in git master

Loading...