NetBSD Problem Report #53157

From gson@gson.org  Thu Apr  5 14:43:46 2018
Return-Path: <gson@gson.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id AF4AA7A17C
	for <gnats-bugs@gnats.NetBSD.org>; Thu,  5 Apr 2018 14:43:46 +0000 (UTC)
Message-Id: <20180405144340.A30C9989378@guava.gson.org>
Date: Thu,  5 Apr 2018 17:43:40 +0300 (EEST)
From: gson@gson.org (Andreas Gustafsson)
Reply-To: gson@gson.org (Andreas Gustafsson)
To: gnats-bugs@NetBSD.org
Subject: pkg_rolling-replace performs unsolicited top-level "make clean"
X-Send-Pr-Version: 3.95

>Number:         53157
>Category:       pkg
>Synopsis:       pkg_rolling-replace performs unsolicited top-level "make clean"
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gdt
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Apr 05 14:45:00 +0000 2018
>Closed-Date:    Sat May 12 12:45:47 +0000 2018
>Last-Modified:  Sat May 12 12:45:47 +0000 2018
>Originator:     Andreas Gustafsson
>Release:        NetBSD 7.1.1
>Organization:

>Environment:
System: NetBSD
Architecture: x86_64
Machine: amd64
>Description:

When I run "pkg_rolling-replace -v -u -k" on a NetBSD installation old
enough that the installed emacs package is still called "emacs24",
after the expected ususuccessful attempt to update the emacs24
package, pkg_rolling-replace does a "make clean" at the top level of
the pkgsrc tree, without being asked to do so, taking a very long time
and generating many thousands of lines of output.

guru /usr/pkgsrc $ pkg_rolling-replace -v -u -k
RR> Checking for mismatched installed packages using pkg_chk
rr> WARNING: No editors/emacs24/Makefile - package moved or obsolete?
rr> WARNING: No print/tex-misc/Makefile - package moved or obsolete?
rr> Missing: editors/emacs24 print/tex-misc
RR> Excluding the following mismatched packages:
rr> EXCLUDE=[]
RR> Checking for rebuild-requested installed packages (rebuild=YES)
RR> Checking for unsafe installed packages (unsafe_depends=YES)
RR> Packages to rebuild:
rr> MISMATCH_TODO=[]
rr> REBUILD_TODO=[]
rr> UNSAFE_TODO=[emacs24]
RR> Building dependency graph for installed packages
RR> Tsorting dependency graph
RR> Selecting emacs24 (editors/emacs24) as next package to replace
RR> Checking if emacs24 has new depends...
cd: can't cd to /usr/pkgsrc/editors/emacs24
make: don't know how to make show-depends. Stop
make: don't know how to make show-depends. Stop
RR> emacs24 has the following new depends (need to re-tsort):
rr> [make0 stopped in /usr/pkgsrc]
RR> Tsorting dependency graph
RR> Selecting emacs24 (editors/emacs24) as next package to replace
*** No package directory 'editors/emacs24' for emacs24.
RR> Replacing emacs24-24.5nb20
===> x11
===> x11/9term
===> Cleaning for 9term-1.6.3nb1
===> x11/XaoS
===> Cleaning for xaos-3.6nb1
===> x11/Xaw-Xpm
===> Cleaning for Xaw-Xpm-1.1nb4
===> x11/Xbae
===> Cleaning for Xbae-4.51.01nb3
===> x11/Xfixes
===> Cleaning for Xfixes-2.0.1nb5
===> x11/XmHTML
===> Cleaning for XmHTML-1.1.7nb14
===> x11/Xrender
===> Cleaning for Xrender-0.9.0nb3
===> x11/alacarte
===> Cleaning for alacarte-0.13.1nb38
===> x11/antiright
===> Cleaning for antiright-3.4nb30
===> x11/appmenu-qt
===> Cleaning for appmenu-qt-0.2.6nb4
===> x11/appres
===> Cleaning for appres-1.0.5
===> x11/arandr
===> Cleaning for arandr-0.1.9nb3
===> x11/asnap
===> Cleaning for asnap-1.0nb2
===> x11/aterm
===> Cleaning for aterm-1.0.0nb16
===> x11/autocutsel
===> Cleaning for autocutsel-0.10.0
===> x11/avant-window-navigator
===> Cleaning for avant-window-navigator-0.4.0nb27
===> x11/bbapm
===> Cleaning for bbapm-0.0.1nb2
===> x11/beforelight
===> Cleaning for beforelight-1.0.5
===> x11/bitmap
===> Cleaning for bitmap-1.0.8
===> x11/blt
===> Cleaning for blt-2.4znb10
===> x11/c++-gtk-utils
===> Cleaning for c++-gtk-utils-2.2.15nb1
===> x11/clipit
===> Cleaning for clipit-1.4.2nb13
===> x11/clisp-gtk2
===> Cleaning for clisp-gtk2-2.49nb24
===> x11/clisp-mit-clx
===> Cleaning for clisp-mit-clx-2.49
===> x11/clisp-new-clx
===> Cleaning for clisp-new-clx-2.49nb2
===> x11/compton
===> Cleaning for compton-20150920
===> x11/deforaos-integration
===> Cleaning for deforaos-integration-0.0.2nb9
===> x11/deforaos-keyboard
===> Cleaning for deforaos-keyboard-0.3.1nb1
===> x11/deforaos-libdesktop
===> Cleaning for deforaos-libdesktop-0.2.2nb2
===> x11/deforaos-locker
===> Cleaning for deforaos-locker-0.4.0nb5
===> x11/deforaos-notes
===> Cleaning for deforaos-notes-0.1.0nb4
===> x11/deforaos-panel
===> Cleaning for deforaos-panel-0.3.6nb5
===> x11/desklaunch
[thousands of lines omitted for brevity]

>How-To-Repeat:

>Fix:

Perhaps the following patch?

--- pkg_rolling-replace.orig	2018-04-05 17:22:51.000000000 +0300
+++ pkg_rolling-replace	2018-04-05 17:23:04.000000000 +0300
@@ -496,6 +496,7 @@
     if [ -d "$PKGSRCDIR/$pkgdir" ]; then
 	cd "$PKGSRCDIR/$pkgdir";
     else
+        fail=1
         mark_as_failed $pkg
 	error "No package directory '$pkgdir' for $pkg."
     fi

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->ngoffee@bbn.com
Responsible-Changed-By: gson@NetBSD.org
Responsible-Changed-When: Thu, 05 Apr 2018 14:50:30 +0000
Responsible-Changed-Why:
Over to maintainer


Responsible-Changed-From-To: ngoffee@bbn.com->pkg-manager
Responsible-Changed-By: gson@NetBSD.org
Responsible-Changed-When: Fri, 06 Apr 2018 06:35:18 +0000
Responsible-Changed-Why:
The Responsible field needs to be a local address


Responsible-Changed-From-To: pkg-manager->gdt
Responsible-Changed-By: gdt@NetBSD.org
Responsible-Changed-When: Sat, 05 May 2018 13:34:42 +0000
Responsible-Changed-Why:
pkg_rr is my fault


State-Changed-From-To: open->feedback
State-Changed-By: gdt@NetBSD.org
State-Changed-When: Sun, 06 May 2018 18:06:59 +0000
State-Changed-Why:
patch applied


From: "Greg Troxel" <gdt@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/53157 CVS commit: pkgsrc/pkgtools/pkg_rolling-replace
Date: Sun, 6 May 2018 18:06:18 +0000

 Module Name:	pkgsrc
 Committed By:	gdt
 Date:		Sun May  6 18:06:18 UTC 2018

 Modified Files:
 	pkgsrc/pkgtools/pkg_rolling-replace: Makefile
 	pkgsrc/pkgtools/pkg_rolling-replace/files: pkg_rolling-replace.sh

 Log Message:
 pkg_rolling-replace: avoid top-level make clean

 In some cases, if an installed package's source directory did not
 exist, pkg_rr could invoke "make clean" at top-level of pkgsrc.  Bug
 report and fix by Andreas Gustafsson in PR pkg/53157.


 To generate a diff of this commit:
 cvs rdiff -u -r1.40 -r1.41 pkgsrc/pkgtools/pkg_rolling-replace/Makefile
 cvs rdiff -u -r1.35 -r1.36 \
     pkgsrc/pkgtools/pkg_rolling-replace/files/pkg_rolling-replace.sh

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: feedback->closed
State-Changed-By: gson@NetBSD.org
State-Changed-When: Sat, 12 May 2018 12:45:47 +0000
State-Changed-Why:
Fixed, thanks!


>Unformatted:

 The fix looks reasonable; I will test it and either commit it or
 follow up.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.