Xpra: Ticket #688: build script for rpm packages

We need a script to automate the build process of the el5, el6, fedora 19, and fedora 20 repository using mock.

The script uses mock to builds packages using srpms. Currently, the srpms must be generated manually and placed in SRPM_DIR.

Each package that is built gets moved to a local repository which mocks is configured to look at. This allow for repository dependent packages.

Two repositories get built for each distro/version: main and build. build contains build dependencies such as Cython and yasm which we do not want to distribute.

Just dumping what I've done this weekend. Looking for some general feedback (is there something glaringly wrong, sound approach, etc...).

Example Output:

$ python pkg_xpra.py
==== building packages for fedora 20 ====
building x264-xpra-20140909-1.fc20.src.rpm
building ffmpeg-xpra-2.3.3-1.fc20.src.rpm
building libfakeXinerama-0.1.0-3.fc20.src.rpm
building xorg-x11-drv-dummy-0.3.6-11.xpra1.fc20.src.rpm
building PyOpenGL-3.1.0final-1.fc20.src.rpm
building PyOpenGL-accelerate-3.1.0-1.fc20.src.rpm
building python-lz4-0.7.0-0.fc20.src.rpm
building python-pillow-2.5.3-1.fc20.src.rpm
building python-netifaces-0.10.4-2.fc20.src.rpm
building xpra-0.14.7-1.fc20.src.rpm
WARNING: FAILED TO BUILD PACKAGES!!
  python-lz4
==== finished building packages for fedora 20
==== building packages for el 6 ====
no source rpms found for yasm
building Cython-0.21-2.fc20.src.rpm
building x264-xpra-20140909-1.fc20.src.rpm
no source rpms found for libvpx-xpra
no source rpms found for libwebp-xpra
building ffmpeg-xpra-2.3.3-1.fc20.src.rpm
building libfakeXinerama-0.1.0-3.fc20.src.rpm
building xorg-x11-drv-dummy-0.3.6-2.xpra1.el6.src.rpm
building PyOpenGL-3.1.0final-1.fc20.src.rpm
building PyOpenGL-accelerate-3.1.0-1.fc20.src.rpm
building python-lz4-0.7.0-0.fc20.src.rpm
building python-pillow-2.5.3-1.fc20.src.rpm
building python-netifaces-0.10.4-2.fc20.src.rpm
building python-crypto-2.6.1-2.el6.src.rpm
building xpra-0.14.7-1.fc20.src.rpm
WARNING: FAILED TO BUILD PACKAGES!!
  yasm
  libvpx-xpra
  libwebp-xpra
  python-lz4
  xpra
==== finished building packages for el 6
$ ls repos/el6/{build,main}/x86_64/ -1 | grep -v debug
repos/el6/build/x86_64/:
Cython-0.21-2.el6.x86_64.rpm
repodata
repos/el6/main/x86_64/:
ffmpeg-xpra-2.3.3-1.el6.x86_64.rpm
ffmpeg-xpra-devel-2.3.3-1.el6.x86_64.rpm
libfakeXinerama-0.1.0-3.el6.x86_64.rpm
PyOpenGL-3.1.0final-1.el6.noarch.rpm
PyOpenGL-accelerate-3.1.0-1.el6.x86_64.rpm
PyOpenGL-Tk-3.1.0final-1.el6.noarch.rpm
python-crypto-2.6.1-2.el6.x86_64.rpm
python-netifaces-0.10.4-2.el6.x86_64.rpm
python-pillow-2.5.3-1.el6.x86_64.rpm
python-pillow-devel-2.5.3-1.el6.x86_64.rpm
python-pillow-doc-2.5.3-1.el6.noarch.rpm
python-pillow-qt-2.5.3-1.el6.x86_64.rpm
python-pillow-sane-2.5.3-1.el6.x86_64.rpm
python-pillow-tk-2.5.3-1.el6.x86_64.rpm
repodata
x264-xpra-20140909-1.el6.x86_64.rpm
x264-xpra-devel-20140909-1.el6.x86_64.rpm
xorg-x11-drv-dummy-0.3.6-2.xpra1.el6.x86_64.rpm

Obviously I am missing some source rpms.

Things to do:



Mon, 22 Sep 2014 01:36:34 GMT - pyther: attachment set


Mon, 22 Sep 2014 06:16:20 GMT - Antoine Martin: owner changed

Adding links to related tickets:

Please also add:

Nice to have:


Mon, 27 Oct 2014 17:49:42 GMT - Antoine Martin: status changed; resolution set

I've done all of this, and even more:

etc

Closing.


Sat, 23 Jan 2021 05:03:02 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/688