From: Jon Turney <jon.turney@dronecode.org.uk>
To: cygwin-apps@cygwin.com
Cc: Jon Turney <jon.turney@dronecode.org.uk>
Subject: [PATCH setup 10/11] Don't show source-only packages in package list
Date: Fri, 28 Apr 2017 12:13:00 -0000 [thread overview]
Message-ID: <20170428121205.12240-11-jon.turney@dronecode.org.uk> (raw)
In-Reply-To: <20170428121205.12240-1-jon.turney@dronecode.org.uk>
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<packageversion>::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
next prev parent reply other threads:[~2017-04-28 12:13 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-28 12:12 [PATCH setup 00/11] Various setup patches Jon Turney
2017-04-28 12:12 ` [PATCH setup 02/11] Remove unused package_status_t stored in packageversion class Jon Turney
2017-04-28 12:12 ` [PATCH setup 01/11] Remove pointless abstract base class IniDBBuilder Jon Turney
2017-04-28 12:13 ` [PATCH setup 05/11] Use const version of packageversion::depends() in PrereqChecker Jon Turney
2017-04-28 12:13 ` Jon Turney [this message]
2017-05-01 14:45 ` [PATCH setup 10/11] Don't show source-only packages in package list Yaakov Selkowitz
2017-05-01 19:35 ` Jon Turney
2017-04-28 12:13 ` [PATCH setup 11/11] Use wininet for fetching URLs in direct (non-proxy) case (DO NOT APPLY) Jon Turney
2017-04-28 15:33 ` Åke Rehnman
2017-04-29 10:53 ` Jon Turney
2017-05-01 12:58 ` Jon Turney
2017-05-01 15:31 ` Åke Rehnman
2017-05-01 20:45 ` Jon Turney
2017-05-02 7:28 ` Åke Rehnman
2017-05-02 11:05 ` Jon Turney
2017-05-02 19:29 ` Åke Rehnman
2017-05-03 16:37 ` Jon Turney
[not found] ` <60ed2d4e-7c89-a9b8-e3ab-e3d0819b7e56@gmail.com>
2017-05-04 10:11 ` Jon Turney
2017-05-16 14:00 ` Jon Turney
[not found] ` <e402101c-8e7d-98ed-b39a-c82100d6d59f@gmail.com>
2017-05-17 10:55 ` Jon Turney
2017-05-03 7:22 ` Brian Inglis
2017-05-03 16:37 ` Jon Turney
2017-04-28 12:13 ` [PATCH setup 06/11] packageversion::sourcePackageSpecification() is const Jon Turney
2017-04-28 12:13 ` [PATCH setup 08/11] Don't do unneeded work when changing stability level Jon Turney
2017-04-28 12:13 ` [PATCH setup 04/11] Make packageversion::source(|s) const Jon Turney
2017-04-28 12:13 ` [PATCH setup 09/11] Make building with DEBUG less useless Jon Turney
2017-04-28 12:13 ` [PATCH setup 03/11] Remove cygpackage::destroy() because it does nothing Jon Turney
2017-04-28 12:13 ` [PATCH setup 07/11] Don't handle missing 'version:' Jon Turney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170428121205.12240-11-jon.turney@dronecode.org.uk \
--to=jon.turney@dronecode.org.uk \
--cc=cygwin-apps@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).