Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Aug 2010 20:08:15 -0700
From:      Garrett Cooper <yaneurabeya@gmail.com>
To:        jhell <jhell@DataIX.net>
Cc:        bapt@FreeBSD.org, Florent Thoumie <flz@FreeBSD.org>, Julien Laffaye <jlaffaye@FreeBSD.org>, David Forsythe <dforsyth@FreeBSD.org>, Garrett Cooper <gcooper@FreeBSD.org>, Tim Kientzle <kientzle@FreeBSD.org>, Ivan Voras <ivoras@FreeBSD.org>, freebsd-ports@FreeBSD.org
Subject:   Re: what next for the pkg_install rewrite
Message-ID:  <A4FFBD88-8830-4BB3-8765-AC7BAB8AC91C@gmail.com>
In-Reply-To: <4C6DE8DB.8010202@DataIX.net>
References:  <20100819143830.GJ35140@azathoth.lan> <AANLkTimY=FJas-oXkWwO07QtaD%2BGrLockgJ_SZQJ7UHM@mail.gmail.com> <AANLkTimhh2vOtXUb-frzWcZmANWyEC7oPtTgepzvOtSB@mail.gmail.com> <4C6DA0FA.7080203@DataIX.net> <AANLkTi=h_GdAFbZ2X0agCAtyLLiwNrMoLx_ZunhBBx2=@mail.gmail.com> <AANLkTinn4utHttMPsCN1GKp1dTPOdTJAtLgG3m8BfLgw@mail.gmail.com> <4C6DE8DB.8010202@DataIX.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Aug 19, 2010, at 7:30 PM, jhell wrote:

> On 08/19/2010 21:26, Garrett Cooper wrote:
>> On Thu, Aug 19, 2010 at 3:10 PM, Ivan Voras <ivoras@freebsd.org> =
wrote:
>>>> On 19/08/2010, jhell <jhell@dataix.net> wrote:
>>>>>>      Adding to this I would like to see a central database =
created for
>>>>>> packages that have been removed like in Slackware Linux. They =
keep a
>>>>>> file in /var/log/preserved_packages with a flat text format with =
the
>>>>>> file name looking like:
>>>>>>=20
>>>>>> ${PORTNAME}-${PORTVERSION}${PORTREVISION}-`date +%Y%m%d%H%M%S`
>> Please no. We need another ad hoc text format like we need holes in =
our head.
>>=20
>=20
> You may have misunderstood or maybe not the intention behind that =
file.
>=20
> 	This is just simply a log file of the transactions that were =
performed
> upon package deletion and nothing more but just a way for the user to
> look back and say "HEY! how did that get there!." or "where in the
> ``jhell'' did that file come from!" that they can simply grep the
> package removal logs to find out.
>=20
>  -- Shameless plug with my email name put in for humor.

:)

> 	It is also really handy if you remove some packages that somehow =
the
> depends had been messed up and later on your having a problem with a
> missing lib, easy enough to grep the removal logs to find out what
> package held that file. Especially useful if you only use binary =
packages.

This is part of the request that someone was making for a feature like =
Gentoo's world file on the forums: =
http://forums.freebsd.org/showthread.php?t=3D16963 .

Personally it's one of the takeaways I like about Gentoo's portage =
system because it's easy to track what I as a user installed manually, =
and hence, it's easy to track what can be removed (instead of using =
pkg_cutleaves) if we have a `emerge -C` (package dependency [dist]clean =
equivalent). It also makes it easier for admins to mass install packages =
on multiple machines using a smaller `distroot' install binary base, so =
all I would have to do is:

1. Install prebuilt version of FreeBSD with sysinstall / ad hoc =
installer method.
2. Say, pkg_add <install all, force options>
3. Do whatever I need to do to configure the machine.

Done.

That would make system administration really easy and slick, and would =
improve the setup process for corporations that build on a static =
FreeBSD base for several releases and have varying packages for several =
bits. I know if my group did it, things wouldn't be such a mess..

By the way... /var/lib/portage/world is a simple text file composed line =
by line like:

<pkg-origin-a>
<pkg-origin-b>

i.e.

devel/gcc46
lang/python26
www/firefox36

etc. Simple and easy to understand, and easy to modify :).

> 	There is a lot of information that can be logged, especially =
with '-v',
> I personally do not think we or anyone for that matter should pass up
> that opportunity to make sure the information is collected rather than
> leaving it up to the user to redirect or script(1) the output every =
time
> which they would still or should be able to do.
>=20
> 	Another approach that I have not seen talked about here is a =
proposed
> directory layout. I think before 'unless I missed it' that someone =
jumps
> into this, some standards & goals should be made and made quite loudly
> as to attract as much public opinion and suggestions as possible for
> what works, what does not & what people would like to see.
>=20
> 	Something of this magnitude like changing packaging databases =
and
> directory structures and all that involved needs a central place and a
> clear, clean plan to be developed properly. I personally do not see =
this
> list anymore as a proper place to discuss it. packaging@ list request =
?
> so this can all be centralized.

I agree that it's high time that a freebsd-packaging@ list be created. =
sysinstall has its own list now -- we should have one for the packaging =
software too :).

> PS: I have been toying with the idea of the directory layout just for
> spurring thoughts of others. http://bit.ly/aNLhNU but until there is a
> central place for these things it does not mean much.


I think that you're adding unnecessary complexity to the overall issue. =
It really doesn't make sense for me to install packages that aren't =
available for my architecture for one (in particular today), unless you =
were thinking of serving up this data on an NFS server, but even then it =
doesn't make sense because almost all of these files are hardcoded to =
exist at ${LOCALBASE} when built as ports, so setting it to another =
location would be problematic. Other things would need to be done before =
you could get to this stage.

Also, many of the ports installed are prefixed with the package name, =
which is different for multiple ports. Example:

$ ls /var/db/pkg/python*
python-2.6,2/     python26-2.6.5_1/ python31-3.1.2_1/

Having a concept of multiple versions in ports would require a major =
overhaul to get things to work in a Gentoo like method, and I'm not sure =
how many people would be particularly keen in doing this (especially =
when there are name collisions in installed package files).

Oh, and there was the tunable packages idea (what I originally called =
`fat packages', but Julien has done work on `fat packages', so I'll =
yield to that usage :P), where the contents of packages could be tuned =
according to config options requested by end-users and/or set by package =
maintainers, to get the granularity of distributing orthogonal features =
for packages, like xorg-server-hal-support xorg-server-no-hal-support =
(or whatever the proper title would be).

The emphasis that Florent made too was to remove crud in pkg_install and =
libpkg and get things down to more of a library form so we could develop =
thin wrappers above pkg_install with logical functions (like apt-get, =
yum, etc does with fetching, whereas rpm does with installation, etc), =
instead of maintaining pkg_install the way it is today.

Thanks,
-Garrett=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A4FFBD88-8830-4BB3-8765-AC7BAB8AC91C>