[opensuse-buildservice] more newby questions: project / package structure?

Hi, how are projects and packages structured? is it a fixed "one name for the project and then one for the package" system, or are further subdirs possible? I wonder about this: recent discussions with rpm experts have shown me that merging several spec files into one only creates a horrible maintainence hell. also they have compelling arguments, that one rpm for all distributions was something they tried for years with lots of work, and it never worked well. so I see as best solution to have codenames (e.g. fc3,fc4,fc5, sles9, sles10, oss10.0, dapper, edgy, etch, sarge, ...) and for each distribution *.spec.$codename or *.diff.gz.$codename. but this would require work on the build system side, and I get the impression noone wants that. the alternative from my side would be per distro packages. e.g. instead of "openct" I could have packages "openct.fc" and "openct.os" and "openct.sles" and "openct.sarge" and so on, upload spec files for each. this wouldn't require changes in the code base, and give me the flexibility I need, so I can simply build new packages for my open source projects, with minimal changes to the last spec file the distribution provides. but that way the list of packages might grow very long. is it possible to structure projects/packages a different way (i.e. path mechanism, no flat one project, one package subdir structure)? Regards, Andreas --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On 2006-09-22 09:18:42 +0200, Andreas Jellinghaus wrote:
they are somewhat possible.
it really really depends. the main problems might be: paths for datadirs/users/init scripts but those can be easily handled by %if 0%{?dist_version} i would really appreciate if you could first analyze how big the differences are. and if you _really_ want those differences. if it boils down to a few %if ok. if not ... we will see how to solve your problem. atm the discussions feels a bit academic to me. just my 2 cents darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Fri, Sep 22, 2006 at 09:18:42AM +0200, Andreas Jellinghaus wrote:
You also get a horrible maintainence hell if you have lots of specfiles, because you'll have to keep them in sync if you add patches and the like.
right, that's why we have the build service. Automatically create rpms for lots of distributions.
I'm just preparing a patch that makes the build service look for <package-name>-<repository-name>.spec if a package contains multiple specfiles. So you can have a different specfile for every repository. I prefer a single specfile, though. Cheers, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Michael Schroeder wrote:
Excellent news! Please drop us a line when this is available. Cheers, +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Fri, Sep 22, 2006 at 01:45:30PM +0200, Thomas Anders wrote:
Should work now. Enjoy, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Michael Schroeder wrote:
Assumed I have <package-name>-<repo1>.spec and <package-name>.spec, will all repositories other than <repo1> use <package-name>.spec or will I have to submit dedicated <package-name>-<repository-name>.spec files for *each* of them? +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Sat, Nov 18, 2006 at 12:23:58AM +0100, Thomas Anders wrote:
Looks like you need a spec file for each of them, currently, as the code returns an error if the spec file selection is ambiguous. Maybe I should just sort them and return the first match? I.e.: 1) get a list of all spec files starting with <package-name>-<repo>, sort them, if the list is not empty, return first entry. 2) get a list of all spec files starting with <package-name>, sort them, if the list is not empty, return first entry. 3) get a list of all spec files, sort them, if the list is not empty, return first entry. Is that a good idea? Thanks, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On 2006-11-20 12:36:42 +0100, Michael Schroeder wrote:
i think searching for <package-name>-<repo>.spec should be enough. my proposal would be 1. look for <package-name>-<repo>.spec 2. look for <package-name>.spec 3. error out. you can still glob for all specfiles starting with either <package-name>-<repo> or <package-name>. but i would error out if the list is longer than 2. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Marcus Rueckert wrote:
This'd be sufficient for my needs at least. Is this something you'd be willing to implemented in a rather short term? +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Mon, Nov 20, 2006 at 12:51:07PM +0100, Marcus Rueckert wrote:
This would break hundreds of packages that use <package-name>-<version>.spec Cheers, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Michael Schroeder wrote:
Looks like you need a spec file for each of them, currently, as the code returns an error if the spec file selection is ambiguous.
I have <package-name>-Fedora_Extras_5.spec and <package-name>.spec, but BS currently uses <package-name>.spec for *all* repos, including Fedora_Extras_5. See project net-snmp, package net-snmp-main-snapshot for example. Is this to be expected, currently? +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Mon, Nov 20, 2006 at 05:00:27PM +0100, Thomas Anders wrote:
Eeek, a bug. *STOMP*. Works now. And it picks "<package-name>.spec" for the other repos. Cheers, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Michael Schroeder wrote:
Eeek, a bug. *STOMP*. Works now. And it picks "<package-name>.spec" for the other repos.
Confirmed. Thanks for the quick fix! +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Michael Schroeder wrote:
/me (dreaming) would also love to see the ability to use <package-name>-<repo_group>.spec, e.g. <package-name>-Fedora.spec for all Fedora_* repos. Whether this'd be implemented by prefix matching or other meta data that defines repo groups, is subject to further debate, of course. Then, again, I'm dreaming. +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On 2006-09-22 09:18:42 +0200, Andreas Jellinghaus wrote:
they are somewhat possible.
it really really depends. the main problems might be: paths for datadirs/users/init scripts but those can be easily handled by %if 0%{?dist_version} i would really appreciate if you could first analyze how big the differences are. and if you _really_ want those differences. if it boils down to a few %if ok. if not ... we will see how to solve your problem. atm the discussions feels a bit academic to me. just my 2 cents darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Fri, Sep 22, 2006 at 09:18:42AM +0200, Andreas Jellinghaus wrote:
You also get a horrible maintainence hell if you have lots of specfiles, because you'll have to keep them in sync if you add patches and the like.
right, that's why we have the build service. Automatically create rpms for lots of distributions.
I'm just preparing a patch that makes the build service look for <package-name>-<repository-name>.spec if a package contains multiple specfiles. So you can have a different specfile for every repository. I prefer a single specfile, though. Cheers, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Michael Schroeder wrote:
Excellent news! Please drop us a line when this is available. Cheers, +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Fri, Sep 22, 2006 at 01:45:30PM +0200, Thomas Anders wrote:
Should work now. Enjoy, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Michael Schroeder wrote:
Assumed I have <package-name>-<repo1>.spec and <package-name>.spec, will all repositories other than <repo1> use <package-name>.spec or will I have to submit dedicated <package-name>-<repository-name>.spec files for *each* of them? +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

On Sat, Nov 18, 2006 at 12:23:58AM +0100, Thomas Anders wrote:
Looks like you need a spec file for each of them, currently, as the code returns an error if the spec file selection is ambiguous. Maybe I should just sort them and return the first match? I.e.: 1) get a list of all spec files starting with <package-name>-<repo>, sort them, if the list is not empty, return first entry. 2) get a list of all spec files starting with <package-name>, sort them, if the list is not empty, return first entry. 3) get a list of all spec files, sort them, if the list is not empty, return first entry. Is that a good idea? Thanks, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (4)
-
Andreas Jellinghaus
-
Marcus Rueckert
-
Michael Schroeder
-
Thomas Anders