On 10/11/2013 06:04 PM, Mike McLean wrote:
The first thing I opted to tackle was dealing with Koji's
uniqueness
constraints for NVRs and NVRAs. My approach was to add namespaces for
builds. Within a given namespace, NVRs are still required to be unique,
but cross-namespaces conflicts are allowed. Additionally, within the
NULL namespace any number of conflicts are allowed.
Using namespaces allows folks that want NVR uniqueness to just stick
with the default namespace, but gives others the option of overlap.
I know there are some concerns about the wisdom of allowing NVR overlap
at all. If you have cocerns one way or the other, please raise them here.
Speaking for Copr:
Each new project in Copr, should create new namespace in Koji. So if two
identical NEVRA from two different namespaces would not raise conflict,
and two identical NEVRA from one namespace would raise conflict, then it
is everything I need.
Well - beside some API for namespaces. I need some API to create
namespace and some API to assign relation between koji tag and namespace.
BTW can you elaborate on relations between namespaces, koji tags and
build targets and build tags? Especially the last two are kind of fuzzy
for me.
And speaking completely general now:
I find quite useful if NEVRA uniqueness is enforced per koji tag. It
caught building from incorrect location in Katello and Spacewalk Koji
for several times.
But I find quite annoying that I could not build package with the same
NEVRA in Koji where build other teams and projects (unrelated to mine).
Those packages was build in different tag. They landed in different yum
repos. I do not trust that different team, so I do not want to re-tag. I
just want to build another package with the same NEVRA.
Of course - others can have different opinion. So if this can be driven
by some option in configuration file, then it would be cool. Especially
whether default namespace will be Foo or Null.
Mirek