> I'm currently writing a small program in C that is supposed to > show me which packages I have from woody and which ones from > sid (my system is actually a mix of both of them). > Now, a problem I am likely to encounter soon are the version > numbers. Do the follow some kind of scheme? > > For instance, package ssh > ssh 1:1.2.3-9.3 > > If I had the version string saved somewhere, and an other > one like 1:1.2.3-9.4, how can I compare them, is there a > function that can do this?
you can use system() to call dpkg with the --compare-versions option. in alternative, you can dig in the dpkg source to find the function you need! pietro.