From owner-freebsd-ports@FreeBSD.ORG Fri Dec 7 03:32:53 2007 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7F5916A421 for ; Fri, 7 Dec 2007 03:32:53 +0000 (UTC) (envelope-from alex-goncharov@comcast.net) Received: from QMTA04.emeryville.ca.mail.comcast.net (qmta04.emeryville.ca.mail.comcast.net [76.96.30.40]) by mx1.freebsd.org (Postfix) with ESMTP id 9D9B413C46B for ; Fri, 7 Dec 2007 03:32:53 +0000 (UTC) (envelope-from alex-goncharov@comcast.net) Received: from OMTA04.emeryville.ca.mail.comcast.net ([76.96.30.35]) by QMTA04.emeryville.ca.mail.comcast.net with comcast id Mesn1Y0090lTkoC0A04U00; Fri, 07 Dec 2007 03:32:58 +0000 Received: from [24.61.20.41] ([24.61.20.41]) by OMTA04.emeryville.ca.mail.comcast.net with comcast id MfYw1Y00H0tAiGw0800000; Fri, 07 Dec 2007 03:32:58 +0000 X-Authority-Analysis: v=1.0 c=1 a=5yq3d3LZQ_woPM_qWxYA:9 a=yeM78-LR9ES_tTNsYzy1FqT6q3cA:4 a=si9q_4b84H0A:10 a=mhQ4J5QMNLoA:10 Received: from algo by [24.61.20.41] with local (Exim 4.68 (FreeBSD)) (envelope-from ) id 1J0TxL-000J4O-8V; Thu, 06 Dec 2007 22:32:51 -0500 From: Alex Goncharov To: Erik Trulsson In-reply-to: <20071207001315.GA58050@owl.midgard.homeip.net> (message from Erik Trulsson on Fri, 7 Dec 2007 01:13:15 +0100) From: Alex Goncharov References: <20071207001315.GA58050@owl.midgard.homeip.net> Message-Id: Sender: Alex Goncharov Date: Thu, 06 Dec 2007 22:32:51 -0500 Cc: freebsd-ports@freebsd.org Subject: Re: (Very) bogus package dependencies X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Alex Goncharov List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Dec 2007 03:32:53 -0000 ,--- 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@comcast.net -- /* * If at first you don't succeed, you're doing about average. * * -- Leonard Levinson */