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:
Adding links to related tickets:
Please also add:
Nice to have:
I've done all of this, and even more:
etc
Closing.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/688