Re: User-installable Debian packages?
- Date: Sun, 30 Jul 2017 19:34:42 +0900
- From: Benda Xu <heroxbd@xxxxxxxxxx>
- Subject: Re: User-installable Debian packages?
Steffen Möller <steffen_moeller@xxxxxx> writes:
> This is good to hear. While I like all that I read about Gentoo, I do
> not know about how well equipped it is with packages in computational
> biology [edit: I had a look at
> https://packages.gentoo.org/categories/sci-biology and am impressed,
> well done!].
As a physicist, I am not sure if bioconductors is closely related to
computational biology. If so, a complete machine-generated Gentoo
overlay for the repository of bioconductor is available as part of
> This is where BioConda (bioconda.github.io) is very strong now. And
> while the Conda community gets increasingly sophisticated with their
> packaging, we can decide to either just let them go for it or to find
> ways to compete. These folks start as low as libz, i.e. just above
> libc, really. I hence tend to think that it is something that we as a
> Linux distribution should care about.
AFAIK, conda uses RPATH and $ORIGIN variable for ELFs, which is similar
to Gentoo Prefix-rpath, the more traditional approach than Prefix-libc
inside Gentoo. On the other hand, the compatibility issues from libc
versions is not negligible. I see several times conda fails to install
a python module correctly, e.g. xgboost, because libc on the host being
I hope the two camps of people will merge their efforts someday. But I
am not optimistic.
> I have followed Johanness' link to
> https://wiki.debian.org/Teams/Dpkg/Spec/InstallBootstrap but frankly
> do not yet know how to transform that into something computational
> biologists would like to use and trust more than Conda. It would all
> start with cross-distribution packages of dpkg, right? And the testing
> infrastructure of Debian would need to care for such
> off-root-experiences, too. I do not see that just around the corner.
I am a long-term Debian user. It was Gentoo Prefix on HPC that
introduced me to Gentoo. At the time of adopting Gentoo in my work flow
aside Debian, I have long thought of giving dpkg the same power. I
concluded that the most portable way to go is to reimplement the Prefix
feature of Gentoo portage in Debian debhelper and treat Debian as a
As far as I can see, the easiest relocations are those modifiable in a
plain text, like configuration file, script shebang, etc. The medium
ones are ELF, with which we have tools like patchelf and chrpath, etc.
The most difficult part includes quite a few hidden path assumptions
that can only be specified at build time, like the default GCC include
dir. I don't know whether distributing binary packages can alleviate
the barrier. Chances are many patches are needed to be carried to be
able to override paths at run time. (Considering Debian's existing
patch base, that might not be a big drawback).
For me with a lot of CPU cycles, compiling everything by Gentoo in my
home directory is not a problem. At the same time, I really would like
to see dpkg can do something similar. Sometimes binary packages are
more robust and flexible.