FS#6094 - --ignore <pkg> doesn't work in some cases
Attached to Project:
Pacman
Opened by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 10:44 GMT
Opened by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 10:44 GMT
|
Details
[rk@home gimmix]$ sudo pacman -S dvdrip --ignore gtk
--ignore qt
libdv requires gtk, but it is in IgnorePkg. Install anyway? [Y/n] y avifile requires qt, but it is in IgnorePkg. Install anyway? [Y/n] y Targets: glib-perl-1.140-1 gtk2-perl-1.122-2 perl-gtk2-ex-formfactory-0.65-1 libwmf-0.2.8.4-4 imagemagick-6.3.1.3-1 glib-1.2.10-6 gtk-1.2.10-7 libdv-0.104-2 qt-3.3.6-4 divx4linux-6.1.1-1 codecs-20061022-1 xvidcore-1.1.2-1 avifile-0.7.45-1 faac-1.24-2 libdts-0.0.2-1 imlib2-1.2.2-1 ffmpeg-20060920-1 mjpegtools-1.8.0-2 transcode-1.0.2-4 perl-libintl-perl-1.16-1 perl-event-1.06-1 perl-anyevent-1.02-1 perl-event-execflow-0.62-1 dvdrip-0.98.1-1 Total Package Size: 45.0 MB Proceed with upgrade? [Y/n] :: Retrieving packages from extra... glib-perl-1.140-1 [################] 100% 356K 50.2K/s 00:00:07 gtk2-perl-1.122-2 [################] 100% 1908K 34.8K/s 00:00:54 perl-gtk2-ex-formfactory [################] 100% 200K 64.6K/s 00:00:03 libdv-0.104-2 [################] 100% 153K 43.0K/s 00:00:03 qt-3.3.6-4 [ ] 0% 76K 31.7K/s 00:01:02 Checked with the latest pacman-rc package too - same result. BTW, IMHO message "libdv requires gtk, but it is in IgnorePkg" may be confusing, because what package meant by "it" may be misinterpreted. I suggest changing "it" to "which". |
This task depends upon
Closed by Aaron Griffin (phrakture)
Thursday, 25 January 2007, 21:27 GMT
Reason for closing: Duplicate
Additional comments about closing: Resolution is a dupe of this:
http://bugs.archlinux.org/task/4845
Thursday, 25 January 2007, 21:27 GMT
Reason for closing: Duplicate
Additional comments about closing: Resolution is a dupe of this:
http://bugs.archlinux.org/task/4845
This ignores gtk properly:
--ignore gtk
libdv requires gtk, but it is in IgnorePkg. Install anyway? [Y/n] y
This ignores gt properly:
--ignore qt
avifile requires qt, but it is in IgnorePkg. Install anyway? [Y/n] y
You actually said "yes" to install them even though there were ignored.
libdv requires gtk, but it is in IgnorePkg. Install anyway? [Y/n] n
error: cannot resolve dependencies for "libdv"
How about this then?
How I can install dvdrip without gtk and qt?
[rk@home gimmix]$ sudo pacman -S dvdrip --ignore gtk --ignore qt
libdv requires gtk, which is in IgnorePkg. Install anyway? [Y/n] y
avifile requires qt, which is in IgnorePkg. Install anyway? [Y/n] y
Should lead to installing dvdrip without gtk and qt,
while this:
[rk@home ~]$ sudo pacman -S dvdrip --ignore gtk --ignore qt
libdv requires gtk, which is in IgnorePkg. Install anyway? [Y/n] n
error: cannot resolve dependencies for "libdv"
is OK.
"Install anyway" may be changed to "Install without gtk", but this is just my opinion.
The output, I agree, is confusing.
Then, it will be very useful to have NoInstall option in pacman.conf (IIRC there was feature request already) and --noinstall option.
However, wouldn't it be better if --ignore <pkg> worked for not-yet-installed packages in the same way as NoInstall option in pacman.conf? ;-)
Because, for example, there's no way to install some package without some dependency now.
Doing pacman -S dvdrip and then pacman -Rd gtk qt is not the solution, because of 1) -Rd bugs not fixed yet and 2) useless gtk and qt downloads (which are quite big packages).
I know nothing of dvdrip, per-se, but in this case, gtk and qt are dependencies waaaay down the chain (libdv and avifile). There is no way of knowing whether or not excluding gtk will cause breakage for any of these libraries which will, in turn, cause the main app to fail to load.
In cases like this, I think we should eschew usage such as this and go more with the "optdepends" or "uses" settings proposed in another bug report. In this case, assuming there is no actual breakage when doing so, libdv can optdepends=(gtk) and avifile can optdepends=(qt) which would give you a "would you like to install XYZ" at runtime.
But! IMO this improved --ignore behaviour should exist for the same reason(s) as -Rd. Otherwise -Rd are not needed too. :-/
As for gtk & qt dependencies for libdv & avifile - they are just not needed.
For example, from avifile's homesite:
Requirements: . . . Qt library ver. 2.0 or newer. For _video_capture_app_: 2.2.0 or newer.
So this is optional dependency, or avifile should be splitted to lib and apps package.
Should I reporte those issues as separate bugs now?