Bundling EFL library packages

Ross Vandegrift rvandegrift at debian.org
Thu Feb 20 06:44:54 GMT 2020


Hello,

I'm considering bundling all of the EFL shared objects into a single package.
I thought this would not be permitted by policy.  But after a discussion with
upstream, I reviewed the policy and realized I was wrong - it is not so strict.

An initial plan:
- libefl1: all of the shared libs & modules
- libefl-data: arch-indep user files
- libefl-bin: user binaries
- libefl-dev: arch-indep developer files
- libefl-dev-bin: developer binaries
- libefl-doc: api docs
Existing packages will become transitional as appropriate.

Here are some benefits:
- The packaging carefully avoids dependency cycles.  But it's easy to
  reintroduce a cycle when a new binary is added.  Combining the packages
  eliminates this issue.

- Ensuring that all components are the same verson takes a lot of Breaks.  This
  would become very simple.

- Upstream experiments with new libraries & functionality.  This avoids new
  binary packages every time a new library is introduced.

- Splitting the arch-indep files can be done more completely without adding
  lots of small binary packages.

- Cleaning up historical baggae from the pre-merge EFL <1.8 era back in 2013.


There are some costs:
- installed size footprint will increase slightly (only ~1MB for systems with
  enlightenment installed).

- a large symbols file will be harder to maintain.  Maybe there are tricks for
  splitting it up though.


I examined the lib* packages on my system.  There are a few that bundle many
libraries, so it seems not so uncommon.  But I'm also going to ask for feedback
on mentors before implementing.


Thoughts?

Thanks,
Ross



More information about the Pkg-e-devel mailing list