Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Feb 2016 17:51:58 +0100
From:      John Marino <freebsd.contact@marino.st>
To:        Adam Weinberger <adamw@adamw.org>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org, owner-ports-committers@freebsd.org
Subject:   Re: svn commit: r407270 - head/ports-mgmt/portmaster
Message-ID:  <56B381AE.9070509@marino.st>
In-Reply-To: <6CC03276-4DD7-4939-9BEC-28300043D21F@adamw.org>
References:  <201601261123.u0QBNcvL091258@repo.freebsd.org> <8b37e4951fc45b4f1eeaf5eb67f76804@gahr.ch> <56B36ACE.1010506@marino.st> <cfb249942314fd667f3af9e72f4315af@gahr.ch> <56B36C8A.8070503@marino.st> <3B17D597-12D7-45A7-AF5D-2A0718381B41@adamw.org> <56B376CF.40807@marino.st> <681B2A9D-9414-4477-80BE-0BF354AC3B73@adamw.org> <56B37CDB.1020705@marino.st> <6CC03276-4DD7-4939-9BEC-28300043D21F@adamw.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/4/2016 5:44 PM, Adam Weinberger wrote:
>> On 4 Feb, 2016, at 9:31, John Marino <freebsd.contact@marino.st>
>> wrote:
> 
> What part of that is taking 60 minutes (or 20 on my beefy home box)?
> The rebuild-repository step appears to be scanning the entire ports
> tree, even if I only have two ports that synth is producing pkgs
> for.

It is scanning the whole tree, which takes 4.5 minutes on a virtualbox
VM.  Then it's got to scan all existing packages (this usually takes
less than 1 minute).

If you are getting 20 minutes or 60 minutes for this step, that's news
to me.  Nobody else reported anything like that.

to answer your question: in order to rebuild the repository, it's got to
remove the bad packages first and it needs to know what the packages
should have to do that.

There's a "to-do" feature to cache the tree scan so it only has to do it
once per tree change.  That would save a bunch of time, but it's
technically tricky and I wanted to do it after version 1.00.



>> If you have 5 ports that you want to manually/individually update,
>> then you'd use something like "synth install port1 port2 port3
>> port4 port5". That will rebuild everything necessary (incremental),
>> then rebuild the repository, then install everything.  You wouldn't
>> do 5 individually build/install commands.
> 
> Sure, as long as you know in advance what you're going to do. But the
> (contrived) example I gave was of not knowing in advance which 5
> ports you're going to install... it's installing one at a time to
> find the one you like best. To me that is a natural workflow.

Well, it *is* contrived.  There are two types of packages: those already
installed and those you want to install.  If the case of the former, you
have a command for that: "upgrade system".  (or you can query pkg and
make your own list).  For the other case, you obviously know you want to
install.  So the "I don't know case" doesn't make sense to me.


> Anyway, my point is just that the incredibly long time for a
> repository-rebuild, and the fact that I have to wait an hour just to
> try out a new port with it or to do a simple update, makes it very
> difficult to adopt.

absolutely, if it does take a hour.  But it typically takes 5 minutes.
I'd like to understand why you aren't seeing that.

John



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