From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 176C21396D0 for ; Wed, 30 Aug 2017 09:25:42 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 794EEE0D75; Wed, 30 Aug 2017 09:25:36 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2F688E0D49 for ; Wed, 30 Aug 2017 09:25:36 +0000 (UTC) Received: from pomiot (d202-252.icpnet.pl [109.173.202.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 9B96833BEC7; Wed, 30 Aug 2017 09:25:34 +0000 (UTC) Message-ID: <1504085131.22591.6.camel@gentoo.org> Subject: Re: [gentoo-dev] Of death and prerm From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Date: Wed, 30 Aug 2017 11:25:31 +0200 In-Reply-To: <09043e39-bcec-f73b-683e-17de59b8e5d5@gentoo.org> References: <09043e39-bcec-f73b-683e-17de59b8e5d5@gentoo.org> Organization: Gentoo Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.24.5 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Archives-Salt: 4c5bf7df-54d6-40c4-bd26-02c35410e3e9 X-Archives-Hash: 9e4583eeaaf647a12530dbbaf6a92c68 W dniu wto, 29.08.2017 o godzinie 16∶38 -0400, użytkownik Michael Orlitzky napisał: > What should happen if an ebuild calls "die" in pkg_prerm? Horrible things, I suppose. If something started uninstalling, and failed during uninstall the system integrity is compromised and user needs to perform manual recovery. > The issue arose while trying to create a package that could not be > uninstalled except as part of an upgrade. The first thing that came to > mind was to have it die in pkg_prerm. This package does not belong in Gentoo. We do packaging, not some ugly malware that prevents users from uninstalling itself. Every package must be uninstallable. Even if it destroys my system, developers have no right to prevent valid uninstall action from proceeding. > What portage does is *appear* to crash, but then continue along as if > nothing happened. That's probably because it wants to prevent the user from being unable to uninstall the package, e.g. if prerm partially succeeded which means every successive invocation would fail due to some prerm actions being done already. > Does the PMS cover this indirectly? (Is there a reliable way to make > package removal fail?) No. PMS never covered shooting yourself in the foot, it's not meant to be fool-proof and we don't have the resources to cover every possible bad idea Gentoo developers might come up with. Or the ability to predict their insanity. -- Best regards, Michał Górny