[arch-dev-public] making a devtools release
Hi, I am intending to make one after applying a few patches that have been sent to the mailing lists. I know that are few people are already using a git version for community and arch=any support so it should be good to go. Does anyone know of anything blocking a devtools release? Allan
On Mon, Aug 31, 2009 at 10:59 PM, Allan McRae<allan@archlinux.org> wrote:
Hi,
I am intending to make one after applying a few patches that have been sent to the mailing lists. I know that are few people are already using a git version for community and arch=any support so it should be good to go.
Does anyone know of anything blocking a devtools release?
Allan
I've been using a git version (with the fixes I submited in the ML. I'll need to check if they were all commited to git) of the devtools for a while and it's working well. The only major issue is that commit doesn't work for split packages. You need to scp, svn commit, archrelease manually. I started looking into it with the intention of simply using a wildcard (scp *${PKGEXT}). However, if a package is not in the trunk directory, commitpkg looks in $PKGDEST for the package. So wildcards won't work. As splitted packages can have have their own pkgver and/or pkgrel, the question is to figure out which pkgver and pkrel goes with which pkgname. I don't have any idea on how to do that. If someone has any idea/hints, I could work out the details. Eric
On Tue, Sep 1, 2009 at 1:26 AM, Eric Bélanger<snowmaniscool@gmail.com> wrote:
On Mon, Aug 31, 2009 at 10:59 PM, Allan McRae<allan@archlinux.org> wrote:
Hi,
I am intending to make one after applying a few patches that have been sent to the mailing lists. I know that are few people are already using a git version for community and arch=any support so it should be good to go.
Does anyone know of anything blocking a devtools release?
Allan
I've been using a git version (with the fixes I submited in the ML. I'll need to check if they were all commited to git) of the devtools for a while and it's working well. The only major issue is that commit
I meant commitpkg, of course. doesn't work for split packages. You need to scp, svn commit,
archrelease manually.
I started looking into it with the intention of simply using a wildcard (scp *${PKGEXT}). However, if a package is not in the trunk directory, commitpkg looks in $PKGDEST for the package. So wildcards won't work.
As splitted packages can have have their own pkgver and/or pkgrel, the question is to figure out which pkgver and pkrel goes with which pkgname. I don't have any idea on how to do that. If someone has any idea/hints, I could work out the details.
Eric
Eric Bélanger wrote:
On Mon, Aug 31, 2009 at 10:59 PM, Allan McRae<allan@archlinux.org> wrote:
Hi,
I am intending to make one after applying a few patches that have been sent to the mailing lists. I know that are few people are already using a git version for community and arch=any support so it should be good to go.
Does anyone know of anything blocking a devtools release?
Allan
I've been using a git version (with the fixes I submited in the ML. I'll need to check if they were all commited to git
At least two are not yet, but I have them on a local working branch: - makechrootpkg: fixed copying of .install file to chroot for split packages - devtools: clean up of commitpkg Let me know if there are any others that I missed.
) of the devtools for a while and it's working well. The only major issue is that commit doesn't work for split packages. You need to scp, svn commit, archrelease manually.
I started looking into it with the intention of simply using a wildcard (scp *${PKGEXT}). However, if a package is not in the trunk directory, commitpkg looks in $PKGDEST for the package. So wildcards won't work.
As splitted packages can have have their own pkgver and/or pkgrel, the question is to figure out which pkgver and pkrel goes with which pkgname. I don't have any idea on how to do that. If someone has any idea/hints, I could work out the details.
Well, splitted packages can not really have their own pkgver/pkgrel... it works in some cases but it really does screw things up in others. e.g. test with three split packages and change the pkgver/pkgrel in the middle one and look at the file names. So I'm not sure we should spend a lot of time fixing things that are not really available in makepkg yet. Allan
On Tue, Sep 1, 2009 at 12:43 AM, Allan McRae<allan@archlinux.org> wrote:
Eric Bélanger wrote:
I've been using a git version (with the fixes I submited in the ML. I'll need to check if they were all commited to git
At least two are not yet, but I have them on a local working branch: - makechrootpkg: fixed copying of .install file to chroot for split packages - devtools: clean up of commitpkg
Let me know if there are any others that I missed.
Feel free to apply them. Patches look ok on a once-over
On Tue, Sep 1, 2009 at 1:43 AM, Allan McRae<allan@archlinux.org> wrote:
Eric Bélanger wrote:
At least two are not yet, but I have them on a local working branch: - makechrootpkg: fixed copying of .install file to chroot for split packages - devtools: clean up of commitpkg
Let me know if there are any others that I missed.
These are the only ones that haven't been commited yet.
Well, splitted packages can not really have their own pkgver/pkgrel... it works in some cases but it really does screw things up in others. e.g. test with three split packages and change the pkgver/pkgrel in the middle one and look at the file names. So I'm not sure we should spend a lot of time fixing things that are not really available in makepkg yet.
Sure. I understand that it might be pre-mature to implement this kind of support in commitpkg. What I could do, for the time being, would be to assume a single pkgver and pkgrel and just loop over the pkgname array. What do you think? Eric
Allan
Eric Bélanger wrote:
On Tue, Sep 1, 2009 at 1:43 AM, Allan McRae<allan@archlinux.org> wrote:
Eric Bélanger wrote:
At least two are not yet, but I have them on a local working branch: - makechrootpkg: fixed copying of .install file to chroot for split packages - devtools: clean up of commitpkg
Let me know if there are any others that I missed.
These are the only ones that haven't been commited yet.
Great - I will push those when I get home from the office.
Well, splitted packages can not really have their own pkgver/pkgrel... it works in some cases but it really does screw things up in others. e.g. test with three split packages and change the pkgver/pkgrel in the middle one and look at the file names. So I'm not sure we should spend a lot of time fixing things that are not really available in makepkg yet.
Sure. I understand that it might be pre-mature to implement this kind of support in commitpkg.
What I could do, for the time being, would be to assume a single pkgver and pkgrel and just loop over the pkgname array. What do you think?
That sounds fine to me. That should get this "fixed enough" for general usage in the meantime. Allan
Allan McRae wrote:
Eric Bélanger wrote:
On Tue, Sep 1, 2009 at 1:43 AM, Allan McRae<allan@archlinux.org> wrote:
Eric Bélanger wrote: At least two are not yet, but I have them on a local working branch: - makechrootpkg: fixed copying of .install file to chroot for split packages - devtools: clean up of commitpkg
Let me know if there are any others that I missed.
These are the only ones that haven't been commited yet.
Great - I will push those when I get home from the office.
All pushed now. @Eric: you should look into creating git format patches. It makes applying them much easier (especially keeping attribution data - I didn't know how to keep you as the author so I added a Patch-by line). Allan
Allan McRae wrote:
Allan McRae wrote:
Eric Bélanger wrote:
On Tue, Sep 1, 2009 at 1:43 AM, Allan McRae<allan@archlinux.org> wrote:
Eric Bélanger wrote: At least two are not yet, but I have them on a local working branch: - makechrootpkg: fixed copying of .install file to chroot for split packages - devtools: clean up of commitpkg
Let me know if there are any others that I missed.
These are the only ones that haven't been commited yet.
Great - I will push those when I get home from the office.
All pushed now. @Eric: you should look into creating git format patches. It makes applying them much easier (especially keeping attribution data - I didn't know how to keep you as the author so I added a Patch-by line).
And astute reader has very quickly informed me I could use the --author flag on "git commit" after applying with "git apply" so this will not happen next time. Still git format patches are easier.... Allan
On Tue, Sep 1, 2009 at 8:43 AM, Allan McRae<allan@archlinux.org> wrote:
Allan McRae wrote:
Eric Bélanger wrote:
On Tue, Sep 1, 2009 at 1:43 AM, Allan McRae<allan@archlinux.org> wrote:
Eric Bélanger wrote: At least two are not yet, but I have them on a local working branch: - makechrootpkg: fixed copying of .install file to chroot for split packages - devtools: clean up of commitpkg
Let me know if there are any others that I missed.
These are the only ones that haven't been commited yet.
Great - I will push those when I get home from the office.
All pushed now. @Eric: you should look into creating git format patches. It makes applying them much easier (especially keeping attribution data - I didn't know how to keep you as the author so I added a Patch-by line).
Allan
Hi, Here's a patch inline and attachedfor split support in commitpkg. It's in git format. Let me know if the patch is incorrect git-wise. BTW, I haven't tested it as I don't have any split package to update. Eric ======
From 58ae91541350c5f7868420c3f09d8876ed5c406d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eric=20B=E9langer?= <snowmaniscool@gmail.com> Date: Tue, 1 Sep 2009 22:35:25 -0400 Subject: [PATCH] commitpkg: Added split package support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
All packages created by the PKGBUILD are uploaded to the staging directory. The output and svn commit messages uses pkgbase instead of pkgname. Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> --- commitpkg | 112 +++++++++++++++++++++++++++++++----------------------------- 1 files changed, 58 insertions(+), 54 deletions(-) diff --git a/commitpkg b/commitpkg index a7078e7..4341507 100755 --- a/commitpkg +++ b/commitpkg @@ -26,76 +26,80 @@ if [ -z "$CARCH" ]; then fi source PKGBUILD -pkgfile=${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} -anypkgfile=${pkgname}-${pkgver}-${pkgrel}-any${PKGEXT} +pkgbase=${pkgbase:-${pkgname[0]}} -if [ ! -f $pkgfile ]; then - if [ -f $PKGDEST/$pkgfile ]; then - pkgfile=$PKGDEST/$pkgfile - anypkgfile=$PKGDEST/$anypkgfile - elif [ -f $anypkgfile ]; then - pkgfile=$anypkgfile - CARCH=any - elif [ -f $PKGDEST/$anypkgfile ]; then - pkgfile=$PKGDEST/$anypkgfile - CARCH=any - else - echo "File $pkgfile doesn't exist" - exit 1 +for _pkgname in ${pkgname[@]}; do + pkgfile=${_pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} + anypkgfile=${_pkgname}-${pkgver}-${pkgrel}-any${PKGEXT} + + if [ ! -f $pkgfile ]; then + if [ -f $PKGDEST/$pkgfile ]; then + pkgfile=$PKGDEST/$pkgfile + anypkgfile=$PKGDEST/$anypkgfile + elif [ -f $anypkgfile ]; then + pkgfile=$anypkgfile + CARCH=any + elif [ -f $PKGDEST/$anypkgfile ]; then + pkgfile=$PKGDEST/$anypkgfile + CARCH=any + else + echo "File $pkgfile doesn't exist" + exit 1 + fi fi -fi # set up repo-specific opts depending on how we were called -server="gerolde.archlinux.org" -if [ "$cmd" == "extrapkg" ]; then - repo="extra" -elif [ "$cmd" == "corepkg" ]; then - repo="core" -elif [ "$cmd" == "testingpkg" ]; then - repo="testing" -elif [ "$cmd" == "communitypkg" ]; then - repo="community" - server="aur.archlinux.org" -else - if [ $# -eq 0 ]; then - echo "usage: commitpkg <reponame> [-l limit] [commit message]" - exit 1 + server="gerolde.archlinux.org" + if [ "$cmd" == "extrapkg" ]; then + repo="extra" + elif [ "$cmd" == "corepkg" ]; then + repo="core" + elif [ "$cmd" == "testingpkg" ]; then + repo="testing" + elif [ "$cmd" == "communitypkg" ]; then + repo="community" + server="aur.archlinux.org" + else + if [ $# -eq 0 ]; then + echo "usage: commitpkg <reponame> [-l limit] [commit message]" + exit 1 + fi + repo="$1" + shift fi - repo="$1" - shift -fi # see if any limit options were passed, we'll send them to SCP -unset scpopts -if [ "$1" = "-l" ]; then - scpopts="$1 $2" - shift 2 -fi + unset scpopts + if [ "$1" = "-l" ]; then + scpopts="$1 $2" + shift 2 + fi # combine what we know into a variable -uploadto="staging/${repo}/$(basename ${pkgfile})" -scp ${scpopts} "${pkgfile}" "${server}:${uploadto}" -if [ "$(md5sum "${pkgfile}" | cut -d' ' -f1)" != "$(ssh ${server} md5sum "${uploadto}" | cut -d' ' -f1)" ]; then - echo "File got corrupted during upload, cancelled." - exit 1 -else - echo "File integrity okay." -fi + uploadto="staging/${repo}/$(basename ${pkgfile})" + scp ${scpopts} "${pkgfile}" "${server}:${uploadto}" + if [ "$(md5sum "${pkgfile}" | cut -d' ' -f1)" != "$(ssh ${server} md5sum "${uploadto}" | cut -d' ' -f1)" ]; then + echo "File got corrupted during upload, cancelled." + exit 1 + else + echo "File integrity okay." + fi -if [ $? -ne 0 ]; then - echo "Cancelled" - exit 1 -fi -echo "===> Uploaded $pkgfile" + if [ $? -ne 0 ]; then + echo "Cancelled" + exit 1 + fi + echo "===> Uploaded $pkgfile" +done if [ "$1" != "" ]; then - svn commit -m "upgpkg: $pkgname $pkgver-$pkgrel + svn commit -m "upgpkg: $pkgbase $pkgver-$pkgrel $1" > /dev/null if [ $? -ne 0 ]; then echo "Cancelled" exit 1 fi - echo "===> Commited with \"upgpkg: $pkgname $pkgver-$pkgrel + echo "===> Commited with \"upgpkg: $pkgbase $pkgver-$pkgrel $1\" message" else svn commit >/dev/null @@ -103,7 +107,7 @@ else echo "Cancelled" exit 1 fi - echo "===> Commited with \"upgpkg: $pkgname $pkgver-$pkgrel\" message" + echo "===> Commited with \"upgpkg: $pkgbase $pkgver-$pkgrel\" message" fi archrelease $repo-$CARCH -- 1.6.4.1
Eric Bélanger wrote:
Hi, Here's a patch inline and attachedfor split support in commitpkg. It's in git format. Let me know if the patch is incorrect git-wise. BTW, I haven't tested it as I don't have any split package to update.
Looks good to me - it did highlight another issue though... I point it out below but I will fix. I will take this for a spin and upload a test split package to the repos, remove it, and if all is well make the devtools release.
<snip> +for _pkgname in ${pkgname[@]}; do + pkgfile=${_pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} + anypkgfile=${_pkgname}-${pkgver}-${pkgrel}-any${PKGEXT} + + if [ ! -f $pkgfile ]; then + if [ -f $PKGDEST/$pkgfile ]; then + pkgfile=$PKGDEST/$pkgfile + anypkgfile=$PKGDEST/$anypkgfile
The above line looks wrong to me. The PKGDEST/$anypkgfile is tested below and we do not need anypkgfile if $PKGDEST/$pkgfile exists. Am I missing something?
+ elif [ -f $anypkgfile ]; then + pkgfile=$anypkgfile + CARCH=any + elif [ -f $PKGDEST/$anypkgfile ]; then + pkgfile=$PKGDEST/$anypkgfile + CARCH=any + else + echo "File $pkgfile doesn't exist" + exit 1 + fi fi
On Tue, Sep 1, 2009 at 11:54 PM, Allan McRae<allan@archlinux.org> wrote:
Eric Bélanger wrote:
Hi, Here's a patch inline and attachedfor split support in commitpkg. It's in git format. Let me know if the patch is incorrect git-wise. BTW, I haven't tested it as I don't have any split package to update.
Looks good to me -
BTW, is there a way to generate the patch without some of the junk at the begining like: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I just followed http://wiki.archlinux.org/index.php/Super_Quick_Git_Guide it did highlight another issue though... I point it out
below but I will fix. I will take this for a spin and upload a test split package to the repos, remove it, and if all is well make the devtools release.
<snip> +for _pkgname in ${pkgname[@]}; do + pkgfile=${_pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} + anypkgfile=${_pkgname}-${pkgver}-${pkgrel}-any${PKGEXT} + + if [ ! -f $pkgfile ]; then + if [ -f $PKGDEST/$pkgfile ]; then + pkgfile=$PKGDEST/$pkgfile + anypkgfile=$PKGDEST/$anypkgfile
The above line looks wrong to me. The PKGDEST/$anypkgfile is tested below and we do not need anypkgfile if $PKGDEST/$pkgfile exists. Am I missing something?
It looks like you are right. The: anypkgfile=$PKGDEST/$anypkgfile line is superfluous.
+ elif [ -f $anypkgfile ]; then + pkgfile=$anypkgfile + CARCH=any + elif [ -f $PKGDEST/$anypkgfile ]; then + pkgfile=$PKGDEST/$anypkgfile + CARCH=any + else + echo "File $pkgfile doesn't exist" + exit 1 + fi fi
On Wed, Sep 2, 2009 at 6:46 AM, Eric Bélanger<snowmaniscool@gmail.com> wrote:
BTW, is there a way to generate the patch without some of the junk at the begining like: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
I just followed http://wiki.archlinux.org/index.php/Super_Quick_Git_Guide
You might have to lose your é :)
On Wed, Sep 2, 2009 at 2:04 AM, Xavier<shiningxc@gmail.com> wrote:
On Wed, Sep 2, 2009 at 6:46 AM, Eric Bélanger<snowmaniscool@gmail.com> wrote:
BTW, is there a way to generate the patch without some of the junk at the begining like: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
I just followed http://wiki.archlinux.org/index.php/Super_Quick_Git_Guide
You might have to lose your é :)
I'd suggest using git-format-patch in conjunction with git-send-email to make this work more cleanly. You may need to setup msmtp or something similar to send through gmail.
participants (4)
-
Aaron Griffin
-
Allan McRae
-
Eric Bélanger
-
Xavier