Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jan 2022 16:22:25 +0100
From:      Rosenke <rosenke@dssgmbh.de>
To:        Baptiste Daroussin <bapt@FreeBSD.org>
Cc:        ports@freebsd.org, manu@freebsd.org
Subject:   Re: pkgbase checksums
Message-ID:  <399b948e-7ff8-d905-3b17-888fe8411cbd@dssgmbh.de>
In-Reply-To: <20220117152044.5njhh72fw7hm4tae@aniel.nours.eu>
References:  <a0cc9488-ec23-3ae7-7e0c-f31d0b8e666f@dssgmbh.de> <5fc8453b-1aab-bce9-59e9-1ee36161a580@FreeBSD.org> <20220113125730.zh4zmxj5d4473nmr@aniel.nours.eu> <c84cc214-91c1-3c83-226b-df0cabf8f169@dssgmbh.de> <5e0f8e42-0162-74d8-5fc7-1c2b62afd7dc@dssgmbh.de> <20220117152044.5njhh72fw7hm4tae@aniel.nours.eu>

next in thread | previous in thread | raw e-mail | index | archive | help

On 17.01.22 16:20, Baptiste Daroussin wrote:
> On Mon, Jan 17, 2022 at 04:17:46PM +0100, Rosenke wrote:
>> On 17.01.22 16:12, Rosenke wrote:
>>> On 13.01.22 13:57, Baptiste Daroussin wrote:
>>>> On Thu, Jan 13, 2022 at 11:33:55AM +0100, Stefan Esser wrote:
>>>>> Am 13.01.22 um 10:36 schrieb Henrik Rosenke:
>>>>>> Hello,
>>>>>>
>>>>>> what is the correct way to handle pkg checksum mismatches in
>>>>>> pkgbase? (pkg
>>>>>> check -sa)
>>>>>> For example after installing bash or editing /etc/hosts
>>>>>> there are checksum
>>>>>> mismatches:
>>>>>>
>>>>>>       FreeBSD-clibs-12.2.s20220105232846: checksum mismatch
>>>>>> for /etc/hosts
>>>>>>       FreeBSD-clibs-12.2.s20220105232846: checksum mismatch
>>>>>> for /etc/shells
>>>>>>
>>>>>> I workaround this after setting up the jail by executing pkg
>>>>>> check -r but this
>>>>>> doesnt seem right to me. Also this doesnt handle
>>>>>> modifications made afterwards.
>>>>>> In normal pkgs we got the ability to provide a default and
>>>>>> modify this, for
>>>>>> this files no checksums are stored from what i know.
>>>>> I'm not a pkgbase user, but I'd think that this could be fixed
>>>>> by using @sample to have e.g. /etc/hosts.sample with a checksum,
>>>>> which is copied to /etc/hosts if that file does not exist during
>>>>> installation.
>>>>>
>>>>> This logic works great for ports, but had the disadvantage of
>>>>> doubling the number of files in /etc that are installed that way,
>>>>> since the .sample file will have to stay as part of the installed
>>>>> pkgbase package and may occasionally be updated.
>>>>>
>>>>> That would also allow a special version of etcupdate to detect
>>>>> changed .sample files and to perform a 3-way merge on the installed
>>>>> files as is possible when building from source.
>>>>>
>>>>> Regards, STefan
>>>> We have @config for base were pkg will do a 3 way merge, just those
>>>> files are
>>>> probably not marked as @config and should.
>>>>
>>>> (@config is native while @sample is external and define only in the
>>>> ports tree)
>>>>
>>>> if they are marked as such, then it means we have a bug in pkg
>>>> checksum as it
>>>> should not check the checksum of the files marked @config
>>>>
>>>> Best regards,
>>>> Bapt
>>> I tried it again with pkg 1.17.5 and FreeBSD 12.3 packages but got the
>>> same Error. The @config section is included in the packages:
>>> pkg info -R FreeBSD-clibs
>>> config: [
>>>      "/etc/nsswitch.conf",
>>>      "/etc/libmap.conf",
>>>      "/etc/hosts",
>>>      "/etc/protocols",
>>>      "/etc/netconfig",
>>>      "/etc/hosts.equiv",
>>>      "/etc/rpc",
>>>      "/etc/mac.conf",
>>>      "/etc/shells",
>>>      "/etc/networks"
>>> ]
>>>
>>> In total these are now 9 cheksum mismatches in the pkgbase jail:
>>> === root@dsssrvt4j1 (pts/2) ~ 19(3) -> pkg check -sa
>>> Checking all packages:   1%
>>> FreeBSD-clibs-12.2.s20220114103031: checksum mismatch for /etc/hosts
>>> FreeBSD-clibs-12.2.s20220114103031: checksum mismatch for /etc/shells
>>> Checking all packages:  78%
>>> FreeBSD-runtime-12.2.s20220114103031: checksum mismatch for /.profile
>>> FreeBSD-runtime-12.2.s20220114103031: checksum mismatch for
>>> /etc/locate.rc
>>> FreeBSD-runtime-12.2.s20220114103031: checksum mismatch for
>>> /etc/login.conf
>>> FreeBSD-runtime-12.2.s20220114103031: checksum mismatch for
>>> /etc/sysctl.conf
>>> FreeBSD-runtime-12.2.s20220114103031: checksum mismatch for
>>> /etc/syslog.conf
>>> FreeBSD-runtime-12.2.s20220114103031: checksum mismatch for /etc/ttys
>>> FreeBSD-runtime-12.2.s20220114103031: checksum mismatch for
>>> /root/.profile
>>> Checking all packages: 100%
>>>
>> Whoops,  copied the wrong output:
>> === root@dsssrvt4j1 (pts/1) ~ 1(3) -> pkg check -sa
>> Checking all packages:   1%
>> FreeBSD-clibs-12.3.s20220117084939: checksum mismatch for /etc/hosts
>> FreeBSD-clibs-12.3.s20220117084939: checksum mismatch for /etc/shells
>> Checking all packages:  78%
>> FreeBSD-runtime-12.3.s20220117084939: checksum mismatch for /etc/locate.rc
>> FreeBSD-runtime-12.3.s20220117084939: checksum mismatch for /etc/login.conf
>> FreeBSD-runtime-12.3.s20220117084939: checksum mismatch for /etc/motd
>> FreeBSD-runtime-12.3.s20220117084939: checksum mismatch for /etc/sysctl.conf
>> FreeBSD-runtime-12.3.s20220117084939: checksum mismatch for /etc/syslog.conf
>> FreeBSD-runtime-12.3.s20220117084939: checksum mismatch for /etc/ttys
>> Checking all packages: 100%
>>
> Here we are ;), the bug is on my side then :D, we pkg devs (I said we because
> maybe manu will be faster than me on this) will dive in the code and fix.
>
> Best regards
> Bapt
Thank you very much. The concept of pkgbase is great, loving it on jails 
with zfs so far.

-- 
Mit freundlichen Grüßen
Henrik Rosenke / Operating

Data-Service GmbH
Beethovenstr. 2a
23617 Stockelsdorf
Tel. +49 451/49001-34       Fax. +49 451/49001-26
Email:rosenke@dssgmbh.de  /www.dssgmbh.de

Amtsgericht Lübeck, HRB 318 BS
Geschäftsführer: Wilfried Paepcke, Dr. Andreas Longwitz,
                  Dr. Hans-Martin Rasch, Dr. Uwe Szyszka




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?399b948e-7ff8-d905-3b17-888fe8411cbd>