• Home
Name Date Size #Lines LOC

..--

.github/03-May-2024-337258

autoconf-archive/03-May-2024-596550

bash-completion/03-May-2024-345333

doc/03-May-2024-20,54217,740

docker/03-May-2024-12199

include/03-May-2024-15,8449,378

m4/03-May-2024-32

relicensing-scripts/03-May-2024-465416

scripts/03-May-2024-3921

src/03-May-2024-96,24254,341

tests/03-May-2024-756,869744,784

tools/03-May-2024-12,8249,254

.clang-formatD03-May-2024779 2827

.gitignoreD03-May-2024247 3125

.mailmapD03-May-2024639 87

ABIXML-FORMAT-VERSIONSD03-May-20242.7 KiB6854

AUTHORSD03-May-202435 31

Android.bpD03-May-20242.4 KiB115104

COMMIT-LOG-GUIDELINESD03-May-20244.9 KiB13097

COMPILINGD03-May-20243 KiB11571

CONTRIBUTINGD03-May-202412.4 KiB311231

ChangeLogD03-May-20241.7 MiB39,55335,056

LICENSED03-May-202412 KiB220182

LICENSE.txtD03-May-202412 KiB220182

METADATAD03-May-2024391 1715

MODULE_LICENSE_APACHE2D03-May-20240

Makefile.amD03-May-20242.3 KiB9757

NEWSD03-May-202460.9 KiB1,1881,141

OWNERSD03-May-202440 32

READMED03-May-2024991 2418

README-DOCKER.mdD03-May-20241.8 KiB6746

VISIBILITYD03-May-20242.5 KiB6847

abigail.m4D03-May-20244.5 KiB164142

config.hD03-May-20248.1 KiB263104

configure.acD03-May-202432.8 KiB1,059899

default.abignoreD03-May-20246.1 KiB177149

install-shD03-May-202412.7 KiB512351

libabigail.pc.inD03-May-2024298 1210

license-change-2020.txtD03-May-20241.4 KiB3830

post_update.shD03-May-2024445 219

release-text-template.txtD03-May-20241.3 KiB3523

update-copyright.shD03-May-2024424 1813

README

1This is the Application Binary Interface Generic Analysis and
2Instrumentation Library.
3
4It aims at constructing, manipulating, serializing and de-serializing
5ABI-relevant artifacts.
6
7The set of artifacts that we are intersted is made of quantities like
8types, variable, functions and declarations of a given library or
9program.  For a given library or program this set of quantities is
10called an ABI corpus.
11
12This library aims at (among other things) providing a way to compare
13two ABI Corpora (apparently the plural of corpus is copora, heh,
14that's cool), provide detailed information about their differences,
15and help build tools to infer interesting conclusions about these
16differences.
17
18You are welcome to contribute to this project after reading the files
19CONTRIBUTING and COMMIT-LOG-GUIDELINES files in the source tree.
20
21Communicating with the maintainers of this project -- including
22sending patches to be include to the source code -- happens via email
23at libabigail@sourceware.org.
24

README-DOCKER.md

1# Libabigail Docker
2
3Libabigail comes with two Dockerfile in [docker](docker) to build each of:
4
5 - a Fedora base image (recommended)
6 - an Ubuntu base image.
7
8These containers are built and deployed on merges to the main branch and releases.
9
10### Usage
11
12Here is how to build the containers. Note that we build so it belongs to the same
13namespace as the repository here. "ghcr.io" means "GitHub Container Registry" and
14is the [GitHub packages](https://github.com/features/packages) registry that supports
15 Docker images and other OCI artifacts.
16
17```bash
18$ docker build -f docker/Dockerfile.fedora -t ghcr.io/woodard/libabigail-fedora .
19```
20```bash
21$ docker build -f docker/Dockerfile.ubuntu -t ghcr.io/woodard/libabigail-ubuntu-22.04 .
22```
23
24Note that currently the fedora image is deployed to `ghcr.io/woodard/libabigail:latest`.
25
26### Shell
27
28To shell into a container (here is an example with ubuntu):
29
30```bash
31$ docker run -it ghcr.io/woodard/libabigail-ubuntu-22.04 bash
32```
33
34Off the bat, you can find the abi executables:
35
36```bash
37# which abidiff
38/opt/abigail-env/.spack-env/view/bin/abidiff
39```
40
41Since the ubuntu base uses spack, you can interact with spack.
42You can go to the environment in `/opt/abigail-env` and (given you
43have the source code bound to `/src`) build and test again.
44
45```bash
46$ spack install
47```
48
49And that's it! This workflow should make it easy to install development versions of libabigail with spack.
50We will also use the "production" containers to grab libraries in:
51
52```
53$ ls /opt/abigail-env/.spack-env/view/
54bin  include  lib  share
55```
56
57Note that the fedora container does not come with spack.
58
59### Testing
60
61We provide a testing container, which will use a fedora base and add new code to
62compile, and then run `make check`. You can do this as follows on your local machine:
63
64```bash
65$ docker build -f docker/Dockerfile.test -t test .
66```
67