#688 closed enhancement (fixed)
build script for rpm packages
Reported by: | pyther | Owned by: | pyther |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | packaging | Version: | trunk |
Keywords: | Cc: |
Description
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:
- support building point releases of EL6 (6.3, 6.4)
- support for options to specify BUILD_ROOT and SRPM_DIR
- option to be verbose
- mock logs for each package that is built. Currently, mock logs are append to build.log, root.log, or state.log for a given distro/version.
- improve script documentation
- build SPRMS from specs in trunk/rpm_build
Attachments (1)
Change History (4)
Changed 6 years ago by
Attachment: | pkg_xpra.py added |
---|
comment:1 Changed 6 years ago by
Owner: | changed from Antoine Martin to pyther |
---|
comment:2 Changed 6 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I've done all of this, and even more:
- sound packages for mp3 support
- pycuda for nvenc3 / nvenc4 builds in trunk no longer require the CUDA SDK at runtime
- version bumps..
etc
Closing.
comment:3 Changed 2 days ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/688
Adding links to related tickets:
Please also add:
Nice to have: