On Wed, Nov 4, 2009 at 1:45 AM, Allan McRae <allan@archlinux.org> wrote:
Eric Bélanger wrote:
Here's the latest patch. I hope everything is correct.
BTW, do you want me to continue sending patches as attachment too? I see that 'git send-email' doesn't so I guess you can grab the inline patch or get it directly from git. Is that correct?
The way I handle this is to just send them directly with git send-email using the "In reply to" value to keep the thread... um... threaded. Any comments about the patch and what you have changed to fix things can go under the "---" after the sign-off. Of course, you can inline them as you have and push them to a git repo somewhere and we can just pull from there.
OK. I'll do that. I was inlining them manually to keep everything in the same thread.
Also, can you insert newlines into you commit message to keep them at about 80 characters per line.
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> --- scripts/makepkg.sh.in | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 92b0454..aaf576b 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -138,11 +138,17 @@ clean_up() { if [ -n "$pkgbase" ]; then # Can't do this unless the BUILDSCRIPT has been sourced. rm -f "${pkgbase}-${pkgver}-${pkgrel}-${CARCH}-build.log"* + [[ "$PKGDEST" != "${startdir}" ]] \ + && rm -f "${pkgbase}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" if [ "$PKGFUNC" -eq 1 ]; then rm -f "${pkgbase}-${pkgver}-${pkgrel}-${CARCH}-package.log"* + [[ "$PKGDEST" != "${startdir}" ]] \ + && rm -f "${pkgbase}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" elif [ "$SPLITPKG" -eq 1 ]; then for pkg in ${pkgname[@]}; do rm -f "${pkg}-${pkgver}-${pkgrel}-${CARCH}-package.log"* + [[ "$PKGDEST" != "${startdir}" ]] \ + && rm -f "${pkg}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" done fi fi
I am not happy with this way of cleaning up the symlinks to packages. If the package is not a split package, then the package name will be $pkgname-... and not $pkgbase (although, they are likely the same thing).
I was following (maybe too closely) the log files removal as template here. I'll change it to pkgname.
I am also not sure what the second clean-up (in the "$PKGFUNC -eq 1" test) is doing that has not already by the one above it.
Yeah, it probably can be removed.
However, thinking about this more, we do not remove old packages when using --clean so why remove symlinks to old packages. Only when package symlinks are pointing to packages that no longer exist in PKGDEST have we made a mess that needs cleaned up. So how about something like:
for pkg in ${pkgname[@]}; do for file in ${pkg}-*-*-${CARCH}${PKGEXT}; do if [[ -h $file & ! -e $file ]]; then rm -f $file fi done fi
Sure. I'll use this instead. I don't use the --clean option so I am indifferent. I'll send a new patch tomorrow. Eric
Everything else in the patch is fine.
Allan