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>