Install via yaourt fails with …pkg.tar.xz not found #1

Closed
flying-sheep opened this Issue Mar 15, 2012 · 6 comments

Comments

Projects
None yet
2 participants

The installation fails with Package /tmp/yaourt-tmp-$(whoami)/PKGDEST.???/*.pkg.tar.xz not found, while the directory contains the same file with .gz extension.

renaming the package results in successful installation.

Owner

adityam commented Mar 16, 2012

This appears to be a bug with yaourt. The PKGBUILD specifies that the PKGEXT is tar.gz, so yaourt should not be looking for tar.xz files.

Although .xz is the default for arch packages, I prefer .gz because compression and decompression are faster. I don't distribute a binary version of the package, so the smaller size of pkg.tar.xz is not a big advantage.

You could file a bug report with yaourt or manually install the package:

cd $HOME/Software/context-minimals (or any another directory)
git clone git://github.com/adityam/context-pkgbuild.git ./
makepkg
sudo packan -U context-minimals-<date>.tar.gz

The advantage of this approach is that file download is faster (since you keep the old version of the downloaded files), and you can revert back to an older version easily.

i can’t see any spec which says that $PKGEXT exists outside of the makepkg.conf

several places confirm this, e.g.:

An Arch package is no more than a tar archive compressed using xz, or 'tarball', which contains: […]

and

When makepkg is run, it searches for a PKGBUILD in the current directory and follows the instructions therein to either compile or otherwise acquire the files to build a package file (pkgname.pkg.tar.xz).

Owner

adityam commented Mar 19, 2012

On Sun, 18 Mar 2012, flying-sheep wrote:

i can’t see any spec which says that $PKGEXT exists outside of the makepkg.conf

several places confirm this, e.g.:

I don't remember where I first saw this advice, but a quick google search
shows that PKGEXT may be set on a per-package basis. For example,

https://bbs.archlinux.org/viewtopic.php?id=127894

which says:

Also note that you can override this on a per package basis by
(re)definining PKGEXT right in the PKGBUILD.

In fact, the PKGBUILD of pacman has the following lines

# keep an upgrade path for older installations
PKGEXT='.pkg.tar.gz'

So setting PKGEXT on a per-package basis is certainly valid.

Other packages also use this, and yaourt chokes on them as well. For
example:

http://aur.archlinux.org/packages.php?ID=18415&detail=1

I'll file a bug report for yaourt. (I don't really want to remove PKGEXT
because I find that .xz compression and decompression take a lot of
time, saving only a little space (compared to .gz)).

ok, sorry for not researching thoroughly enough :(

Owner

adityam commented Mar 19, 2012

No problem. This feature is not documented properly, and as such it is not surprising that most tools ignore PKGEXT inside a PKGBUILD.

@adityam adityam closed this Mar 19, 2012

Owner

adityam commented Apr 27, 2012

I installed the latest git version of yaourt (the yaourt-git package on AUR), and it correctly builds the context-mnimals package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment