This is the mail archive of the
cygwin-apps-cvs
mailing list for the cygwin-apps project.
[setup - the official Cygwin setup program] branch topic/libsolv, created. release_2.884-47-gb1902cb
- From: jturney at sourceware dot org
- To: cygwin-apps-cvs at sourceware dot org
- Date: 28 Jan 2018 15:11:35 -0000
- Subject: [setup - the official Cygwin setup program] branch topic/libsolv, created. release_2.884-47-gb1902cb
at b1902cbc7e5bf44df9537a11c07d848cdfea8a09 (commit)
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=b1902cbc7e5bf44df9537a11c07d848cdfea8a09
commit b1902cbc7e5bf44df9537a11c07d848cdfea8a09
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Tue Jan 23 17:50:13 2018 +0000
Add a new page to let the user review and confirm actions
Add a new page to let the user review and confirm actions, after
dependencies have been added and problems solved.
Ideally, this would re-use the picker-page grid to present these actions,
but for the moment just write it as text (as we did before in the prereq
page) (This is still a slight improvement as it shows all actions for
review, not just the ones added by the solver)
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=d2e0c29ec94bd210abe2b3930cb531f2e617b354
commit d2e0c29ec94bd210abe2b3930cb531f2e617b354
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Mon Jan 22 22:33:54 2018 +0000
Add handling for 'replace-versions:' in setup.ini
Sometimes we make mistakes and release versions which are broken or have a
version which is wildly incorrect. We can remove those versions from future
download, but they can linger indefinitely in installs (until a distupgrade
is done), as there is a higher version already installed.
Allow setup.ini to contain a per-package 'replace-versions:' header, which
identifies any versions which should be forcibly dist-upgraded (i.e.
downgraded to the best version in setup.ini).
(It's not possible to just instruct the solver to disfavour these specific
versions, as that's not implemented, see libsolv issue #170)
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=f68a5e31729f3df2ba42dc3388ba02193d580d50
commit f68a5e31729f3df2ba42dc3388ba02193d580d50
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Fri Jan 19 19:04:38 2018 +0000
Add 'depends2:' as an alternative to 'depends':
Prior versions of setup recognize 'depends:', but don't handle it properly:
(i) they always use the dependencies of the current version, not the version
actually being installed
(ii) they cannot parse any version-relation containing a relation and
version identifier (i.e. they can only handle a bare package name)
Thus, there is no safe way to start using 'depends:' lines without getting
undesirable behaviour from old versions of setup
(In case (i), it may install incorrect dependencies if a non-current version
is installed, potentially resulting in a broken package.
In case (ii), it will fail to parse the setup.ini with an error.)
Add 'depends2:', so calm can supply per-version dependencies in a form
useful to setup with libsolv-based dependency solving, without effecting
older versions of setup.
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=f37c94c1718766d8923f5b1020baec48e0df9690
commit f37c94c1718766d8923f5b1020baec48e0df9690
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=470d266bac645ff3d5ead4a83c5ef1d4586f59f1
commit 470d266bac645ff3d5ead4a83c5ef1d4586f59f1
Author: Ken Brown <kbrown@cornell.edu>
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=d14b43255dac4092d2a3f3271071da5f232ad2fc
commit d14b43255dac4092d2a3f3271071da5f232ad2fc
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=2506055b6ae75d88bbf8107270ce71893bc696ed
commit 2506055b6ae75d88bbf8107270ce71893bc696ed
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=c4b8d6ddbefeb2caa3e77df1c35ac96cd6c9b745
commit c4b8d6ddbefeb2caa3e77df1c35ac96cd6c9b745
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=0c539f7f7d86fb100f260f21367682fa2c0bb529
commit 0c539f7f7d86fb100f260f21367682fa2c0bb529
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=ab67dafae1e1c7e611569439ae86c2eac6a92f7d
commit ab67dafae1e1c7e611569439ae86c2eac6a92f7d
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=283f82fd4801d0e68c7cb43fd381552e92965179
commit 283f82fd4801d0e68c7cb43fd381552e92965179
Author: Ken Brown <kbrown@cornell.edu>
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=924af9d6be85bd70ea052df555b2aaa62c6851c5
commit 924af9d6be85bd70ea052df555b2aaa62c6851c5
Author: Ken Brown <kbrown@cornell.edu>
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=bfe593cfaf14e147b4b3a9ca2837d5da8490945e
commit bfe593cfaf14e147b4b3a9ca2837d5da8490945e
Author: Ken Brown <kbrown@cornell.edu>
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=eb09ab39bb1c9448f1eb1bc5462c8d440e63881a
commit eb09ab39bb1c9448f1eb1bc5462c8d440e63881a
Author: Ken Brown <kbrown@cornell.edu>
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=e2ec1fa22bd55c3d3a066ba4646623a7c70e73fb
commit e2ec1fa22bd55c3d3a066ba4646623a7c70e73fb
Author: Ken Brown <kbrown@cornell.edu>
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=a59178eb0a21e373e7b68196f448570514fbfb73
commit a59178eb0a21e373e7b68196f448570514fbfb73
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=d78ce5e28bdd3acb3010060048f259bb62effeed
commit d78ce5e28bdd3acb3010060048f259bb62effeed
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=45f5ab6997e87c270d3268da50cb73061e24e905
commit 45f5ab6997e87c270d3268da50cb73061e24e905
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=de8fc0b824d257a60b3faaf3d1ab5a9f62818ecb
commit de8fc0b824d257a60b3faaf3d1ab5a9f62818ecb
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=b5baa4aeac2ecb5365fbf2b6c5ff8cd09c551cbe
commit b5baa4aeac2ecb5365fbf2b6c5ff8cd09c551cbe
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=c59b92e8ecd213ad8c8adda9272f841b3d6547be
commit c59b92e8ecd213ad8c8adda9272f841b3d6547be
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=9a7507eb2ee52cdddd977b754e1d94c8a1fd1e06
commit 9a7507eb2ee52cdddd977b754e1d94c8a1fd1e06
Author: Ken Brown <kbrown@cornell.edu>
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=d76f912c224947accf8da9763b2dc3e28bff4ff2
commit d76f912c224947accf8da9763b2dc3e28bff4ff2
Author: Ken Brown <kbrown@cornell.edu>
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=7c94d449addb5eaddc5e96fd88c2f0810a9d0c25
commit 7c94d449addb5eaddc5e96fd88c2f0810a9d0c25
Author: Ken Brown <kbrown@cornell.edu>
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=1699467971bafc1d4a92ed0b5e910c0926a263b8
commit 1699467971bafc1d4a92ed0b5e910c0926a263b8
Author: Ken Brown <kbrown@cornell.edu>
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=389e4dff0b219387053872b462606ba7507cb4f4
commit 389e4dff0b219387053872b462606ba7507cb4f4
Author: Ken Brown <kbrown@cornell.edu>
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=c1f4069d16dc69f1df828d945f5eb1f31e8185cd
commit c1f4069d16dc69f1df828d945f5eb1f31e8185cd
Author: Ken Brown <kbrown@cornell.edu>
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=88f3d803ab338f4caa637b6f2cdf641058fa166b
commit 88f3d803ab338f4caa637b6f2cdf641058fa166b
Author: Ken Brown <kbrown@cornell.edu>
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=3c3d695d010caac7d9d381d65703bbd97b57f63f
commit 3c3d695d010caac7d9d381d65703bbd97b57f63f
Author: Ken Brown <kbrown@cornell.edu>
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=ca8245b2fcff21ee6dfe33c5a13c578aa8dbe51a
commit ca8245b2fcff21ee6dfe33c5a13c578aa8dbe51a
Author: Ken Brown <kbrown@cornell.edu>
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=2602c5c421e33d8f078533b786ffda3a974bd474
commit 2602c5c421e33d8f078533b786ffda3a974bd474
Author: Ken Brown <kbrown@cornell.edu>
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=ee79556835a8ebc74b651d063205d8dea1a89606
commit ee79556835a8ebc74b651d063205d8dea1a89606
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=5ebe14e443292e32ada76f9840a0b93edfdf4026
commit 5ebe14e443292e32ada76f9840a0b93edfdf4026
Author: Ken Brown <kbrown@cornell.edu>
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=7f6e9faef6270cff1420020af98e1f92de674393
commit 7f6e9faef6270cff1420020af98e1f92de674393
Author: Ken Brown <kbrown@cornell.edu>
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=9deed6044c6a1324f6fffece5e7b82a89aa11741
commit 9deed6044c6a1324f6fffece5e7b82a89aa11741
Author: Ken Brown <kbrown@cornell.edu>
Date: Wed Aug 30 17:36:13 2017 -0400
Don't override a Keep selection
(Lock kept packages which would otherwise get upgraded)
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=20b98f20465fc21926aa4a174f3fe85d3ec5bc44
commit 20b98f20465fc21926aa4a174f3fe85d3ec5bc44
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=64f45db25158e700e4d42ea542cac52873c874a8
commit 64f45db25158e700e4d42ea542cac52873c874a8
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=1d553f34f32ac10282dd3eadc35384467683e51c
commit 1d553f34f32ac10282dd3eadc35384467683e51c
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=f3992588eeb353259e86d0155e45a362cb320b51
commit f3992588eeb353259e86d0155e45a362cb320b51
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=8e2c3b189564f89361502c1a25132b9fb0a762c8
commit 8e2c3b189564f89361502c1a25132b9fb0a762c8
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=63365b8b6f8459e19260895a1ceb354591c671c4
commit 63365b8b6f8459e19260895a1ceb354591c671c4
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=1c159e0ada72bee1bd1fb47aef7350aba4b0394d
commit 1c159e0ada72bee1bd1fb47aef7350aba4b0394d
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=dbe27e75a2f679c708b9ac06fd41742768af148f
commit dbe27e75a2f679c708b9ac06fd41742768af148f
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=b0cccc59f05994feece5d358eb8323e860850cba
commit b0cccc59f05994feece5d358eb8323e860850cba
Author: Jon Turney <jon.turney@dronecode.org.uk>
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=f717b2434c4ae1bade3f69425b07a4a49b419fab
commit f717b2434c4ae1bade3f69425b07a4a49b419fab
Author: Jon Turney <jon.turney@dronecode.org.uk>
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