mirror of
https://github.com/json-c/json-c.git
synced 2026-03-21 14:09:06 +08:00
Add an abi-check.sh script that shows how to run the abi-compliance-checker, update release creation steps slightly.
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
changes (added/removed/updated funcs, etc...), and detect backwards compat
|
||||
issues.
|
||||
* https://github.com/lvc/abi-compliance-checker
|
||||
* See also `abi-check.sh`
|
||||
* If the new release is not backwards compatible, then this is a MAJOR release.
|
||||
* Mention removed features in ChangeLog
|
||||
* Consider re-adding backwards compatible support, through symbol
|
||||
@@ -40,9 +41,15 @@
|
||||
## Release creation
|
||||
|
||||
Start creating the new release:
|
||||
release=0.16
|
||||
|
||||
PREV=$(git tag | tail -1)
|
||||
PREV=${PREV#json-c-}
|
||||
PREV=${PREV%-*}
|
||||
release=0.$((${PREV#*.} + 1))
|
||||
cd ~
|
||||
git clone https://github.com/json-c/json-c json-c-${release}
|
||||
|
||||
rm -rf distcheck
|
||||
mkdir distcheck
|
||||
cd distcheck
|
||||
# Note, the build directory *must* be entirely separate from
|
||||
@@ -54,8 +61,7 @@ Start creating the new release:
|
||||
Make any fixes/changes *before* branching.
|
||||
|
||||
cd json-c-${release}
|
||||
git branch json-c-${release}
|
||||
git checkout json-c-${release}
|
||||
git checkout -b json-c-${release}
|
||||
|
||||
------------
|
||||
|
||||
@@ -177,7 +183,8 @@ Update checksums on wiki page.
|
||||
openssl md5 json-c*gz
|
||||
|
||||
Copy and paste this output into the wiki page at:
|
||||
https://github.com/json-c/json-c/wiki
|
||||
* https://github.com/json-c/json-c/wiki
|
||||
* https://github.com/json-c/json-c/wiki/Old-Releases
|
||||
|
||||
------------
|
||||
|
||||
|
||||
42
abi-check.sh
Normal file
42
abi-check.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
|
||||
prev=0.16
|
||||
release=0.17
|
||||
|
||||
# ... clone json-c, abi-compliance-checker, abi-dumper
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
CFLAGS=-Og cmake -DCMAKE_INSTALL_PREFIX=~/json-c-installs/json-c-${release} ..
|
||||
make && make test && make install
|
||||
|
||||
# Assume the old version has already been built
|
||||
|
||||
cd ~/abi-compliance-checker
|
||||
mkxml()
|
||||
{
|
||||
ver="$1"
|
||||
cat <<EOF > json-c-${ver}.xml
|
||||
<foo>
|
||||
<version>
|
||||
${ver}
|
||||
</version>
|
||||
|
||||
<headers>
|
||||
../json-c-installs/json-c-${ver}/include/json-c
|
||||
</headers>
|
||||
|
||||
<libs>
|
||||
../json-c-installs/json-c-${ver}/lib64/libjson-c.so
|
||||
</libs>
|
||||
</foo>
|
||||
EOF
|
||||
}
|
||||
mkxml ${release}
|
||||
mkxml ${prev}
|
||||
|
||||
perl abi-compliance-checker.pl -lib json-c -dump json-c-${prev}.xml -dump-path ./ABI-${prev}.dump
|
||||
perl abi-compliance-checker.pl -lib json-c -dump json-c-${release}.xml -dump-path ./ABI-${release}.dump
|
||||
perl abi-compliance-checker.pl -l json-c -old ABI-${prev}.dump -new ABI-${release}.dump
|
||||
|
||||
echo "look in compat_reports/json-c/..."
|
||||
Reference in New Issue
Block a user