New /bin/sh based script to manage ports

Jiawei Ye leafy7382 at gmail.com
Wed Feb 8 23:41:32 PST 2006


On 2/9/06, Doug Barton <dougb at freebsd.org> wrote:
> Jiawei Ye wrote:
>
> > Hi,
> >
> > What is the syntax for the portup.rc file? I have lots of options set
> > for my various installed ports, how do I convert them to portmaster
> > style?
>
> That's a reasonable question, but I should point out at the outset that I
> have not tried to match portupgrade feature for feature with portmaster.
> This script has grown organically as I needed new features; or as users have
> requested features after I introduced the script to "the public." :) Thus, I
> have not attempted to reproduce portupgrade's feature of per-port build
> options. I think that this is an interesting idea, and I'm certainly not
> opposed to adding it if enough people who would want to use portmaster
> otherwise tell me that this is a critical feature for them. However, I
> personally put options that I care about in /etc/make.conf. I also keep
> hoping that our OPTIONS framework will continue to be refined, and that more
> ports will use it. Do you see this issue (per-port options) as a critical one?

The problem with options in make.conf is that there might be namespace
problems. To deal with that, some .dir boiler plate is needed, and
when you have 300+ ports installed, make.conf may be very messy. If
portmaster can grow the ability to specify per-port options, that will
be a great plus.(like pkgtools.conf or portmanager/pm-020.conf style
config files). I started on portupgrade and now use portmanager to
manage my ports. Having a centralized tool to
manager/install/deinstall my ports/package is important to me.

I am not against the idea of using OPTIONS for ports, but it will be
fairly cumbersome when one just needs a quick glance at the whole
picture of different per-port options of the installed ports.

> > Also, one thing I miss from portupgrade is the ability to deinstall
> > some port alone with ports that depend on it. Can that be added as
> > well? something like pkg_deinstall -r/R stuff?
>
> Interesting idea. To make sure that I understand your request, let's say I
> have a port foo, and in /var/db/pkg/foo-0.0.0.1 there is a +REQUIRED_BY file
> that lists several other ports. You want to be able to say 'portmaster -R
> foo' and have it deinstall all the ports listed in that +REQUIRED_BY file,
> then deinstall foo? If so, I think that should be relatively easy to do,
> I'll take a look at it.
>
> Doug
Exactly.  I used to do "pkg_deinstall -rR qt" when either me or qt did
not behave. One example what pkg_deinstall does extremely well is, say
you have 4 ports foo1 foo2, foo3, foo4. foo1 is required by foo2,
foo3. foo2 is required by foo4. "pkg_deinstall -rR foo2" will only
remove foo4 and foo2, but not foo1 since foo3 requires foo1 too.

Jiawei Ye

--
"Without the userland, the kernel is useless."
               --inspired by The Tao of Programming


More information about the freebsd-ports mailing list