From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18767 invoked by alias); 28 Apr 2017 12:13:30 -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 18728 invoked by uid 89); 28 Apr 2017 12:13:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy=Hx-languages-length:1690, Full X-HELO: rgout01.bt.lon5.cpcloud.co.uk Received: from rgout0105.bt.lon5.cpcloud.co.uk (HELO rgout01.bt.lon5.cpcloud.co.uk) (65.20.0.125) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 28 Apr 2017 12:13:28 +0000 X-OWM-Source-IP: 31.51.207.210 (GB) X-OWM-Env-Sender: jonturney@btinternet.com X-Junkmail-Premium-Raw: score=8/50,refid=2.7.2:2017.4.26.2416:17:8.707,ip=,rules=NO_URI_FOUND, NO_CTA_URI_FOUND, NO_MESSAGE_ID, NO_URI_HTTPS, TO_MALFORMED Received: from localhost.localdomain (31.51.207.210) by rgout01.bt.lon5.cpcloud.co.uk (9.0.019.13-1) (authenticated as jonturney@btinternet.com) id 58F62BE3012F57E1; Fri, 28 Apr 2017 13:13:28 +0100 From: Jon Turney To: cygwin-apps@cygwin.com Cc: Jon Turney Subject: [PATCH setup 10/11] Don't show source-only packages in package list Date: Fri, 28 Apr 2017 12:13:00 -0000 Message-Id: <20170428121205.12240-11-jon.turney@dronecode.org.uk> In-Reply-To: <20170428121205.12240-1-jon.turney@dronecode.org.uk> References: <20170428121205.12240-1-jon.turney@dronecode.org.uk> X-SW-Source: 2017-04/txt/msg00096.txt.bz2 external-source: packages which have no binary package will be marked skip: and so won't show up in setup.ini at all. If we change to using the Source: line to identify a source package, which is (by definition) source only, these will appear in setup.ini, but without any install: lines, so we need to explcitly avoid showing them in the package list. Future work: perhaps add another view to show just source packages? --- PickView.cc | 3 +++ package_meta.cc | 12 ++++++++++++ package_meta.h | 2 ++ 3 files changed, 17 insertions(+) diff --git a/PickView.cc b/PickView.cc index 1ba55e8..b3b1c1a 100644 --- a/PickView.cc +++ b/PickView.cc @@ -165,6 +165,9 @@ PickView::setViewMode (views mode) { packagemeta & pkg = *(i->second); + if (!pkg.isBinary()) + continue; + if ( // "Full" : everything (view_mode == PickView::views::PackageFull) diff --git a/package_meta.cc b/package_meta.cc index 0f97f1d..24ed17e 100644 --- a/package_meta.cc +++ b/package_meta.cc @@ -537,6 +537,18 @@ packagemeta::sourceAccessible () const if (bin.sourcePackage().accessible()) return true; } + + return false; +} + +bool +packagemeta::isBinary () const +{ + for (set::iterator i=versions.begin(); + i != versions.end(); ++i) + if ((i->Type() == package_binary) && i->accessible()) + return true; + return false; } diff --git a/package_meta.h b/package_meta.h index 9bf8336..5f7842c 100644 --- a/package_meta.h +++ b/package_meta.h @@ -142,6 +142,8 @@ public: bool accessible () const; bool sourceAccessible() const; + bool isBinary() const; + void logSelectionStatus() const; void logAllVersions() const; -- 2.12.2