On Thu, Jan 11, 2007 at 11:28:36AM -0800, John Poelstra wrote: > Hi, > > I'm trying to get up to speed with how the updates tool works and what it > does. > > I followed the instructions on this page > http://fedoraproject.org/wiki/Infrastructure/UpdatesSystem and downloaded > the source from CVS. After that I followed the instructions in the README > to configure and install. The README was very detailed and helpful! That's good to hear! > Is there more documentation on how to use the tool now that I have it > installed and greater context on how it all goes together? The last part > of the README says: Nope, not yet. I'm still neck deep in the code, and working on putting all of the pieces together still to get minimum functionality so we can actually start using it. I'll hopefully throw some more useful docs together once I get a free second away from the code and school work. For now, after following the README, you will be setup with a development environment and a local SQLite database. As far as configuration, `updatessystem/config/app.cfg` contains all of the global config options, and should be fine for testing by default (it won't send out emails and such, as I have that commented out at the moment). >From here `./start-updatessystem` will bring up the system, in which you can interact with by going to http://localhost:8080 All the tool needs to function properly is a directory of built packages (package/version/release/arch format at the moment), which defaults to the 'test-build' directory at the top level of the project. Ideally, we will be able to point the tool at the output from any buildsystem, and it should Just Work. When you go to the 'New update' form, and type in the package name, the system will automagically present you with a list of available package-version-release's to choose from. Once a package is added, and submitted for pushing, an admin[0] is then able to push them out to the updates-stage. > Running the updates system test suite > ===================================== > > All tests are stored in the 'tests' module in this project, and can be > run by executing the command `nosetests` in top level of the project. > > For more information on Nose unit tests, please see: > > http://somethingaboutorange.com/mrl/projects/nose/ > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 0) I confess I have limited knowledge of python and have never used 'nose.' > > 1) What is meant by a "project" when it says to execute the `nosetests` > command in the top level of "the project?" > > 2) Is there a UI and if so how do I navigate to it? python-nose is just a simple "discovery-based unittest extension" that TurboGears can use to test the application itself. It pretty much goes through the project looking for classess and functions beginning with 'test' and executes them. What's awesome is that combined with TurboGears, you can easily define tests that will automatically get run on a clean SQLite database in memory, just by simply inheriting from a DBTest class. Right now most of the tests will probably fail, as I have been making large changes to the project, and have not gotten a chance to update the test cases. I'm presently working on polishing up the push code, and getting basic functionality working in a public test environment. Hopefully this weekend I'll have something public that people can prod with. If you've got any more questions, please ask :) luke [0]: To add yourself as an admin, type 'tg-admin shell' in the top level of the updates system directory and type: >>> me = User.get(1) >>> admin = Group.get(1) >>> me.addGroup(admin) Then ^D, save the db, changes, and you should be good to go. Now you should have access to Pushing and Unpushing updates, as well as TurboGears's CatWalk database tool (all of which will now be displayed for you on the tool)