[prev in list] [next in list] [prev in thread] [next in thread] 

List:       crux
Subject:    Re: Errors during Compilation
From:       Colin Tree <coltree () tpg ! com ! au>
Date:       2002-06-21 2:40:55
[Download RAW message or body]

Hi,

How about something like
# depend=(package1>=1.2.3 package2=4.5 \
#	package3>=3.45 etc)
initially a comment but could easily be a useful format
for implementation. Need to keep track of versions as well.

On Wed, 2002-06-19 at 01:10, Mike MacLeod wrote:
> 
> 
> Mick Gards wrote:
> 
> >hi,
> >
> >it seems like everyone else has waded into this discussion topic. but there 
> >are a few questions that maybe need to be asked. should a regular user be 
> >required to view/edit Pkgfiles on a regular basis? i understand that being 
> >given access to the Pkgfiles increases the control over the software you'd 
> >like to install on your machine, which i personally think is a huge benefit, 
> >as people can easily tweak the packages to suit themselves, but should it be 
> >necessary to refer to these files when building and installing the packages 
> >as provided?
> >
> >if the answer here is "yes", and the Pkgfiles should be read by everyone who 
> >installs a package, then perhaps a more rigidly commented Pkgfile is the way 
> >to proceed.
> >
> >alternatively, if the answer is "no", that is, the Pkgfiles should do their 
> >job and remain largely unseen, unless there is a specific need to change a 
> >particular package, then perhaps, seeing as a large part of this discussion 
> >has been on the dependency checking issue, a simple line could be added to 
> >the Pkgfile
> >
> >depends=( package1, package2 )
> >
> >and then pkgmk could just print this out, before, or after the build( ), such 
> >as:
> >
> >--- Remember: Package X depends on: package1, package2
> >--- You will need to build this package correctly
> >
> >or similar, to the same effect. this would keep the control that pkgutils 
> >provides, ( ie it doesnt descend into dependency-hell like i've seen, for 
> >example, apt on debian do ), yet at the same time provide clear instructions 
> >for installing a package and its requirements.
> >
> >on this point, and quoting from the crux.nu -> documentation page
> >
> >  
> >
> >>NOTE! There is no package dependency checking. 
> >>This means that it is up to you to figure out that if you 
> >>for example install the sendmail package you also 
> >>need to install the db package.
> >>    
> >>
> > 
> >i think the key here, is that knowing the dependencies of a package shouldnt 
> >be left up to the user. no-one should be expected to *know* all the 
> >dependencies of a particular package. the responsibility of the system then 
> >would be to alert the user to the required dependencies, but not actually do 
> >the installation for him/her. i understand at the moment a #depends line is 
> >used by most package maintainers, but even so, this brings us back to the 
> >first question, should users really be referring to these files everytime 
> >they expect to build a port/package.
> >
> I find that the commented dependency system is slightly flawed, because 
> the dependencies listed are often out of date, or not in the ports tree 
> - both official and unofficial. An example of this is the mplayer port, 
> which suggests that contrib/xanim is nice to have, but xanim is no 
> longer in contrib, and isn't even in unofficial.
> 
> >
> >what are the suggestions on this
> >
> I think the best way might be to include a function in pkgmk that lists 
> the dependencies required. By making it a definate part of the Pkgfile, 
> maintainers are far more likely to make sure the list is up to date and 
> comprehensive. At that point, it can be left alone, or if we, as the 
> CRUX user base, decide we like the dependecy checking, we could extend 
> it to install these dependencies as well. My suggestion would be to make 
> these functions accessable by command line switches though, and to keep 
> the current functionality of pkgmk the same; pkgmk -dep or something 
> like that.
> 
> As CRUX grows, and pkgfiles are written for ever bigger and more complex 
> applications, the limitations of the package management system in CRUX 
> will start to hinder it's growth. The elegance and simplicity of pkgmk 
> and pkgadd are wonderful for the basic system and are key reasons for 
> why I love to use CRUX. But the package utilities should grow with the 
> needs of the user base as it matures. We need to decide if we want a 
> system that builds the core of the system perfectly, with great 
> optimization and everything else that makes CRUX wonderful, just so we 
> can install a bunch of GNOME and KDE binaries on top, or if we want to 
> find elegant solutions to dealing with the complexity of some of the 
> applications and platforms out there.
> 
>  From my experience with Gnome, even having a feature that lists the 
> current dependencies of any given package can still be a pain, 'cause 
> you end up starting at the top, and then slowly making your way through 
> the packages, checking the dependencies on each one, until you find one 
> that is at the bottom of the dependency chain, and then you have to do 
> it all over again for the next package and so on... dependency hell.
> 
> >
> >mike.
> >  
> >
> >  
> >
> Mike MacLeod
> 
-- 


Cheers,
Colin Tree


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic