diff options
Diffstat (limited to 'content/blog/miscellaneous/building-rpms.md')
-rw-r--r-- | content/blog/miscellaneous/building-rpms.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/content/blog/miscellaneous/building-rpms.md b/content/blog/miscellaneous/building-rpms.md new file mode 100644 index 0000000..99667eb --- /dev/null +++ b/content/blog/miscellaneous/building-rpms.md @@ -0,0 +1,29 @@ +--- +title: "Building rpm packages" +linkTitle: "Building rpm packages" +date: 2016-02-22 +description: > + Building rpm packages +--- + +Here is how to build locally an rpm package. Tested at the time on a centos 7. + +## Setup your environment + +First of all, you have to use a non-root account. + + - Create the necessary directories : `mkdir -p ~/rpmbuild/{BUILD,RPMS,S{OURCE,PEC,RPM}S}` + - Tell rpmbuild where to build by adding the following in your `.rpmmacros` file : `echo -e “%_topdir\t$HOME/rpmbuild” » ~/.rpmmacros` + +## Building package + +There are several ways to build a rpm, depending on what kind of stuff you have to deal with. + +### Building from a tar.gz archive containing a .spec file + +Run the following on you .tar.gz archive : `rpmbuild -tb memcached-1.4.0.tar.gz`. When the building process ends, you will find your package in a `$HOME/rpmbuild/RPMS/x86_64/` like directory, depending on your architecture. + +### Building from a spec file + + - `rpmbuild -v -bb ./contrib/redhat/collectd.spec` + - If you are missing some dependencies : `rpmbuild -v -bb ./contrib/redhat/collectd.spec 2>&1 |awk '/is needed/ {print $1;}'|xargs yum install -y` |