Denis Arnaud
I first installed RedHat (version 5, in 1998) with Oracle 8, when that latter was delivered on Linux for the first time... on a small Pentium-based computer with 600MB of disk and 64MB of RAM, hence proving to my hierarchy that Linux was ready for professional use. I started to be involved in the Fedora building process by translating documents and package descriptions, and have become a packager in 2009.
Contact
- Location: Grasse, France (Paris Time, CET UTC+1 / CEST UTC+2)
- Email: mailto:denis.arnaud_fedora@m4x.org
- GPG key: Denis Arnaud (Fedora Packager)
- Fedora
- Fedora Account / FAS: denisarnaud
- Fedora VOIP: Extension #5105604 / SIP Address: sip:denisarnaud@fedoraproject.org
- Fedora People Page: http://denisarnaud.fedorapeople.org
- Fedora packages: http://src.fedoraproject.org/user/denisarnaud (deprecated: http://admin.fedoraproject.org/pkgdb/packager/denisarnaud/)
- Fedora builds (Koji): http://koji.fedoraproject.org/koji/userinfo?userID=denisarnaud
- Fedora updates (Bodhi): http://admin.fedoraproject.org/updates/user/denisarnaud
- Fedora Badges: http://badges.fedoraproject.org/user/denisarnaud
- Fedora COPR: http://copr.fedoraproject.org/coprs/denisarnaud/
- Fedora activity (DataGrepper): http://apps.fedoraproject.org/datagrepper/raw?user=denisarnaud
- Fedora IRC: nickname: denis___
- GitHub: denisarnaud
- SourceForge: denis_arnaud
- Ohloh: denis_arnaud
- Launchpad (e.g., for OpenStack): denis-arnaud-lp
- StackOverflow: denis-arnaud
- Geonames: denis.arnaud
- Twitter: denis_arnaud
- Skype: denis.arnaud100
- Google Talk: denis.arnaud
- Yahoo! Messaging: denis_arnaud
- AIM: darnaud100
- Blog: http://fossdev.blogspot.com
- Local Meetup/FUG: https://www.meetup.com/Fedora-User-Group-NRW
Activities within Fedora
Packaging with Docker Images
- Fedora/EPEL Packaging Docker images:
- Docker RPM builder by Alan Franzoni
Boost
- Co-maintainers:
- Official mainstream package: Jon Wakely (old:
Petr Machata) - Specific packages on EPEL: Haikel Guemar, Robert Scheck
- Official mainstream package: Jon Wakely (old:
- Boost-1.69 for EPEL 7:
- Boost-1.59 for EPEL 7:
- Boost-1.59 Review request in Bugzilla (submitted by Haikel Guemar)
- Boost-1.57 for EPEL 5 to 7:
- Boost-1.48 for EPEL 5 and 6 (EPEL 7 has got Boost-1.53):
- Review Request for Boost.Nowide, by James Hogarth
Boost Releases in Fedora
- Boost 1.72 Feature for Fedora 32 (to be completed in February 2020)(Boost 1.72 to be released early December 2019 / Track the Boost releases on GitHub)
- Boost 1.70 Feature for Fedora 31 (to be completed in September 2019) (Boost 1.70 released on the 12 April 2019)
- Boost 1.69 Feature for Fedora 30 (completed in January 2019) (Boost 1.69 released on the 12 December 2018)
- Boost 1.67 Feature for Fedora 29 (completed in July 2018) (Boost 1.67 released on the 14 April 2018)
- Boost 1.66 Feature for Fedora 28 (completed in February 2018)(Boost 1.66 released on the 18 December 2017)
- Boost 1.64 Feature for Fedora 27 (completed in July 2017)(Boost 1.64 released on the 19 April 2017)
- Boost 1.63 Feature for Fedora 26 (completed in February 2017)(Boost 1.63 released on the 26 December 2016)
- Boost 1.61 Feature for Fedora 25 (completed in August 2016)(Boost 1.61 released on the 13 May 2016)
- Boost 1.60 Feature for Fedora 24 (completed in February 2016)(Boost 1.60 released on the 17 December 2015)
- Boost 1.58 Feature for Fedora 23 (completed in August 2015)(Boost 1.59 was not ready in time)
- Boost 1.57 Feature for Fedora 22 (completed in February 2015)(Boost 1.58 was not ready in time)
- Boost 1.55 Feature for Fedora 21 (completed in June 2014)(Boost 1.56 was not ready in time)
- Boost 1.54 Feature for Fedora 20 (completed in October 2013)
- Boost 1.53 Feature for Fedora 19 (completed in March 2013)
- Boost 1.50 Feature for Fedora 18 (completed in October 2012)
- Boost 1.48 Feature for Fedora 17 (completed in February 2012)
- Boost 1.47 Feature for Fedora 16 (completed in September 2011)
- Boost 1.46 Feature for Fedora 15 (completed in early 2011)
- Boost 1.44 Feature for Fedora 14 (completed mid 2010)
- Boost 1.41 Feature for Fedora 13 (completed in early 2010)
- Boost-1.41 for EPEL 4/5 Review Request (completed mid 2011)
Helper tools for Boost building on Fedora Rawhide
Modularized Boost
- Boost super-project GitHub repository
- Getting Started with Modular Boost
- Contribution Tutorial for Boost.Geometry (as an example of Boost module)
Projects on Copr
Bringing and maintaining a few packages to Fedora
- My own open source software:
- Hypertable: RE2, the fast C++ alternative to backtracking RE engines (PkgApp / PkgSrc / Google code)
- OpenTREP (Documentation on SF, BZ Review Request, Release engineering for Git repo creation), OpenTravelData and OpenGeo++
- Airline Travel Market simulation project:
- TvlSim, the Travel Simulator umbrella component: Documentation on SF, BZ Review Request
- RMOL, the Revenue Management Open C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- StdAir, the Standard Airline IT C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- AirTSP, the Airline Travel Service Provider C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Rename Request. Formerly known as AirSched: PkgApp, PkgSrc, BZ Review Request
- AirInv, the Airline Inventory C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- TravelCCM, the Travel Customer Choice Modeling (CCM) C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- TraDemGen, the Travel Demand Generator C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- SEvMgr, the Simulation-Related Discrete Event Management C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- AirRAC, the Airline Revenue Accounting C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- SimFQT, the Simulated Pricing System C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- SimCRS, the Simulated Reservation System C++ Library: PkgApp, PkgSrc, Documentation on SF, BZ Review Request
- AvlCal, the Airline Availability Calculation C++ Library: Documentation on SF, Not submitted as a Fedora package yet
- SimLFS, the Simulated Low Fare Search System C++ Library: Documentation on SF, Not submitted as a Fedora package yet
- Extra CPPUnit and CruiseControl Tools
- Some others which have made their way into Fedora:
- WSDLPull: PkgApp, PkgSrc, BZ Review Request
- SOCI: PkgApp, PkgSrc, BZ Review Request
- R packages:
- Some others not yet in Fedora (e.g., BLCR, Eucalyptus, Slurm)
- Helper to upgrade ZeroMQ from version 2.x to 3.2: http://zeromq.org/docs:3-1-upgrade . See also the review request for zeromq2.
Scientific Spin
Translations (into French)
A few quick links on Fedora packages (to ease my maintenance tasks)
- First of all:
- A link to the wonderful Fedora Community platform (not enough advertised!)
- A link to another wonderful Fedora application for search and information about packages (same comment as above)
- Full list of packages waiting for a reviewer here.
- List of my packages available in Fedora.
- List of my packages that have passed review, are under review or await review.
- List of (open or closed) reviews for my packages.
- Reviews I have done: see full list or just packages under review or packages that have passed review.
Specific packaging procedures
- Create a build tag
- Release engineering on Pagure (for instance, to create tickets)
- Fedora release engineering on Freenode IRC
- RPM Macros for Python packages
Ongoing tasks
Upgrade of RE2
Some references, as provided by Marek Milkovic (alias metthal) and Lukas Vrabec (alias wrabcak):
- https://twitter.com/dev_metthal/status/1154432178719272960?s=20
- https://apps.fedoraproject.org/packages/re2
- https://twitter.com/dev_metthal/status/1154432178719272960
- https://bugzilla.redhat.com/show_bug.cgi?id=1672014
- https://github.com/google/re2/
A few statuses:
- Fedora package sources: https://src.fedoraproject.org/rpms/re2
- Pull request for the package upgrade: https://src.fedoraproject.org/rpms/re2/pull-request/1#
- Fedora package update (Bodhi): https://bodhi.fedoraproject.org/updates/?packages=re2
- Fedora package updates:
- Fedora Rawhide (31): https://bodhi.fedoraproject.org/updates/FEDORA-2019-815f37e7fe
- Fedora 30: https://bodhi.fedoraproject.org/updates/FEDORA-2019-a49097c021
- Fedora 29: https://bodhi.fedoraproject.org/updates/FEDORA-2019-0f5dd9fe0d
- EPEL 8: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-648f6bc55e
- EPEL 7: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-6df6efa695
- RE2 packages for various Fedora releases: https://apps.fedoraproject.org/packages/re2
- Koshei status: https://apps.fedoraproject.org/koschei/package/re2
- Build statuses: https://koji.fedoraproject.org/koji/packageinfo?packageID=15534
- Successful builds:
- Fedora Rawhide (31): https://koji.fedoraproject.org/koji/taskinfo?taskID=36803504
- Fedora 30: https://koji.fedoraproject.org/koji/taskinfo?taskID=36803670
- Fedora 29: https://koji.fedoraproject.org/koji/taskinfo?taskID=36803740
- EPEL 8: https://koji.fedoraproject.org/koji/taskinfo?taskID=36803798
- EPEL 7: https://koji.fedoraproject.org/koji/taskinfo?taskID=36803953
Rebuild of dependent packages
- Fedora 30:
repoquery --whatrequires re2 --tree --recursive perl-re-engine-RE2 qt5-qtwebengine
- Builds:
- Rawhide:
- perl-re-engine-RE2 (successful): https://koji.fedoraproject.org/koji/taskinfo?taskID=36863602
- qt5-qtwebengine (failed): https://koji.fedoraproject.org/koji/taskinfo?taskID=36848498
- Rawhide:
Completed tasks
Changes/F31Boost170
The task has been given up, as neither Jon nor I have bandwidth for it.
July 2019 - Python 3.8 for Fedora 31
Testing and mass rebuild of packages is happening in COPR. You can follow these instructions to test locally in mock if your package builds with Python 3.8: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/
- RMOL fails to rebuild with Python 3.8
- Builds for RMOL with Python 3.8: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/rmol/
- TraDemGen fails to rebuild with Python 3.8
- Builds for TraDemGen with Python 3.8: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/trademgen/
Material for Reviews
Tracking of Package Requests
- New Review Requests, waiting for review (Cached for faster access)
- Review requests needing a sponsor
- Packages Currently Under Review (Cached for faster access)
- Packages Reviewed but not Closed
- General Cache for the Package Review Status
Documentation
Packaging
General
- Welcome page for the package maintainers
- Packaging guidelines in Fedora Docs (deprecated: Packaging Guidelines on Fedora Wiki), and their source code on Pagure.io
- Review guidelines
- Packaging tricks
- Changes Policy
Specific guidelines
- Deprecated: PackageDB admin requests - fedpkg is now used to manage Fedora packages
- RPM macros (deprecated: RPM macros)
- SourceURL → Git Hosting Services (deprecated: Source URL → GitHub source URL)
- CMake (deprecated: CMake)
- Python / Python appendix / Python Eggs (deprecated: Python / Python Appendix / Python Eggs)
- R (old: R)
- MPI (deprecated: MPI)
- MinGW (deprecated: MinGW / MinGW future)
- Scriptlets (deprecated: Scriplets/Snippets)
- Naming (deprecated: Naming)
- Patch upstrem status (deprecated: Patch upstream status)
- Licensing (deprecated: Licensing Guidelines and Fedora Licensing)
- Modularity
Package testing
Package updating
Package renaming
Package retiring
Build Side Build Targets/Tags
- SOP - Adding side build targets
- Example with Boost1.69 on Fedora 30:
Reviews
- Package Review Guidelines
- Package Review Process
- PackageDB admin requests
- Package Review SIG
- Tom "Spot" Callaway's Review Cheat Sheet
Compositions / Collections
Tools
- Docker images for Fedora Packaging
- Koji how-to
- Bodhi-client how-to
- Fedora Easy Karma (f-e-k)
- Fedora-Review tool
- Create a new rel-eng ticket
- mockchain use cases and examples (April 2012)
- RPath Packaging Draft
- IRC
Package information pages (and database)
Hacking on Fedora/RedHat/CentOS
NoSQL
- Big Data SIG packages:
- NoSQL SIG
- Hypertable
Virtualisation / Cloud Computing
General
Cloud SIG
Cloud solutions submitted to Fedora
- Marketing material
- Fedora 17 feature: XAPI / Xen tool stack
- Fedora 16 feature: Aeolus
- Eucalyptus (AWS-compatible IaaS)
- Docker Cloud Image
- Cloud image creation with Koji's Image Factory
- Fedora 17 feature: Open vSwitch
- GSOC 2012 - Bringing the Cloud to the Fedora Desktop
- OpenStack
- OpenStack in Fedora
- OpenStack status reports
- Getting started with OpenStack
- Getting started with OpenStack (Grizzly) on Fedora 19 (Test Day:2013-04-02 OpenStack)
- Getting started with OpenStack (Folsom) on Fedora 18 (Test Day:2012-09-18 OpenStack)
- Getting started with OpenStack (Essex) on Fedora 17 / My own hands on guide for OpenStack on Fedora 17
- Getting started with OpenStack Nova
- Getting started with OpenStack on EPEL (CentOS/RedHat)
- Set up and (QA) test of Quantum v2
- devstack
- Installing and running OpenStack Horizon Dashboard
- Fedora 19 feature: OpenStack Grizzly (next stable release)
- Fedora 18 feature: OpenStack Folsom (current stable release)
- OpenShift Origin
- Fedora 18 feature: OpenShift Origin (OpenShift on top of OpenStack)
- [2012-03-08] OpenStack Test Day
- Fedora 18 feature: OpenStack using Oz for image building
- oVirt packaging
- Fedora 17 feature: OpenNebula
- CloudStack
- Fedora 15 feature: BoxGrinder
- CloudFS / Fedora 16 feature: HekaFS
- Fedora 16 feature: Sheepdog
- Cloud images (mainly for Amazon EC2)
Amazon (EC2)
Create Vagrant Images
- Vagrant images are built in Koji with the "CreateImage" method, which calls ImageFactory.
- That is fed by a kickstart (e.g., like https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-cloud-base-vagrant.ks), from the spin-kickstarts repository (https://git.fedorahosted.org/cgit/spin-kickstarts.git)
- An image comes out the other side, like this: http://koji.fedoraproject.org/koji/taskinfo?taskID=9832786
- The ImageFactory command looks like:
imagefactory --debug base_image --parameter generate_icicle false tdl-ppc64le.xml --file-parameter install_script f22-rc3-base.ks
Tools
- (third party) Review helper tool
- Fedora active user Python script (see also the corresponding Git repository)
- Get the tree of dependencies of any given package:
repoquery --requires --recursive --output=ascii-tree pkgname
Brainstorming Section about Packaging
Layered build scripts for package maintainers
Using Git Work-flow for Packaging
- Building Debian packages with a Git workflow using "git-buildpackage":
- Keeping patches as commits on a "patch-queue" branch:
- Another tool for managing Debian packages with Git, "git-dpm":
- Recent discussions on Git packaging workflows in Debian:
- TopGit, a patch-queue manager:
- Recent discussions in Fedora about that subject:
- Proposal to add version control key within the specification file