Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Aug 2009 22:50:41 -0400
From:      Skip Ford <skip@menantico.com>
To:        Doug Barton <dougb@FreeBSD.org>
Cc:        freebsd-stable@freebsd.org, Nenhum_de_Nos <matheus@eternamente.info>
Subject:   Re: portmaster not ask for port deletion
Message-ID:  <20090826025041.GA975@menantico.com>
In-Reply-To: <4A94651B.1030501@FreeBSD.org>
References:  <db0e03b2fc15430a330c6114562ef0c7.squirrel@cygnus.homeunix.com> <4A92F00E.1040705@FreeBSD.org> <20090825100052.9d963401.matheus@eternamente.info> <20090825185513.GA1046@menantico.com> <4A94651B.1030501@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Doug Barton wrote:
> Skip Ford wrote:
> > Nenhum_de_Nos wrote:
> >> On Mon, 24 Aug 2009 12:54:54 -0700
> >> Doug Barton <dougb@FreeBSD.org> wrote:
> >>
> >>> It sounds to me like what you're seeing is portmaster asking whether
> >>> or not you want to delete the distfiles after an upgrade. The easiest
> >>> way to deal with that is to use '-aD' and then when it's done use
> >>> either --clean-distfiles or --clean-distfiles-all. Once again, see the
> >>> man page for more information on those options.
> >> I just want to fire the command and it work alone till is done.
> > 
> > Good luck with unattended runs of portmaster.  That's the only real
> > remaining shortfall of portmaster, IMO.  It still needs hand-holding
> > to finish its job often times.
> 
> Yes, unfortunately it's not omniscient. :)

Well, to be honest, it wouldn't need to be.  It would just need a flag
to know when nobody is present from whom to request input, and then take
the default action.  But, if all input is requested during config, then
that's pointless.

> > For example, I just did the big rebuild you're getting ready for.
> > I spent a good 45 minutes updating ports.conf beforehand, fetching a good
> > number of distfiles in advance, and configuring ports before starting the
> > massive build.  I also told portmaster to ignore 3 ports (1 broken, 2
> > would most likely fail to build for one reason or another.)
> > 
> > So, I started the build and left.  Came back 7 hours later and portmaster
> > had barely run an hour and was stuck waiting for input.  What was so
> > important?  It wanted to know if it should go ahead an update the 3 ports
> > that I had just explicitly told it not to upgrade 10 minutes before I
> > started it (by using .IGNOREME files). 
> 
> First, you mean +IGNOREME files, just to be sure no one is confused.
> 
> Second, without knowing what command line you used I couldn't tell you
> for sure what happened of course, but assuming you used some
> combination of '-af' what you saw was expected behavior. There is a
> conflict (I think a fairly obvious one) between the -f option and
> +IGNOREME. Since different users would have different ideas of how to
> resolve that conflict, portmaster takes the safe path and asks you.

Well, it wasn't immediately obvious to me that someone would ever want to
mark a port ignore and then want to upgrade it.  So, it just seemed like a
silly question to me (and still does to be honest, unless that's the
behavior of portupgrade you're trying to match.)

> You only have to answer the question once, during the config phase.
> Once it starts building things you should not have any more prompts
> from portmaster.
> 
> Looking at the man page I see that the dividing line between when to
> expect interaction and when not to is not as clear as it could be.
> I'll update that for the next version.

No, that was clear enough.  The behavior I saw was documented, I just
didn't see the ambiguity in IGNOREME in advance so I didn't read the
fine print until I was trying to figure out how my big plan went so
wrong.  Your code worked as documented.  I just expected the presence of
an IGNOREME file to always mean, "the port will be ignored for all
purposes."

> In any case, I find it highly unlikely that it ran for a full hour
> before prompting for the answer. On my system with over 500 ports
> installed the full run through the config phase takes just a little
> over 6 minutes. It might take you a little longer than that if you
> have a lot of OPTIONS dialogs to make choices on, but those would have
> been pretty obvious.

I was just giving a guess at an hour.  I wasn't here.  :)
That "hour" (out of the 7 I was gone) was supposed to mean that
it didn't run for very long.

> My guess is that you literally started it and walked away.

In the end, that has to be what happened.   I spent 45 minutes going
through several config runs of portmaster and/or configuring ports by
hand.  Once I knew I had everything configured, I launched it for the
final time and left.  So, it probably ran for 2 minutes, not an hour.

I screwed that up and I also didn't prevent the recursive make config on
the final run which sounded after the fact like it would've helped.
But, besides that, the upgrade was painless.  Everything built,
installed, and works.  Pretty amazing all things considered.

-- 
Skip



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