[Python-checkins] Add ABI dump script (#94135)
pablogsal
webhook-mailer at python.org
Thu Jun 23 17:53:04 EDT 2022
https://github.com/python/cpython/commit/8e6eccabe8156d77d60ba532e60156bcd3592df1
commit: 8e6eccabe8156d77d60ba532e60156bcd3592df1
branch: main
author: Pablo Galindo Salgado <Pablogsal at gmail.com>
committer: pablogsal <Pablogsal at gmail.com>
date: 2022年06月23日T22:52:43+01:00
summary:
Add ABI dump script (#94135)
files:
A .github/workflows/regen-abidump.sh
M .gitignore
M Makefile.pre.in
diff --git a/.github/workflows/regen-abidump.sh b/.github/workflows/regen-abidump.sh
new file mode 100644
index 0000000000000..251bb3857ecfc
--- /dev/null
+++ b/.github/workflows/regen-abidump.sh
@@ -0,0 +1,8 @@
+set -ex
+
+export DEBIAN_FRONTEND=noninteractive
+./.github/workflows/posix-deps-apt.sh
+apt-get install -yq abigail-tools python3
+export CFLAGS="-g3 -O0"
+./configure --enable-shared && make
+make regen-abidump
diff --git a/.gitignore b/.gitignore
index b3b22f471c276..0ddfd717d737f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -150,3 +150,6 @@ Python/frozen_modules/MANIFEST
# Ignore ./python binary on Unix but still look into ./Python/ directory.
/python
!/Python/
+
+# main branch only: ABI files are not checked/maintained
+Doc/data/python*.abi
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 20fc89eb767c2..102cd752c39cd 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1204,7 +1204,7 @@ regen-global-objects: $(srcdir)/Tools/scripts/generate_global_objects.py
regen-abidump: all
@$(MKDIR_P) $(srcdir)/Doc/data/
abidw "libpython$(LDVERSION).so" --no-architecture --out-file $(srcdir)/Doc/data/python$(LDVERSION).abi.new
- @$(UPDATE_FILE) $(srcdir)/Doc/data/python$(LDVERSION).abi $(srcdir)/Doc/data/python$(LDVERSION).abi.new
+ @$(UPDATE_FILE) --create $(srcdir)/Doc/data/python$(LDVERSION).abi $(srcdir)/Doc/data/python$(LDVERSION).abi.new
check-abidump: all
abidiff $(srcdir)/Doc/data/python$(LDVERSION).abi "libpython$(LDVERSION).so" --drop-private-types --no-architecture --no-added-syms
More information about the Python-checkins
mailing list