[pacman-dev] [PATCH] Install unchanged backup files to get correct timestamps.
Allan McRae
allan at archlinux.org
Sat Jun 15 09:59:16 EDT 2013
On 10/06/13 16:33, Patrick Steinhardt wrote:
> On Wed, Jun 05, 2013 at 02:52:53PM +1000, Allan McRae wrote:
>> On 04/06/13 21:10, Ross Lagerwall wrote:
>>> On Tue, Jun 04, 2013 at 11:20:14AM +0200, Patrick Steinhardt wrote:
>>>> if(hash_local && hash_pkg && strcmp(hash_local, hash_pkg) == 0) {
>>>> - /* local and new files are the same, no sense in installing the file
>>>> - * over itself, regardless of what the original file was */
>>>> - _alpm_log(handle, ALPM_LOG_DEBUG,
>>>> - "action: leaving existing file in place\n");
>>>> - unlink(checkfile);
>>>> + /* local and new files are the same, updating anyway to get
>>>> + * correct timestamps */
>>>> + _alpm_log(handle, ALPM_LOG_DEBUG, "action: installing new file: %s\n",
>>>
>>> Perhaps this should be changed to something like:
>>> "action: updating existing file's timestamps\n"
>>> to differentiate it from when the file is actually new.
>>>
>>
>> I like "installing new file" because it is exactly what we say we will
>> do in the pacman(8) man page. Also, the situations are easily
>> distinguished by the previous debug output.
>>
>>>> + entryname_orig);
>>>> + if(try_rename(handle, checkfile, filename)) {
>>>> + errors++;
>>>> + }
>>>
>>> Can we not just ignore it if it fails since it is non-fatal?
>>>
>>
>> No. If something fails here, we are in a very bad situation for the
>> rest of the transaction. I want that error to propagate so that we
>> abort the transaction after this package is finished.
>>
>> (Aside) What I have just noticed, is we do not print any actual errors
>> during this whole section. So the transaction will stop with errors
>> occurred during extraction but give no indication what actually
>> happened. Another patch....
>>
>>>> } else if(hash_orig && hash_pkg && strcmp(hash_orig, hash_pkg) == 0) {
>>>> /* original and new files are the same, leave the local version alone,
>>>> * including any user changes */
>>
>>
>> So... with my two comments above, I think the original patch is fine.
>> I will pull that in the next few days unless there is objections to my
>> above reasoning.
>
> Are you going to pull this patch for pacman 4.1.2? Just curious
> as it is not included in the master branch yet.
>
I'll pull into master sometime after the 4.1.2 release. It will not be
part of a 4.1.x release.
Allan
More information about the pacman-dev
mailing list