[Fwd: [HEADSUP][CFT] pkgng beta1 is out]

2012-01-31 Thread Michel Talon
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


Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]

2012-01-31 Thread Baptiste Daroussin
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


Re: [Fwd: [HEADSUP][CFT] pkgng beta1 is out]

2012-01-31 Thread Mehmet Erol Sanliturk
On Tue, Jan 31, 2012 at 5:59 AM, Baptiste Daroussin b...@freebsd.orgwrote:

 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]

2012-01-31 Thread Anton Shterenlikht
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 b...@freebsd.orgwrote:
 
  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]

2012-01-31 Thread Mehmet Erol Sanliturk
On Tue, Jan 31, 2012 at 6:37 AM, Anton Shterenlikht me...@bristol.ac.ukwrote:

 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 b...@freebsd.org
 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]

2012-01-31 Thread Baptiste Daroussin
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 
 me...@bristol.ac.ukwrote:
 
  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 b...@freebsd.org
  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]

2012-01-31 Thread Michel Talon

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


[Fwd: [HEADSUP][CFT] pkgng beta1 is out]

2012-01-30 Thread Fbsd8

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 b...@freebsd.org
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