Adding `branches' to VuXML

Jacques A. Vidrine nectar at FreeBSD.org
Thu May 6 09:29:56 PDT 2004


Hi All,

Robert Nagy of OpenBSD requested the addition of `branches' to
VuXML.  I expected that he would be posting a proposal here, but since I
haven't seen it I'll give it a shot on my own.

In FreeBSD, we do not branch the Ports Collection like we do the base
system.  However, it seems that OpenBSD's Ports & Packages Collection
*does* use branches.  Thus, it is possible for a security issue to
affect foo-1.1 in branch BRANCH_X, but not foo-1.1 in BRANCH_Y.
Currently, it is not possible to express this in VuXML, short of
maintaining separate VuXML files for each branch (e.g. branching the
VuXML file, also).

So, here is a suggested extension by example.

The <package> element in VuXML 1.1 has two child elements, <name> and
<range>.  These behave as a kind of cross-product: it expresses that
the affected packages are all of those combinations of name and range.
e.g.

   <package>
     <name>foo</name>
     <name>bar</name>
     <range><ge>2.0</ge><lt>2.2</lt></range>
     <range><lt>1.5</lt></range>
   </package>

expresses that these ranges are affected:

           foo < 1.5
    2.0 <= foo < 2.2
           bar < 1.5
    2.0 <= bar < 2.2

(Note also that there can be multiple <package> elements for an issue.)

So one possibility would be to add a <branch> child element:

  <!-- foo-1.1 and earlier on BRANCH_X and BRANCH_Y are
       affected.  BRANCH_Z and others are not affected. --->
  <package>
    <branch>BRANCH_X</branch>
    <branch>BRANCH_Y</branch>
    <name>foo</name>
    <range><le>foo-1.1</le></range>
  <package>

The content model for <package> and <system> are the same.  I wonder if
the optional presence of the <branch> child element for <system> will
cause any confusion?  Right now, for issues that affect the FreeBSD base
system, we just use version numbers without reference to the branch.
e.g.
      <system>
	<name>FreeBSD</name>
	<range><ge>5.0</ge><lt>5.2_6</lt></range>
	<range><ge>4.9</ge><lt>4.9_6</lt></range>
	<range><ge>4.0</ge><lt>4.8_19</lt></range>
      </system>

Anyway ... comments?
-- 
Jacques Vidrine / nectar at celabo.org / jvidrine at verio.net / nectar at freebsd.org


More information about the freebsd-vuxml mailing list