FS#34066 - [devtools] Correct operation requires the user not to be cautious about updates to devtools
Attached to Project:
Arch Linux
Opened by Connor Behan (connorbehan) - Thursday, 28 February 2013, 04:18 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 13 May 2013, 09:04 GMT
Opened by Connor Behan (connorbehan) - Thursday, 28 February 2013, 04:18 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 13 May 2013, 09:04 GMT
|
Details
If devtools is in a user's IgnorePkg variable, devtools will
break due to the line:
https://projects.archlinux.org/devtools.git/tree/mkarchroot.in#n75
The correct server to use is ascertained by running "pacman -Sddp extra/devtools". This uses pacman's own facilities to read mirrors and make sure they are valid. However, for an ignored package, there is no "target" and the command prints an empty string (and still succeeds). I strongly suspect this was the cause of: https://mailman.archlinux.org/pipermail/arch-general/2012-October/031862.html Now I did not post a patch yet because there are several options for fixing this. If you would like me to write a patch, please state which one you prefer: 1. Have a list of a few common packages like devtools, pacman, linux, glibc, etc. If empty strings are encountered, devtools will try the next one before giving up. 2. Assume that the user keeps an abs tree and run "pacman --config /var/abs/core/pacman/pacman.conf -Sddp extra/devtools" in order to use a fresh config file. 3. Supply a fresh config file with devtools for this purpose. 4. Patch pacman so that "-Sp" returns a URL even when the package should be ignored. This sounds reasonable since IgnorePkg is mainly used to stop package downloads, not queries. 5. Do not try to be clever and include code that reads the mirrorlist from scratch. 6. Scan pacman.conf and warn the user about this instead of fixing it. |
This task depends upon
Closed by Andrea Scarpino (BaSh)
Monday, 13 May 2013, 09:04 GMT
Reason for closing: Fixed
Additional comments about closing: in 4.1.1
Monday, 13 May 2013, 09:04 GMT
Reason for closing: Fixed
Additional comments about closing: in 4.1.1
For now I would say if you use your own fork of devtools you are on your own.
> 3. Supply a fresh config file with devtools for this purpose.
We necessarily supply several.
$ pkgfile -l devtools | grep pacman
extra/devtools /usr/share/devtools/pacman-gnome-unstable.conf
extra/devtools /usr/share/devtools/pacman-kde-unstable.conf
extra/devtools /usr/share/devtools/pacman-multilib-staging.conf
extra/devtools /usr/share/devtools/pacman-multilib-testing.conf
extra/devtools /usr/share/devtools/pacman-multilib.conf
extra/devtools /usr/share/devtools/pacman-staging.conf
extra/devtools /usr/share/devtools/pacman-testing.conf
extra/devtools /usr/share/devtools/pacman-extra.conf
A patch to use one of these pristine files instead of the user's own config would be an easy solution.
I sent this patch to arch-projects too.