public inbox for
help / color / mirror / Atom feed
* [setup - the official Cygwin setup program] branch topic/libsolv, created. release_2.884-44-g46c25c7
@ 2018-01-13 14:01 jturney
  0 siblings, 0 replies; only message in thread
From: jturney @ 2018-01-13 14:01 UTC (permalink / raw)
  To: cygwin-apps-cvs

        at  46c25c788f66ea3435533f5776fb9e19ff720c90 (commit);h=46c25c788f66ea3435533f5776fb9e19ff720c90

commit 46c25c788f66ea3435533f5776fb9e19ff720c90
Author: Jon Turney <>
Date:   Sat Jan 13 14:00:01 2018 +0000

    Remove all trailing ".any" from package names in problem report;h=b8187df2eb516192e0d29e748e59d40d78ebb8a2

commit b8187df2eb516192e0d29e748e59d40d78ebb8a2
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
    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"
    Break out 'include-source' process, so it can have effect in the case where
    dependency problems exist.
    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;h=dc03716cd7c644ade3d0ebb4cd789d54f996c362

commit dc03716cd7c644ade3d0ebb4cd789d54f996c362
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.
    We call PickView::refresh again after we've computed the initial solution,
    so the columns always end up with the correct width.;h=90435cb1243af9564693924b339e874a592bb0bc

commit 90435cb1243af9564693924b339e874a592bb0bc
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();h=3722d6781e014ba010d39c0aab0d0fcd82901582

commit 3722d6781e014ba010d39c0aab0d0fcd82901582
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.
    Also clear solver stored in SolverSolution, which holds a pool pointer;h=ac4dca930dedf71ef727d7320b55eadb82744032

commit ac4dca930dedf71ef727d7320b55eadb82744032
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...;h=66c867e27ea619f9562805933ca6c8e845ade642

commit 66c867e27ea619f9562805933ca6c8e845ade642
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',
    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.;h=b21a418a8fa3bbcee2e50828c13cf3c01558292d

commit b21a418a8fa3bbcee2e50828c13cf3c01558292d
Author: Ken Brown <>
Date:   Fri Oct 27 14:47:21 2017 -0400

    Remove the function
    This was called only on plain filenames, not full pathnames, so it was not
    needed.  Moreover, it wasn't correctly handling filenames containing colons.;h=d543de22fae83342ca1e6c8fcfadca1f51043a3b

commit d543de22fae83342ca1e6c8fcfadca1f51043a3b
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.;h=aba42f1d710c597363078036a72b24edb6f27222

commit aba42f1d710c597363078036a72b24edb6f27222
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.;h=040930637880bf651e1b3cccd3823b99b95c11fc

commit 040930637880bf651e1b3cccd3823b99b95c11fc
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.;h=57f8da949f597b1d28f924a85f9e5a9c50db9bd9

commit 57f8da949f597b1d28f924a85f9e5a9c50db9bd9
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').;h=2a657183e0a86f01c58d8ab2393ef6c5e69e7546

commit 2a657183e0a86f01c58d8ab2393ef6c5e69e7546
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.;h=c146077bee27b1ec050e765a7289247b92b11da7

commit c146077bee27b1ec050e765a7289247b92b11da7
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.;h=4df68529ea04ed29e0609ae5e41c50cb0b81bd61

commit 4df68529ea04ed29e0609ae5e41c50cb0b81bd61
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;h=2e78ebfe026431e19bb0b7323ea9bd6fe95d12e7

commit 2e78ebfe026431e19bb0b7323ea9bd6fe95d12e7
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;h=357e18a855183c5675695532f9bf8498342930dd

commit 357e18a855183c5675695532f9bf8498342930dd
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.;h=7578283b6a6ab543b8ed123fecba3895bbb1f01d

commit 7578283b6a6ab543b8ed123fecba3895bbb1f01d
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

commit 2ae3105d94ad8381336d8d3fbb297f29424e95ee
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).
    Tweak MessageBox text;h=6f344b6497ba9d830497ef2f1e1c18b759523c2d

commit 6f344b6497ba9d830497ef2f1e1c18b759523c2d
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.;h=1ee92c2c848f442ded99b0009b66452fe64b36ba

commit 1ee92c2c848f442ded99b0009b66452fe64b36ba
Author: Ken Brown <>
Date:   Sat Sep 16 11:23:04 2017 -0400

    Mention how you can see what packages were added to resolve dependencies
    Adjust wrapping for a better fit with default width of the edit control;h=c426aafaa5e27308919f2ba1499e42890ead7012

commit c426aafaa5e27308919f2ba1499e42890ead7012
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

commit 760a5265e48eed23adb78d6b003ce2250dc1315b
Author: Ken Brown <>
Date:   Sat Sep 16 10:50:37 2017 -0400

    Factor out SolverTasks::setTasks()
    Move the code from that makes a solver task list from packagedb
    state into a new function SolverTasks::setTasks.;h=56bba446c1b3cca53b5d6bc100c402dcd765f397

commit 56bba446c1b3cca53b5d6bc100c402dcd765f397
Author: Ken Brown <>
Date:   Sat Sep 2 14:35:58 2017 -0400

    Simplify code in
    Avoid passing around a packagemeta, when all we use is the package name.;h=a9436ceb01e1748bf0c352903b4fc60b6bcdd06e

commit a9436ceb01e1748bf0c352903b4fc60b6bcdd06e
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.;h=1645550afde32be1adbd6b8e2f67a96a6b9b1508

commit 1645550afde32be1adbd6b8e2f67a96a6b9b1508
Author: Ken Brown <>
Date:   Sat Sep 2 14:27:52 2017 -0400

    Download only the packages being installed;h=a34d6742864e588bc5b01bbc54aaa368594850dd

commit a34d6742864e588bc5b01bbc54aaa368594850dd
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".;h=32c010fdc5204639b8e19e4ff8f8797892f3fa02

commit 32c010fdc5204639b8e19e4ff8f8797892f3fa02
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.
    Give test repos normal, rather than high priority, when selected so we don't
    prefer a test version over a higher non-test version.;h=f9e5b9ff9952b571332a5cbeba94ffda04a73d6b

commit f9e5b9ff9952b571332a5cbeba94ffda04a73d6b
Author: Ken Brown <>
Date:   Sat Sep 16 10:06:26 2017 -0400

    Ask solver to check dependencies of installed packages;h=3a7e66816d42f5e81feb6b9baeb778804aafe098

commit 3a7e66816d42f5e81feb6b9baeb778804aafe098
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.;h=1491384e26f06bfc725758b65bb99215e94c72d7

commit 1491384e26f06bfc725758b65bb99215e94c72d7
Author: Jon Turney <>
Date:   Fri May 26 14:30:40 2017 +0100

    Add a PackageSpecification() constructor which takes a package name and version;h=864e0281a535f46c45468521e2a84fb1ffcb8cb2

commit 864e0281a535f46c45468521e2a84fb1ffcb8cb2
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();h=2d8f0ebcac644dfc8caa259eeebba85880873961

commit 2d8f0ebcac644dfc8caa259eeebba85880873961
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.;h=ed0e7a60bc9a0a7860f32bc956509ad74dddd124

commit ed0e7a60bc9a0a7860f32bc956509ad74dddd124
Author: Ken Brown <>
Date:   Wed Aug 30 17:36:13 2017 -0400

    Don't override a Keep selection;h=bc4e808d28354b99dd3a593fcd03b077fab6c24f

commit bc4e808d28354b99dd3a593fcd03b077fab6c24f
Author: Jon Turney <>
Date:   Mon May 22 18:04:02 2017 +0100

    Add obsoletes: support
    Note that we need separate depends and obsoletes nodelists
    Reset "obsoletes" between packages. Also add a debugging statement. (kbrown);h=ef7f4a2337044f4a862b39e626ab368445015ae8

commit ef7f4a2337044f4a862b39e626ab368445015ae8
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
    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.);h=44bac413e11752fc8cb6b99841811965ba7f9e52

commit 44bac413e11752fc8cb6b99841811965ba7f9e52
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
    Fix comment typo (kbrown)
    Tweak comment in OnActivate() (kbrown);h=773b48394439a527e05672c3a1c87a30bf79f379

commit 773b48394439a527e05672c3a1c87a30bf79f379
Author: Jon Turney <>
Date:   Sat Apr 29 15:39:46 2017 +0100

    Drop in SolvableVersion as a replacement for packageversion;h=0ecf054b37057fe346de164388db809c1f579bfa

commit 0ecf054b37057fe346de164388db809c1f579bfa
Author: Jon Turney <>
Date:   Fri Apr 28 17:39:26 2017 +0100

    Remove packageversion class
    Remove packageversion, _packageversion, defaultversion classes;h=d8ac54feb5a9774fde0793c134a79d50e31b116e

commit d8ac54feb5a9774fde0793c134a79d50e31b116e
Author: Jon Turney <>
Date:   Fri Apr 28 15:26:05 2017 +0100

    Remove cygpackage class
    Fix typo in (kbrown);h=d88d5d39ab2a69595c3f3c09fc3434df1f19d34f

commit d88d5d39ab2a69595c3f3c09fc3434df1f19d34f
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
    Use a Solver object inside packagedb
    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;h=5af02561d8cd996cbea691c84122e2547d4dbc42

commit 5af02561d8cd996cbea691c84122e2547d4dbc42
Author: Jon Turney <>
Date:   Mon Apr 24 20:17:36 2017 +0100

    Store package stability in class packageversion;h=9051c0a2063c1df246e303459b50f5113d351404

commit 9051c0a2063c1df246e303459b50f5113d351404
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.;h=ad1976a352b1720cd1b3e8f787b15dfa0b84166b

commit ad1976a352b1720cd1b3e8f787b15dfa0b84166b
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
    Also adjust dumpPackageDepends() appropriately

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-01-13 14:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-13 14:01 [setup - the official Cygwin setup program] branch topic/libsolv, created. release_2.884-44-g46c25c7 jturney

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).