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.
<name>my pattern</name>
<summary>my packages</summary>
<description>my packages (standard build)</description>
<publish>
<disable repository="repo2" />
</publish>
....
</pattern>
<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@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org