ELF resource access and editing library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
TDE Gitea b68e3ec6ec
Reset submodule main/dependencies/libr/cmake to latest HEAD
6 years ago
cmake@e66f00401f Reset submodule main/dependencies/libr/cmake to latest HEAD 6 years ago
doc Initial import 10 years ago
m4 Add autogen.sh and remove automatically generated files 10 years ago
man Conversion to CMake 10 years ago
po Add autogen.sh and remove automatically generated files 10 years ago
src Fix FTBFS on FreeBSD 9 years ago
.gitmodules Conversion to CMake 10 years ago
ABOUT-NLS Initial import 10 years ago
AUTHORS Initial import 10 years ago
CMakeLists.txt Fix FTBFS due to missing link iberty library 9 years ago
COPYING Initial import 10 years ago
ChangeLog Initial import 10 years ago
INSTALL Initial import 10 years ago
Makefile.am Initial import 10 years ago
NEWS Initial import 10 years ago
README Initial import 10 years ago
TRASH.libr-gtk Initial import 10 years ago
autogen.sh Fix autogen.sh 10 years ago
configure.ac Add autogen.sh and remove automatically generated files 10 years ago
libr.pc.in Set the internal library version number to 0.6.0 6 years ago

README

libr - Library to manage resources in ELF binaries

See the INSTALL file for general installation instructions.

* What is the purpose of this library?
This library is intended to provide an easy to use mechanism for managing
(embedding, retrieving, deleting) resources in ELF binaries.  The library
provides a solid API and ABI that implements the preliminary spec for adding
ELF resources (icons or otherwise) documented at:
https://wiki.ubuntu.com/ELFIconSpec
Please note that should a backward-incompatible change occur to the API/ABI
then the shared library version code will be bumped.

* Why are there multiple backends?
Originally this library was written to use libelf, unfortunately libelf has
some issues with reordering data in small executables.  Until these issues are 
resolved please use libbfd (the default backend) or the read-only backend.
If you would like to experiment with the libelf backend you can try and set
resources on the application "alsamixer", which is a commonly installed
application that is known to break.

* What is the read-only backend?
The read-only backend is a dependency-free backend that is capable of reading
libr resources.  Support for this backend is thanks to Martin Rosenau.
This backend is currently a new edition to libr, however, in the long-run the
read-only backend will be the recommended (default) backend for the purpose of
most applications.  Only a special class of application (primarily elfres)
needs to actually add and remove resources in a binary, most applications
need only read resources already added by elfres.

NOTICE! This library is licensed under the LGPL v2.1 while the backend for 
libbfd is licensed under the LGPL v3.  You may choose to distribute your 
modifications to this variant of the library under the LGPL v3, in accordance
with Section 5 of that license.  Should you wish to excise libbfd from this
library you may choose to remove libr_bfd.h and libr_bfd.c and compile against
libelf instead, the backend may be selected at configure time:
./configure --libr-backend=libelf

I consider the ability to select the library backend as satisfying the LGPL v3
Section 5a requirement and this notice (and the notice contained within
libr_bfd.c) to satisfy the Section 5b requirement.