Package: pbuilder Severity: wishlist Tags: patch X-Debbugs-CC: sylves...@debian.org
Hi, I've made a tiny patch for clang support in pbuilder, it runs with "--with-clang" option. It would make build check in clang easier, and encourage maintainers to do that. Could you check and apply it, please? -- Regards, Hideki Yamane henrich @ debian.or.jp/org http://wiki.debian.org/HidekiYamane
diff -Nru pbuilder-0.213/bash_completion.d/pbuilder pbuilder-0.213+nmu1/bash_completion.d/pbuilder --- pbuilder-0.213/bash_completion.d/pbuilder 2012-03-25 14:53:45.000000000 +0900 +++ pbuilder-0.213+nmu1/bash_completion.d/pbuilder 2013-02-11 14:21:58.000000000 +0900 @@ -60,7 +60,7 @@ --aptconfdir --timeout --override-config --binary-arch \ --preserve-buildplace --bindmounts --debug --twice --autocleanaptcache \ --compressprog --debootstrapopts --save-after-login --save-after-exec \ - --debootstrap' \ + --debootstrap --with-clang' \ -- "$cur" ) ) if [[ $prev = @(--aptcache|--hookdir) ]]; then # Optionally provide a directory diff -Nru pbuilder-0.213/debian/changelog pbuilder-0.213+nmu1/debian/changelog --- pbuilder-0.213/debian/changelog 2012-10-08 08:30:05.000000000 +0900 +++ pbuilder-0.213+nmu1/debian/changelog 2013-02-11 15:01:07.000000000 +0900 @@ -1,3 +1,13 @@ +pbuilder (0.213+nmu1) UNRELEASED; urgency=low + + [ Hideki Yamane ] + * Non-maintainer upload. + * add "--with-clang" option to build your package with clang. + It would replace GCC-4.7 by default, you can specify it any version + with GCC_VERSION environment variable + + -- Hideki Yamane <henr...@debian.org> Mon, 11 Feb 2013 14:22:38 +0900 + pbuilder (0.213) unstable; urgency=low [ Beatrice Torracca ] diff -Nru pbuilder-0.213/pbuilder-buildpackage pbuilder-0.213+nmu1/pbuilder-buildpackage --- pbuilder-0.213/pbuilder-buildpackage 2012-03-13 17:25:15.000000000 +0900 +++ pbuilder-0.213+nmu1/pbuilder-buildpackage 2013-02-11 15:18:41.000000000 +0900 @@ -97,6 +97,9 @@ executehooks "D" trap saveaptcache_umountproc_cleanbuildplace_trap exit sighup sigpipe checkbuilddep "$PACKAGENAME" +if [ "$CLANG" = "yes" ]; then + setup_clang +fi save_aptcache trap umountproc_cleanbuildplace_trap exit sighup sigpipe diff -Nru pbuilder-0.213/pbuilder-buildpackage-funcs pbuilder-0.213+nmu1/pbuilder-buildpackage-funcs --- pbuilder-0.213/pbuilder-buildpackage-funcs 2012-03-31 13:51:11.000000000 +0900 +++ pbuilder-0.213+nmu1/pbuilder-buildpackage-funcs 2013-02-11 16:44:51.000000000 +0900 @@ -112,3 +112,22 @@ export CCACHE_DIR="$CCACHEDIR" fi } + +function setup_clang() { + # set appropriate GCC version. + if [ -z $GCC_VERSION ]; then + GCC_VERSION="4.7" + fi + + $CHROOTEXEC usr/bin/apt-get -y "${APTGETOPT[@]}" install clang + + echo -e "\e[33mReplace gcc, g++ & cpp by clang\e[m" + for compiler in gcc-"$GCC_VERSION" cpp-"$GCC_VERSION" g++-"$GCC_VERSION" + do + $CHROOTEXEC rm /usr/bin/$compiler && + $CHROOTEXEC ln -s /usr/bin/clang /usr/bin/$compiler + done + + echo -e "\e[33mCheck if gcc, g++ & cpp are actually clang\e[m" + $CHROOTEXEC usr/bin/gcc --version| grep clang > /dev/null || exit 1 +} diff -Nru pbuilder-0.213/pbuilder-checkparams pbuilder-0.213+nmu1/pbuilder-checkparams --- pbuilder-0.213/pbuilder-checkparams 2012-03-09 07:54:41.000000000 +0900 +++ pbuilder-0.213+nmu1/pbuilder-checkparams 2013-02-11 14:20:54.000000000 +0900 @@ -260,6 +260,10 @@ TWICE="yes" shift; ;; + --with-clang) + CLANG="yes" + shift; + ;; --) # end of processing for this shift; break; diff -Nru pbuilder-0.213/pbuilder-modules pbuilder-0.213+nmu1/pbuilder-modules --- pbuilder-0.213/pbuilder-modules 2012-03-31 13:50:46.000000000 +0900 +++ pbuilder-0.213+nmu1/pbuilder-modules 2013-02-11 14:51:33.000000000 +0900 @@ -79,6 +79,7 @@ --debootstrapopts [debootstrap options] --save-after-login/--save-after-exec --debootstrap [debootstrap|cdebootstrap] + --with-clang pdebuild-specific pbuilder-options: --pbuilderroot [command to obtain root privilege for pbuilder] diff -Nru pbuilder-0.213/pbuilder.8 pbuilder-0.213+nmu1/pbuilder.8 --- pbuilder-0.213/pbuilder.8 2012-03-09 07:54:41.000000000 +0900 +++ pbuilder-0.213+nmu1/pbuilder.8 2013-02-11 14:35:27.000000000 +0900 @@ -534,6 +534,11 @@ properly. The resulting packages are the ones from the second build. .TP +.BI "\-\-with\-clang" +Build the package with clang, instead of gcc. +Also you should use A10clang hook file in example. + +.TP .BI "\-\-preserve\-buildplace" Do not clean the .B "\-\-buildplace"