Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-08-03 Thread Doug Barton
[If you follow up to this message please change freebsd-stable@ to
freebsd-po...@. Thanks.]

Ben Morrow wrote:

> Since my machine has spent the last 48hrs or so rebuilding everything
> that depended on jpeg-6b and python25 (it's a pretty old machine), I've
> been wondering if an option to say '*don't* rewrite the dependencies of
> other ports to refer to the new version' would be a good solution here.
> 
> Normally this is a helpful thing to do, but when you're trying to
> reinstall a few ports low in the dependency chain and then rebuild
> everything that needs rebuilding it would be helpful to have the ones
> that haven't been rebuilt still depend on the old (now deleted) package,
> so they can be identified.

That's an interesting idea, but with portmaster you can accomplish the
same thing with the -r option. Just use the -R option on successive
runs if the first one fails for some reason.

> -r (and -Rr) don't help here, since lots of large ports depend on *both*
> jpeg and python, and I was specifically trying to avoid rebuilding them
> all twice.

This is a situation (ports relying on 2 dependencies that both require
complete rebuilds) that is not easy to program for. Fortunately it
also does not come up very often.

> AFAICT -r doesn't allow you to ask for two ports plus all
> combined dependants at once. I ended up taking the pkg_info -R list for
> both pkgs before the upgrade, sorting it into dependency order, and
> stripping entries off the front every time something failed and I had to
> restart, which is a little too manual for my taste :). (The list had to
> be sorted, otherwise port A might depend on port B that came later in
> the list, and when portmaster got to B in the list it would reinstall it
> again unnecessarily.)

For future reference you would have been better off if you had done
'sort -u' on the list then done 'portmaster `cat list`'. Portmaster
would then do all the dependency sorting for you, and it will only
rebuild each port on the list once.


hth,

Doug

-- 

This .signature sanitized for your protection

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-31 Thread Ben Morrow
Quoth Doug Barton :
> 
> How about this? When the user has -[rf] but not -R, and there are flag
> files present, ask if they should be cleared before beginning to do
> anything. Otherwise (no -[rf]) ignore them. Sound good?

Since my machine has spent the last 48hrs or so rebuilding everything
that depended on jpeg-6b and python25 (it's a pretty old machine), I've
been wondering if an option to say '*don't* rewrite the dependencies of
other ports to refer to the new version' would be a good solution here.

Normally this is a helpful thing to do, but when you're trying to
reinstall a few ports low in the dependency chain and then rebuild
everything that needs rebuilding it would be helpful to have the ones
that haven't been rebuilt still depend on the old (now deleted) package,
so they can be identified.

-r (and -Rr) don't help here, since lots of large ports depend on *both*
jpeg and python, and I was specifically trying to avoid rebuilding them
all twice. AFAICT -r doesn't allow you to ask for two ports plus all
combined dependants at once. I ended up taking the pkg_info -R list for
both pkgs before the upgrade, sorting it into dependency order, and
stripping entries off the front every time something failed and I had to
restart, which is a little too manual for my taste :). (The list had to
be sorted, otherwise port A might depend on port B that came later in
the list, and when portmaster got to B in the list it would reinstall it
again unnecessarily.)

It also occurs to me that this could be completely automated if ports
had a LAST_COMPATIBLE_VER field or some such, which tells you whether or
not an upgrade-in-place is safe. portmaster could even ask 'you've just
upgraded from foo-1.2 to foo-2.1 which is not compatible: do you want to
rebuild  which depended on the old version?'.

Ben

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-31 Thread Doug Barton
Cezary Morga wrote:
> Alson van der Meulen pisze:
>> * Doug Barton  [2009-07-29 22:10]:
>>> I'm planning to remove the -u option altogether. It actually does very
>>> little now, and certainly does not do what most users expect it should
>>> do.
> 
> If I may chip in here on a similar note.
> I'm currently looking for a port management tool that might replace good
> ol' portinstall/portupgrade tools in my toolbox. Portmaster looks
> promising but I noticed that it doesn't seem to take BATCH=yes in my
> /etc/make.conf into consideration. So, is it me or there's something
> more I have to do?

Portmaster's operation and make.conf are completely separate. What
portmaster does is essentially provide a wrapper for the functions of
the ports infrastructure. Whenever portmaster runs 'make '
in a port your make.conf knobs will be honored.

I expect that what you are seeing is a difference in how portmaster
works vs. how other tools work. I would suggest that you read the man
page for portmaster thoroughly, then if you have questions start a new
thread on the freebsd-po...@freebsd.org list.


Good luck,

Doug

-- 

This .signature sanitized for your protection

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-31 Thread Cezary Morga

Miroslav Lachman pisze:

If I may chip in here on a similar note.
I'm currently looking for a port management tool that might replace good 
ol' portinstall/portupgrade tools in my toolbox. Portmaster looks 
promising but I noticed that it doesn't seem to take BATCH=yes in my 
/etc/make.conf into consideration. So, is it me or there's something 
more I have to do?


I think BATCH=yes is unrelated to portmaster. This variable is (should 
be) read by port build process it-self as if you build it by command cd 
/usr/ports/category/port & make install clean


Well, when I install port directly (using `make install` in port's 
directory) BATCH flag is honored. When I install a port using portmaster 
it ain't.


So, I'm wondering whether it's only me or not.

--
Cezary Morga
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-31 Thread Miroslav Lachman

Cezary Morga wrote:

Alson van der Meulen pisze:


* Doug Barton  [2009-07-29 22:10]:


I'm planning to remove the -u option altogether. It actually does very
little now, and certainly does not do what most users expect it should
do.



If I may chip in here on a similar note.
I'm currently looking for a port management tool that might replace good 
ol' portinstall/portupgrade tools in my toolbox. Portmaster looks 
promising but I noticed that it doesn't seem to take BATCH=yes in my 
/etc/make.conf into consideration. So, is it me or there's something 
more I have to do?


I think BATCH=yes is unrelated to portmaster. This variable is (should 
be) read by port build process it-self as if you build it by command cd 
/usr/ports/category/port & make install clean


Miroslav Lachman
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-30 Thread Cezary Morga

Alson van der Meulen pisze:

* Doug Barton  [2009-07-29 22:10]:

I'm planning to remove the -u option altogether. It actually does very
little now, and certainly does not do what most users expect it should
do.


If I may chip in here on a similar note.
I'm currently looking for a port management tool that might replace good 
ol' portinstall/portupgrade tools in my toolbox. Portmaster looks 
promising but I noticed that it doesn't seem to take BATCH=yes in my 
/etc/make.conf into consideration. So, is it me or there's something 
more I have to do?


--
Cezary Morga
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-29 Thread Alson van der Meulen
* Doug Barton  [2009-07-29 22:10]:
> I'm planning to remove the -u option altogether. It actually does very
> little now, and certainly does not do what most users expect it should
> do.

Fine by me. I've never actually used -u, with -d (or the equivalent
portmaster.rc setting) it's usually fine for unattended runs. The only
annoyance is the question about building interactive ports that don't
actually require any interaction (bacula comes to mind), since this is
the only question in the config phase that's not cached, but this is
probably the port maintainers fault for marking it interactive (it does
remind me of "no keyboard present, press F1 to continue").

Alson
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-29 Thread Doug Barton
alson...@alm.flutnet.org wrote:
> * Doug Barton  [2009-07-29 20:48]:
>> How about this? When the user has -[rf] but not -R, and there are flag
>> files present, ask if they should be cleared before beginning to do
>> anything. Otherwise (no -[rf]) ignore them. Sound good?
> 
> Sounds like a good solution for both problems (stale flag files and
> unexpected removal). 

Thanks.

> It should default to removing the files with -u. 

I'm planning to remove the -u option altogether. It actually does very
little now, and certainly does not do what most users expect it should
do.

Doug

-- 

This .signature sanitized for your protection

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-29 Thread alson+ml
* Doug Barton  [2009-07-29 20:48]:
> How about this? When the user has -[rf] but not -R, and there are flag
> files present, ask if they should be cleared before beginning to do
> anything. Otherwise (no -[rf]) ignore them. Sound good?

Sounds like a good solution for both problems (stale flag files and
unexpected removal). It should default to removing the files with -u. I
think that -R is a very useful feature of portmaster, so I'm happy to
see it getting improved. Thanks!

Alson
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-29 Thread Doug Barton
Mel Flynn wrote:
> On Wednesday 29 July 2009 10:48:33 Doug Barton wrote:
>> Alson van der Meulen wrote:
>>> * Doug Barton  [2009-07-29 18:13]:
 Mel Flynn wrote:
> Gotcha. Is there a reason the flags are removed if the options are not
> "-r or -f"?
 Yes, so we don't have stale flags sitting around forever to confuse
 future runs.
>>> I have been bitten by this in the past. A run of portmaster -r
>>> some-lib-that-half-of-my-ports-depend-on aborted because of a shared
>>> library error in a dependency which was not recompiled before the
>>> dependent port. I recompiled the dependency with a manual portmaster
>>> $portname, after this portmaster -r had to start all over. I didn't
>>> expect portmaster to clear the PM_DONE flags during non-resumable
>>> operations like rebuilding a single port (and the manpage contains very
>>> little information about -R). My workaround is to use portupgrade for
>>> these manual fixes.
>> Yes, I've been considering that exact scenario since atm I'm
>> rebuilding all my ports with -afR.
>>
>> How about this? When the user has -[rf] but not -R, and there are flag
>> files present, ask if they should be cleared before beginning to do
>> anything. Otherwise (no -[rf]) ignore them. Sound good?
> 
> That's definitely "what you would expect it to do".

Ok, good. I've refined that slightly so that if the user chooses not
to delete them they are offered the option of enabling the -R option.

Thanks for the feedback.

Doug

-- 

This .signature sanitized for your protection

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


Re: portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-29 Thread Mel Flynn
On Wednesday 29 July 2009 10:48:33 Doug Barton wrote:
> Alson van der Meulen wrote:
> > * Doug Barton  [2009-07-29 18:13]:
> >> Mel Flynn wrote:
> >>> Gotcha. Is there a reason the flags are removed if the options are not
> >>> "-r or -f"?
> >>
> >> Yes, so we don't have stale flags sitting around forever to confuse
> >> future runs.
> >
> > I have been bitten by this in the past. A run of portmaster -r
> > some-lib-that-half-of-my-ports-depend-on aborted because of a shared
> > library error in a dependency which was not recompiled before the
> > dependent port. I recompiled the dependency with a manual portmaster
> > $portname, after this portmaster -r had to start all over. I didn't
> > expect portmaster to clear the PM_DONE flags during non-resumable
> > operations like rebuilding a single port (and the manpage contains very
> > little information about -R). My workaround is to use portupgrade for
> > these manual fixes.
>
> Yes, I've been considering that exact scenario since atm I'm
> rebuilding all my ports with -afR.
>
> How about this? When the user has -[rf] but not -R, and there are flag
> files present, ask if they should be cleared before beginning to do
> anything. Otherwise (no -[rf]) ignore them. Sound good?

That's definitely "what you would expect it to do".
-- 
Mel
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"


portmaster -R (Was: Re: HEADS-UP: Shared Library Versions bumped...)

2009-07-29 Thread Doug Barton
Alson van der Meulen wrote:
> * Doug Barton  [2009-07-29 18:13]:
>> Mel Flynn wrote:
>>> Gotcha. Is there a reason the flags are removed if the options are not "-r 
>>> or 
>>> -f"?
>> Yes, so we don't have stale flags sitting around forever to confuse
>> future runs.
> 
> I have been bitten by this in the past. A run of portmaster -r
> some-lib-that-half-of-my-ports-depend-on aborted because of a shared
> library error in a dependency which was not recompiled before the
> dependent port. I recompiled the dependency with a manual portmaster
> $portname, after this portmaster -r had to start all over. I didn't
> expect portmaster to clear the PM_DONE flags during non-resumable
> operations like rebuilding a single port (and the manpage contains very
> little information about -R). My workaround is to use portupgrade for
> these manual fixes.

Yes, I've been considering that exact scenario since atm I'm
rebuilding all my ports with -afR.

How about this? When the user has -[rf] but not -R, and there are flag
files present, ask if they should be cleared before beginning to do
anything. Otherwise (no -[rf]) ignore them. Sound good?

Doug

-- 

This .signature sanitized for your protection

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"