public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Matthew Thode <prometheanfire@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] SAT-based dependency solver: request for test cases
Date: Tue, 6 Feb 2018 08:48:36 -0600	[thread overview]
Message-ID: <20180206144836.gwgkebgl4ngwagte@gentoo.org> (raw)
In-Reply-To: <c428abf7-4943-80ca-dbdf-27f0d367e13a@laposte.net>

[-- Attachment #1: Type: text/plain, Size: 3159 bytes --]

On 18-02-06 11:52:10, Michael Lienhardt wrote:
> Dear all,
> 
> With the help of some friends and colleagues, I am working on an SAT-based dependency solver for portage.
> We need your help to test it and possibly improve in the long run the already great portage toolset.
> 
> To help, you can send us the tar generated by this bash script: https://raw.githubusercontent.com/HyVar/gentoo_to_mspl/master/benchmarks/get_installation.sh
> This bash script extracts your world file, the USE flags and keywords configuration of your system and the list of installed packages you have (it should not take more than few seconds).
> With this, we will see if our solver is able to recreate your system and how much time it takes.
> 
> You can send everything to my professional email: mlienhar@di.unito.it
> 
> 
> The goal of this alternative solver is to overcome some of the limitations of emerge.
> Thanks to some users of the forum and the gentoo-user mailing list, I already tested the solver on 8 systems, and the results for now are:
>  - emerge is not able to recreate any of these systems (i.e., 'cat world_of_test_configuration | xargs emerge -vp' on a gentoo osboxes VM does not succeed, even with the right /etc/portage/package.* files)
>  - our solver takes 2 minutes in average (with little variation), and gives either a yes answer (with what to install, which USE flags to set, which packages to keyword) or a no answer (with the set of conflicting constraints) for every systems
>  - we solved one bug in our solver (a behavior of emerge that seems documented only in the PMS document, not in devmanual nor in the wiki, and that is visible only in 15 packages), but at least one seems to still be around.
> 
> I started discussing this on the gentoo-portage-dev and the gentoo-user mailing lists (sorry for the duplicates), and on the forum with three posts:
>  - https://forums.gentoo.org/viewtopic-t-1074170.html about the documentation I collected to implement the solver
>  - https://forums.gentoo.org/viewtopic-t-1074202.html about the solver and its motivations
>  - https://forums.gentoo.org/viewtopic-t-1075286.html about the tests I'm doing
> 
> 
> About me:
> I'm a researcher in computer science, about formal methods, concurrency and software engineering.
> Friday, I will present my first paper on portage, showing that its packages and their dependencies constitute what is called a "Multi-Software Product Line" in software engineering. If you skip the algebraic definition, it should be readable ^^: http://www.di.unito.it/~mlienhar/vamos.pdf
> In 2013, I designed and contributed to the implementation of a dependency solver for dynamic cloud architecture (currently maintained by Jacopo Mauro https://bitbucket.org/jacopomauro/zephyrus2/src )
> I'm a gentoo user since 2007, and I'm very happy by this opportunity to contribute back :).
> 
> 

This sounds intresting, I wonder how it'd handle things like
sys-cluster/openstack-meta which can sometimes require masking a package
(gentoo stablizes a package ahead of what openstack has tested support
for).

-- 
Matthew Thode (prometheanfire)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2018-02-06 14:48 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-06 10:52 [gentoo-dev] SAT-based dependency solver: request for test cases Michael Lienhardt
2018-02-06 14:00 ` Roy Bamford
2018-02-06 22:53   ` Michael Lienhardt
2018-02-07  4:11     ` [gentoo-dev] " Duncan
2018-02-07 10:59       ` Michael Lienhardt
2018-02-06 14:48 ` Matthew Thode [this message]
2018-02-08 19:57 ` [gentoo-dev] " Toralf Förster
2018-02-12 18:14   ` Michael Lienhardt
2018-02-10  8:20 ` Michał Górny
2018-02-10 10:20   ` Ulrich Mueller
2018-02-10 10:49     ` Michał Górny
2018-02-10 15:53   ` Paweł Hajdan, Jr.
2018-02-13  1:52   ` Michael Lienhardt
2018-02-13  7:49     ` [gentoo-dev] " Martin Vaeth
2018-02-13  8:42       ` Michał Górny
2018-02-13 10:58         ` Martin Vaeth
2018-02-13 11:53         ` Michael Lienhardt
2018-02-13 12:35           ` Martin Vaeth
2018-02-18  2:18     ` [gentoo-dev] " Benda Xu

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=20180206144836.gwgkebgl4ngwagte@gentoo.org \
    --to=prometheanfire@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /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