[opensuse-buildservice] Adding a distribution support from scratch
Hi, I'd like to add support for Pardus to OBS. Pardus is not an RPM based distribution, it has its own package format and packaging tools. I've been digging around the internet, openSUSE portal and gitorious for a few days but I can't really find a documentation. So we have, OSC - the client OBS - the build service build - build script which builds RPM packages in a sandbox I'm planning to use the provided OBS appliances to add support for Pardus packages instead of preparing whole build-service related packages for Pardus from scratch. So the host will be an openSUSE OBS appliance for now, not Pardus.
From what I've understand, that OBS appliance should be able to build Pardus packages on its own. So I'll have to port the related tools and dependencies to that environment first. That's not a big issue, it's just preparing a few RPM packages and installing them over openSUSE.
The hard part is to teach the OBS how to build Pardus packages. Should I prepare a functionally equivalent build script for Pardus similar to what rests at: http://gitorious.org/opensuse/build/trees/master Finally, is the whole process of giving support for Pardus packages feasible? Is the build service and the lower layers are modular/flexible enough to add that support or will this be too invasive for a non-RPM distribution? Thanks, Regards. -- Ozan Caglayan Pardus Linux http://www.pardus.org.tr/eng -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Hi;
Am Tue 10 May 2011 06:14:05 PM CEST schrieb Ozan Çağlayan
Hi,
I'd like to add support for Pardus to OBS. Pardus is not an RPM based distribution, it has its own package format and packaging tools.
I've been digging around the internet, openSUSE portal and gitorious for a few days but I can't really find a documentation.
I am glad you are interested in this. Me with the two students from COMU (http://comu.edu.tr) has setup build-service@googlegroups.com mailing list to discuss Pardus support for OBS. Please join the discussion there and feel free to throw in your ideas/code. I am at LinuxTag atm but promise to engage in the discussion soon ;) Regards. -- Ismail Dönmez - openSUSE Booster SUSE LINUX Products GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Am Tuesday, 10. May 2011, 19:14:05 schrieb Ozan Çağlayan:
Hi,
I'd like to add support for Pardus to OBS. Pardus is not an RPM based distribution, it has its own package format and packaging tools.
I've been digging around the internet, openSUSE portal and gitorious for a few days but I can't really find a documentation.
So we have,
OSC - the client OBS - the build service build - build script which builds RPM packages in a sandbox
I'm planning to use the provided OBS appliances to add support for Pardus packages instead of preparing whole build-service related packages for Pardus from scratch. So the host will be an openSUSE OBS appliance for now, not Pardus.
From what I've understand, that OBS appliance should be able to build Pardus packages on its own. So I'll have to port the related tools and dependencies to that environment first. That's not a big issue, it's just preparing a few RPM packages and installing them over openSUSE.
yep, we may take them into openSUSE:Tools project later on, when OBS is supporting pardus.
The hard part is to teach the OBS how to build Pardus packages. Should I prepare a functionally equivalent build script for Pardus similar to what rests at: http://gitorious.org/opensuse/build/trees/master
That is the best place to start.
Finally, is the whole process of giving support for Pardus packages feasible? Is the build service and the lower layers are modular/flexible enough to add that support or will this be too invasive for a non-RPM distribution?
I think so. We support already also debian and kiwi packages beside rpm. if you do the work and adapt the build package, we should be also able to help you easily with the obs server itself. The build package has basically followin important parts: * the setup of a build enviroment - preinstall: unpacking of binary packages without running scripts - install: jump inside chroot/xen/kvm and do a real installation of all packages. * perl module to - parse binary package headers (to get their provides and require strings) - parse build description (what is the spec file in rpm case) If you can support this with build (and you can test it standalone) you have done the biggest part. The obs-server and osc should be straight forward afterwards and as said before, we can help you then with that. welcome :) adrian
Thanks, Regards.
-- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
11-05-2011 10:54 tarihinde, Adrian Schröter yazdı:
I think so. We support already also debian and kiwi packages beside rpm.
I think one big issue is that current OSC/OBS doesn't support pushing a sub-directory under a package. In Pardus you have separate files and directories for a source package. Patches and all additional files resides in files/, some Pardus specific scripts (like post-install and service) resides in comar/. How can we resolve this limitation? -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Am Thursday, 12. May 2011, 14:49:07 schrieb Ozan Çağlayan:
11-05-2011 10:54 tarihinde, Adrian Schröter yazdı:
I think so. We support already also debian and kiwi packages beside rpm.
I think one big issue is that current OSC/OBS doesn't support pushing a sub-directory under a package. In Pardus you have separate files and directories for a source package. Patches and all additional files resides in files/, some Pardus specific scripts (like post-install and service) resides in comar/. How can we resolve this limitation?
I don't see a solution in short term, because our REST api would not work with subdirectories. It was a wanted limitation in the beginning to keep it simple and easy to integrate (and we did not needed it for our package formats). A possible way would be to define filenames like pardus_files_$NAME and/or pardus_comar_$NAME which would copied to the directory during build. -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 16/05/11 10:40, Adrian Schröter wrote:
Am Thursday, 12. May 2011, 14:49:07 schrieb Ozan Çağlayan:
11-05-2011 10:54 tarihinde, Adrian Schröter yazdı:
I think so. We support already also debian and kiwi packages beside rpm.
I think one big issue is that current OSC/OBS doesn't support pushing a sub-directory under a package. In Pardus you have separate files and directories for a source package. Patches and all additional files resides in files/, some Pardus specific scripts (like post-install and service) resides in comar/. How can we resolve this limitation? I don't see a solution in short term, because our REST api would not work with subdirectories. It was a wanted limitation in the beginning to keep it simple and easy to integrate (and we did not needed it for our package formats).
A possible way would be to define filenames like
pardus_files_$NAME
and/or
pardus_comar_$NAME
which would copied to the directory during build.
Why not upload the files as a $package.pardus.tar.gz like debs do for the files under /debian/ ? Tejas -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 16.05.2011 13:15, Tejas Guruswamy wrote:
Why not upload the files as a $package.pardus.tar.gz like debs do for the files under /debian/ ?
That is also a solution but this will avoid people looking at those files/patches through the OBS web ui, am I wrong? I'd rather add a patch to our packaging system to fallback to the current directory if the files/ or comar/ directories does not exist or patch OBS to optionally support sub-directories. -- Ozan Caglayan Pardus Linux http://www.pardus.org.tr/eng -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (4)
-
Adrian Schröter
-
Ismail Doenmez
-
Ozan Çağlayan
-
Tejas Guruswamy