Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]
Le 31 janv. 2012 à 13:22, Baptiste Daroussin a écrit : > > To more examples which are BSD LIcense: > https://github.com/openSUSE/sat-solver > https://github.com/openSUSE/libsolv OK, i am seeing what you have in mind looking at the SUSE program. For example the following comment in solver_run_sat /* * here's the main loop: * 1) propagate new decisions (only needed once) * 2) fulfill jobs * 3) try to keep installed packages * 4) fulfill all unresolved rules * 5) install recommended packages * 6) minimalize solution if we had choices * if we encounter a problem, we rewind to a safe level and restart * with step 1 */ gives an idea of the aim of this analysis. -- Michel Talon ta...@lpthe.jussieu.fr ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]
On Tue, Jan 31, 2012 at 07:18:59AM -0500, Mehmet Erol Sanliturk wrote: > On Tue, Jan 31, 2012 at 6:37 AM, Anton Shterenlikht > wrote: > > > On Tue, Jan 31, 2012 at 06:06:33AM -0500, Mehmet Erol Sanliturk wrote: > > > On Tue, Jan 31, 2012 at 5:59 AM, Baptiste Daroussin > >wrote: > > > > > > > On Tue, Jan 31, 2012 at 11:52:05AM +0100, Michel Talon wrote: > > > > > >having a real sat solver for the dependency tree. Currently we > > have a > > > > > >really simple and minimalistic solver which works well but if we > > can to > > > > go > > > > > >to an even finer package management we would need a real solver. > > > > > > > > > > Please may you expand on what you really mean here? I was under the > > > > impression > > > > > that the only problem was to provide a total order on ports > > compatible > > > > to the > > > > > partial order fixed by dependency, and this is very easy. There is > > for > > > > example one > > > > > routine to do that in portupgrade. Or do you have something more > > > > sophisticated in mind? > > > > > > > > > > > > > I mean something more sophisticated, the simple thing having things in > > the > > > > right > > > > order is hopefuly already done in pkgng :) > > > > > > > > I mean more something that is able to go further like resolving some > > > > conflicts > > > > by changing the ordering automatically, like offerting the ability to > > > > depends on > > > > provides e.g. depends on http_server instead of depending on > > > > apache/lighttpd/nginx/thehttpyouprefer or begin able to depends on > > > > feature. An > > > > even more. > > > > > > > > What we have now is really enough to be able to go into a full binary > > > > world (and > > > > it does really work nicely) but having a real complex sat solver, can > > help > > > > us go > > > > forward and imagine an even better package tool. > > > > > > > > regards, > > > > Bapt > > > > > > > > > > sat solver : > > > > > > http://en.wikipedia.org/wiki/ZYpp#SAT_solver_integration > > > http://en.wikipedia.org/wiki/Boolean_satisfiability_problem > > > http://en.wikipedia.org/wiki/Computational_complexity_theory > > > > wow.. that's hardcore computer science. > > You mean something like this: > > > > http://minisat.se/ > > http://www.st.ewi.tudelft.nl/sat/march_dl.php > > > > but BSD licensed? > > > > -- > > Anton Shterenlikht > > Room 2.6, Queen's Building > > Mech Eng Dept > > Bristol University > > University Walk, Bristol BS8 1TR, UK > > Tel: +44 (0)117 331 5944 > > Fax: +44 (0)117 929 4423 > > > > > > Yes . > > Thank you very much . > > Mehmet Erol Sanliturk Thanks To more examples which are BSD LIcense: https://github.com/openSUSE/sat-solver https://github.com/openSUSE/libsolv regards, Bapt pgpldbKfQqndA.pgp Description: PGP signature
Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]
On Tue, Jan 31, 2012 at 6:37 AM, Anton Shterenlikht wrote: > On Tue, Jan 31, 2012 at 06:06:33AM -0500, Mehmet Erol Sanliturk wrote: > > On Tue, Jan 31, 2012 at 5:59 AM, Baptiste Daroussin >wrote: > > > > > On Tue, Jan 31, 2012 at 11:52:05AM +0100, Michel Talon wrote: > > > > >having a real sat solver for the dependency tree. Currently we > have a > > > > >really simple and minimalistic solver which works well but if we > can to > > > go > > > > >to an even finer package management we would need a real solver. > > > > > > > > Please may you expand on what you really mean here? I was under the > > > impression > > > > that the only problem was to provide a total order on ports > compatible > > > to the > > > > partial order fixed by dependency, and this is very easy. There is > for > > > example one > > > > routine to do that in portupgrade. Or do you have something more > > > sophisticated in mind? > > > > > > > > > > I mean something more sophisticated, the simple thing having things in > the > > > right > > > order is hopefuly already done in pkgng :) > > > > > > I mean more something that is able to go further like resolving some > > > conflicts > > > by changing the ordering automatically, like offerting the ability to > > > depends on > > > provides e.g. depends on http_server instead of depending on > > > apache/lighttpd/nginx/thehttpyouprefer or begin able to depends on > > > feature. An > > > even more. > > > > > > What we have now is really enough to be able to go into a full binary > > > world (and > > > it does really work nicely) but having a real complex sat solver, can > help > > > us go > > > forward and imagine an even better package tool. > > > > > > regards, > > > Bapt > > > > > > > sat solver : > > > > http://en.wikipedia.org/wiki/ZYpp#SAT_solver_integration > > http://en.wikipedia.org/wiki/Boolean_satisfiability_problem > > http://en.wikipedia.org/wiki/Computational_complexity_theory > > wow.. that's hardcore computer science. > You mean something like this: > > http://minisat.se/ > http://www.st.ewi.tudelft.nl/sat/march_dl.php > > but BSD licensed? > > -- > Anton Shterenlikht > Room 2.6, Queen's Building > Mech Eng Dept > Bristol University > University Walk, Bristol BS8 1TR, UK > Tel: +44 (0)117 331 5944 > Fax: +44 (0)117 929 4423 Yes . Thank you very much . Mehmet Erol Sanliturk ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]
On Tue, Jan 31, 2012 at 06:06:33AM -0500, Mehmet Erol Sanliturk wrote: > On Tue, Jan 31, 2012 at 5:59 AM, Baptiste Daroussin wrote: > > > On Tue, Jan 31, 2012 at 11:52:05AM +0100, Michel Talon wrote: > > > >having a real sat solver for the dependency tree. Currently we have a > > > >really simple and minimalistic solver which works well but if we can to > > go > > > >to an even finer package management we would need a real solver. > > > > > > Please may you expand on what you really mean here? I was under the > > impression > > > that the only problem was to provide a total order on ports compatible > > to the > > > partial order fixed by dependency, and this is very easy. There is for > > example one > > > routine to do that in portupgrade. Or do you have something more > > sophisticated in mind? > > > > > > > I mean something more sophisticated, the simple thing having things in the > > right > > order is hopefuly already done in pkgng :) > > > > I mean more something that is able to go further like resolving some > > conflicts > > by changing the ordering automatically, like offerting the ability to > > depends on > > provides e.g. depends on http_server instead of depending on > > apache/lighttpd/nginx/thehttpyouprefer or begin able to depends on > > feature. An > > even more. > > > > What we have now is really enough to be able to go into a full binary > > world (and > > it does really work nicely) but having a real complex sat solver, can help > > us go > > forward and imagine an even better package tool. > > > > regards, > > Bapt > > > > sat solver : > > http://en.wikipedia.org/wiki/ZYpp#SAT_solver_integration > http://en.wikipedia.org/wiki/Boolean_satisfiability_problem > http://en.wikipedia.org/wiki/Computational_complexity_theory wow.. that's hardcore computer science. You mean something like this: http://minisat.se/ http://www.st.ewi.tudelft.nl/sat/march_dl.php but BSD licensed? -- Anton Shterenlikht Room 2.6, Queen's Building Mech Eng Dept Bristol University University Walk, Bristol BS8 1TR, UK Tel: +44 (0)117 331 5944 Fax: +44 (0)117 929 4423 ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]
On Tue, Jan 31, 2012 at 5:59 AM, Baptiste Daroussin wrote: > On Tue, Jan 31, 2012 at 11:52:05AM +0100, Michel Talon wrote: > > >having a real sat solver for the dependency tree. Currently we have a > > >really simple and minimalistic solver which works well but if we can to > go > > >to an even finer package management we would need a real solver. > > > > Please may you expand on what you really mean here? I was under the > impression > > that the only problem was to provide a total order on ports compatible > to the > > partial order fixed by dependency, and this is very easy. There is for > example one > > routine to do that in portupgrade. Or do you have something more > sophisticated in mind? > > > > I mean something more sophisticated, the simple thing having things in the > right > order is hopefuly already done in pkgng :) > > I mean more something that is able to go further like resolving some > conflicts > by changing the ordering automatically, like offerting the ability to > depends on > provides e.g. depends on http_server instead of depending on > apache/lighttpd/nginx/thehttpyouprefer or begin able to depends on > feature. An > even more. > > What we have now is really enough to be able to go into a full binary > world (and > it does really work nicely) but having a real complex sat solver, can help > us go > forward and imagine an even better package tool. > > regards, > Bapt > sat solver : http://en.wikipedia.org/wiki/ZYpp#SAT_solver_integration http://en.wikipedia.org/wiki/Boolean_satisfiability_problem http://en.wikipedia.org/wiki/Computational_complexity_theory Thank you very much . Mehmet Erol Sanliturk ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]
On Tue, Jan 31, 2012 at 11:52:05AM +0100, Michel Talon wrote: > >having a real sat solver for the dependency tree. Currently we have a > >really simple and minimalistic solver which works well but if we can to go > >to an even finer package management we would need a real solver. > > Please may you expand on what you really mean here? I was under the impression > that the only problem was to provide a total order on ports compatible to the > partial order fixed by dependency, and this is very easy. There is for > example one > routine to do that in portupgrade. Or do you have something more > sophisticated in mind? > I mean something more sophisticated, the simple thing having things in the right order is hopefuly already done in pkgng :) I mean more something that is able to go further like resolving some conflicts by changing the ordering automatically, like offerting the ability to depends on provides e.g. depends on http_server instead of depending on apache/lighttpd/nginx/thehttpyouprefer or begin able to depends on feature. An even more. What we have now is really enough to be able to go into a full binary world (and it does really work nicely) but having a real complex sat solver, can help us go forward and imagine an even better package tool. regards, Bapt pgpNNE48ZGyDu.pgp Description: PGP signature
[Fwd: [HEADSUP][CFT] pkgng beta1 is out]
>having a real sat solver for the dependency tree. Currently we have a >really simple and minimalistic solver which works well but if we can to go >to an even finer package management we would need a real solver. Please may you expand on what you really mean here? I was under the impression that the only problem was to provide a total order on ports compatible to the partial order fixed by dependency, and this is very easy. There is for example one routine to do that in portupgrade. Or do you have something more sophisticated in mind? -- Michel Talon ta...@lpthe.jussieu.fr ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
[Fwd: [HEADSUP][CFT] pkgng beta1 is out]
For those on the questions list who would find this interesting. Original Message Subject: [HEADSUP][CFT] pkgng beta1 is out Date: Mon, 30 Jan 2012 13:39:30 +0100 From: Baptiste Daroussin To: curr...@freebsd.org, po...@freebsd.org, ports-annou...@freebsd.org Hi, pkgng has just reached the beta phase, and has now found its way to the ports tree (disabled by default). 1/ Why pkgng? Our current pkg_install tools are showing their age, are hard to maintain, and they lack features: - missing metadata - no upgrade support - no repository support - no fine dependency tracking - no modern binary package management - and many others Having old tools makes it hard to improve the ports infrastructure, as a result lots of hacks have found their way into the different Mk/bsd.*.mk files to work around pkg_install limitations plus there are lots of hacks in the packages metadata itself such as @comment which are not comments, and so forth. We have people writing tools to improve the situation (portmaster and portupgrade to name two), but they are limited by and can become quite complicated to maintain because of the pkg_install limitations. 2/ What it is? -- It is a tool that is designed to replace pkg_install and provide modern features to advance package management on FreeBSD. It has been done with compatibility in mind. Most of the ports tree are able to build on pkgng without modification (21500 successful packages is the highest pkgng score so far). The missing ones will be easily fixed with pkgng in ports. It has been done with ease of migration in mind. It is easy to migrate from pkg_install to pkgng. (Please note that going backwards is not possible.) It has been done with FreeBSD features in mind: it supports chroot, jails, rcng, etc. It has been done with scripting features in mind: 'pkg query' will allow you to query almost everything from the pkgng database in a script friendly way. It has been done with improvement in mind: it doesn't require a privileged account to create packages with root files in it; it is already able to package from a stage/fakeroot/name_it_like_you_want directory; it is also able to fake the package creation to directly install the package from that fake/stage/whatever directory. It has been done with human readability in mind: the new metadata is stored in YAML format; the plist keywords can be extended with YAML (for the ports). It has been our thinking that the pkg binary is not able to please everyone's needs, so it has been written on top of a library which can be used by any other third party tools. (Think about packagekit, or ruby binding for portupgrade for example, or any other usage like these). pkgng is the result of my long studies and reflection about packaging (studying what is done elsewhere: apt/dpkg, yum/rpm, pacman, aix, solaris, netbsd, openbsd) and how to have something that tries to take the good ideas from them, but tries not to take the *over engineered* complicated parts. And most importantly, tries to do it the FreeBSD way: which means it should work with the ports tree as-is (and help improve it in the future). 3/ Roadmap -- We plan a very long beta phase with lots of beta versions, released as often as possible to ease testing and help improve the tool as much as possible. The goal, now that we are in beta is to not break anything for users, which means that pkgng will be able to safely upgrade itself. (No real breakage occurred during the alpha phase; expect even less in beta.) Most of the big features are implemented, so now if you have a revolutionary idea that breaks everything, it won't find its way into pkgng 1.0. You can still provide it for pkgng 2.0. 1.0 is not revolutionary because of the way that it is full of workarounds to allow compatibility with the current ports tree. At some future time (TBD), once we have dropped pkg_install support, things will be able to move forward faster. pkgng will live in the ports tree, so it will evolve with the infrastructure, allowing us not to have to wait for the EOL of a release to be able to move forward to new features. The library API is currently not considered stable; it will be designated stable as of pkgng 2.0. Therefore, if you are going to use the library in a third party project, you can expect some breakage from time to time. Of course, we will avoid breakage as much as possible. The plan is to have pkgng 1.0 ready and rock solid for 10.0-RELEASE and 9.1-RELEASE. The more testers/contributors we have, the faster we can go, and the faster we go, the faster we can drop pkg_install and improve our port infrastructure. (Note: due to limitations in FreeBSD 7.x, we do not plan to backport there.) 4/ pkgng itself pkg add: add packages the old way (should be avoided by users) pkg audit: audit the installed packages for vulnerabilities pkg autoremove: interactively propose packages to be removed