This might be surprising for one or the other, but I do have a big part of openSUSE:Factory built for hppa. What I have is a dedicated build service machine that does nothing but running a hppa build service and also 5 workers that do the build jobs.
The system is setup from the buildservice appliance which runs the machine from a USB stick. Else there is attached some local storage for all the sources and packages built. For more about this appliance, see openSUSE:Build Service Appliance.
To setup the system, a source project is needed as well as a base system that enables the different workers to do some work. This looks like the following:
<project name="HP-Factory"> <description> </description> <link project="openSUSE.org:openSUSE:Factory"/> <person role="maintainer" userid="Admin"/> <person role="bugowner" userid="Admin"/> <debuginfo> <disable/> </debuginfo> <build> <enable/> </build> <publish> <disable/> <disable repository="standard" arch="hppa"/> </publish> <repository rebuild="direct" linkedbuild="all" name="standard"> <path repository="standard" project="HP-Base"/> <arch>hppa</arch> </repository> </project>
- All the sources are taken from openSUSE.org from the project openSUSE:Factory. In other words, there is no need for me to care about updating packages other than those that I want to have different on my distribution.
- Publishing is not needed to run the build service. All the binaries can still be retrieved with osc getbinaries, and they are also found in
- There is a base project named HP-Base, that is needed to setup the chroot systems on my workers. This is not needed anymore when the packages are available in HP-Factory, but whenever one has to inject a package, this is the place where to accomplish this task.
Now I had the problem, that for some reason the package bash did not build correctly, and could not be used by the info package anymore. As you might imagine, this breaks any progress in building for this distribution. The solution to this is:
- Build bash manually on some worker. I like to keep some chroot system for manual builds with current packages. There one can use rpmbuild -ba to build the package manually.
- Copy the resulting package to the buildservice appliance below
- On the build service appliance, run
obs_admin –rescan-repository HP-Base standard hppa
After this, the build service starts its work again. One final note: I do this distribution only as a hobby, and it it is quite likely that this will never be published. If you are interested in this, distribution, I will be happy to give you any packages that I got so far. Please do not expect too much; you might be able to install everything if you can do all of it manually. There is no installation or configuration support by tools in place.
Of course it is also difficult for my view workers to build openSUSE:Factory. Commonly, I would need something like a week without checkins to be able to fully build those packages that can build. However, this does not happen too often.