Whamcloud - gitweb
debian/patches and non-GA tags
authorBrian J. Murrell <brian.murrell@oracle.com>
Mon, 18 Oct 2010 18:10:47 +0000 (14:10 -0400)
committerVitaly Fertman <vitaly.fertman@sun.com>
Mon, 18 Oct 2010 22:17:49 +0000 (02:17 +0400)
Make the code to populate debian/patches work better with non-GA tags
such as v1_8_3_53.

build/autoMakefile.am.toplevel

index 079cbf0..eb9b048 100644 (file)
@@ -148,21 +148,44 @@ debs:
                echo -e "1i\nlustre ($$lversion-1) unstable; urgency=low\n\n  * Automated changelog entry update\n\n -- Brian J. Murrell <brian@interlinx.bc.ca>  $$(date -R)\n\n.\nwq" | ed debian/changelog; \
        fi; \
        if [ -d .git ]; then \
-               pdir="debian/patches"; \
-               git format-patch -o $$pdir $$lversion..HEAD^; \
-               pushd $$pdir; \
-               rm -f 00list *.dpatch; \
-               for file in [0-9][0-9][0-9][0-9]-*.patch; do \
-                       desc=$$(cat $$file | sed -e '1,/^$$/d' -e '/^---$$/,$$d'); \
-                       dpatch_file=$${file/.patch/.dpatch}; \
-                       sed -e '1,/^---$$/d' $$file | \
-                         dpatch patch-template -p "$${file%.patch}" "$$desc" > \
-                         $$dpatch_file; \
-                       echo "faked by make debs run from git" > \
-                         ../patched/$$dpatch_file; \
-                       echo $$dpatch_file >> 00list; \
-                       rm -f $$file; \
-               done; \
+               ver=$$(git describe --tags); \
+               if [[ $$ver = *-*-* ]]; then \
+                       hash=$${ver##*-}; \
+                       ffw=$${ver#*-}; \
+                       ffw=$${ffw%-*}; \
+                       ver=$${ver%%-*}; \
+               fi; \
+               if [ $$ffw -gt 0 ]; then \
+                       tag=$$ver; \
+                       if [[ $$ver =~ ^v([0-9]+_)+([0-9]+|RC[0-9]+)$$ ]]; then \
+                               ver=$$(echo $$ver | \
+                                 sed -e 's/^v\(.*\)/\1/' \
+                                     -e 's/_RC[[0-9]].*$$//' \
+                                     -e 's/_/./g'); \
+                       fi; \
+                       pdir="debian/patches"; \
+                       git format-patch -o $$pdir $$tag..HEAD^; \
+                       if [ ! -d $$pdir ]; then \
+                               mkdir $$pdir; \
+                       fi; \
+                       pushd $$pdir; \
+                       if [ ! -d ../patched ]; then \
+                               mkdir ../patched; \
+                       fi; \
+                       rm -f 00list *.dpatch; \
+                       for file in [0-9][0-9][0-9][0-9]-*.patch; do \
+                               desc=$$(cat $$file | sed -e '1,/^$$/d' \
+                                                        -e '/^---$$/,$$d'); \
+                               dpatch_file=$${file/.patch/.dpatch}; \
+                               sed -e '1,/^---$$/d' $$file | \
+                                 dpatch patch-template -p "$${file%.patch}" \
+                                   "$$desc" > $$dpatch_file; \
+                               echo "faked by make debs run from git" > \
+                                 ../patched/$$dpatch_file; \
+                               echo $$dpatch_file >> 00list; \
+                               rm -f $$file; \
+                       done; \
+               fi; \
        fi
        rm -rf debs
        dpkg-buildpackage || { \