Mailinglist Archive: opensuse-buildservice (126 mails)

< Previous Next >
Re: [opensuse-buildservice] The details for scheduling option "rebuild" in meta configuration
On Friday, February 27, 2015 07:17:24 AM Adrian Schröter wrote:
On Donnerstag, 26. Februar 2015, 15:05:27 wrote plinnell:
Hi,

Some comments inline, but I will say the automatic rebuilds triggered
in OBS are definitely a feature and not a defect :)
Peter, Many thanks for your help.
Your conclusion for rebuild is really clean, it assumed me the dependency
rebuild is needed:)

For the performance related issue, I think we can turn to another perspective
to evaluate it.
OBS is handy and easy to use for open source distribution, however for a
commercial product, it may still be slower.
Commercial product requires low-end package to be submitted frequently, that
will cause OBS to fully build all the packages every day.
And some package will not just built for once due to the dependency(for
example: A required B and C , then it will be rebuild twice after B and C are
built successfully).
Compare to android build system coupled with distributed compiling, it just
take half hour to finish the full build and image creation.
Is that possible that OBS can reach such fast delivery speed?

Our product is a mobile system, that implies the automation test will be more
difficult, we have to import more effort for manual test.
So to deliver our test team a new image time and again in one day have became
a major fact for improving the productivity for whole team.
Do you know if there are some successful case for that?

===================================================
Below is the hardware layout for my obs server:

OBS version: 2.3
8 local obs-worker are assigned this server, no remote worker are using.
Memory: 16GB
Hard Disk: 7TB
CPU: Intel E5-2650
====================================================

sure ;)

On Thu, 26 Feb 2015 16:26:38 +0800

Ji Xiang <jixiang@xxxxxxxxxxx> wrote:
On Thursday, February 26, 2015 08:26:09 AM Adrian Schröter wrote:
On Donnerstag, 26. Februar 2015, 14:59:21 wrote Ji Xiang:
Hello everyone,
I have been confused for long time in terms of the rebuild (or I
can say 'scheduling') mechanism of OBS.
The most confused point is why a full rebuild is needed for
software release on OBS.

Well if it is "needed" can always be discussed. But it is needed
_IF_ you want to be sure that you are able to rebuild it after
releasing it (eg. the newer gcc may just crash or header files
suddenly provide conflicting definitions). Also some changes could
apply which are not expressed in the dependencies of packages.

Many thanks for your kind of answer, do you mind give me a example
what kind of the change which are not included in the dependency?
The major reason I asked this question is we are using OBS, however
we found that it takes quite long time to do a full build(some
packages are built many times due to the dependency), and if there
are some changes happened at low layer(like glibc , qt etc), all the
packages will be built, we have to wait for long time. It can not met
the requirement of fast release process.

If glibc or Qt are rebuilt for some reason, you *defintely* want
packages which depend on them rebuilt. This the magic of OBS which
guarantees all packages publish in a coherent state. If you do not you
may have symbol mismatches or location errors among other nastiness.

It depends heavily on your expectations here. You can argue of course
that glibc and Qt must not become backward incompatible. Even worse
you may hide this incompability which is not acceptable for a stable
product.

Therefore we do NOT rebuild everything for stable products (aka maintenance
updates).

But we definitive want a rebuild for all upstream work. If there is a
breakage we want to know as early as possible. Not month later and
for sure not after the product got released.

Listen to talks from other distros who have the problem that a significant
number of packages which were part of a release do not actually build
anymore. And that is really the worst case scenaria when you need to do way
more changes in a released product then needed for a simple fix. It
increases the risk of side effects a lot and requires way more QA testing
then.
Adrian, many thanks for your suggestion.
Due to it is a commercial product. I think our exception is make our daily
release as rapid as possible, so I am thinking over to disable the dependency
rebuild for daily release. Small risk from it is acceptable.
But I am not sure if this kind of 'risk' is small enough to be accept.

I use the single OBS project hierarchy which contain 7 project to hold about
700 packages, more than 300 package are set to as project base, those will not
to be rebuild anymore.
According to you suggestion, seems it is not a good way for commercial
release:)



--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups