I just built conary=2.2.alpha_a98b4e8eaf6f-1-1 which has several important changes, several of which were suggested by foresight developers. Again, I thank you for your testing and suggestions. Also, I thank you for your patience as you read through this long email. If you use system model, you definitely want to read this.
This update changes the /etc/conary/system-model file in a few ways. This may lead to both you and conary rewriting your system-model file. The rest of this email describes how and why. STABLE LATEST VERSIONS ====================== Whenever you specify an "update" or "install" command with a label, Conary will look up the latest package and put an explicit reference to that version in the /etc/conary/system-model file. # conary rq --labels xchat=mkj.rpath....@fl:2 xchat=mkj.rpath....@fl:2/2.8.4-0.3-1 # conary update xchat=mkj.rpath....@fl:2 # grep xchat /etc/conary/system-model update xchat=mkj.rpath....@fl:2/2.8.4-0.3-1 Note that Conary itself looked up the "2.8.4-0.3-1" and added it to the model. This means that when you are doing development, you can do: $ cvc ci foo <build foo=foresight.rpath....@fl:2-devel> # conary update foo=foresight.rpath....@fl:2-devel Now, the latest version of foo that you just built will be on your system. This means that you no longer need to use a "search" line for every package outside groups that you want to update in a stable way. So most users will need only one or two search lines at the beginning of your model. If you have something like this: search exif=contrib.rpath....@rpl:2/0.6.9-7-0.1 search exiftags=contrib.rpath....@rpl:2/1.01-2-0.1 search jhead=contrib.rpath....@rpl:2/2.8-1-0.1 update exif exiftags jhead You will want to change it (with a text editor, this change is not automated) to something like: update exif=contrib.rpath....@rpl:2/0.6.9-7-0.1 exiftags=contrib.rpath....@rpl:2/1.01-2-0.1 jhead=contrib.rpath....@rpl:2/2.8-1-0.1 When you run the "conary updateall" command, all trove reference that include a version (not just a label) will update to the latest version. The genmodel script has been updated not to generate the extra search lines when creating new model files. SIMPLER MODEL FILES =================== Conary now tries to simplify the models that it writes, which should make them easier to understand and faster to run -- and also fix a bug. It will do this only if it confirms that the simplification doesn't change the way the system is defined. Previously, if you ran "conary update foo bar" followed by "conary erase foo", you would have the following two lines in your /etc/conary/system-model file: update foo bar erase foo Now, if "foo" is on the system only because of that update line, it will change those two lines to: update bar It will do that only if it results in the exact same set of packages installed. (Conary rebuilds the entire simplified model and compares it to the unsimplified model, and if they don't match, it just gives up.) It does not try over and over to simplify until the model has been reduced to its essense, but it is intended do at least some reasonable simplifications introduced by the current command. One very important simplification is that it should notice when updating one locally-built changeset (you will see lo...@local:COOK in the system-model file) supercedes another, and it should remove the reference to the outdated version. Previously, thate action would succeed, but the next conary update/erase/sync action after that would fail trying to look up the earlier version. This should be fixed. https://issues.rpath.com/browse/CNY-3536 Expect additional simplifications to be added in the future. PINNED VERSIONS IN MODELS ========================= While it is nice that conary easily snapshots versions by default, what if you want a specific version NOT to change? You can now specify a version that you do not want Conary to change when running the "conary updateall" command: use a "==" instead of a "=". This is considered an advanced capability and isn't available at the command line; the only way to do this is with a text editor. search group-world=foresight.rpath....@fl:2-devel/2.4.9.1+2010.11.16-0.1-1 install group-gnome-dist # I never want to update tightvnc from this specific version, # even when I run updateall install tightvnc==foresight.rpath....@fl:2/1.3.9-1.4-1 # I like mkj's version of xchat, and I want new versions when I run # "conary updateall" after mkj has built a new version update xchat=mkj.rpath....@fl:2/2.8.4-0.3-1 install Genshi pypdf _______________________________________________ Foresight-devel mailing list Foresight-devel@lists.rpath.org http://lists.rpath.org/mailman/listinfo/foresight-devel