NetBSD Problem Report #48620

From wiz@yt.nih.at  Wed Feb 26 15:34:55 2014
Return-Path: <wiz@yt.nih.at>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 74133A583C
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 26 Feb 2014 15:34:55 +0000 (UTC)
Message-Id: <20140226153324.9C43C2AC0D1@yt.nih.at>
Date: Wed, 26 Feb 2014 16:33:24 +0100 (CET)
From: Thomas Klausner <wiz@NetBSD.org>
Reply-To: Thomas Klausner <wiz@NetBSD.org>
To: gnats-bugs@NetBSD.org
Subject: pkgin loses dependency information in pkg_install database
X-Send-Pr-Version: 3.95

>Number:         48620
>Category:       pkg
>Synopsis:       pkgin loses dependency information in pkg_install database
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    imil
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 26 15:35:00 +0000 2014
>Last-Modified:  Wed Feb 26 15:39:48 +0000 2014
>Originator:     Thomas Klausner
>Release:        NetBSD 6.99.32
>Organization:
Curiosity is the very basis of education and if you tell me that 
curiosity killed the cat, I say only that the cat died nobly.
- Arnold Edinborough
>Environment:


Architecture: x86_64
Machine: amd64
>Description:
When using 'pkgin fug' to update packages, they lose the information by what packages
they are needed, while the packages needing them still know about this.
This causes problems later-on. For example, when you do pkg_delete -r, not all
depending packages are removed.
>How-To-Repeat:
Upgrade a package that is used by another one.
Example, after upgrading isl with 'pkgin fug':

# pkg_info isl
Information for isl-0.12.2:

Comment:
Integer set library required by gcc graphite

Requires:
gmp>=5.0.1

Description:
isl is a library for manipulating sets and relations of integer
points bounded by linear constraints. Supported operations on sets
include intersection, union, set difference, emptiness check, convex
hull, (integer) affine hull, integer projection, and computing the
lexicographic minimum using parametric integer programming. It also
includes an ILP solver based on generalized basis reduction.

Homepage:
http://isl.gforge.inria.fr/

# pkg_info gcc48
Information for gcc48-4.8.2nb1:

Comment:
The GNU Compiler Collection (GCC) - 4.8 Release Series

Requires:
gmp>=5.0.1
mpcomplex>=0.8.2
mpfr>=3.0.0.3
cloog>=0.18.0nb1
isl>=0.11.1

Required by:
icc11-11.1.080nb2

Description:
The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C,
Fortran, Java, and Go, as well as libraries for these languages (libstdc++,
libgcj,...). This package provides the snapshot relases of version 4.8.
See http://gcc.gnu.org/gcc-4.8/changes.html for changes relative to 4.7.x.

Homepage:
http://gcc.gnu.org/

So isl doesn't know that gcc48 needs it, but gcc48 still remembers.

>Fix:
Do what 'make replace' does.
Move the file with the dependency information aside and restore it after
updating the package.


For bonus points: mark the depending packages with unsafe_depends, like
pkg_rr does.

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->imil
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Wed, 26 Feb 2014 15:39:48 +0000
Responsible-Changed-Why:
Please fix this!


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.