Hello,
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.
--
Adrian Schroeter
SUSE Linux Products GmbH
email: adrian(a)suse.de
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-factory+help(a)opensuse.org