On 24/02/15 01:03, David Macek wrote:
> On 23. 2. 2015 10:31, Allan McRae wrote:
>> On 20/02/15 10:59, David Macek wrote:
>>> Hi.
>>>
>>> makepkg deletes the whole $pkgdirbase directory before starting build(). 
>>> <https://github.com/elieux/pacman/blob/upstream/scripts/makepkg.sh.in#L3460>
>>>
>>> I propose a change to delete just $pkgdir, and an addition of similar code 
>>> before starting package*(). I don't see any downside to this (except for 
>>> the time it takes to implement the change) and I give two reasons for the 
>>> change:
>>>
>>> Reason 1: in case $pkgdirbase is a symlink, it gets re-created as a regular 
>>> directory, which is probably unwanted behavior. The MSYS2 guys even have a 
>>> patch for this. 
>>> <https://github.com/elieux/pacman/blob/master/scripts/makepkg.sh.in#L3378-3388>
>>>
>>> Reason 2: in case makepkg is ran twice in the same directory (but with 
>>> different configurations and different $pkgname), the second run deletes 
>>> the $pkgdirbase of the first run, but sometimes it's beneficial to inspect 
>>> the $pkgdir after makepkg has finished. This may seem as an obscure 
>>> use-case, but it's very common with the MSYS2 project. 
>>> <https://github.com/elieux/MSYS2-packages/blob/master/pacman/makepkg-mingw>
>>>
>>> (Since this seems to be a fairly easy thing to change, I may even prepare a 
>>> patch myself.)
>>
>> Just a one line patch is needed:
>>
>> -            rm -rf "$pkgdirbase"
>> +            rm -rf "$pkgdirbase/*"
>>
>> The MSys2 patch is wrong (the empty permissions does not get reinstated
>> if the directory is already there).
>>
>> Someone submit that for me...
> 
> This only solves case 1, not case 2, which is actually more important to me.
> 

I need case two explained to me more.  Why are you not using two PKGBUILDs?

Reply via email to