From owner-freebsd-ports@FreeBSD.ORG Mon Oct 7 10:21:57 2013 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 2E3A0DC4 for ; Mon, 7 Oct 2013 10:21:57 +0000 (UTC) (envelope-from bryan@shatow.net) Received: from secure.xzibition.com (secure.xzibition.com [173.160.118.92]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D69C524A7 for ; Mon, 7 Oct 2013 10:21:56 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=shatow.net; h=message-id :date:from:mime-version:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s=sweb; b=O7QrDr i0FOdlMMb8QNFJiHcr7HAxMiNgj62fU7zYhOntyP5EqEXxVDr+Gj8C67S4NSDRua m+H2dHI2DaPi2EelJvvSp3aKe9/xyNrWlLMrsmbO8kVmpVOMRxz764B3chG7PkpO l/vnZyDXMJBZsjIOAMvaFXw1d9Yl5JrFvfTZw= DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=shatow.net; h=message-id :date:from:mime-version:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; s=sweb; bh=K78IsyL5jP8v jqKVv6BLXWbZ9GQWOdB460GeHlWYeLo=; b=2DbWqg9Ko2+cxN4dI6edD7O6ipci Xdz6HiosC92xIlhXwZRHrCFs/Hlc5dIQ2I25Udk3Hl1vslikY/tLqFrPYZK0your kEOe5jsrpHCB7dn4UV0MMsHo4kaQ9zjfiAwXvBPgETbeuFxT3ujhizkDQscfXfXH W0gc5Le6f9aRQHA= Received: (qmail 24979 invoked from network); 7 Oct 2013 05:21:50 -0500 Received: from unknown (HELO ?10.10.0.24?) (bryan@shatow.net@10.10.0.24) by sweb.xzibition.com with ESMTPA; 7 Oct 2013 05:21:50 -0500 Message-ID: <52528B3C.5020906@shatow.net> Date: Mon, 07 Oct 2013 05:21:48 -0500 From: Bryan Drewery User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 Subject: Re: [HEADSUP] Staging, packaging and more References: <20131003084814.GB99713@ithaqua.etoilebsd.net> <524D6059.2000700@FreeBSD.org> <524DD120.4000701@freebsd.org> <20131003203501.GA1371@medusa.sysfault.org> <20131004061833.GA1367@medusa.sysfault.org> <20131004063259.GC72453@ithaqua.etoilebsd.net> <20131004065753.GV82824@droso.dk> <20131004070158.GE72453@ithaqua.etoilebsd.net> <20131004111256.GC98118@admin.xzibition.com> <7D0F44D08D6643B9AA3EA3FD2E5DB255@white> In-Reply-To: <7D0F44D08D6643B9AA3EA3FD2E5DB255@white> X-Enigmail-Version: 1.5.2 OpenPGP: id=3C9B0CF9; url=http://www.shatow.net/bryan/bryan.asc Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Cc: ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Oct 2013 10:21:57 -0000 On 10/6/2013 9:16 PM, Dewayne Geraghty wrote: >> -----Original Message----- >> From: owner-freebsd-ports@freebsd.org >> [mailto:owner-freebsd-ports@freebsd.org] On Behalf Of Ulrich Spörlein >> Sent: Sunday, 6 October 2013 11:20 PM >> To: Bryan Drewery >> Cc: ports@freebsd.org; Baptiste Daroussin; Fernando Apesteguía >> Subject: Re: [HEADSUP] Staging, packaging and more >> Importance: Low >> >> 2013/10/4 Bryan Drewery : >>> On Fri, Oct 04, 2013 at 09:01:58AM +0200, Baptiste Daroussin wrote: >>>> On Fri, Oct 04, 2013 at 08:57:53AM +0200, Erwin Lansing wrote: >>>>> On Fri, Oct 04, 2013 at 08:32:59AM +0200, Baptiste >> Daroussin wrote: >>>>>>>>>> >>>>>>>>>> Please no devel packages. >>>>>>>>> >>>>>>>>> Seconded. >>>>>>>> >>>>>>>> What's wrong with devel packages? >>>>>>> >>>>>>> It complicates things for developers and custom software on >>>>>>> FreeBSD. The typical situation that I see on most Linux >>>>>>> platforms is a lot of confusion by people, why their custom >>>>>>> software XYZ does not properly build - the most >> common answer: >>>>>>> they forgot to install a tremendous amount of dev packages, >>>>>>> containing headers, build tools and whatnot. >>>>>>> On FreeBSD, you can rely on the fact that if you >> installed e.g. >>>>>>> libGL, you can start building your own GL >> applications without >>>>>>> the need to install several libGL-dev, libX11-dev, >> ... packages first. >>>>>>> This is something, which I personally see as a big >> plus of the >>>>>>> FreeBSD ports system and which makes FreeBSD >> attractive as a development platform. >>>>>>> >>>>>> >>>>>> On the other ends, that makes the package fat for embedded >>>>>> systems, that also makes some arbitrary runtime >> conflicts between >>>>>> packages (because they both provide the same symlink >> on the .so, >>>>>> while we could live with 2 version at runtime), that leads to >>>>>> tons of potential issue while building locally, and that makes >>>>>> having sometime insane issues with dependency >> tracking. Why having .a, .la, .h etc in production servers? >> It could greatly reduce PBI size, etc. >>>>>> >>>>>> Personnaly I do have no strong opinion in one or another >>>>>> direction. Should we be nicer with developers? with end users? >>>>>> with embedded world? That is the question to face to >> decide if -devel packages is where we want to go or not. >>>>>> >>>>> >>>>> If we chose to go down that path, at least we should chose a >>>>> different name as we've used the -devel suffix for many >> years for >>>>> developmental versions. >>>>> >>>>> I must agree that it is one of the things high on my >> list of things >>>>> that irritate me with several Linux distributions but I >> can see the >>>>> point for for embedded systems as well. But can't we >> have both? >>>>> Create three packages, a default full package and split >> packages of >>>>> -bin, -lib, and even -doc. My first though twas to make >> the full >>>>> package a meta-package that would install the split >> packages in the >>>>> background, but that would probably be confusing for >> users at the >>>>> end of the day, so rather just have it be a real package. >>>>> >>>> I do like that idea very much, and it is easily doable >> with stage :) >>> >>> +1 to splitting packages for embedded usage. >> >> -1 for the split, as it will not fix anybody's problem. >> >> On regular machines, disk space is cheap and having to >> install more packages is just annoying to users. Think of the >> time wasted that people are told to apt-get libfoo-dev before >> they can build anything from github, or similar. Are you suggesting we should just auto install all of ports then? The hassle of installing required dependencies for something outside of the normal system is going to happen either way. >> >> If you actually *are* space constricted on your tiny embedded >> machine, what the fuck are you doing with the sqlite database >> and all the metadata about ports/packages anyway? Just rm >> /usr/include and /usr/share/doc, /usr/share/man, etc. when >> building your disk image. >> But you are doing that already anyway, so this solves no >> actual problem for you. >> >> My two cents >> Uli > Concur with Uli, sans expletive. Subpackages has no harm to anyone. The idea that "too many packages hurts me" is bad. It's 1 more entry in 'pkg info'. The overall savings in BW/Space is good for everyone. It makes upgrades faster for non-developer users who don't need headers. A lot of ports already track DOCS/EXAMPLES. Subpackages are just an extension/refactoring of that effort. There are plenty of ideas and ways to make this user friendly by automatically installing/depending on the subpackages, as they effectively are today with DOCS/EXAMPLES options. > > If you don't care about /var/db/pkg or sqlite then its easier to remove the unnecessary files after the build process and repackage > the packages (tar --exclude), leaving the clients' servers to > pkg_add -r -f The suggestions to rm -rf /usr/include etc and /var/db/pkg are big hacks that will break binary package upgrades. Don't forget that is the end goal here. > And yes some ports require parts of share or (unbelievably) examples to function correctly. You say some can't work, but still suggest to rm -rf it. That is not a good solution. The package maintainer should define that so the package works, without you hacking at it. If a port incorrectly does not work without EXAMPLES, you need to tell the maintainer. > > Pre-deployment testing or deployment is consistent because there's only one executable image to "track". > > Dewayne. >