You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Say users would like to use the libsolv but have an extremely complicated or private versioning and dependency scheme (unicode why not, or some database lookup). What functions would they need to provide to work with libsolv?
Taking inspiration from conda functions (I am actually investigating this in the context of Mamba), it seems that around six functions would be required:
// Compare two version as ` const char*`intpool_evrcmp_alien(constPool*pool, constchar*evr1, constchar*evr2, intmode);
// Check if a solvable matches a given versionintsolvable_alien_matchversion(Solvable*s, constchar*version);
// Add solvables satifying the version to whatprovides. Could it be derived from the solvable_alien_matchversion?Idpool_addrelproviders_alien(Pool*pool, Idname, Idevr, Queue*plist);
// Split a reldep into name/evrIdpool_alien_matchspec(Pool*pool, constchar*name);
// Add negative exclusion rules between `n` and `dep`voidadd_conda_constrains_rule(Solver*solv, Idn, Iddep, intdontfix);
// Some function to set solution priority (policy)
...
For repository specifications, the users could write their own repo_add_alien without requiring modification in libsolv.
Is that a reasonable view of how libsolv handles different format? Would you consider a PR that lets user define their own REL_ALIEN/DISTTYPE_ALIEN by providing function callbacks?
The text was updated successfully, but these errors were encountered:
Just a random remark: one of the really useful features is that the solver can write a testcase that can be analyzed later with the testsolv tool. That would no longer work with a custom version comparison.
Hello,
Say users would like to use the libsolv but have an extremely complicated or private versioning and dependency scheme (unicode why not, or some database lookup). What functions would they need to provide to work with libsolv?
Taking inspiration from
conda
functions (I am actually investigating this in the context of Mamba), it seems that around six functions would be required:For repository specifications, the users could write their own
repo_add_alien
without requiring modification inlibsolv
.Is that a reasonable view of how libsolv handles different format? Would you consider a PR that lets user define their own
REL_ALIEN
/DISTTYPE_ALIEN
by providing function callbacks?The text was updated successfully, but these errors were encountered: