On 1/17/22 02:54, Michael Lange wrote: (...) > > So maybe this argument is case sensitive and changing "origin" into > "Origin" may fix the issue? >
Hello Michael, Thanks for the suggestion. Unfortunately it does not work. I had actually dug into the source a tiny bit before posting: Unlike the file parsing interface (ReadPinfile) in libapt, which performs a case-insensitive compare, the Python interface to CreatePin checks for either "Origin" or "origin": static PyObject *policy_create_pin(PyObject *self, PyObject *args) { pkgVersionMatch::MatchType match_type; const char *type, *pkg, *data; signed short priority; if (PyArg_ParseTuple(args, "sssh", &type, &pkg, &data, &priority) == 0) return 0; pkgPolicy *policy = GetCpp<pkgPolicy *>(self); if (strcmp(type,"Version") == 0 || strcmp(type, "version") == 0) match_type = pkgVersionMatch::Version; else if (strcmp(type,"Release") == 0 || strcmp(type, "release") == 0) match_type = pkgVersionMatch::Release; else if (strcmp(type,"Origin") == 0 || strcmp(type, "origin") == 0) match_type = pkgVersionMatch::Origin; else match_type = pkgVersionMatch::None; policy->CreatePin(match_type,pkg,data,priority); HandleErrors(); Py_RETURN_NONE; } Direct re-testing also fails. Best, Antonio > Best regards > > Michael