Steps to create an RPM package in Linux

chopramanish 496 views 2 slides Jun 19, 2016
Slide 1
Slide 1 of 2
Slide 1
1
Slide 2
2

About This Presentation

This exercise was done on RHEL 6 and same steps are applicable for other variants too. This tutorial provides you with steps to create your own RPM packages in Linux. Following procedure shows creating a basic RPM package that includes a shell script. After the RPM is installed, the script is execut...


Slide Content

Creating RPM package in Linux

This exercise was done on RHEL 6 and same steps are applicable for other variants too. This tutorial provides you with
steps to create your own RPM packages in Linux. Following procedure shows creating a basic RPM package that
includes a shell script. After the RPM is installed, the script is executed on the command prompt to display the output.
Step 1 – Install necessary RPM dependencies
[student@desktop3 ~]$yum install rpm-build–y

Step 2 – Setup your package in a directory
[student@desktop3 ~]$mkdir myrpm-1.0
[student@desktop3 ~]$cd myrpm-1.0

(Create a simple script which executes after installing the rpm)
[student@desktop3 ~]$ vi myrpm.sh
#!/bin/bash
#
echo 'Hello There ! This is my RPM script...'
exit 0

(Make the script executable)
[student@desktop3 ~]$ chmod a+x myrpm.sh

Step 3 – Create a tar file of your package
[student@desktop3 ~]$ mkdir -p ~/rpmbuild/SOURCES
[student@desktop3 ~]$ mkdir -p ~/rpmbuild/SPECS
[student@desktop3 ~]$ tar -zcvf ~/rpmbuild/SOURCES/myrpm-1.0-1.tar.gz myrpm-1.0/
Step 4 – Create and edit SPEC file
[student@desktop3 ~]$ vi ~/rpmbuild/SPECS/myrpm.spec
Name: myrpm
Version: 1.0
Release: 1
Summary: MyRPM

Group: RHCE
License: GPL
URL: http://www.redhat.com
Source0: %{name}-%{version}-%{release}.tar.gz
BuildRoot: /var/tmp/%{name}-buildroot

%description
Installs /root/bin/myrpm.sh

%prep
%setup -q -n %{name}-%{version}

%build

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/root/bin
install -m 755 myrpm.sh $RPM_BUILD_ROOT/root/bin/myrpm.sh

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
/root/bin/myrpm.sh

%changelog

Step 5 – Execute rpmbuild to build the RPM package
[student@desktop3 ~]$rpmbuild -ba rpmbuild/SPECS/myrpm.spec

Step 6 – Install and Run the RPM package
[root@desktop3 ~]# rpm -ivh /home/student/rpmbuild/RPMS/x86_64/myrpm-1.0-1.x86_64.rpm
Preparing... ########################################### [100%]
1:myrpm ########################################### [100%]

[root@desktop3 ~]# ll /root/bin/myrpm.sh
-rwxr-xr-x. 1 root root 131 Jun 29 17:19 /root/bin/myrpm.sh

[root@desktop3 ~]# myrpm.sh
Hello There ! This is my RPM script...




Document Version 1

Date : 29
th
June 2012
Author : Manish Chopra