Difference between revisions of "Build rpm packages with the rpmbuild command"
From Linuxintro
imported>ThorstenStaerk |
imported>ThorstenStaerk |
||
Line 34: | Line 34: | ||
= The SPEC file = | = The SPEC file = | ||
<pre> | <pre> | ||
+ | cat >hello.spec<<EOF | ||
Summary: hello greets the world | Summary: hello greets the world | ||
Name: hello | Name: hello | ||
Line 57: | Line 58: | ||
%install | %install | ||
make install | make install | ||
+ | mkdir -p /usr/src/packages/BUILDROOT/hello-1.0-1.x86_64/usr/local/bin | ||
+ | cp /usr/local/bin/hello /usr/src/packages/BUILDROOT/hello-1.0-1.x86_64/usr/local/bin/hello | ||
%files | %files | ||
− | |||
%defattr(-, root, root) | %defattr(-, root, root) | ||
− | /usr/local/bin/hello | + | "/usr/local/bin/hello" |
+ | EOF | ||
</pre> | </pre> | ||
+ | = Build the rpm = | ||
+ | Now we have the SPEC file and the software. Build it with the command | ||
+ | rpmbuild -ba hello.spec | ||
+ | You will find your ready RPM under /usr/src/packages/RPMS. | ||
+ | |||
+ | = See also = | ||
* http://www.linuxquestions.org/questions/linux-newbie-8/rpm-rebuild-unknown-option-348748/ | * http://www.linuxquestions.org/questions/linux-newbie-8/rpm-rebuild-unknown-option-348748/ | ||
* http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html | * http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html | ||
[[todo]] | [[todo]] |
Revision as of 18:54, 6 February 2011
This article is about how to build rpm packages with the rpmbuild command and a SPEC file.
The program
Here is how we create our program, hello world:
cd mkdir hello cd hello cat >main.c <<EOF #include <stdio.h> int main() { printf("hello world"); } EOF
The Makefile
To build our program, we need a makefile. Here is how we create it:
cat >Makefile <<EOF all:hello hello: main.c gcc main.c -o hello install: hello cp hello /usr/local/bin EOF sed -i "s/ /\t/g" Makefile
The SPEC file
cat >hello.spec<<EOF Summary: hello greets the world Name: hello Version: 1.0 Release: 1 License: GPL Group: Applications/Sound Source: hello.tar.gz URL: http://www.staerk.de/thorsten/ Distribution: SUSE Linux Vendor: - Packager: Thorsten Staerk %description hello greets the world %prep %setup %build make %install make install mkdir -p /usr/src/packages/BUILDROOT/hello-1.0-1.x86_64/usr/local/bin cp /usr/local/bin/hello /usr/src/packages/BUILDROOT/hello-1.0-1.x86_64/usr/local/bin/hello %files %defattr(-, root, root) "/usr/local/bin/hello" EOF
Build the rpm
Now we have the SPEC file and the software. Build it with the command
rpmbuild -ba hello.spec
You will find your ready RPM under /usr/src/packages/RPMS.