While dependencies for Recipes depend only at the source code itself, dependency for a binary package are, most of the time, dependent on the environment the package was compiled.
E.g., a recipe can be compatible with Glibc [2,), but, once a package is compiled on a Glibc 2.4 system, it depends on Glibc [2.4,). {or Glibc [2.4,3) } In order to avoid the need of preparing by hand a Dependencies file each time a binary package is built, it would be nice if we can describe some general rule for recipe-to-package conversion of the Dependencies file. Here is a first raw idea: Each program could have a rule file inside Resources. Once a package is 'Compile'd, each program listed at the recipe Dependencies file is verified, and, based on its rule, a line to be added at the package Dependencies is prepared. The rule would give general information about back/forward compatibility, and could differentiate major, middle and minor numbers that compose a program version. Here, either a regular expression or a more high level syntax could be used. For example: One rule can state that packages compiled against gtk+ X.Y.Z depend on a gtk+ with the same major-number (X), and with a middle at least equal to Y. GTK+ [X.Y,X+1) In the case of Glibc, the generated dependency would be something more like Glibc [X.Y.Z,X+1) So, I guess the rule file could be composed of a optional regular expression (the default regular expression would be the one that returns 'n' fields, corresponding to the version number splitted on each '.') and a string describing how to put those fields together on the dependency line. Notice that at this step, we can perform even automatic generation of dependencies like libstdc++ as an option to GCC. GCC [X.Y,X.Y] || Libstdc++ [X.Y,X.Y] -- Andre Detsch _______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel