Am 15.10.2015 um 20:17 schrieb kp kirchdoerfer:
> Hi Erich;
> 
> Am Donnerstag, 15. Oktober 2015, 19:16:19 schrieb Erich Titl:
>> Hi KP
>>
>> Am 15.10.2015 um 18:41 schrieb kp kirchdoerfer:
>>> Hi Erich;
>>
>> ..
>>
>>> No; we only need the new package with the AC1 and the AC', which is in
>>> configdb.lrp.
>>> If you call apkg -u it will detect the changed file and it will offer you
>>> to either Keep your version, Show differences, Edit a merge file or to go
>>> with the new version.
>>
>> How can you merge if you don't have a difference
> 
>>> I've checked that it even works, if you replace the original package with
>>> the new version on /mnt.
>>
>> Yes, that works and it corresponds to
>>
>> - AC, AC1 and AC' are available, because
>> from AC and AC' we can calculate D and apply it to AC1
> 
> In my tests D was calculated from AC1 and AC'.
> Have you tested or did I something wrong when testing?

Yes, but this is not the changes the user made between AC and AC'
The changes between AC1 and AC' are not D.

> 
>> In my previous mail there was a typo in the condition above
>>
>>> Pls test.
>>>
>>> So what upgrade can do is to copy the package to /mnt and run apkg -u
>>> afterwards from /mnt. If there are changes, the user can decide how to
>>> proceed.
>>
>> This was the first test I did and I did not like it. It is noisy like
>> hell. 
> 
> I'm running apkg -u very often and find it very convenient :)

Most of the time it is and often AC == AC1, but that is not a safe
assumption, as could be seen in the ez-ipupd case. Applying apkg -u to
ez-ipupd.lrp would have led to something different.

The correct sequence is to first calculate D and apply it to AC1. I am
about to test this in upgrade. The only problem I see is the existence
of local.lrp, which may contain just about anything,

> 
>> And most importantly (at least to me) is _the user should not need
>> to intervene_. This is because the average user has either forgotten the
>> changes or applied them using a web interface of some sort.
>>
>> For example, if you use webconf to configure /etc/network/interfaces
>> then the generated file will look a lot different from the one included
>> in the distribution. The user may never have seen the original, how
>> could he make an intelligent choice?
> 
> In that case webconf has to be fixed IMHO.

Webconf creates a very clean interface file. This is normal because it
is machine generated and machines tend to do repetitive tasks better
than hman beings. The original interface file is is a pretty crufty hand
maintained file. If anything, then the initial interface file needs to
be cleaned. But I don't believe this is necessary, as it is possible to
correctly calculate the difference D.

> 
>> Blindly just use the old configuration has it's problems, as seen
>> before, even calculating the difference and applying it to the new
>> config file may be error prone, but probably a lot safer than human
>> intervention.
>>
>>> There has been introduced a safety feature, that every upgrade needs a
>>> response (y/n) , even it doesn't touch any config etc..., but if changes
>>> in the config are detected, you'll be  offered with the menu to deal with
>>> the changes.
>> I messed around with apkg -u and looked at the implementation of
>> apkg.merge and apkg.mergefile. These two scripts do nothing more than
>> what 'diff -r' and 'patch' would do, probably just a lot slower.
>>
>> I would like to enable these two applets in busybox and I have done so
>> in my local branch. Tests are encouraging. It could make the scripts a
>> lot easier and more consistent than an implementation in bash. Any
>> objections to enhance busybox?
> 
> Ok; this is an IMHO a somewhat different/additional  issue.

I believe those are the tools for a solution.

> You may either merge maint into next or pu (proposed updates) and add your 
> changes there so we can test.
> Or you make a new (remote) branch with your changes so we can test.

Sounds reasonable, I branched of 5.2 but can easily rebase it to maint.

cheers

ET



------------------------------------------------------------------------------

_______________________________________________
leaf-devel mailing list
leaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to