Mailinglist Archive: opensuse-buildservice (349 mails)

< Previous Next >
Re: [opensuse-buildservice] patterns for speciffic build targets
  • From: Michal Marek <mmarek@xxxxxxx>
  • Date: Tue, 27 Nov 2007 15:46:19 +0100
  • Message-id: <200711271546.20208.mmarek@xxxxxxx>
On Monday 24 September 2007 16:04:16 Adrian Schröter wrote:
On Monday 24 September 2007 10:45:14 wrote Michal Marek:
Michal Marek wrote:
My problem is that I don't know how to restrict a pattern to just some
build targets. I created an Apache2_and_PHP5 pattern, but the resulting
Apache2_and_PHP5.ymp files of course show up everywhere. I'd like to
have different patterns with different descriptions for different build
combinations.
...
If not and if I find the time, would you accept a patch for this?

I think so, you should propose maybe your idea how you want to store this
information or what you would like to change for this in a brief mail
before.

OK, I'm back here.

===== idea 1 =====

My idea is to use the same <enable>/<disable> notation as used for packages,
obsoleting the <uservisible> tag. Eg.

<pattern
xmlns="http://novell.com/package/metadata/suse/pattern";
xmlns:rpm="http://linux.duke.edu/metadata/rpm";

<name>my pattern</name>
<summary>my packages</summary>
<description>my packages (standard build)</description>
<publish>
<disable repository="repo2" />
</publish>
....
</pattern>

<pattern
xmlns="http://novell.com/package/metadata/suse/pattern";
xmlns:rpm="http://linux.duke.edu/metadata/rpm";

<name>my pattern</name>
<summary>my packages</summary>
<description>my packages (special build)</description>
<publish>
<disable repository="repo1" />
</publish>
....
</pattern>

Of course, in real life we would have multiple <disable> lines and would have
to update them from time to time. Example (still shortened):

<description>PHP 5 (built against stock apache and mysql)</description>
<publish>
<!-- disable all but the base repositories -->
<disable repository="server_apache_openSUSE_10.2" />
<disable repository="server_apache_openSUSE_10.3" />
<disable repository="server_database_openSUSE_10.2" />
<disable repository="server_database_openSUSE_10.3" />
<!-- ... and so on for sles9, sles10, 10.0, 10.1, Factory... -->
</publish>

<description>PHP 5 (built against latest apache)</description>
<publish>
<!-- disable all but the server_apache_* repositories -->
<disable repository="openSUSE_10.2" />
<disable repository="openSUSE_10.3" />
<disable repository="server_database_openSUSE_10.2" />
<disable repository="server_database_openSUSE_10.3" />
<!-- ... and so on for sles9, sles10, 10.0, 10.1, Factory... -->
</publish>


===== idea 2 =====

Above is bettern than nothing, but quite too much typing and maintenance. So
another idea is to allow the <enable>/<disable> tags to select repositories
by some king of globbing or reqular expressions. Example:


<description>PHP 5 (built against stock apache)</description>
<publish>
<!-- disable all but the base repositories -->
<disable repository="server_apache_*" match="glob" />
<disable repository="server_database_*" match="glob" />
</publish>


<description>PHP 5 (built against latest apache)</description>
<publish>
<!-- disable all but the server_apache_* repositories -->
<disable />
<!-- AFAICS enable overrides disable in the current code, which fits our
needs -->
<enable repository="server_apache_*" match="glob" />
</publish>

What do you think? I can do the coding if you like the proposal :)

Michal
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages