Re: spec file for rpms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Hláèik wrote:
Hi guys,

i am new at this.

I want to make a rpm from a program source. It does not contain rpm spec file by default so i need to create one.

Is there any way to make creation of spec files easier? some tools etc ... ?

Thanks in advance!

David

Both vim and emacs will create a basic spec for you by simply editing a non existant spec file.

$ vim new.spec

will create a basic spec file if new.spec does not exist in the current directory.

However, creating good spec files is a bit of a black art, I am afraid to say.

You will need to install:

rpmdevtools

and run:

/usr/bin/rpmdev-setuptree

That creates your rpmbuild directory tree.

From there, you will find the field is broad, and the sky is the limit. :)

There are tools to watch 'make install' to discover what happens and duplicate it for a %files section for a spec file, but using those tools is a separate art form in itself.

I have found that most apps using 'configure' (automake) tools will have fairly easy to read install: sections in the generated Makefile.
The rpm spec file: %files section allows for directories, making it easier.

So basically, make a generic .spec file, copy the source tarball to ~/rpmbuild/SOURCES, try: rpmbuild -ba my.spec, and watch for errors, like the naming of the tar ball has to match the versioning specified in the spec file. Also the directory that the tar ball is extracted into should match the version.

That is the simplest form.

You will want some references:

http://www.rpm.org/max-rpm/index.html

http://docs.fedoraproject.org/drafts/rpm-guide-en/
Look for the section called: Creating the spec file

One last piece of advice:
Always run rpmbuild as your user, and NOT root. If your .spec file needs root to do something, you are doing it wrong. :)

Good Luck!



--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux