NetBSD Problem Report #28812

From sjamaan@frohike.nvie.com  Thu Dec 30 01:28:01 2004
Return-Path: <sjamaan@frohike.nvie.com>
Received: from hermes.uci.kun.nl (hermes.uci.kun.nl [131.174.93.58])
	by narn.netbsd.org (Postfix) with ESMTP id 9E57563B400
	for <gnats-bugs@gnats.NetBSD.org>; Thu, 30 Dec 2004 01:27:55 +0000 (UTC)
Message-Id: <20041230012822.364616B54C@frohike.nvie.com>
Date: Thu, 30 Dec 2004 02:28:22 +0100 (CET)
From: Peter.Bex@student.kun.nl
Reply-To: Peter.Bex@student.kun.nl
To: gnats-bugs@netbsd.org
Subject: pkgsrc update does not rebuild all dependecies when interrupted
X-Send-Pr-Version: 3.95

>Number:         28812
>Category:       pkg
>Synopsis:       make update does not rebuild all dependecies when interrupted
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Dec 30 01:30:00 +0000 2004
>Last-Modified:  Tue May 24 04:35:01 +0000 2022
>Originator:     Peter Bex
>Release:        NetBSD 2.0_RC1
>Organization:
>Environment:


System: NetBSD frohike.nvie.com 2.0_RC1 NetBSD 2.0_RC1 (FROHIKE) #3: Wed Sep 29 19:34:49 CEST 2004 root@:/usr/src/sys/arch/i386/compile/FROHIKE i386
Architecture: i386
Machine: i386
>Description:
	When you run a `make update' in pkgsrc on a pkg that has a dependency
	which needs to be rebuilt, when the dependency build fails,
	the pkgs which share that dependency won't get built again when the
	dependency build is restarted.
>How-To-Repeat:
	Pick a pkg which has a dependency which needs to be updated.  Let's
	say graphics/imlib2 needs to be updated and we are calling
	`make update' on wm/enlightenment (which has imlib2 as a requirement).
	Suppose we also have eterm installed which has imlib2 as a requirement.

	1 - Run make update from wm/enlightenment.
	2 - Wait for pkgsrc to start downloading the tarball for imlib2.
	3 - pkgsrc deletes the pkgs that require imlib2.
	4 - Before (maybe even while) the imlib2 tarball is downloaded,
	     disconnect from the net.
	5 - Run `make update' again.
	6 - eterm is `forgotten', it is not reinstalled.
>Fix:
	No fix yet (I'm not very familiar with pkgsrc's inner workings)

>Audit-Trail:
From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: pkg/28812: make update does not rebuild all dependecies when
 interrupted
Date: Mon, 23 May 2022 04:00:18 +0000

 This is a fundamental infrastructure problem (inherent in the way make
 update works) and not fixed, nor easily fixed.

 The workaround is to find the package(s) where a subordinate make
 update was launched, and restart make update in each of them, the most
 recent first. You can find these packages by the existence of
 work/.DDIR or work/.DLIST files. Do *not* make clean; that will throw
 away the list of packages to rebuild.

 In general make update is not really recommended because it can tie
 itself into various knots (this being one of them);
 pkg-rolling_replace is usually a better method.

 -- 
 David A. Holland
 dholland@netbsd.org

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.