svn commit: r407270 - head/ports-mgmt/portmaster

John Marino freebsd.contact at marino.st
Thu Feb 4 16:31:31 UTC 2016


On 2/4/2016 5:20 PM, Adam Weinberger wrote:
>> On 4 Feb, 2016, at 9:05, John Marino <freebsd.contact at marino.st>
>> wrote: hmm?  you're not supposed to rebuild the repository on every
>> single step.  Only the last step!   there's the "just-build"
>> option, which always be used.  Now the "rebuild-repository" command
>> will rebuild it when you want, so you could just issue "just-build"
>> and when everything is done, manually rebuild the repository.  and
>> of course, the upgrade-system / prepare-systm only rebuild it once
>> as well.
>> 
>> John
> 
> That's assuming that the list of installed ports essentially never
> changes, and you only check for updates rarely, no?
> 
> Say I want to find a new MUA. - Install pine (1 hour) - Too simple -
> Install elm (1 hour) - Too old - Install mutt (1 hour) - Good but now
> I want the sidebar patch - Change option and reinstall mutt (1 hour) 
> - Update ports tree, see if any of my installed ports have updates (1
> hour)
> 
> That's 20 minutes of work but it takes 5 hours. Am I doing the
> work-flow wrong?
> 
> What exactly is going on with the repository rebuild? Why does only
> synth need to do it? Is there some way to restrict the checks to only
> the installed ports, rather than the entire tree?

synth upgrade-system is restricted to the installed ports.  That's what
it does.  It gets it build list from pkg(8).

Synth is a local respository builder, that's it's purpose.
In a nutshell, you get your local respository up to date, and then
pkg(8) updates everything using that repository.  If you didn't update
the repository, then pkg(8) doesn't know the package has been built (in
theory you can use manual pkg(8) commands (e.g. pkg add) to update the
system without having to rebuilds the repository.

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.

more clear?

John


More information about the svn-ports-all mailing list