[Bug 259785] pkgbase installation order is underspecified

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 11 Nov 2021 20:54:30 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259785

            Bug ID: 259785
           Summary: pkgbase installation order is underspecified
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: markj@FreeBSD.org

I did a pkg upgrade on a pkgbase-enabled laptop and got the following, though
the upgrade completed successfully:

[1/364] Upgrading glib from 2.70.0_1,2 to 2.70.1,2...                           
[1/364] Extracting glib-2.70.1,2: 100%                                          
[2/364] Deinstalling FreeBSD-utilities-14.snap20211022204826...                 
[2/364] Deleting files for FreeBSD-utilities-14.snap20211022204826: 100%        
[3/364] Upgrading harfbuzz from 3.0.0 to 3.1.0...                               
[3/364] Extracting harfbuzz-3.1.0: 100%                                         
/bin/sh: /usr/sbin/service: not found                                           
pkg: POST-INSTALL script failed                                                 
[4/364] Upgrading sqlite3 from 3.35.5_3,1 to 3.35.5_4,1...                      
[4/364] Extracting sqlite3-3.35.5_4,1: 100%                                     
/bin/sh: /usr/sbin/service: not found                                           
pkg: POST-INSTALL script failed                                                 
[5/364] Upgrading FreeBSD-runtime from 14.snap20211022204826 to
14.snap20211102230608...
[5/364] Extracting FreeBSD-runtime-14.snap20211102230608: 100%
[6/364] Upgrading libva from 2.13.0 to 2.13.0_1...
[6/364] Extracting libva-2.13.0_1: 100%
/bin/sh: /usr/sbin/service: not found
[7/364] Upgrading icu from 69.1,1 to 70.1_1,1...
[7/364] Extracting icu-70.1_1,1: 100%                                          
/bin/sh: /usr/sbin/service: not found                                          
pkg: POST-INSTALL script failed                                                
[7/364] Installing FreeBSD-utilities-14.snap20211102230608...
[7/364] Extracting FreeBSD-utilities-14.snap20211102230608: 100%

So there's a window where FreeBSD-utilities (which contains /usr/sbin/service)
is uninstalled, and that causes random script failures.  pkg should be
configured somehow to avoid creating such windows.

It looks like we split the upgrade job into two because of this conflict:

Checking integrity... done (1 conflicting)                                      
  - FreeBSD-runtime-14.snap20211102230608 [FreeBSD-base] conflicts with
FreeBSD-utilities-14.snap20211022204826 [installed] on
/usr/share/man/man8/sconfig.8.gz

A little while ago I fixed pkg to ensure that upgrade-deletion jobs are
processed before upgrade-installation jobs, but I guess we need to go further
and try to minimize the window where such a package is uninstalled.

-- 
You are receiving this mail because:
You are the assignee for the bug.