From owner-freebsd-ports@freebsd.org Sat Dec 17 08:51:48 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF270C824BF for ; Sat, 17 Dec 2016 08:51:48 +0000 (UTC) (envelope-from mueller6722@twc.com) Received: from dnvrco-oedge-vip.email.rr.com (dnvrco-outbound-snat.email.rr.com [107.14.73.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "dnvrco-oedge-vip.email.rr.com", Issuer "dnvrco-oedge-vip.email.rr.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id BDEE11F2 for ; Sat, 17 Dec 2016 08:51:48 +0000 (UTC) (envelope-from mueller6722@twc.com) Received: from [74.134.208.22] ([74.134.208.22:48488] helo=localhost) by dnvrco-omsmta01 (envelope-from ) (ecelerity 3.6.9.48312 r(Core:3.6.9.0)) with ESMTP id EA/CB-31287-C9CF4585; Sat, 17 Dec 2016 08:51:41 +0000 Date: Sat, 17 Dec 2016 08:51:36 +0000 Message-ID: From: "Thomas Mueller" To: freebsd-ports@freebsd.org Subject: Re: The ports collection has some serious issues References: X-RR-Connecting-IP: 107.14.64.6:25 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Dec 2016 08:51:49 -0000 >From John Marino: > At face value, this doesn't make sense because synth is a tool for building > everything from source, so your development system is exactly where it should > be installed. > So you must be talking about build dependencies of synth (there are no run > dependencies). While I think the requirement of rebuilding synth from source > is artificial, I've provided a very reasonable approach to solving this which > I feel compelled to repeat for the readers of Kevin's post. The solution: > Starting with a clean system: > 1) install synth from binary package from official freebsd builder (a single > package) > 2) Configure synth if necessary > 3) command synth to build itself > 4) pkg delete synth (system is once again clean) > 5) pkg add -F /path/to/synth/packages/synth-* > Now you have a system containing s/w built by itself. On an modest system > less than 4 years old, it might take 30 minutes at most. > So the "synth has dependencies" detraction is extremely weak. For people that > trust FreeBSD to provide untainted binaries, it's not an issue at all and for > the paranoid, it's easily worked around. Saying that the use of Ada limits it > to the platforms it can run on natively is a valid detraction, but it's BUILD > dependencies really aren't due to the availability of binary packages, the > PRIMARY product of the ports tree. > RE: poudriere, it has no dependencies. It's just as appropriate on the dev > system and adding a jail and configuring it also takes less than 30 minutes. > Either is very appropriate for a system that must build everything that is run > on it. I believe you could cd $PORTSDIR/ports-mgmt/synth and make package-recursive |& tee build-12amd64.log (or whatever you want to name the log file; this example if for shell tcsh)? For a system with pkgng, is there any difference in package format between "make install", portmaster and portupgrade? If your system already has portmaster, you could portmaster ports-mgmt/synth |& tee synth-12amd64.log? And then switch from portmaster to synth for all further ports builds/updates? It would not be necessary to start with a clean system for FreeBSD, as opposed to NetBSD, or am I mistaken here? First port-upgrading tool I used in FreeBSD was portupgrade. Subsequently I switched to portmaster. Tom