[arch-general] pacman/libalpm/libfetch do not honor TMPDIR

Myra Nelson myra.nelson at hughes.net
Fri Nov 25 16:03:21 EST 2011

On Fri, Nov 25, 2011 at 12:42, clemens fischer <
ino-news at spotteswoode.dnsalias.org> wrote:

> clemens fischer wrote:
> > Gaetan Bisson wrote:
> >
> >> If that's easy then it shouldn't be too hard for you to open a bug
> >> report on the tracker and submit a patch.
> >
> > Then what component does the actual extracting?  Is it libfetch?  That
> > would be an upstream moving target, because it comes from netbsd.  Do
> > you guys accept patches against libfetch in this case?
> Seems libarchive is used to handle packages.
> pacman.git lib/libalpm/add.c::perform_extraction() is hard to
> understand.  It should be the place the warning I cited came from.  If
> that is the case, ENOSPC wasn't the cause of it.
> I don't understand two things:
> - where exactly are files extracted to?  If they go to /, how would
>  people use pacman when root is mounted ro (in the case of eg.
>  /.INSTALL)?  If I can freely determine where files go via
>  archive_entry_set_pathname(), where's the problem in using the value
>  of TMPDIR as a prefix and move the file into its final position when
>  libalpm declares the transaction ok?
> - the file causing the warning was ".INSTALL".  It contains
>  upgrade/install scriptlets.  How can a problem extracting an important
>  file like this be considered a warning?
> clemens
> The .install files are contained in the package. It should be in
/var/lib/${pkgname}/, you can extract the package file somewhere and look
at it that way, or if you compiled the package yourself the .install file
should be in the ${pkgdir} in the build folder. As far as the need to keep
compile files across a crash, dont' build in /tmp/makepkg and write a
simple clean up script in bash or a bash alias.

alias cleandir="rmd src && rmd pkg && rm -vf *.log && rm -vf *.log.*"

That way everything will be saved in the build folder where the PKGBUILD is
then after the compile and you can purge the folder. I rebuild all my
packages, except the tool chain, tailored to my box so I do a lot of
compiling and /tmp is mounted on tmpfs. Occassionally I take a look at
memory usage while compiling large packages, ie qt, and rarely see any
usage close to 1.5 GB of memory usage and thats with x, openbox, firefox,
and some game open while I'm waiting for the compile to finish.

Might I ask what you were compiling that threw the error?


Life's fun when your sick and psychotic!

More information about the arch-general mailing list