mirror of
https://github.com/json-c/json-c.git
synced 2026-04-07 14:29: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
|
changes (added/removed/updated funcs, etc...), and detect backwards compat
|
||||||
issues.
|
issues.
|
||||||
* https://github.com/lvc/abi-compliance-checker
|
* 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.
|
* If the new release is not backwards compatible, then this is a MAJOR release.
|
||||||
* Mention removed features in ChangeLog
|
* Mention removed features in ChangeLog
|
||||||
* Consider re-adding backwards compatible support, through symbol
|
* Consider re-adding backwards compatible support, through symbol
|
||||||
@@ -40,9 +41,15 @@
|
|||||||
## Release creation
|
## Release creation
|
||||||
|
|
||||||
Start creating the new release:
|
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}
|
git clone https://github.com/json-c/json-c json-c-${release}
|
||||||
|
|
||||||
|
rm -rf distcheck
|
||||||
mkdir distcheck
|
mkdir distcheck
|
||||||
cd distcheck
|
cd distcheck
|
||||||
# Note, the build directory *must* be entirely separate from
|
# Note, the build directory *must* be entirely separate from
|
||||||
@@ -54,8 +61,7 @@ Start creating the new release:
|
|||||||
Make any fixes/changes *before* branching.
|
Make any fixes/changes *before* branching.
|
||||||
|
|
||||||
cd json-c-${release}
|
cd json-c-${release}
|
||||||
git branch json-c-${release}
|
git checkout -b json-c-${release}
|
||||||
git checkout json-c-${release}
|
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
|
||||||
@@ -177,7 +183,8 @@ Update checksums on wiki page.
|
|||||||
openssl md5 json-c*gz
|
openssl md5 json-c*gz
|
||||||
|
|
||||||
Copy and paste this output into the wiki page at:
|
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