On 09/01/14 02:24, Fabian Groffen wrote:
On 30-08-2014 16:02:51 -0400, Anthony G. Basile wrote:
... During that meeting, the council focused on NEEDED.ELF.2 which is
recorded by portage, but not paludis. Linkage information is generated
during package builds, is expensive to recalculate and is needed by
other packages like revdep-pax for PaX marking ELF objects.
Portage is able to calculate dependency information for
@preserved-rebuild based on the information stored in multiple files,
(NEEDED,) NEEDED.ELF.2, NEEDED.MACHO.3, NEEDED.XCOFF, NEEDED.PECOFF, etc.
For this purpose, it would be helpful if a generalised interface would
be exported, instead of the raw files (and their storage format
version). Portage, for instance, internally has a function that queries
for consumers of a specific library (file), abstracting away parts of
the shared library format internals, that otherwise would have to be
implemented by all tools.
Fabian
Here are some packages that raw-read VDB, other than portage itself:
* sys-apps/elfix (python)
* app-portage/gentoolkit (python)
* app-portage/portage-utils (C)
* app-portage/eix (C++)
There are probably more, but I am familiar with their internals.
Generally, these packages use VDB information for 1) lists of files and
2) linking information. Again, caching this information (because it is
expensive to re-calculate) and exporting it via a general interface is
useful.
Fabian thanks for pointing out the other NEEDED.* files. I wondered how
portage did this for alternative exe formats.
--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : bluen...@gentoo.org
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA