[Zope3-Users] Re: [Zope-dev] KGS Site Updated

2007-11-19 Thread Chris McDonough

On Nov 19, 2007, at 2:17 AM, Stephan Richter wrote:


On Sunday 18 November 2007, Chris McDonough wrote:

I disagree. This is not what this means to me. I think a KGS can
receive bug
fix releases, which the Zope 3.4 KGS does. However, no new feature
releases
are allowed.


In the Linux world, these purposes are served by separate indexes
(e.g. Debian security releases are in their own index).  There's no
problem with what you're saying, it's just not a source for  
repeatable

installations, which is something that's required for many builds.


Yes, I agree. I accommodated those needs by having versioned  
links.html,

versions.cfg, controlled-packages.cfg, and now minimal/ files and
directories. Those will *never* change once released. (Of course  
there will
be versions like 3.4.1dev that change until 3.4.1 is released,  
simply so
that I do not have to version every single little change to the KGS  
while

testing. But maybe that is even desirable at some point. We will see.)


Sorry, I don't think I understand the last sentence there but I get  
the sense from the rest of your message that the minimal index will  
not change once released, and new versions of it will be made for each  
release (however those are defined in a post-big-release world) and  
that will be beneficial for lots of people.



Right. Note that versions-*.cfg and links-*cfg are frozen. I am
probably going
to freeze minimal/ as have minimal-*/ too.


Will they will change for bugfixes?


Nope. That's the reason they are frozen. They are like tags in SVN.


OK, that's good to hear.


I have tried buildout, of course.  Massaging the index to meet some
set of expectations developers have of the client they use to install
the software is fine, you did a lot of work to do this, which is
appreciated, and it's your index.   But I suggest that we don't
discount the *really KGS* requirement, which is *absolutely  
repeatable

builds* (today, tomorrow, two years from now), and we let people know
that the KGS is not that.


Why? I have listened to the community very early on, reacting to the  
need
having certain frozen output. A few weeks back I sent a mail to the  
zope-dev
_[1] list outlining how I think the index can be used in buildout.  
Since
then, functionality has only expanded and other combinations are  
possible

now.

.. [1] http://mail.zope.org/pipermail/zope-dev/2007-November/030210.html

So if you go to http://download.zope.org/zope3.4/intro.html into the
sub-section Version 3.4.0b2 you see a bunch of links. With the  
exception of
the Index link, all other links point to versioned file and  
directories,
which will not change. Also, any of the versioned files and  
directories do

not contain references to packages that are not controlled by the KGS.


Great.  I'm happy to be wrong.  A mention on the intro page about how  
this versioning scheme is meant to work going forward would be nice.


Nice job,

- C

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Re: KGS Site Updated

2007-11-19 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Chris McDonough wrote:
 On Nov 18, 2007, at 7:52 PM, Stephan Richter wrote:
 
 On Sunday 18 November 2007, Chris McDonough wrote:
 4. A new minimal/ folder now contains an index just of the
 controlled
 packages. This minimal index can be used by compoze as one
 contributing
 index. (I have not tested this yet, can anyone try this and report
 how it can
 be done?)
 Very cool, thank you!  I'll try this.
 Great. I would love to get a little write-up on how to use it, so I  
 can put it
 on the intro page.
 
 Compoze is not ready for prime time yet, I'm afraid.  You can use it  
 to download all source packages from a working set and create an index  
 from these.  But currently I think only Tres knows how to make it do  
 it. ;-)

One you have a tested set of packages installed (findable on sys.path,
actually), compoze can download the corresponding distributiongs and
make a package index via:

 $ bin/compoze fetch --fetch-site-packages --path=/tmp/kgs \
   index --path=/tmp/kgs



Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHQabm+gerLs4ltQ4RAtHMAJ4m5DAaFKtixNOrj6qpKdq9ZJ0epwCeJpLP
KuyeNNUXSnoQchE801QTQs4=
=2pSC
-END PGP SIGNATURE-

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] Re: KGS Site Updated

2007-11-19 Thread Jim Fulton


On Nov 19, 2007, at 9:54 AM, Tres Seaver wrote:

It's a limitation of buildout, perhaps.  It is possible to use
setuptools with multiple indexes:  'compoze' allows spelling multiple
'-index-url' items on the command line.  E.g.::


I'm curious what API you're using.

buildout uses setuptools.package_index.PackageIndex.  This only  
accepts a single index URL.  Of course, I could create multiple index  
instances, use each one and merge the results.  Is that what you're  
doing?


Jim

--
Jim Fulton
Zope Corporation


___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Re: [Zope-dev] KGS Site Updated

2007-11-19 Thread Chris McDonough


On Nov 19, 2007, at 1:26 PM, Dieter Maurer wrote:


Chris McDonough wrote at 2007-11-18 16:50 -0500:

...
Note that if the KGS really wants to be a KGS (literally known  
good,

it's a matter of semantics, not of technology):

- An invariant must be met that only one version of each package
should be present in the index.

- The set is frozen (no packages will be added to or removed from or
changed).


I do not think this is correct:

 The assumption that something is known good can prove to be an  
error.


 As soon as this happens, the index is no longer known good.

 As a consequence, it can (and should) be changed.



I agree this is a really super-useful kind of index and maybe even  
deserves the term KGS.


If it makes more sense than trying to redefine KGS, I'm arguing that  
there's an additional use case of a completely frozen index to get a  
completely repeatable set of packages, every time, forever.  For   
example:


- You create an automated developer sandbox build using the non- 
minimal KGS to get zope.

  You want this build to work repeatably, every time, without fail.

- While developing, you find a bug in it that isn't yet fixed upstream.

- You modify your automated build process to patch the installed KGS  
files using diffs to fix the bug

  locally.  The diffs change files installed from the KGS.

Those patches may begin to fail for new runs of the automated build if  
someone uploads a bugfix release to a package you were patching.


This really isn't a problem, because Stephan has provided the  
capability and has signaled the intent to maintain frozen minimal  
sets for each release.  Now we just need to define what a release  
is ;-)


- C

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] Re: KGS Site Updated

2007-11-19 Thread Jim Fulton


On Nov 19, 2007, at 2:52 PM, Tres Seaver wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jim Fulton wrote:

On Nov 19, 2007, at 9:54 AM, Tres Seaver wrote:

It's a limitation of buildout, perhaps.  It is possible to use
setuptools with multiple indexes:  'compoze' allows spelling  
multiple

'-index-url' items on the command line.  E.g.::


I'm curious what API you're using.

buildout uses setuptools.package_index.PackageIndex.  This only
accepts a single index URL.  Of course, I could create multiple index
instances, use each one and merge the results.  Is that what you're
doing?


Yes.


Hm, OK.  Does this let you search multiple indexes for the same  
package? I assume so.


I consider this to me moving beyond setuptools.  I'm not saying that  
this is necessarily bad.



I imagine it would be pretty simple to add a per-package override to
buildout.cfg which caused a separate index to be used to fetch a given
distribution.



You can already do this with the egg recipe:

  http://pypi.python.org/pypi/zc.recipe.egg#detailed-documentation

This still only lets you search a single index when looking for a  
distributions to use to satisfy a set of requirements.


buildout could be expanded to search multiple indexes, using the  
technique you seem to be using in compoze.  This makes me uneasy as it  
seem to be moving far beyond easy_install, if not setuptools. It is my  
goal that buildout be compatible with easy install, in some sense.


--
Jim Fulton
Zope Corporation


___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Re: [Zope-dev] KGS Site Updated

2007-11-19 Thread Stephan Richter
On Monday 19 November 2007, Chris McDonough wrote:
 Now we just need to define what a release  
 is ;-)

Yes, I thought about this a little bit this weekend and I would love to see 
some discussion. For example, I do not think it will be necessary to create a 
new release for every change in the KGS, but rather collect them. So for 
example, once 3.4.0 is out, I set the version in controlled-packages.cfg 
to 3.4.1dev. I leave it like that until we are ready for 3.4.1 and change 
it then. Maybe just calling it 3.4dev would be better and whenever we are 
ready for a release, we create a controlled-packages.cfg file with that final 
version number, such as 3.4.1 or 3.4.2.

All of this, of course, does not answer: What is a release? I simply do not 
know, but I have a hunch that it will be defined by a timespan.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] How to close a ZODB connection and reopen it for testing?

2007-11-19 Thread Hermann Himmelbauer
Hi,
I am currently writing a doctest for one of my persistent classes. It's 
purpose is to check, if object modifications, e.g. through methods, are 
really persistent, however, my objects are magically remembered, therefore I 
cannot properly test them.

My doctest looks like this:

  from ZODB import FileStorage, DB
  storage = FileStorage.FileStorage('tests/tmp/test.fs')
  db = DB(storage)
  conn = db.open()
  dbroot = conn.root()
  x = myClass()
  dbroot['x'] = x

Now I can do some modifications of my object, call some methods which modify 
the object and call transaction.commit().

Next I want to somehow close the database, reopen it, read my object and check 
if my modifications were really stored, e.g.:

  conn.close()
  db.close()
  conn = db.open()
  dbroot = conn.root()
  y = dbroot['x']

But unfortunately, the following applies:

  x is y
 True

This is bad, as it means that Python/ZODB magically remembered my object and 
did not reread it from the database. Therefore I cannot correctly check 
persistence issues.

What is the suggested solution to this?

Best Regards,
Hermann

-- 
[EMAIL PROTECTED]
GPG key ID: 299893C7 (on keyservers)
FP: 0124 2584 8809 EF2A DBF9  4902 64B4 D16B 2998 93C7
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] AW: [Zope-dev] KGS Site Updated

2007-11-19 Thread Roger Ineichen
Hi Dieter

 Betreff: Re: [Zope-dev] KGS Site Updated
 
 Chris McDonough wrote at 2007-11-18 16:50 -0500:
  ...
 Note that if the KGS really wants to be a KGS (literally 
 known good, 
 it's a matter of semantics, not of technology):
 
 - An invariant must be met that only one version of each 
 package should 
 be present in the index.
 
 - The set is frozen (no packages will be added to or removed from or 
 changed).
 
 I do not think this is correct:
 
   The assumption that something is known good can prove to 
 be an error.
   
   As soon as this happens, the index is no longer known good.
 
   As a consequence, it can (and should) be changed.

I agree, 

But this also means, changes must be 100% compatible with 
everything which was working with the KGS before the changes.
(whatever this means)

Otherwise it's not known good anymore.

Regards
Roger Ineichen
 
 --
 Dieter
 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://mail.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  ** (Related lists -  
 http://mail.zope.org/mailman/listinfo/zope-announce
  http://mail.zope.org/mailman/listinfo/zope )
 

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Re: KGS Site Updated

2007-11-19 Thread Alexander Limi
On Sun, 18 Nov 2007 23:17:53 -0800, Stephan Richter  
[EMAIL PROTECTED] wrote:



So if you go to http://download.zope.org/zope3.4/intro.html into the
sub-section Version 3.4.0b2 you see a bunch of links.


Just a minor observation, nowhere on that page is it explained what KGS  
means. :)


--
Alexander Limi · http://limi.net

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users