[haiku-development] Re: Package Management - devel or not to devel?

  • From: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 3 Sep 2013 11:22:58 -0500

> On Tue, Sep 3, 2013 at 11:26 AM, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
> Maybe someone can give some details on the negative use case that makes
> devel packages an "endless pain" and causes "untold hours of frustration". I
> can't relate at all. All I have to do on Linux (openSUSE) is a "zypper
> install foo-devel" to get foo's devel package (and foo itself, if it hadn't
> been installed before). I don't recall ever having experienced any pain or
> frustration doing that.

It's not that it is hard to install -devel packages.. however it is an extra
"little" step.  All of these "little" annoyances end up being big issues in
the grand scope of things.  By default, most libraries install the development
bits (when compiled from source). In essence, we are mutilating packages in
an effort to split them into -devel.  Looking at the recipe's written so far,
the -devel packages manually move files out of the prefix path. This causes
additional work for the package management team (which is already pretty small)
and provides little benefit to end users.

It was mentioned that CD's are the same size and haven't changed much. While
this information is true, it really isn't a valid argument here.  The majority
of the packages that would contain "excessive" development resources wouldn't
be on the installation CD.  Plus, given the compression hpkg includes, we likely
will be able to already fit a lot more on a CD.

On Tue, 3 Sep 2013 11:46:37 -0400
Ryan Leavengood <leavengood@xxxxxxxxx> wrote:
> In the last few years, when I've used Linux I've mainly used Ubuntu
> and Arch. I can't say I've had endless pain in trying to do
> development in Ubuntu where there are development packages, but I will
> say Arch was a breath of fresh air in NOT having them.
> 
> It might be more of a case of being easier and simpler in not having
> the development packages than them causing a bunch of pain. Though for
> poorly documented projects it can be quite frustrating trying to
> figure out what is needed to compile and then having to install those
> development packages, but it may be unfair to blame that on the
> packaging system.

This is generally where I've seen pain.  If you've compiled more than a few
pieces of software under any RPM based distro you've seen this. The minute
you step outside of the source RPM box, you're left in a cycle of:

 - running ./configure
 - install missing package X-devel
 - running ./configure
 - install missing package Y-devel
 - running ./configure
 - install missing package Z-devel
 - etc

Do that for more than a few source archives in a row and you will be in the
no-devel camp pretty quickly :-)

> If Haiku can do it "right", it might not be so bad.

 - I agree, however do we have the resources to do -devel "right"?

> I do agree with Rene that disk space is no longer virtually infinite
> with SSDs, so there is no reason to be unnecessarily wasteful.
> 
> With all this said, I could envision there being a setting for the
> package management system which always installs the -devel packages
> when the main package is installed (assuming the -devel package
> exists.) This then can satisfy both camps without being a bad
> compromise. For that reason (and just for clarity), it might be nice
> if -devel packages were linked with their associated main package more
> tightly than just naming, such as each having a reference to the
> other. I don't know if this is already there.

Not a terrible compromise.  I was always glad that Ubuntu included meta
packages  "apt-get install build-essential" for example.

Then again, still quite a bit of work.

-- 
Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>

Other related posts: