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#6905 - makepkg dependency error

Attached to Project: Pacman
Opened by soulfire (soulfire) - Friday, 13 April 2007, 20:34 GMT
Last edited by Dan McGee (toofishes) - Sunday, 06 May 2007, 22:42 GMT
Task Type Bug Report
Category makepkg
Status Closed
Assigned To Aaron Griffin (phrakture)
Dan McGee (toofishes)
Architecture All
Severity Medium
Priority Normal
Reported Version 3.0.1
Due in Version 3.0.2
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

If i try to compile something via makepkg I end up with this dependency error

[root@asus frozen-bubble]# makepkg -i
==> Making package: frozen-bubble 2.1.0-1 (ven apr 13 19:48:34 CEST 2007)
==> Checking Runtime Dependencies...

==> Missing Dependencies:
-> richiede:
-> sdl_perl
-> richiede:
-> sdl_mixer
-> richiede:
-> perl-locale-gettext
-> richiede:
-> sdl_pango
==> Checking Buildtime Dependencies...

==> Missing Dependencies:
-> richiede:
-> imagemagick
==> ERROR: could not resolve all dependencies.
[root@asus frozen-bubble]# makepkg -is
==> Making package: frozen-bubble 2.1.0-1 (ven apr 13 19:48:58 CEST 2007)
==> Checking Runtime Dependencies...

==> Installing missing dependencies...
errore: 'richiede:': non trovato nel database

the last sentence is "error: 'richiede:' not found in database". "richiede" is the italian for require.
it seems that the string richiede is seen as a dependency, it happens with all pkgbuilds, frozen-bubble is just an example
This task depends upon

Closed by  Dan McGee (toofishes)
Sunday, 06 May 2007, 22:42 GMT
Reason for closing:  Fixed
Additional comments about closing:  fixed in cvs/git
Comment by Roman Kyrylych (Romashka) - Friday, 13 April 2007, 22:49 GMT
A note: never use makepkg as root. This leads to corrupted packages.
Comment by Andrew Fyfe (space-m0nkey) - Friday, 13 April 2007, 22:57 GMT
The call to pacman should be changed to 'LC_ALL= LANG= pacman ...'.

As a note anywhere in scripts where we are catching output from other programs to grep/sed/parse should use 'LC_ALL= LANG= cmd...' otherwise you run into these locale issues. There's a similar problem in the strip symbols code as well where it tries to grep for error messages.
Comment by Dan McGee (toofishes) - Friday, 13 April 2007, 22:59 GMT
More so than corrupted packages, building as root allows a not-so-nice PKGBUILD author to insert a rm -rf / and screw your system.

This is likely due to some sed usage in makepkg having an English string hardcoded, it should be fixable.
Comment by Dan McGee (toofishes) - Friday, 13 April 2007, 23:01 GMT
Instead of hacking the language, we should not ever have to parse it to begin with. This is horrible code design, because scripts should never be dependent on language strings. (This is different than strings in general, for instance we could have package names in outputs but not have scripts looking for "requires" in the output in case this string ever changes 'upstream').
Comment by Roman Kyrylych (Romashka) - Friday, 13 April 2007, 23:02 GMT
rm -rf / is not easy to do with coreutils 6.x series :P but yeah, building malicious PKGBUILDs or just with mistakes can really hurt your system, from shitting it with files in wrong places to doing some really bad things.
Comment by Andrew Fyfe (space-m0nkey) - Friday, 13 April 2007, 23:09 GMT
Isn't 'pacman -T' only used my makepkg? Can't we just change it to print a list of required packages to stdout and return 0 for no missing deps and 1 for missing deps.

I'll post a patch shortly to remove the greps from the strip commands.
Comment by Andrew Fyfe (space-m0nkey) - Friday, 13 April 2007, 23:35 GMT
Patch for the strip commands.

For the original problem, removing the 'requires:' (src/pacman/deptest.c:84) string from the output should do.
Comment by Dan McGee (toofishes) - Tuesday, 17 April 2007, 02:17 GMT
"requires:" string removed from pacman in both CVS and GIT, and makepkg changed to accommodate it.

Andrew- I pushed your strip patch to GIT because it is kind of a big change. Think it is a big deal to leave it out of 3.0.2?

Loading...