I look for some more people who want to try our hopefully soon to be applied new source processing method for openSUSE:Factory and the maintenance updates to :Update projects. It should work good already, so you do not need to be brave ;)
You may know that currently all package source submissions to Factory and friends get SUSE in-house be reviewed, re-validated and reformated. You can see this in the additional "autobuild" commits in the openSUSE:Factory commits.
We plan to do following changes in future:
* We would like to do these steps out there and as soon as possible in future. This means in best case before any packager is commiting his changes the validating and reformating is done already. This avoids any possible merge problems, unnecessary commits and extra turn around times.
* these services can be code stream specific (unlike current osc_source_validator). That means we will be able to do better checks in future for Factory then for maintenance updates (where we need to stay compatible). And we do not need to take care about non-SUSE code streams, eg. Fedora or MeeGo people can still work and submit their changes to their projects or write their own services.
* In addition to existing checks, we want to track where upstream sources (tar balls) are comming from. So far we had the download_url source service, which downloaded files and stored them with _service: prefix what not everybody liked. The new and project wide working "download_files" service is just validate the URL's from the spec file. The new osc will commit these files as usual files and the server is just validating this. (People with low upstream bandwidth can still decide to skip the commit, the server will store it with prefix again.)
So, if everybody is using this current osc & source service stack, the source services will be used to do these steps, but there will be no _service* file(s) in your package sources.
And the last really SUSE in-house part of Factory development would be the legal review db, really everything else would be out there in build.o.o...
How to test this ? ==================
First of all you need the new services and a new osc installed. Please add the proper openSUSE:Tools project repo and install
zypper in obs-service-download_files obs-service-format_spec_file obs-service-source_validator
In addition to that please install "osc" from openSUSE:Tools:Unstable project. If you do not like to add the repo, just run
osc getbinaries openSUSE:Tools:Unstable osc $YOUR_REPO $YOUR_ARCH
and install the osc package manually.
To activate this for your entire devel project (it would work also per package) do
# osc co $YOUR_DEVEL_PROJECT _project # cd $YOUR_DEVEL_PROJECT/_project # cat > _service <<EOF <services> <service name="format_spec_file" mode="trylocal"/> <service name="download_files" mode="trylocal"/> <service name="source_validator" mode="trylocal"/> </services> EOF # osc addremove # osc ci -m "activate factory default source services"
Afterwards these services running on "osc build" and "osc commit" actions, if not disabled via CLI switch. Reformated spec files will be uploaded directly and in case of validation errors, osc will abort before commit/build'ing.
What happens to people with old osc version (0.130 and before) or just using the webui after activating these services ? Nothing. The services will run on the server only. => The source state will turn into "broken" if a validation error exists. => if tar ball is missing/different or spec file is different formated they will be visible with _service:* prefix again.
How to get rid of them again ? Just anyone with a current osc stack will merge these changes automatically on next commit and the server side generated files will disappear again.
If this testing phase works out fine, we will of course make a maintenance update for all these packages, so everybody should have a current stack.
I have activated this already for the openSUSE:Tools* projects and everything seems to work. And I found out that 3 out of 3 random packages from openSUSE:Factory contain broken Source: $URL lines ;)
Feel free to branch any openSUSE:Tools package into your branch and try to edit it. With the new osc you will use these local services automatically.