[pacman-dev] [PATCH] makepkg: Place packages symlinks in build dir when DESTDIR is used
Eric Bélanger
snowmaniscool at gmail.com
Wed Nov 4 02:37:55 EST 2009
On Wed, Nov 4, 2009 at 1:45 AM, Allan McRae <allan at 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 at 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
>
>
>
More information about the pacman-dev
mailing list