[HEADSUP] Staging, packaging and more

Daniel Nebdal dnebdal at gmail.com
Fri Oct 4 14:41:49 UTC 2013


On Fri, Oct 4, 2013 at 3:16 PM, Mathias Picker
<Mathias.Picker at virtual-earth.de> wrote:
> Am Freitag, den 04.10.2013, 06:12 -0500 schrieb 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.
>
> For me, the full packages of FreeBSD where allways one big plus. I
> *hate* trying to compile anything and having to (find and) blow up my
> package count. Just more things to keep track of.
>
> Disk space is cheap, and it's getting cheaper, even on embedded systems.
> Is this really the time to optimize for a special case that might even
> (slowly) fade away as storage even in tiny system grows and grows?
>
>
> Regards, Mathias
>
>
>
>
>>
>> >
>> > regards,
>> > Bapt
>>
>>
>

Given that pkgng has feature flags, it could perhaps be doable to have
a "WITH_DEV_FILES" (or whatever) flag, and defaulting to "yes". The
embedded people could then set it to "no" and do a poudriere bulk
build (or whatever they prefer) and get a nice slim set of packages
with very little extra work. Ports could build-depend on a version
with the appropriate flag set, and run-depend on versions without ...
so if you try to compile something, it might be possible to drag the
appropriate dev-enabled package versions in automatically. Depending
on how feature flags actually work, of course; I might be optimistic
here. :)

Also, I wouldn't bet on embedded people getting unlimited amounts of
space just yet. It's weird how slowly some fields move.


-- 
Daniel Nebdal


More information about the freebsd-ports mailing list