From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2032 invoked by alias); 26 Mar 2018 17:55:22 -0000 Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com Received: (qmail 2014 invoked by uid 89); 26 Mar 2018 17:55:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=H*MI:edu, unattended, H*r:may, H*r:forged X-HELO: limerock04.mail.cornell.edu Received: from limerock04.mail.cornell.edu (HELO limerock04.mail.cornell.edu) (128.84.13.244) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 26 Mar 2018 17:55:21 +0000 X-CornellRouted: This message has been Routed already. Received: from authusersmtp.mail.cornell.edu (granite3.serverfarm.cornell.edu [10.16.197.8]) by limerock04.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id w2QHtIJf015136 for ; Mon, 26 Mar 2018 13:55:19 -0400 Received: from [192.168.0.4] (mta-68-175-129-7.twcny.rr.com [68.175.129.7] (may be forged)) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id w2QHtHaw013488 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Mon, 26 Mar 2018 13:55:18 -0400 To: cygwin-apps From: Ken Brown Subject: setup: uninstalling an orphaned package Message-ID: Date: Mon, 26 Mar 2018 17:55:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Cornell-Gauge: Gauge=XXXXX X-PMX-CORNELL-AUTH-RESULTS: dkim-out=none; X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00050.txt.bz2 In ChooserPage::applyCommandLinePackageSelection() we have the following code: bool wanted = pkg.isManuallyWanted(); bool deleted = pkg.isManuallyDeleted(); bool basemisc = (pkg.categories.find ("Base") != pkg.categories.end () || pkg.categories.find ("Orphaned") != pkg.categories.end ()); [...] bool reinstall = (wanted || basemisc) && deleted; One strange consequence of this is that if the user tries to uninstall an orphaned package on the command line, then setup will instead try to reinstall it. This behavior was introduced in the following commit: commit a667a8b289ccb6e70ec6bf4c70cceeca4d3fb5d3 Author: Corinna Vinschen Date: Thu Jul 25 12:03:49 2013 +0000 [...] Uninstalled packages in categories "Base" or "Misc" are always selected for installation; installed packages in these categories are not eligible for deletion and will be reinstalled or upgraded instead. [...] I can't understand the rationale for this. Did "Misc" (which has since been renamed to "Orphaned") used to have a different meaning? I found it very surprising when I tried to uninstall a bunch of packages in unattended mode, and setup failed with download errors because it tried to reinstall orphaned packages. Ken