]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
UBUNTU: [Packaging] resync getabis
authorAndrea Righi <andrea.righi@canonical.com>
Mon, 14 Jun 2021 07:35:08 +0000 (09:35 +0200)
committerAndrea Righi <andrea.righi@canonical.com>
Tue, 7 Dec 2021 06:32:05 +0000 (07:32 +0100)
BugLink: https://bugs.launchpad.net/bugs/1786013
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
debian/scripts/misc/getabis

index ba0af33537410720eeb5fe041db7bb0c303d4f1f..5c8e005d3415e539df2c310df38e8fa4b75a18a7 100755 (executable)
@@ -24,7 +24,18 @@ verfull=$ver-$revision
 
 WGET="wget --tries=1 --timeout=10 --quiet -c"
 
-abidir="`pwd`/$DEBIAN/__abi.current"
+# Check if we use a flat (unversioned) ABI directory
+if [ -f "${DEBIAN}/abi/version" ] || \
+   grep -qP '^abidir\s+.*/__abi.current/' debian/rules.d/0-common-vars.mk ; then
+       echo "Using flat ABI directory"
+       flat_abi=1
+       abidir=$(pwd)/${DEBIAN}/abi
+else
+       echo "Using versioned ABI directory"
+       flat_abi=0
+       abidir=$(pwd)/${DEBIAN}/abi/${verfull}
+fi
+
 tmpdir="`pwd`/abi-tmp-$verfull"
 origdir="`pwd`"
 fwinfo=$abidir/fwinfo
@@ -166,10 +177,12 @@ getall_set()
 # MAIN
 
 # Setup abi directory
-rm -rf "$abidir"
+rm -rf "${abidir}"
 mkdir -p $abidir
 echo $abi > $abidir/abiname
-echo $verfull > $abidir/version
+if [ ${flat_abi} -eq 1 ] ; then
+       echo "${verfull}" > "${abidir}"/version
+fi
 
 # NOTE: The flavours are hardcoded, because they may have changed from the
 # current build.
@@ -189,12 +202,10 @@ mv fwinfo.tmp $fwinfo
 
 rmdir $tmpdir
 
-# Replace the previous ABI directory with the new one
-abiprevdir="$(pwd)/$DEBIAN/abi"
-rm -rf "$abiprevdir"
-mv "$abidir" "$abiprevdir"
-
-# If this is running in a git repo, add the updated ABI files
+# If this is running in a git repo, add the new ABI directory, remove the old
 if [ -d ".git" ]; then
-    git add "$abiprevdir"
+       git add "${abidir}"
+       if [ ${flat_abi} -eq 0 ] ; then
+               find "$DEBIAN"/abi/* -maxdepth 0 -type d | grep -v "$verfull" | while read f; do git rm -rf "$f"; done
+       fi
 fi