From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 130101 invoked by alias); 18 Jan 2018 18:49:18 -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 130069 invoked by uid 9795); 18 Jan 2018 18:49:17 -0000 Date: Thu, 18 Jan 2018 18:49:00 -0000 Message-ID: <20180118184917.129961.qmail@sourceware.org> From: jturney@sourceware.org To: cygwin-apps-cvs@sourceware.org Subject: [setup - the official Cygwin setup program] branch topic/libsolv, created. release_2.884-45-gb871627 X-Git-Refname: refs/heads/topic/libsolv X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: b87162796b60d183d8536c5999a8fc6f9e36b7f0 X-SW-Source: 2018-q1/txt/msg00018.txt.bz2 at b87162796b60d183d8536c5999a8fc6f9e36b7f0 (commit) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=b87162796b60d183d8536c5999a8fc6f9e36b7f0 commit b87162796b60d183d8536c5999a8fc6f9e36b7f0 Author: Jon Turney Date: Mon Jan 15 16:27:39 2018 +0000 Preserve reinstall tasks when going back from dependency problem page. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=42fa1b873acf76c80c2e187babfcb86283b9ce6b commit 42fa1b873acf76c80c2e187babfcb86283b9ce6b Author: Ken Brown Date: Sat Jan 13 18:50:14 2018 -0500 Clarify the unsolved-problems warning If the user unchecks the 'Accept default solutions' box and selects 'Next', don't imply that choosing a non-default solution would break their system. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=1d980b5e62e2b8bdb39ddabc1f92e954bad15421 commit 1d980b5e62e2b8bdb39ddabc1f92e954bad15421 Author: Jon Turney Date: Sat Jan 13 14:00:01 2018 +0000 Remove all trailing ".any" from package names in problem report https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=95abd530f60de380ce66193870bdfd12e53da8f5 commit 95abd530f60de380ce66193870bdfd12e53da8f5 Author: Jon Turney Date: Wed Dec 6 17:52:45 2017 +0000 Apply default solution to dependency problems Mark the default solution in the problem report Refactor of SolverSolution::update() so we can apply the default solution(s). Also: Break out logging of the task list, so we can show it in the "dependency problems exists, but don't use the default solution, just do what I ask" case. Break out 'include-source' process, so it can have effect in the case where dependency problems exist. v2: Actually re-solve after adjusting the task list with default solutions. Use the last solution as the default solution. The solver sorts the solutions, and I think the last one will normally be the one which removes the problematic task from the task list https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=c23d632d491f8c4d7ecd96c264946d1eb2c94313 commit c23d632d491f8c4d7ecd96c264946d1eb2c94313 Author: Jon Turney Date: Mon Nov 6 18:02:08 2017 +0000 More crash avoidance in SolvableVersion member functions The following call-stack means we end up calling SolvableVersion methods before packagedb::prep(), i.e. before attributes have been internalized, so their values aren't available. PickView::init_headers PickView::refresh PickView::init ChooserPage::createListview ChooserPage::OnInit We call PickView::refresh again after we've computed the initial solution, so the columns always end up with the correct width. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=dbced003742453a23e55fa4261c1aac04bcafd8f commit dbced003742453a23e55fa4261c1aac04bcafd8f Author: Jon Turney Date: Sat Nov 4 18:01:49 2017 +0000 Correctly order preparing packagedb for chooser Do packagedb::prep() in ChooserPage::OnActivate(), as doing it in OnInit() is wrong, as that only gets called once (but lazily). Make packagedb::prep() idempotent after packagedb::init(), so it doesn't do it's work again, if we come back to chooser from a later page. Re-arrange applying command line package selection, and determining the initial solution, which should only happen once, but after packagedb::prep() https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=3a27c042f564a4d70656497e6817f199affed31a commit 3a27c042f564a4d70656497e6817f199affed31a Author: Jon Turney Date: Thu Nov 2 14:15:04 2017 +0000 Ensure packagedb and underlying solver pool is empty before we read setup.ini We need to make sure the packagedb is empty if we step backwards to here. v2: Also clear solver stored in SolverSolution, which holds a pool pointer https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=6ea08a991bf22ec3798cf07dc34e8b12f546b8c8 commit 6ea08a991bf22ec3798cf07dc34e8b12f546b8c8 Author: Jon Turney Date: Mon Oct 30 15:09:33 2017 +0000 Revert "Bump the installed.db version to 4" This reverts commit cbf84482f992011eca70c560a0584bc588db80d6. Do this temporarily so people can test but go back to using setup 2.882 without too much inconvenience... https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=9e5b9853f0eea4729a6fca167f942a2f53dac8c0 commit 9e5b9853f0eea4729a6fca167f942a2f53dac8c0 Author: Ken Brown Date: Fri Oct 27 14:47:22 2017 -0400 Bump the installed.db version to 4 Starting with the commit 'Remove the function filemanip.cc:base', setup correctly parses version numbers of the form e:v-r in installed.db. Bump the version of installed.db to reflect the fact that older setup doesn't parse filenames containing colons correctly. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=8f550023f8f09d420227e02fe996f653f1c03132 commit 8f550023f8f09d420227e02fe996f653f1c03132 Author: Ken Brown Date: Fri Oct 27 14:47:21 2017 -0400 Remove the function filemanip.cc:base() This was called only on plain filenames, not full pathnames, so it was not needed. Moreover, it wasn't correctly handling filenames containing colons. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=89caae4f27f2f8fbba1c9278979a516543471552 commit 89caae4f27f2f8fbba1c9278979a516543471552 Author: Ken Brown Date: Sat Oct 28 13:46:19 2017 -0400 Avoid clobbering installed.db when no setup.ini is found If no setup.ini is found, do_ini_thread is never called. But we need to ensure that packagedb::read is called, or else installed.db gets emptied. Move the calls to packagedb::read and other packagedb functions from do_ini_thread to ChooserPage::OnInit. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=5fe0772d08a34fc4af54d2fc315f5d078dfc496e commit 5fe0772d08a34fc4af54d2fc315f5d078dfc496e Author: Ken Brown Date: Fri Oct 20 06:59:54 2017 -0400 Don't override a Skip selection Introduce SolverTasks::taskSkip, and generate it when the user chooses to Skip a package that the solver wants to install. Implement it by sending a SOLVER_LOCK command on the package name. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=4b6509766d5d93a1e95ab953bf932ce57a7bce4f commit 4b6509766d5d93a1e95ab953bf932ce57a7bce4f Author: Ken Brown Date: Thu Oct 19 14:44:45 2017 -0400 Fix the functionality of taskKeep A taskKeep is generated whenever the user wants to keep an installed version that's different from the default_version, where the latter is whatever the solver has chosen. We need to make sure that default_version is set appropriately wherever it is needed. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=c4cc73b5c5c21c25fdd28568cd7e31d68b1fef0b commit c4cc73b5c5c21c25fdd28568cd7e31d68b1fef0b Author: Ken Brown Date: Tue Oct 17 08:12:48 2017 -0400 Extend the SolvableVersion member functions to the empty package Currently some of these functions cause crashes when the package is empty because the libsolv function pool_id2solvable unconditionally dereferences its first argument ('pool'). https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=ec5f615ced8b2e860f79eee0b7238125cf0286fd commit ec5f615ced8b2e860f79eee0b7238125cf0286fd Author: Jon Turney Date: Mon Oct 9 18:10:52 2017 +0100 Take command line package/category install/uninstall into account Rather than overwriting the packagedb changes made from processing command line options in ChooserPage::OnInit(), use the 'initial' flag to changeTrust() in createListview() to take them into consideration. --upgrade-also and --force-current are now handled directly. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=b41e30e394b8a110fc56b6c00ecc8ce9385a50b2 commit b41e30e394b8a110fc56b6c00ecc8ce9385a50b2 Author: Jon Turney Date: Mon Oct 9 15:37:06 2017 +0100 Change UI to add 'Sync' choice and change 'Test' to checkbox Set the initial update mode in UI correctly: - 'Sync', if --force-current option is used - 'Keep', if packages are selected on command line without --upgrade-also - 'Current', otherwise Add mapping of 'Sync' to SolverSolution::updateForce to mapping of UI update mode to solver update mode. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=375b4d51a16c303d1e1e8f0edd144cd098b8fb9e commit 375b4d51a16c303d1e1e8f0edd144cd098b8fb9e Author: Jon Turney Date: Mon Oct 9 15:05:22 2017 +0100 Add distupgrade support to solver Also, ignore change transactions (these are usually vendorchange as we forget the vendor for installed packages) Also, don't put unknown type transactions into the transaction list https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=ec1ae75e71c848e60fe1ddde25fdc61c283a251a commit ec1ae75e71c848e60fe1ddde25fdc61c283a251a Author: Jon Turney Date: Sat Sep 30 23:23:29 2017 +0100 Non-existent source packages aren't accessible for installation Prevent the src checkbox appearing for source packages which don't exist https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=2a235e6ddad93d84206b80fd05e5cb6a23da7491 commit 2a235e6ddad93d84206b80fd05e5cb6a23da7491 Author: Jon Turney Date: Fri Sep 29 14:46:46 2017 +0100 Use solver for initial pick list when upgrading Use the solver to determine initial pick list for Curr or Test, rather than directly picking packages. Thus the solver's initial solution in the pending view should be the first thing the user sees. Note: Keep is magical, and the package db pick list gets reset by ChooserPage::keepClicked(), rather than going through changeTrust(). We don't unify these two paths, because the trust level passed to changeTrust() gets recorded in PickView::defTrust and used by the line picker in some mysterious way, and seems to only be expected to be TRUST_CURR or TRUST_TEST. There's probably a subtle bug here, in that the line picker might behave differently depending on if Curr or Test was selected before Keep. Drop passing upgrade flag to solver run after the user has made their selections: the picker selection now reflects what the user is asking for. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=ba4adf92b5d19de8835f8a3757e9a1784649bf54 commit ba4adf92b5d19de8835f8a3757e9a1784649bf54 Author: Jon Turney Date: Fri May 26 14:30:40 2017 +0100 Handle 'Source:' lines in setup.ini This is somewhat awkward: Storing the source package by Id rather than by name is looking a bit like a premature optimization, but being to able to refer to source packages by Id is very handy. If the src pkg isn't seen until after the pkg, we don't know what it's Id will be. So we have to go back and fixup the Ids after we've seen all packages. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=69a865abc57ae77cb1e4bd9f15fe080e054c471c commit 69a865abc57ae77cb1e4bd9f15fe080e054c471c Author: Ken Brown Date: Sat Sep 16 11:39:40 2017 -0400 Allow user to refuse the default problem solutions Add new method SolverSolution::db2trans to change the solver's transaction list to reflect the package database. Use it if the user refuses the default problem solutions. Reinstate warning that this could cause breakage. Remove PrereqPage::OnMessageCmd, which is no longer needed (and which disallows clicking Next if the "Accept default problem solutions" box is unchecked). v2: Tweak MessageBox text https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=6e96482aa42202f743e0b55371cb2dd6558e130f commit 6e96482aa42202f743e0b55371cb2dd6558e130f Author: Ken Brown Date: Sat Sep 16 11:28:37 2017 -0400 Add a ficitious "base" package that requires all Base packages Modify the solver's problem report so that it refers to "Base packages" rather than the "base" package. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=8eeb8829f89ad53197f9a390fd90a575bbb147f8 commit 8eeb8829f89ad53197f9a390fd90a575bbb147f8 Author: Ken Brown Date: Fri Sep 8 11:16:24 2017 -0400 Add new member function SolverSolution::trans2db This resets the package database to reflect the solver's transaction list. Call this if the user clicks Back on the Prerequisite page, to allow reviewing and making changes before accepting the solver's solution. v2: Drop text about seeing default solutions. They aren't applied as we want the user to choose there own solution. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=f5877eb0d3b90c5f4605c5086b178419fc274584 commit f5877eb0d3b90c5f4605c5086b178419fc274584 Author: Ken Brown Date: Sat Sep 16 10:50:37 2017 -0400 Factor out SolverTasks::setTasks() Move the code from prereq.cc that makes a solver task list from packagedb state into a new function SolverTasks::setTasks. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=6da16f97912f46312d0f390a1944148d7eff6977 commit 6da16f97912f46312d0f390a1944148d7eff6977 Author: Ken Brown Date: Mon Sep 4 16:44:31 2017 -0400 Fix 'SolverTasks::taskList' typedef Remove the '&'. This was causing source installs to all refer to the same package, due to the call to q.add(pkg->desired.sourcePackage(), SolverTasks::taskInstall) in PrereqChecker::isMet. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=ef05bbaeeddf90be4dd34cd03664f164ae570943 commit ef05bbaeeddf90be4dd34cd03664f164ae570943 Author: Ken Brown Date: Sat Sep 2 14:27:52 2017 -0400 Download only the packages being installed https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=046766b344f13db715d9c324996277239f98323e commit 046766b344f13db715d9c324996277239f98323e Author: Ken Brown Date: Wed Sep 6 10:44:27 2017 -0400 Don't create an "_installed_test_" repo This prevents libsolv from knowing that an installed test release is installed, since pool->installed is "_installed". https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=155dc8d4892f0a1e0f7d9439cd5b9467089dc1ab commit 155dc8d4892f0a1e0f7d9439cd5b9467089dc1ab Author: Ken Brown Date: Tue Sep 5 22:22:23 2017 -0400 Allow the installation of test packages without setting "Test" globally Instead of disabling test repos when "Test" is not selected, just give them lower priority than ordinary repos. v2: Give test repos normal, rather than high priority, when selected so we don't prefer a test version over a higher non-test version. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=3c8efb83c2047d0f0128c276ca457d843fe42101 commit 3c8efb83c2047d0f0128c276ca457d843fe42101 Author: Ken Brown Date: Sat Sep 16 10:06:26 2017 -0400 Ask solver to check dependencies of installed packages https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=af79d3a83263f4e878ae8708bb2c5bd8880124bf commit af79d3a83263f4e878ae8708bb2c5bd8880124bf Author: Ken Brown Date: Sat Sep 2 12:37:29 2017 -0400 Improve the reading of installed.db When creating a packageversion for a package listed in installed.db, use the information for the installed version rather than the "current" version. Add a new function packagedb::findBinaryVersion to help with this. Get as much information about an installed information as possible from the prior reading of setup.ini. Improve detection of installed test releases. An installed test release might not appear in setup.ini because it is no longer available (e.g., it might have been replaced by a newer test release). Detect this by comparing its version to the current version. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=cd8f03734053da38062a200a498e127b489ca990 commit cd8f03734053da38062a200a498e127b489ca990 Author: Jon Turney Date: Fri May 26 14:30:40 2017 +0100 Add a PackageSpecification() constructor which takes a package name and version https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=1fb4717d615a6b5f353f589131748a5239f08ad3 commit 1fb4717d615a6b5f353f589131748a5239f08ad3 Author: Ken Brown Date: Sat Sep 16 07:19:55 2017 -0400 Add SolvableVersion::obsoletes() v2: Add SolvableVersion::obsoletes(), factor out key-to-deplist code from SolvableVersion::depends() as SolvableVersion::deplist() https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=729d8f981fa5b89440a3f572a1c3296f31ad219b commit 729d8f981fa5b89440a3f572a1c3296f31ad219b Author: Ken Brown Date: Sat Sep 2 11:57:25 2017 -0400 Fix setup.ini parsing The IniDBBuilderPackage::process function wasn't fully resetting the addPackageData for a new version of a package. This caused SHA512 failures among other things. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=6bf435429200f36e74aaa839805b2f9ef6d809d9 commit 6bf435429200f36e74aaa839805b2f9ef6d809d9 Author: Ken Brown Date: Wed Aug 30 17:36:13 2017 -0400 Don't override a Keep selection https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=1888615299af6263794b69f43af88b88925450d7 commit 1888615299af6263794b69f43af88b88925450d7 Author: Jon Turney Date: Mon May 22 18:04:02 2017 +0100 Add obsoletes: support Note that we need separate depends and obsoletes nodelists v2: Reset "obsoletes" between packages. Also add a debugging statement. (kbrown) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=d3e26fcd29ea6228a34b3c2d7a4deb0d8048ee30 commit d3e26fcd29ea6228a34b3c2d7a4deb0d8048ee30 Author: Jon Turney Date: Fri May 19 11:26:07 2017 +0100 Download/checksum/install/uninstall what transaction wants Some of this goes rather around the houses to avoid lots of churm: In lots of cases, we're looking up packagemeta for a given packageversion just so we can use the pacakgemeta to access the name, which we could do via packageversion just as easily. We do actually need packagmeta for a couple of things: To note the package as installed/uninstalled, and to note postinstalls scripts. If IncludeSource is on source packages installs will have been added to the task list in post-processing, so we don't need to handle that specially anymore. Source packages to be installed are kept in a separate queue as they are installed differently to binary packages (root is /usr/src, install isn't recorded, etc.) v2: Avoid use of packagemeta in install.cc, when all we use is the package name (kbrown) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=f6c79fdc2222369ebb454ed137b18cf138080f80 commit f6c79fdc2222369ebb454ed137b18cf138080f80 Author: Jon Turney Date: Sat Apr 29 15:43:52 2017 +0100 Use solver to check for problems and produce a list of package transactions Convert chooser UI selections into a SolverTaskList Apply SolverSolution to that task list (with choice of keep, upgrade, upgrade with test, IncludeSource) to produce a vector of SolverTransactions. Store a solution object in packagedb The transaction list returned by the solver is postprocessed to add reinstall and IncludeSource actions Very crudely present solver problems in the PrereqChecker page UI, as text. Change tickbox to say "accept default solutions" and don't allow to preceed unless those solutions are accepted (ideally we would have a UI to choose solutions). Remove warning about missing dependencies. Also pass initial trust state to PrereqChecker v2: Fix comment typo (kbrown) Tweak comment in OnActivate() (kbrown) v3: Drop stray \n at end of report() output (kbrown) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=d44cb242dd7e9cbb9d7f5935ec4850ba072e56a1 commit d44cb242dd7e9cbb9d7f5935ec4850ba072e56a1 Author: Jon Turney Date: Sat Apr 29 15:39:46 2017 +0100 Drop in SolvableVersion as a replacement for packageversion https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=3e719da1944170cf94ef4a55e7cdb5b616a76508 commit 3e719da1944170cf94ef4a55e7cdb5b616a76508 Author: Jon Turney Date: Fri Apr 28 17:39:26 2017 +0100 Remove packageversion class Remove packageversion, _packageversion, defaultversion classes https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=d2cd289614076d39eeea1440b7375f3a89904815 commit d2cd289614076d39eeea1440b7375f3a89904815 Author: Jon Turney Date: Fri Apr 28 15:26:05 2017 +0100 Remove cygpackage class v2: Fix typo in bootstrap.sh (kbrown) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=f528b2445eff67783c93c1ba7afc1560c7e52663 commit f528b2445eff67783c93c1ba7afc1560c7e52663 Author: Jon Turney Date: Fri Apr 7 21:52:17 2017 +0100 Change to using a libsolv pool for storing package information Add class SolverVersion, a wrapper around a Solvable Id. The interface is similar to class packageversion, the name change is just to make sure I've got everything. Place test packages into separate repos. Expressing that curr: packages are preferred to prev: ones when that is not the version number ordering should be done with epoch numbers. Wire up various bits of data in packageversion to Solvable attributes, including sourcepackage, stability, archive (packagesource) and depends. Store sourcePackage() by the id rather than name, for much faster lookup. SolverVersions for the same package can be ordered and compared by evr. Factor out packagedb:addBinary() and also use it in IniDBBuilder, rather that inlining the process of adding a package there. Add an analagous packagedb:addSource() to do the same thing for source packages. Change to reading installed.db after setup.ini's have been read, so we can supplement the installed.db packages with information from setup.ini. Make packagemeta::add_version() check for successful insertion of version. Record the version at a stability level. The last version wins in setting curr/test. Use a Solver object inside packagedb v2: Link with libregex rather than libgnurx Use -lregex rather than -lgnurx, as the Fedora mingw{32,63}-libgnurx cross-packages only contain the library under that name. (The Cygwin mingw63-{i686,x86_64}-libgnurx cross-packages have both names). Check for libregex at configure time (Done properly this should use PKG_CHECK_MODULES, rather than checking for the header...) Update build instructions https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=66e230b10113875047ac1dc4f02bbad3a6566f4f commit 66e230b10113875047ac1dc4f02bbad3a6566f4f Author: Jon Turney Date: Mon Apr 24 20:17:36 2017 +0100 Store package stability in class packageversion https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=3cc9fefe0e1c1fcfd6f748a89d3aa947a02a4a40 commit 3cc9fefe0e1c1fcfd6f748a89d3aa947a02a4a40 Author: Jon Turney Date: Sat May 20 16:17:44 2017 +0100 Factor out reading installed.db Rather that doing implicitly the first time a packagedb is constructed, do it explicitly at a certain point in time that is early enough. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=429c5c69bc19476616a4f23ba4e0455bc3d2aac0 commit 429c5c69bc19476616a4f23ba4e0455bc3d2aac0 Author: Jon Turney Date: Fri May 5 12:36:42 2017 +0100 Opaque how PackageDepends is stored We want to be more opaque about how the PackageDepends for a packageversion is stored, so rather than exposing a pointer to a PackageDepends object inside class packageversion, access it by value. This also makes us be more explicit about set/get of package depends() Fix some iterations to deal with depends() returning a value rather than a pointer. Also adjust dumpPackageDepends() appropriately