FS#11149 - new makepkg --source behaviour

Attached to Project: Pacman
Opened by Vlad George (DonVla) - Friday, 08 August 2008, 17:56 GMT
Last edited by Allan McRae (Allan) - Sunday, 10 August 2008, 03:23 GMT
Task Type Bug Report
Category makepkg
Status Closed
Assigned To Allan McRae (Allan)
Architecture All
Severity Medium
Priority Normal
Reported Version 3.2.0
Due in Version 3.2.1
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Summary and Info:
when running "makepkg --source" the source tarball contains the PKGBUILD and install, etc files, inside a directory. earlier behaviour was that this files were directly inside the tarball. the problem is that when including a source file, this file isn not included, but a symlink. i don't think this is intended.

Steps to Reproduce:
run makepkg --source with source tarball inside the directory (ie. source=($pkgname-$pkgver.tar.gz) - no link)
This task depends upon

Closed by  Allan McRae (Allan)
Sunday, 10 August 2008, 03:23 GMT
Reason for closing:  Fixed
Additional comments about closing:  Git commit 57bd8974
Comment by Vlad George (DonVla) - Friday, 08 August 2008, 18:28 GMT
just for clarity:
i found the undocumented "--allsource" option which always includes the source ball.
why the split into "--source" and "--allsource"?
it was clearer by only including the link or the local package inside the sources array.


Comment by Aaron Griffin (phrakture) - Friday, 08 August 2008, 20:47 GMT
--allsource is useful to some people (and may/will be used for GPL compliance later), but --source generates AUR compliant tarballs
Comment by Allan McRae (Allan) - Saturday, 09 August 2008, 03:08 GMT
So with the documentation of --allsource option coming in 3.2.1, is there a bug here?
Comment by Vlad George (DonVla) - Saturday, 09 August 2008, 04:00 GMT
yes. when there is no link inside the source array (ie "source=(http|ftp:< link to $pkgname-$pkgver.tar.gz>)") but only the package source name (ie "source=($pkgname-$pkgver.tar.gz)"), then running "makepkg --source" or "makepkg --allsource" creates only a symlink pointing from $pkgname-$pkgver.tar.gz to $pkgname-$pkgver.tar.gz inside the .src.tar.gz. the actual source file is not included.
Comment by Allan McRae (Allan) - Saturday, 09 August 2008, 06:01 GMT Comment by Vlad George (DonVla) - Saturday, 09 August 2008, 06:20 GMT
thank you
Comment by Vlad George (DonVla) - Saturday, 09 August 2008, 22:59 GMT
  • Field changed: Percent Complete (100% → 0%)
i noticed that this does not affect only the local source file, but also the $pkgname.install file and/or included patches in the directory. e.g.
"
$ ls -1
gibak-0.3.0.tar.gz
gibak.install
OMakefile.patch
PKGBUILD
"
then:
"
$ makepkg --source
==> Making package: gibak 0.3.0-1 i686 (Sun Aug 10 00:55:10 CEST 2008)
==> Creating source package...
-> Adding PKGBUILD...
-> Adding install script...
-> Adding OMakefile.patch...
-> Adding gibak.install...
ln: creating symbolic link `/home/vlad/apps/arch/pkgbuild-self/gibak/srclinks.WQM4QgLHV/gibak/gibak.install': File exists
"
and the inside the srclinks.XXXXXXXX/$pkgname directory:
"
$ls -1
gibak.install
OMakefile.patch -> OMakefile.patch
PKGBUILD
"
Comment by Allan McRae (Allan) - Sunday, 10 August 2008, 02:04 GMT
Firstly, you have a problem with your install file because you have it in your source array. That is wrong.

The handling of all patches is the same as any local sources so the above fix should of fixed it. Have you made the change to makepkg suggested by that patch?
Comment by Vlad George (DonVla) - Sunday, 10 August 2008, 02:49 GMT
oh, i see. that was the problem. that also changed from previous makepkg version.
my fault, i haven´t applied the patch, because i don´t want to mess up pacman. but i´ll try this now.
thanks
Comment by Vlad George (DonVla) - Sunday, 10 August 2008, 02:58 GMT
it works as expected.
thanks allen!

Loading...