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
Task Type Bug Report
Category
Status Closed
Assigned To Aaron Griffin (phrakture)
Architecture not specified
Severity Medium
Priority Normal
Reported Version 0.7.2 Gimmick
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

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
Comment by Aaron Griffin (phrakture) - Thursday, 28 December 2006, 17:15 GMT
I get the "BTW" part of this bug, but do not see the original bug...
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.
Comment by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 18:30 GMT
[rk@home ~]$ sudo pacman -S dvdrip --ignore gtk --ignore qt
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?
Comment by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 18:31 GMT
BTW, "install anyway" may be confusing too. Install what - libdv or gtk?
Comment by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 18:40 GMT
This:
[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.
Comment by Aaron Griffin (phrakture) - Thursday, 28 December 2006, 18:57 GMT
Still, that has nothing to do with --ignorepkg. By definition IgnorePkg says "ignore upgrades / installation of this package" - it doesn't say anything about ignoring it as a dependency.

The output, I agree, is confusing.
Comment by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 19:02 GMT
Ah, you are right, --ignore <pkg> works in the same way as IgnorePkg.
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? ;-)
Comment by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 19:05 GMT
This improvement in --ignorepkg behaviour (+ added NoInstall option) is very useful, IMO.
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).
Comment by Aaron Griffin (phrakture) - Thursday, 28 December 2006, 19:11 GMT
Well. The way I see it, this should not really be a choice to the user. Opting to skip dependencies can easily lead to system breakage and odd behavior.

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.
Comment by Roman Kyrylych (Romashka) - Thursday, 28 December 2006, 19:21 GMT
I agree, that having optdepends feature will be much better.
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?

Loading...