Date: Thu, 4 Feb 2016 09:20:13 -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: <681B2A9D-9414-4477-80BE-0BF354AC3B73@adamw.org> In-Reply-To: <56B376CF.40807@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>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 4 Feb, 2016, at 9:05, John Marino <freebsd.contact@marino.st> = wrote: >=20 > On 2/4/2016 4:56 PM, Adam Weinberger wrote: >> I played around with Synth for a couple days. I really, really like >> it. Once it's production ready it absolutely deserves to be written >> into the handbook and taught to new users as the go-to tool for >> overseeing port builds. >>=20 >> Beyond polish, there's two things that made me not want to use it at >> this point: >>=20 >> 1) As you said in your reply to my previous extremely rude email, >> synth is lightweight as long as it's installed by 'pkg install >> synth'. Is there some way to mark synth as not to be built by synth? >> The next 'synth upgrade-system' rebuilds synth, including gcc and all >> its dependencies. It'd be nice to have a list of ports that synth >> will fetch rather than rebuild. (I know that I could maintain a >> separate list of my ports and use that but I'd rather maintain a list >> of exceptions.) Does that make sense? >=20 > Well, even building from synth, synth isn't really heavy. Everything > thta gcc6-aux needs is also needed by lang/gcc, and gcc6-aux takes = like > 10 minutes to build on my 4 year old machine? so I don't think that's > crazy. >=20 > However, Synth has an option (like portmaster) to use prebuilt = packages > if possible. It's option "[N]" on the configure screen. So one mode = it > is designed to support is to use Synth only to build ports with custom > options (and any consequency of that). >=20 > The option to specify fetch-only would be technically difficult to > support. If it decides it can't fetch it, then hardcoding fetch, what > should it do? It would have to just stop and do nothing. >=20 >=20 >> 2) The big problem for me is rebuilding the repository after every >> single step. My main pride & joy server is a little VM from RootBSD. >> Rebuilding the repository takes about an hour. Installing a port, >> upgrading a port, checking to see if there were updates and not >> rebuilding anything---each of these tasks takes over an hour. At home >> I have an 8-core machine with 16G of RAM and an SSD, and rebuilding >> the repository takes 25 minutes. Is there some way to use synth >> without having to rebuild the entire repository every time? I can't >> see myself ever using it when each command takes over an hour to >> run. >=20 > 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 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? # 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?681B2A9D-9414-4477-80BE-0BF354AC3B73>