Skip site navigation (1)Skip section navigation (2)
Date:      11 Feb 2003 12:34:44 +0100
From:      "clemens fischer" <ino-qc@spotteswoode.de.eu.org>
To:        "Yury Tarasievich" <grog@grsu.by>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Making pkg_XXX tools smarter about file types...
Message-ID:  <y94nm4ob.fsf@ID-23066.news.dfncis.de>
In-Reply-To: <3E47C1BA.9000500@grsu.by> (Yury Tarasievich's message of "Mon, 10 Feb 2003 17:14:02 %2B0200")
References:  <3E42C148.4050807@acm.org> <3E440393.3080506@grsu.by> <smuxs891.fsf@ID-23066.news.dfncis.de> <3E47C1BA.9000500@grsu.by>

next in thread | previous in thread | raw e-mail | index | archive | help
Yury Tarasievich <grog@grsu.by>:

> ...then, Tim Kientzle wrote:
>
>> A better approach might be to simply fob it
>> off on the user, i.e.,
>>
>> # pkg_install foo-1.5
>> Warning: foo-1.5 requires bar-2.3, you have bar-1.7 installed.
>> Proceed? [Y/n]

i think this is the best approach.

> In my opinion, user should be bothered with choices *only* when, like
> in this example, when dependency isn't *at* *all* satisfied. User
> definitely should *not* be bothered when differences are irrelevant to
> the functionality. E.g., ask only when bar-1.7 is installed and 2.3+
> required, not when bar-1.7 is installed and say 1.4.1+ is required.

but i've seen libraries/interfaces changed dramatically.  i faintly
remember a package which would not link to Qt-2, but insisted on Qt-1
beeing used.

> I think dependencies could / should also have *upper* revision limit
> (library interface change, e.g.). And there could also be
> functionality of system-wide dependencies updating (isn't there one?)

but you cannot possibly know at what version number in the future
some API will change.  anything like this could only make sense if an
API is described in terms of functionality needed, at a much finer
grained level than version numbers.

> I've seen interesting concept of version number processing by
> D.J.Bernstein (called slashpackage, I believe).

slashpackage doesn't really solve this problem, it is just a more
rigorous framework.  but since many of DJBs followers make programs as
small as possible, with functionality spread over several programs
where others make one big program, the granularity is in fact smaller.

  Title:          slashpackage.html
  URL:            http://cr.yp.to/slashpackage.html
  Last Modified:  Mon Jul 16 00:24:39 2001

  Title:          Google Search: link:http://cr.yp.to/slashpackage.html
  URL:            http://www.google.com/search?q=link:http://cr.yp.to/slashpackage.html

especially:

  Title:          idtools
  URL:            http://multivac.cwru.edu/idtools/
  Last Modified:  Mon Jan 13 23:03:02 2003

(there's another packaging system for /package which i can't remember
the name of, unfortunately.)

the Installation of every package in /package is always the same:

  Create /package if necessary, unpack the tarball there, and run package/build:
  # mkdir -p /usr/local/package    # Any filesystem will do...
  # ln -s /usr/local/package /     # as long as it's visible as /package
  # chmod 01755 /package/.
  # cd /package
  # bunzip2 < /path/to/admin_idtools-VERSION.tar.bz2 | tar -xpf -
  # cd admin/idtools-VERSION
  # package/build

  # sp-version /package/admin idtools VERSION
  # sp-links /package/admin/idtools/command /command /usr/local/bin
  Read package/README and package/INSTALL for more detailed instructions.

the last two commands are missing in packages not relying on paul
jarcs idtools, and most packages provide a comprehensive script
called ./package/install containing the building and installation.

so far i have installed dozens of packages from different authors for
quite diverse purposes, and the mechanism rarely failed, and if it
did, it was for reasons like a forgotten include or somesuch.  note
that none of the packages use autoconf, AFAIR.

  clemens

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?y94nm4ob.fsf>