[Bug 273660] portmaster with -P or --packages option stops after installation of each and every port

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 09 Sep 2023 15:34:11 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273660

            Bug ID: 273660
           Summary: portmaster with -P or --packages option stops after
                    installation of each and every port
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: dvoich@aim.com

When using the -P or --package option to portmaster, portmaster stops after the
installation of each port. Entering a CR makes it continue.

This happens because $DI_FILES is the empty string at this point so "head"
expects input from stdin.

I made the following change locally which fixed the issue to my satisfaction.

diff -u /usr/local/sbin/portmaster pmaster/portmaster
--- /usr/local/sbin/portmaster  2023-05-31 15:30:07.762985000 -0400
+++ pmaster/portmaster  2023-09-09 11:14:36.062073000 -0400
@@ -1223,7 +1223,7 @@

 di_file_complete=
 pm_wait_di_file_complete () {
-       if [ -z "$di_file_complete" ] && [ `head -1 $DI_FILES` = '############'
]; then
+       if [ -z "$di_file_complete" ] && [ -n "$DI_FILES" ] && [ `head -1
$DI_FILES` = '############' ]; then
                echo "===>>> Waiting for background read of distinfo files to
finish"
                while [ `head -1 $DI_FILES` = '############' ]; do
                        sleep 1

uname -a
FreeBSD happy 13.2-RELEASE-p3 FreeBSD 13.2-RELEASE-p3 GENERIC amd64

pkg info portmaster
portmaster-3.26

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