[HEADSUP] Staging, packaging and more
Dewayne Geraghty
dewayne.geraghty at heuristicsystems.com.au
Mon Oct 7 02:17:34 UTC 2013
> -----Original Message-----
> From: owner-freebsd-ports at freebsd.org
> [mailto:owner-freebsd-ports at freebsd.org] On Behalf Of Ulrich Spörlein
> Sent: Sunday, 6 October 2013 11:20 PM
> To: Bryan Drewery
> Cc: ports at freebsd.org; Baptiste Daroussin; Fernando Apesteguía
> Subject: Re: [HEADSUP] Staging, packaging and more
> Importance: Low
>
> 2013/10/4 Bryan Drewery <bryan at shatow.net>:
> > 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.
>
> 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
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to
> "freebsd-ports-unsubscribe at freebsd.org"
Concur with Uli, sans expletive.
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
And yes some ports require parts of share or (unbelievably) examples to function correctly.
Pre-deployment testing or deployment is consistent because there's only one executable image to "track".
Dewayne.
More information about the freebsd-ports
mailing list