On 16 June 2011 15:31, Adrian Schröter
Am Wednesday, 15. June 2011, 12:36:00 schrieb Jos Poortvliet: ...
There is no fundamental difference in making an RPM package from a specfile, compared with making a XML+TBZ package with 0compile.
In the .rpm, you have the metadata, signature and archive combined into one file while in ZI you have them separated into two files.
So, you prefer to compile and to build from scratch instead of building an rpm and converting it ?
No problem in general, but how would the base system be installed. I think there is not anything like a complete linux just build via 0install packages, right ?
So we would need to support some rpm/deb base system, adding more packages as build dependencies (rpm or 0 ?) and build the 0install package on top.
Hi Adrian, That's correct - there has to be some existing base system.
Sounds a bit of a mixture like an rpm build and a kiwi build to me.
Anders, Thomas, here is the documentation on adding a build target: http://en.opensuse.org/openSUSE:Build_Service_adding_build_targets
this is end-user information, not really OBS developer informations.
If you want to support the 0install xml files, you need to add support to the build script and it's parsing modules first. When this is done, one should be done to 90%
https://www.gitorious.org/opensuse/build/
The build script can work complete standalone, no need to setup an OBS to work on it.
Thanks for the link. It's easy enough to modify that script, provided that the VM/chroot has network access. It looks like the current sequence in the script is: 1. Process the .spec file on the host to get the build dependencies 2. Install build dependencies and other support RPMs into the chroot 3. Run build as abuild user within the chroot 4. Collect built objects (RPMs, etc) I think the ideal sequence for 0install would be: 1. Install support RPMs (zeroinstall-injector) into the chroot. 2. Run "0compile setup" in chroot as abuild user (with network access) 3. Run "0compile build" in chroot as abuild user (no network access needed) 4. Collect built objects (XML metadata file and tar.bz2 archive) Step 2 would download all build dependencies (RPMs and 0install packages). Presumably these should be cached somehow so that they outlive the chroot? That's easy enough for the 0install packages; either they can be downloaded inside the chroot and copied to the host ("0store copy"), or downloaded on the host. The host cache should be shared directly (e.g. using a bind mount, which could be read-only if necessary). However, the package selection really needs to happen inside the chroot because which dependencies it selects (and which metadata files it downloads) depends on the environment it's running in (OS, CPU, installed RPMs). Does that sound reasonable? Thanks, -- Dr Thomas Leonard http://0install.net/ GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org