[pacman-dev] [PATCH] pacman: don't nuke local repos with -Sc

Allan McRae allan at archlinux.org
Thu Jun 24 11:51:21 UTC 2021


On 24/6/21 9:33 pm, Morgan Adamiec wrote:
> 
> 
> On 24/06/2021 09:25, Allan McRae wrote:
>> On 24/6/21 6:19 pm, Morgan Adamiec wrote:
>>>
>>>
>>> On 24/06/2021 06:38, Allan McRae wrote:
>>>> On 15/6/21 5:11 am, morganamilo wrote:
>>>>> When using a local repo as a cachedir  pacman -Scc or pacman -Sc
>>>>> without KeepCurrent will delete the repo database and packages
>>>>> resulting in a lost database and non functional pacman.
>>>>>
>>>>> So special case file:/// repos in cache to not get nuked and foce
>>>>> KeepCurrent on.
>>>>> ---
>>>>
>>>> This behaviour change is undocumented.
>>>>
>>>> I don't think we should do this for -Scc.  That is explicitly asking all
>>>> package files in cache directories to be removed, so that is what you get.
>>>>
>>>> I also am leaning towards this behaviour for -Sc being unexpected (even
>>>> if documented).  Pacman's job is really not to manage complex cache
>>>> set-ups and I'm not convinced this should be supported.
>>>>
>>>> Allan
>>>>
>>>
>>>
>>> I want this to go ahead, especially with -Scc. Otherwise -Scc can end up
>>> losing you your .db file, breaking pacman, the local repo's .db and all
>>> the build packages.
>>>
>>> This use case is not complex in my opinion. It's just adding one line to
>>> your pacman.conf to stop every single package being duplicated.
>>>
>>> If you're still against this do you have any alternative solutions in
>>> mind to handle this?
>>>
>>
>> Not using -Scc.   Why would you use that and expect it not to delete
>> packages?
>>
>> A
>>
> 
> Because I want everything deleted in the main /var/cache/pacman/pkg dir.
> 

Pacman asks what to do for each cache directory and you could say yes to
removing files from /var/cache/pacman/pkg/ and no for other cache
directories.   So that already achieves what you are doing without
adding a special case to the codebase.

Pacman's job is not to be a specialised cache cleaning utility.  Hence
why the suggestion of adding the ability to select how many versions of
each package is kept was implemented in paccache.

Allan


More information about the pacman-dev mailing list