Date: Thu, 4 Feb 2016 09:44:48 -0700 From: Adam Weinberger <adamw@adamw.org> To: marino@freebsd.org Cc: Pietro Cerutti <gahr@FreeBSD.org>, 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: <6CC03276-4DD7-4939-9BEC-28300043D21F@adamw.org> In-Reply-To: <56B37CDB.1020705@marino.st> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 4 Feb, 2016, at 9:31, John Marino <freebsd.contact@marino.st> = wrote: >=20 > On 2/4/2016 5:20 PM, Adam Weinberger wrote: >>> On 4 Feb, 2016, at 9:05, John Marino <freebsd.contact@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. >>>=20 >>> John >>=20 >> That's assuming that the list of installed ports essentially never >> changes, and you only check for updates rarely, no? >>=20 >> 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)=20= >> - Update ports tree, see if any of my installed ports have updates (1 >> hour) >>=20 >> That's 20 minutes of work but it takes 5 hours. Am I doing the >> work-flow wrong? >>=20 >> 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? >=20 > synth upgrade-system is restricted to the installed ports. That's = what > it does. It gets it build list from pkg(8). >=20 > 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. 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. > 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. 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. # Adam --=20 Adam Weinberger adamw@adamw.org http://www.adamw.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6CC03276-4DD7-4939-9BEC-28300043D21F>