Enviar búsqueda
Cargar
RPM Building
•
2 recomendaciones
•
4,073 vistas
Anil Kumar Pugalia
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 18
Recomendados
Linux File System
Linux File System
Anil Kumar Pugalia
Bootloaders
Bootloaders
Anil Kumar Pugalia
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
Linux System
Linux System
SysPlay eLearning Academy for You
gcc and friends
gcc and friends
Anil Kumar Pugalia
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Recomendados
Linux File System
Linux File System
Anil Kumar Pugalia
Bootloaders
Bootloaders
Anil Kumar Pugalia
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
Linux System
Linux System
SysPlay eLearning Academy for You
gcc and friends
gcc and friends
Anil Kumar Pugalia
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
File Systems
File Systems
Anil Kumar Pugalia
Board Bringup
Board Bringup
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
Toolchain
Toolchain
Anil Kumar Pugalia
Character Drivers
Character Drivers
Anil Kumar Pugalia
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
Architecture Porting
Architecture Porting
Anil Kumar Pugalia
BeagleBone Black Booting Process
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
References
References
Anil Kumar Pugalia
Low-level Accesses
Low-level Accesses
Anil Kumar Pugalia
Embedded Storage Management
Embedded Storage Management
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
USB Drivers
USB Drivers
Anil Kumar Pugalia
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
Alexander Shopov
OSDC 2013 | Software Packaging with RPM Demystified by Andrew Ford
OSDC 2013 | Software Packaging with RPM Demystified by Andrew Ford
NETWAYS
Más contenido relacionado
La actualidad más candente
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
File Systems
File Systems
Anil Kumar Pugalia
Board Bringup
Board Bringup
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
Toolchain
Toolchain
Anil Kumar Pugalia
Character Drivers
Character Drivers
Anil Kumar Pugalia
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
Architecture Porting
Architecture Porting
Anil Kumar Pugalia
BeagleBone Black Booting Process
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
References
References
Anil Kumar Pugalia
Low-level Accesses
Low-level Accesses
Anil Kumar Pugalia
Embedded Storage Management
Embedded Storage Management
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
USB Drivers
USB Drivers
Anil Kumar Pugalia
La actualidad más candente
(20)
Introduction to Linux
Introduction to Linux
File System Modules
File System Modules
"make" system
"make" system
File Systems
File Systems
Board Bringup
Board Bringup
Processes
Processes
System Calls
System Calls
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Linux Network Management
Linux Network Management
Toolchain
Toolchain
Character Drivers
Character Drivers
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Architecture Porting
Architecture Porting
BeagleBone Black Booting Process
BeagleBone Black Booting Process
References
References
Low-level Accesses
Low-level Accesses
Embedded Storage Management
Embedded Storage Management
SPI Drivers
SPI Drivers
USB Drivers
USB Drivers
Similar a RPM Building
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
Alexander Shopov
OSDC 2013 | Software Packaging with RPM Demystified by Andrew Ford
OSDC 2013 | Software Packaging with RPM Demystified by Andrew Ford
NETWAYS
Django - Python MVC Framework
Django - Python MVC Framework
Bala Kumar
R sharing 101
R sharing 101
Omnia Safaan
Odoo V8 Installation
Odoo V8 Installation
Emipro Technologies Pvt. Ltd.
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
Daniel Bimschas
Introduction to JumpStart
Introduction to JumpStart
Scott McDermott
2.5 use rpm and yum package management
2.5 use rpm and yum package management
Acácio Oliveira
How To Install GitLab As Your Private GitHub Clone
How To Install GitLab As Your Private GitHub Clone
VEXXHOST Private Cloud
Embedded Android
Embedded Android
晓东 杜
How to install squid proxy on server or how to install squid proxy on centos o
How to install squid proxy on server or how to install squid proxy on centos o
Proxiesforrent
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Lalatendu Mohanty
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
RPM (Red Hat Package Manager)
RPM (Red Hat Package Manager)
skalaivanibutp
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
Introduction to Heroku
Introduction to Heroku
TO THE NEW | Technology
Automating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyond
Nuvole
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
Acácio Oliveira
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
Acácio Oliveira
OpenStack for Centos
OpenStack for Centos
Chandan Kumar
Similar a RPM Building
(20)
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
OSDC 2013 | Software Packaging with RPM Demystified by Andrew Ford
OSDC 2013 | Software Packaging with RPM Demystified by Andrew Ford
Django - Python MVC Framework
Django - Python MVC Framework
R sharing 101
R sharing 101
Odoo V8 Installation
Odoo V8 Installation
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
Introduction to JumpStart
Introduction to JumpStart
2.5 use rpm and yum package management
2.5 use rpm and yum package management
How To Install GitLab As Your Private GitHub Clone
How To Install GitLab As Your Private GitHub Clone
Embedded Android
Embedded Android
How to install squid proxy on server or how to install squid proxy on centos o
How to install squid proxy on server or how to install squid proxy on centos o
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
RPM (Red Hat Package Manager)
RPM (Red Hat Package Manager)
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
Introduction to Heroku
Introduction to Heroku
Automating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyond
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
OpenStack for Centos
OpenStack for Centos
Más de Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Embedded C
Embedded C
Anil Kumar Pugalia
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Playing with R L C Circuits
Playing with R L C Circuits
Anil Kumar Pugalia
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
Video Drivers
Video Drivers
Anil Kumar Pugalia
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
Functional Programming with LISP
Functional Programming with LISP
Anil Kumar Pugalia
Power of vi
Power of vi
Anil Kumar Pugalia
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Anil Kumar Pugalia
Timers
Timers
Anil Kumar Pugalia
Threads
Threads
Anil Kumar Pugalia
Synchronization
Synchronization
Anil Kumar Pugalia
Signals
Signals
Anil Kumar Pugalia
Linux Memory Management
Linux Memory Management
Anil Kumar Pugalia
Inter Process Communication
Inter Process Communication
Anil Kumar Pugalia
Más de Anil Kumar Pugalia
(18)
File System Modules
File System Modules
Processes
Processes
System Calls
System Calls
Embedded C
Embedded C
Embedded Software Design
Embedded Software Design
Playing with R L C Circuits
Playing with R L C Circuits
Audio Drivers
Audio Drivers
Video Drivers
Video Drivers
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Functional Programming with LISP
Functional Programming with LISP
Power of vi
Power of vi
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Timers
Timers
Threads
Threads
Synchronization
Synchronization
Signals
Signals
Linux Memory Management
Linux Memory Management
Inter Process Communication
Inter Process Communication
Último
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
The Digital Insurer
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Último
(20)
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
RPM Building
1.
RPM Building © 2010
Anil Kumar Pugalia <email@sarika-pugs.com> All Rights Reserved.
2.
What to Expect? System
Setup to build an RPM Steps to build an RPM Testing the built RPM © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 2 All Rights Reserved.
3.
Master Steps Setting up
the build system Collating the package source Writing the .spec file Actually building the rpm Testing the built rpm © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 3 All Rights Reserved.
4.
System Setup Creating a
separate login, say rpmbuild To avoid security hazards Create a package directory mkdir <pkg_dir> Create the following subdirectories BUILD: Place for building by rpmbuild RPMS with i386, i686, noarch: For built binary package SOURCES: For the original software sources SPECS: For .spec file SRPMS: For built source rpm tmp: For temporary files (Optional) Install the following commands rpmbuild: Typically part of rpm-build package Other Optionals: rpmlint, gpg © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 4 All Rights Reserved.
5.
Steps to Build
an RPM Collating the package sources Typically as a .tgz file Writing a spec file Basic structure Building the package Cleaning the package Installing the package Uninstalling the package Building using rpmbuild © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 5 All Rights Reserved.
6.
Locate your Templates Create
the .tgz of sources View the 'sources' target in the makefile Output: SOURCES/pkg_cmd-1.0.tgz Spec file & the macros Example: SPECS/pkg_cmd-1.0.spec Building the rpm View the 'build' target in the makefile Output: RPMS/pkg_cmd-1.0-1.i386.rpm © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 6 All Rights Reserved.
7.
Spec Sections Introduction
Defines, Keywords, %description %prep – Unpack source code %build – Compile code % install – Install code onto build machine %clean – Clean up code %files – List of files to use %changelog – Change log of the code © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 7 All Rights Reserved.
8.
%file specific Macros %defattr
– Default attributes file attributes, owner, group, dir attributes %doc – Documentation files %exclude – Exclude these files Useful Path Macros %{_prefix} %{_bindir}, %{_sbindir}, %{_libdir} %{_datadir}, %{_sysconfdir} %{_mandir}, %{_infodir} %{_gamesbindir}, %{_gamesdatadir} © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 8 All Rights Reserved.
9.
Additional Spec Sections %pre
– Execute before install %post – Execute after install %preun – Execute before uninstall %postun – Execute after uninstall Option to these: -p <interpreter> © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 9 All Rights Reserved.
10.
Signing an RPM Assuming
that a GPG key is there Add the following macros in the .spec file %_signature gpg %_gpg_path /path/to/.gnupg %_gpg_name name lastname (comment) <email> 'gpg --list-keys' to get the value %_gpgbin /usr/bin/gpg Build with --sign option to rpmbuild Alternatively, an RPM can be signed as follows rpm --addsign <rpm_package> After putting the above macros in ~/.rpmmacros © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 10 All Rights Reserved.
11.
Interesting Spec Macros Triggers
on operation with other packages %triggerin <pkg> – On installing <pkg> %triggerun <pkg> – On uninstalling <pkg> %triggerin <pkg> – After uninstalling <pkg> Details about all /usr/lib/rpm/macros Place for repeated macros ~/.rpmmacros © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 11 All Rights Reserved.
12.
Building the RPM Using
rpmbuild rpmbuild <build_options> [options] <spec_file> <build_options> -bs, bb, -ba -bp (%prep), -bc (%build), -bi (%install) -bl (list check from %files) A very clean way rpmbuild -ba --rmspec --rmsource rpmbuild --rebuild © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 12 All Rights Reserved.
13.
Testing the RPM
Build(ing) Are rpms created in their directories? Are the rpms with the correct names? Is the rpm info correct? Issued by rpm -qlivp --changelog <rpm_package> Linting the rpms or even the spec files rpmlint [-i] <rpm_package | spec_file> Install Tests Expected files at expected places & privileges Binaries executable, Documentation accessible Various installs, uninstalls On different machines Without required packages © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 13 All Rights Reserved.
14.
Backup © 2010 Anil
Kumar Pugalia <email@sarika-pugs.com> 14 All Rights Reserved.
15.
Options to setup -c
– Create upper directory first Useful for archive without a parent directory -D – Does not delete the directory Useful in later setups, if multiple -T – Override the default behaviour Rather specified by -a 0, -b 0, etc -n <name> - <name> what source unpacks to Useful if different from the source name © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 15 All Rights Reserved.
16.
Generating a GPG
key Generate a key using gpg --gen-key Listings (provides <UID>) gpg --list-sigs gpg --list-keys Generating a public key gpg --armor --export "<UID>" > my.key.file.asc Publishing the public key gpg --keyserver pgp.mit.edu --send-key "<UID>" © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 16 All Rights Reserved.
17.
What all have
we learnt? System Setup to build an RPM Steps to build an RPM Collating the sources Writing the spec file Building the rpm Testing the built RPM © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 17 All Rights Reserved.
18.
Any Queries? © 2010
Anil Kumar Pugalia <email@sarika-pugs.com> 18 All Rights Reserved.