From owner-freebsd-bugs@FreeBSD.ORG Fri Sep 19 20:40:12 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E42C416A4B3 for ; Fri, 19 Sep 2003 20:40:11 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id CFD9E43FF9 for ; Fri, 19 Sep 2003 20:40:09 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h8K3e9FY062513 for ; Fri, 19 Sep 2003 20:40:09 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h8K3e9c2062512; Fri, 19 Sep 2003 20:40:09 -0700 (PDT) (envelope-from gnats) Resent-Date: Fri, 19 Sep 2003 20:40:09 -0700 (PDT) Resent-Message-Id: <200309200340.h8K3e9c2062512@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Oliver Eikemeier Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AB3BD16A4B3 for ; Fri, 19 Sep 2003 20:36:27 -0700 (PDT) Received: from mx2.fillmore-labs.com (lima.fillmore-labs.com [62.138.193.83]) by mx1.FreeBSD.org (Postfix) with ESMTP id B315843FAF for ; Fri, 19 Sep 2003 20:36:26 -0700 (PDT) (envelope-from eikemeier@fillmore-labs.com) Received: from pd951a746.dip.t-dialin.net ([217.81.167.70] helo=fillmore-labs.com ident=cpor3v3k2f2x3qrs) by mx2.fillmore-labs.com with asmtp (TLSv1:AES256-SHA:256) (Exim 4.23; FreeBSD 4.9) id 1A0YXp-000PVX-FQ for FreeBSD-gnats-submit@FreeBSD.org; Sat, 20 Sep 2003 05:36:25 +0200 Message-Id: <3F6BCB37.4050107@fillmore-labs.com> Date: Sat, 20 Sep 2003 05:36:23 +0200 From: Oliver Eikemeier To: FreeBSD-gnats-submit@FreeBSD.org Subject: bin/57029: [PATCH] pkg_install: make more robust against corrupted package database X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Sep 2003 03:40:12 -0000 >Number: 57029 >Category: bin >Synopsis: [PATCH] pkg_install: make more robust against corrupted package database >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Sep 19 20:40:09 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Oliver Eikemeier >Release: FreeBSD 5.1-CURRENT i386 >Organization: Fillmore Labs - http://www.fillmore-labs.com >Environment: System: FreeBSD nuuk.fillmore-labs.com 5.1-CURRENT >Description: If the package info files in /var/db/pkg/ become corrupted, pkg_info and pkg_version react with various unhelpful error messages, see also PR 57016 >How-To-Repeat: # mkdir /var/db/pkg/corrupt_pkg_1.0 # touch /var/db/pkg/corrupt_pkg_1.0/+REQUIREMENTS # pkg_version -v pkg_version: unable to open +CONTENTS file # cd /usr/ports/sysutils/pkg_install; make install [...] ===> Installing for pkg_install-20030714_1 ===> Generating temporary packing list ===> Checking if sysutils/pkg_install already installed *** Error code 1 Stop in /usr/ports/sysutils/pkg_install. # pkg_delete -f corrupt_pkg_1.0 pkg_delete: no such package 'corrupt_pkg_1.0' installed >Fix: A patch is available on ftp://ftp.fillmore-labs.com/pub/FreeBSD/patches/patch-pkg_install-20030917_3.gz MD5 (patch-pkg_install-20030917_3.gz) = 29ce1c8dd938fba5b3f68d8f2def5551 It fixes pkg_info, pkg_delete and gives more helpful messages for pkg_version: # pkg_version -v pkg_version: the package info for package 'corrupt_pkg_1.0' is corrupt # cd /usr/ports/sysutils/pkg_install; make install [...] ===> Installing for pkg_install-20030714_1 ===> Generating temporary packing list ===> Checking if sysutils/pkg_install already installed [...] ===> Registering installation for pkg_install-20030714_1 # pkg_delete corrupt_pkg_1.0 pkg_delete: the package info for package 'corrupt_pkg_1.0' is corrupt (use -f to force removal) # pkg_delete -f corrupt_pkg_1.0 pkg_delete: the package info for package 'corrupt_pkg_1.0' is corrupt (but I'll delete it anyway) pkg_delete: couldn't completely deinstall package 'corrupt_pkg_1.0', only the log entry in /var/db/pkg/corrupt_pkg_1.0 was removed This patch build on the patches in PR 56961 and PR 56989, which fix additional bugs described there. >Release-Note: >Audit-Trail: >Unformatted: