From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id A5098138010 for ; Fri, 14 Sep 2012 13:16:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8195721C005; Fri, 14 Sep 2012 13:16:15 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id C853D21C003 for ; Fri, 14 Sep 2012 13:15:15 +0000 (UTC) Received: from [192.168.1.4] (pool-71-245-176-92.pitbpa.fios.verizon.net [71.245.176.92]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: zerochaos) by smtp.gentoo.org (Postfix) with ESMTPSA id F2CE4335E31 for ; Fri, 14 Sep 2012 13:15:14 +0000 (UTC) Message-ID: <50532DE2.1060908@gentoo.org> Date: Fri, 14 Sep 2012 09:15:14 -0400 From: "Rick \"Zero_Chaos\" Farina" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120912 Thunderbird/15.0.1 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] bzr.eclass changes, please review References: <20562.62029.425431.864386@a1i15.kph.uni-mainz.de> In-Reply-To: <20562.62029.425431.864386@a1i15.kph.uni-mainz.de> X-Enigmail-Version: 1.4.4 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: 2ce93562-4121-4b84-ab8d-052d8d76fe91 X-Archives-Hash: a6c34aa9b172eff0c422370a1e1cc5f5 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09/14/2012 05:01 AM, Ulrich Mueller wrote: > In bug 434746 it has been suggested that ${WORKDIR} should look like a > bzr branch or checkout. Proposed changes for bzr.eclass are included > below, comprising the following: > > - bzr_fetch can optionally call bzr checkout --lightweight instead of > bzr export. The default behaviour won't change, the new behaviour > can be enabled with: > - New variable EBZR_WORKDIR_CHECKOUT, (Or can anyone come up with a > better/shorter name?) > - New variable EBZR_CHECKOUT_CMD. > - The sandbox environment is now always restored; before it was only > restored if ${EBZR_STORE_DIR} didn't exist. This is to prevent the > package's build system from writing to ${EBZR_STORE_DIR} when it's > calling bzr (which wasn't an issue for an export, but could be for > a checkout). > - Unrelated to the above, some old cleanup code (around line 220) is > removed. > > The updated bzr.eclass is available in the emacs overlay, along with > an app-editors/emacs-vcs ebuild that I've used for testing. > > Ulrich > > > --- bzr.eclass 18 Jul 2012 15:12:54 -0000 1.18 > +++ bzr.eclass 14 Sep 2012 08:02:08 -0000 > @@ -61,6 +61,11 @@ > # The Bazaar command to export a branch. > : ${EBZR_EXPORT_CMD:="bzr export"} > > +# @ECLASS-VARIABLE: EBZR_CHECKOUT_CMD > +# @DESCRIPTION: > +# The Bazaar command to checkout a branch. > +: ${EBZR_CHECKOUT_CMD:="bzr checkout --lightweight -q"} > + > # @ECLASS-VARIABLE: EBZR_REVNO_CMD > # @DESCRIPTION: > # The Bazaar command to list a revision number of the branch. > @@ -145,6 +150,12 @@ > # by users. > : ${EBZR_OFFLINE=${EVCS_OFFLINE}} > > +# @ECLASS-VARIABLE: EBZR_WORKDIR_CHECKOUT > +# @DEFAULT_UNSET > +# @DESCRIPTION: > +# If this variable is set to a non-empty value, EBZR_CHECKOUT_CMD will > +# be used instead of EBZR_EXPORT_CMD to copy the sources to WORKDIR. > + > # @FUNCTION: bzr_initial_fetch > # @USAGE: > # @DESCRIPTION: > @@ -196,11 +207,11 @@ > # working copy. > bzr_fetch() { > local repo_dir branch_dir > + local save_sandbox_write=${SANDBOX_WRITE} > > [[ -n ${EBZR_REPO_URI} ]] || die "${EBZR}: EBZR_REPO_URI is empty" > > if [[ ! -d ${EBZR_STORE_DIR} ]] ; then > - local save_sandbox_write=${SANDBOX_WRITE} > addwrite / Am I reading this wrong, or is "addwrite /" being more than just a little lazy? I know this isn't part of your change set but it has always bothered me that it needs to unlocking writing on the whole filesystem to save something in distdir. Thanks, Zero > mkdir -p "${EBZR_STORE_DIR}" \ > || die "${EBZR}: can't mkdir ${EBZR_STORE_DIR}" > @@ -215,19 +226,6 @@ > > addwrite "${EBZR_STORE_DIR}" > > - # Clean up if the existing local copy is a checkout (as was the case > - # with an older version of bzr.eclass). > - # This test can be removed after 1 Mar 2012. > - if [[ ${EBZR_FETCH_CMD} != *checkout* && -d ${repo_dir}/.bzr/checkout ]] > - then > - local tmpname=$(mktemp -u "${repo_dir}._old_.XXXXXX") > - ewarn "checkout from old version of ${EBZR} found, moving it to:" > - ewarn "${tmpname}" > - ewarn "you may manually remove it" > - mv "${repo_dir}" "${tmpname}" \ > - || die "${EBZR}: can't move old checkout out of the way" > - fi > - > if [[ ! -d ${branch_dir}/.bzr ]]; then > if [[ ${repo_dir} != "${branch_dir}" && ! -d ${repo_dir}/.bzr ]]; then > einfo "creating shared bzr repository: ${repo_dir}" > @@ -252,14 +250,23 @@ > bzr_update "${EBZR_REPO_URI}" "${branch_dir}" > fi > > + # Restore sandbox environment > + SANDBOX_WRITE=${save_sandbox_write} > + > cd "${branch_dir}" || die "${EBZR}: can't chdir to ${branch_dir}" > > # Save revision number in environment. #311101 > export EBZR_REVNO=$(${EBZR_REVNO_CMD}) > > - einfo "exporting ..." > - ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \ > - "${WORKDIR}/${P}" . || die "${EBZR}: export failed" > + if [[ -n ${EBZR_WORKDIR_CHECKOUT} ]]; then > + einfo "checking out ..." > + ${EBZR_CHECKOUT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \ > + . "${WORKDIR}/${P}" || die "${EBZR}: checkout failed" > + else > + einfo "exporting ..." > + ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \ > + "${WORKDIR}/${P}" . || die "${EBZR}: export failed" > + fi > einfo "revision ${EBZR_REVISION:-${EBZR_REVNO}} is now in ${WORKDIR}/${P}" > > popd > /dev/null > > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ iQIcBAEBAgAGBQJQUy3iAAoJEKXdFCfdEflKGn8P/2nWVsOWor82RWYneDHpxaFU U0rZn7D3PPNCLhNpIH9/61BlJsarOW7MuFSgTwTRlAnyKN8gLMyOYvr5bBi9URgT 7rC6pKxy+tH9EoyemZks9SoTjSQk6d+jZLx+0nvFUqvqtK+Elp0qs4FyxyWDqq0j ZL3dunSIcNHhekQYbuaIJQ6bCBTUyqtUTLyzIWRveoHaGPE0Nl5r7y/LJOeOA4JX my+3UyK6snWvpuUqYjEXjTTRvZivoD1hoX9ALtFOFquzQ6ITHYAWSYgfGP96cTAo +IiSt2DgSCz1wnGyXPgRgj7I0cijtBZ/ozkIZVfEAdbyzatVkOh+vkepF3Fw8698 1V5SDjqqPCEtHTcLEvTD5Q7yUhx805N78v47GsYAdwul3ZCFCW8nNUdzbCEIQXWD QXwOZQ9wsYFhedJgbO6Sd68au4OP4L1yL+u/+wdyag5ipnBRcCMuInYmL8n2Orkq UZR+XI6QURauCqg/MoaiUcbRbE6uUQarke93uU0hR3odZlBDk3Evo9Vvs+veK5Cq a9VJig3PD+b+EjFfenDlwptI3oBXtd0NMZgkqL3NrOAxsz4osDj7Un9TXqbdHHt7 LAlIgAxWjGZBjGDoj+uFT5DBb+bhI2g0XHik96O5+47oDqw4VORtdOyo0/oo1p14 FdwcD7TA9Xb/WDqCKicg =dB/J -----END PGP SIGNATURE-----