(Very) bogus package dependencies

Alex Goncharov alex-goncharov at comcast.net
Thu Dec 6 19:32:53 PST 2007


,--- I=Alex (Thu, 06 Dec 2007 18:22:58 -0500) ----*
|
| But I cannot find any justification for this:
| 
| --------------------
| $ pkg_info -R cdrtools*
| Information for cdrtools-2.01_6:
| 
| Required by:
| hal-0.5.8.20070909
| xf86-input-keyboard-1.2.2_1
| xf86-input-mouse-1.2.3
| xf86-video-i810-1.6.5_3
| xf86-video-radeonhd-1.0.0
| xorg-server-1.4_3,1
| --------------------
| 
| `xf86-video-radeonhd-1.0.0' requires `cdrtools'?...
| 
| How can this happen? Am I missing something?
| 
| --------------------
| pwd; echo ===; cat ./+REQUIRED_BY; echo ===; ls -l ./+REQUIRED_BY
| /var/db/pkg/cdrtools-2.01_6
| ===
| hal-0.5.8.20070909
| xf86-input-keyboard-1.2.2_1
| xf86-input-mouse-1.2.3
| xf86-video-i810-1.6.5_3
| xf86-video-radeonhd-1.0.0
| xorg-server-1.4_3,1
| ===
| -rw-r--r--  1 root  wheel  140 Dec  6 17:05 ./+REQUIRED_BY
| --------------------
|
`-------------------------------------------------*

,--- You=Erik (Fri, 7 Dec 2007 01:13:15 +0100) ----*
|
| It looks like an ordinary indirect dependency.

| The drivers as well as the xorg-server all require 'hal'.

Yes:

--------------------
$ pkg_info -r xf86-video-radeonhd-*
....
Dependency: hal-0.5.8.20070909
Dependency: xorg-server-1.4_3,1
--------------------

| 'hal' depends on 'cdrtools'.  (It may be that the drivers only
| depend on xorg-server,

| As for why 'hal' requires 'cdrtools' I have no idea, but there is
| probably some reason for it.

And this is precisely the second of the two questions I have in mind:

1. (Purely technical): Where is this originally recorded?

   I don't see anything applicable in the port's directory:
   
--------------------
# find /usr/ports/sysutils/hal -type f| wc -l
   567
# find /usr/ports/sysutils/hal -type f -exec grep -Hn 'cdrtools' {} \;| wc -l
     0
--------------------

   But I do see it in `/var/db/pkg':
   
--------------------
# find /var/db/pkg/hal-0.5.8.20070909/ -type f -exec grep -Hn 'cdrtools' {} \;       
/var/db/pkg/hal-0.5.8.20070909/+CONTENTS:187:@pkgdep cdrtools-2.01_6
/var/db/pkg/hal-0.5.8.20070909/+CONTENTS:188:@comment DEPORIGIN:sysutils/cdrtools
--------------------

   So, is it that a port maintainer creates `/var/db/pkg/PKG/*' files
   by hand?  Based on individual ideas?  Not on really "must-to-have"
   things, like dependencies on shared libraries?

   (I am totally unfamiliar with the mechanism to maintain and package
   the ports and would like to understand it.)
   
2. (Conceptual): How reasonable are these dependencies?

   In this case, `/usr/sbin/burncd' is all I need to burn CD's.  I
   have no practical reason to have `cdrtools' on my computer.

   Why would the "Hardware Abstraction Layer for simplifying device
   access" depend on a specific set of "CD/CD-R[W] and ISO-9660 image
   creation and extraction tools" -- on this set and not on another?

Thanks,

-- Alex -- alex-goncharov at comcast.net --

/*
 * If at first you don't succeed, you're doing about average.
 * 
 * -- Leonard Levinson
 */



More information about the freebsd-ports mailing list