Into Fedora RPM packages Lubomir Rintel Presented by Fedora Package Maintainer Creative Commons Attribution-ShareAlike license applies. Packaging Gems.

Slides:



Advertisements
Similar presentations
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Advertisements

Summer Student presentation Changing Dashboard build system to Bamboo Robert Varga IT/SDC
Biopackages.net Operating System Packages for Bioinformatics Allen Day
Concepts of Version Control A Technology-Independent View.
Package Managers What are they and why we use them.
Downloading & Installing Software Chapter 13. Maintaining the System Yum Pirut BitTiorrent Rpm Keeping Software Up To Date Up2date Red Hat Network Wget.
Linux Operations and Administration
Dustin Harman VM Workshop 2015 RPM Basics. What is RPM? Red Hat Package Manager Native package manager on RHEL, Fedora, SUSE, some Mandriva RPM/SRPM files.
Introduction to Versioning
Package Management How to use rpms. Topics The Problem of Software Installation Package Management Systems Using RPM Finding RPMs Building RPMs.
Glynn Edwards SAA – August 22, 2015 Director, ePADD Project Archival Stewardship of using ePADD Software.
Michael Still Google Inc. October, Managing Unix servers the slack way Tools and techniques for managing large numbers of Unix machines Michael.
March 11, 2008 USCMS Tier-2 Workshop Oh Dear God Alain made a PowerPoint presentation 1.
DevelopersCommitters Users I’m getting the following exception…. Anybody have any clue why??? +1, I like that idea… Source & Binary Code Repository Bug.
OAIS Rathachai Chawuthai Information Management CSIM / AIT Issued document 1.0.
Microsoft Management Seminar Series SMS 2003 Change Management.
GLite build and integration system Building and Packaging Robert HARAKALY
EMI is partially funded by the European Commission under Grant Agreement RI SA2 – Development Tools Andres Abad Rodriguez SA2.4 Tools Activity Leader.
Tanner Lovelace – Slide 1 RPM Packaging 101 Tanner Lovelace Triangle Linux Users Group 11/Jan/2003.
Nexus XP Death Care Management Software for Tomorrow.
Collection Management Systems
Welcome to Snap! Below the Line Decal Facilitated By: Zachary McPherson and Bao Xie.
GLite build and integration system Building and Packaging Robert HARAKALY
SCD Monthly Projects Meeting 2014 Scientific Linux Update Rennie Scott January 14, 2014.
Introduction to FFI: Why and how FFI was developed Introduction to FFI: Why and how FFI was developed 04/02/2013.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Towards an Information System Product Team.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
Tito Miroslav Suchý Red Hat
Luke Macken [ bodhi ]. ● History of Fedora updates ● bodhi ● goals ● features ● architecture ● using ● testing/qa ● hacking ● future ideas [ overview.
And how to avoid it Tom “spot” Callaway Presented by Fedora Engineering Manager This presentation is licensed under a Creative Commons Attribution-Share.
Getting Started in RPM Packaging Izhar Firdaus / KageSenshi Contributor Fedora Project
The firmware-tools project Matt Domsch Michael Brown.
EPEL All Hands Meeting, Padova, Mattias Ellert Uppsala University.
Perl in RPM-Land Dave Cross Magnum Solutions Ltd YAPC::Europe 15 th August 2008.
1 April 2, Software Packaging and Releasing Best Practices William Cohen NCSU CSC 591W April 2, 2008.
Workshop: Advanced Packaging
Karsten Wade Sr. Developer Community Mgr, Red Hat.
RPM101: A gentle intro to creating your own packages Richard Keech Red Hat Asia-Pacific.
Building Good RPM Packages
New Tools Used by the Scientific Linux Team
Version Control Systems
Abstract After a SIG has been approved, one of the next steps is to get products out to users. During this talk, Niels will explain how the Storage SIG.
Build process of ovirt-node and the plugins
application into a Flatpak
How to make good RPM Packages
RPM Packaging for Sysadmins
Proposed IT Infrastructure for TOP OS project
Fedora Bugzapping Siddhesh Poyarekar Presented by
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
The 500 builds of 300 applications in the HeLmod repository will at least get you started on a full suite of scientific applications Aaron Kitzmiller,
Where we are, where we’re goin’
Rebuilding Modules and Containers
Version Control.
Packaging Example All Hands Meeting, Padova,
Workshop: Building Good Fedora Packages
test automation for Fedora
Say Hello to my Little Friend - Fedora Messaging Infrastructure
Spacewalk and Koji at Fermilab
Version Control Systems
Centralize Image Management for ONAP
Fedora Distribution Toolbox
The Websites Team Robert Mayr (robyduck).
More Scripting & Chapter 11
SCL, Institute of Physics Belgrade, Serbia
Getting Started with Contribution to Openstack
University of Texas Rio Grande Valley Systems Administration CSCI 6175
Tanner Lovelace Triangle Linux Users Group 11/Jan/2003
IS3440 Linux Security Unit 8 Software Management
SSDT and Database Project Basics
Perl in RPM-Land Dave Cross Magnum Solutions Ltd YAPC::Europe
Presentation transcript:

Into Fedora RPM packages Lubomir Rintel Presented by Fedora Package Maintainer Creative Commons Attribution-ShareAlike license applies. Packaging Gems

Gems and RPM

Why use RPM? Consistency simplifies maintenance Administrative tasks (rpm) Repository and update management (yum) Lots existing tooling Creating Live or JEOS images (livecd-tools) Reproducible builds (mock, koji) Security Package signing (rpm -k) File verification (rpm -V)

Ruby Gems Archive of Ruby code Ruby library metadata specification A sane and useful standard Ruby specific Guarantees consistent build mechanism Subset of RPM capabilities Naming and versioning Dependency resolution Maps well to RPM

Wrapping Gems into RPM Respecting both OS and Gem customs FHS, naming and versioning standards,... Gem tooling still works Use wisely Can be aided with automated tools gem2rpm Available in rubygem-gem2rpm package

Wrapping Gems into RPM Respecting both OS and Gem customs FHS, naming and versioning standards,... Gem tooling still works Use wisely Can be aided with automated tools gem2rpm Available in rubygem-gem2rpm package Very helpful!

RPM basics Binary package Installable with rpm -i Query installed package with rpm -q Query package file with rpm -q -f Source package Wraps source files, patches and build SPEC Buildable with rpmbuild rpm -i and rpm -q -p works the same as with binaries

RPM packaging basics SPEC file Divided into sections Starts with header with tags Metadata: %description, %files, %changelog Shell scriptlets: %prep, %build, %install, %check, %pre, %post Macro expansion occurs first Defines: %{buildroot}, %{_prefix}, %{?dist} Conditionals: %if.. %endif, %ifarch i386

Ruby Gem RPM anatomy Guidelines in Wiki Defines %{gemname}, %{gemdir}, %{geminstdir} Name: rubygem-%{gemname} Usually no rebuild Source package same as built in Rubygems Empty %prep and %build sections

Questions?

Hands-on exercise

Adding the package into Fedora

Fedora infrastructure Koji – Build System Packages are built here Maintains package collections for specific releases Bodhi – Update system Tells Koji to include packages in Stable (Beta, RC, Gold) repositories

Fedora infrastructure Bugzilla – Ticket tracking system New packages are reviewed here GIT requests are processed here FAS2 – Fedora Account System Need a packager account

Packager setup Set up a SSH key in FAS Install required client software fedpkg, koji client, bodhi client yum -y install fedora-packager Get a certificate for Koji client fedora-packager-setup Clone your package and start hacking fedpkg co rubygem-

Questions ? Creative Commons Attribution-ShareAlike license applies Contact:

GoodData is hiring! ● Perl, C, SQL, Java, Javascript ● Data analysis and visualization

Useful resources Wiki: oin RPM Packaging US/Fedora_Draft_Documentation/0.1/html/RPM_G uide/

Useful resources Mailing lists IRC