From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 47678 invoked by alias); 6 Jun 2018 20:42:55 -0000 Mailing-List: contact cygwin-apps-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-apps-cvs-owner@sourceware.org Received: (qmail 47492 invoked by uid 9795); 6 Jun 2018 20:42:53 -0000 Date: Wed, 06 Jun 2018 20:42:00 -0000 Message-ID: <20180606204253.47443.qmail@sourceware.org> From: jturney@sourceware.org To: cygwin-apps-cvs@sourceware.org Subject: [setup - the official Cygwin setup program] branch master, updated. release_2.891-4-g0ffb779 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: a1766832dda3e2594c5f0b18602daf753ebe7c8f X-Git-Newrev: 0ffb77947cadfe6a6113a5972064ef291a9aa588 X-SW-Source: 2018-q2/txt/msg00003.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=0ffb77947cadfe6a6113a5972064ef291a9aa588 commit 0ffb77947cadfe6a6113a5972064ef291a9aa588 Author: Jon Turney Date: Wed Jun 6 19:57:56 2018 +0100 Handle test-only packages better Don't create a current version with an empty version string when parsing a package which doesn't have a current version. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=55654e1f3a785e9f2cc2b5a37a89773064210159 commit 55654e1f3a785e9f2cc2b5a37a89773064210159 Author: Ken Brown Date: Sun Mar 18 12:31:37 2018 -0400 Sort the packages listed in the "confirm" dialog Diff: --- IniDBBuilderPackage.cc | 3 +++ confirm.cc | 44 ++++++++++++++++++++++++++++++-------------- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc index d560cb7..d5f167d 100644 --- a/IniDBBuilderPackage.cc +++ b/IniDBBuilderPackage.cc @@ -363,6 +363,9 @@ IniDBBuilderPackage::process () if (!name.size()) return; + if (cbpv.version.empty()) + return; + #if DEBUG Log (LOG_BABBLE) << "Finished with package " << name << endLog; Log (LOG_BABBLE) << "Version " << cbpv.version << endLog; diff --git a/confirm.cc b/confirm.cc index eb6bd99..cd749c0 100644 --- a/confirm.cc +++ b/confirm.cc @@ -19,6 +19,8 @@ #include "package_db.h" #include "package_meta.h" +#include + extern ThreeBarProgressPage Progress; // Sizing information. @@ -61,26 +63,34 @@ ConfirmPage::OnActivate() // first list things we will erase if (source != IDC_SOURCE_DOWNLOAD) { + std::vector erase; for (SolverTransactionList::const_iterator i = trans.begin (); i != trans.end (); i++) { if (i->type == SolverTransaction::transErase) { + std::string line; packageversion pv = i->version; packagemeta *pkg = db.findBinary (PackageSpecification (pv.Name ())); - s += "Uninstall "; - s += i->version.Name(); - s += " "; - s += i->version.Canonical_version(); + line += "Uninstall "; + line += i->version.Name(); + line += " "; + line += i->version.Canonical_version(); if (pkg && pkg->desired) - s += " (automatically added)"; - s += "\r\n"; + line += " (automatically added)"; + line += "\r\n"; + erase.push_back (line); } } + sort (erase.begin(), erase.end()); + for (std::vector::const_iterator i = erase.begin (); + i != erase.end(); i++) + s += *i; } // then list things downloaded or installed + std::vector install; for (SolverTransactionList::const_iterator i = trans.begin (); i != trans.end (); i++) { @@ -89,20 +99,26 @@ ConfirmPage::OnActivate() if (i->type == SolverTransaction::transInstall) { + std::string line; if (source != IDC_SOURCE_DOWNLOAD) - s += "Install "; + line += "Install "; else - s += "Download "; - s += i->version.Name(); - s += " "; - s += i->version.Canonical_version(); + line += "Download "; + line += i->version.Name(); + line += " "; + line += i->version.Canonical_version(); if (i->version.Type() == package_source) - s += " (source)"; + line += " (source)"; else if (pkg && !pkg->desired) - s += " (automatically added)"; - s += "\r\n"; + line += " (automatically added)"; + line += "\r\n"; + install.push_back (line); } } + sort (install.begin(), install.end()); + for (std::vector::const_iterator i = install.begin (); + i != install.end(); i++) + s += *i; // be explicit about doing nothing if (s.empty())