On Thu, 2006-03-02 at 14:07 -0500, M. Lewis wrote:
Stuart Sears wrote:
> On Thursday 02 March 2006 01:00, M. Lewis decided we wanted to hear the
> following:
>> Thanks Taharka. Had I ever created an rpm, that would probably be a good
>> solution. Unfortunately I haven't and I didn't see any instructions
>> there for doing so. If you have a pointer to some instructions that
>> would be helpful.
> the instructions are at (nearly) the same location as the rpm...
>
http://www.fedoranews.org/tchung/thunderbird/
> including the source files you need to create your rpm.
>
> but in brief...
> This all applies to a user called 'stuart'. You'll need to adjust it for
a
> *non-privileged* user on your system. Do NOT build rpms as the 'root' user.
> you can also use a directory name other than REDHAT. that's just what I tend
> to use. The other directory names (SPECS etc) are not customisable without a
> greate deal of messing about.
>
> 1. create a file in your home directory called .rpmmacros
> it should contain:
> %_topdir /home/stuart/REDHAT
>
> 2. now create a basic build tree
> mkdir -p /home/stuart/REDHAT/{RPMS,SRPMS,SOURCES,BUILD,SPECS}
>
> 3. put everything in place:
> put the thunderbird.spec file into /home/stuart/REDHAT/SPECS
> cp the 3 source files thunderbird-1.5.tar.gz, thunderbird.png and
> thunderbird.desktop into /home/stuart/REDHAT/SOURCES
>
> 4. now use the thunderbird.spec file to build the rpm:
> rpmbuild -bb /home/stuart/REDHAT/SPECS/thunderbird.spec
>
> which, if all goes well, should create loads of output and then eventually
> write the file
> /home/stuart/REDHAT/RPMS/i386/thunderbird-1.5-1.i386.rpm
>
> ps setting up the build environment as in steps 1 and 2 above can also be done
> by using yum to install a development-specific rpm.
> yum install fedora-rpmdevtools
> and then fedora-buildrpmtree
> I've just always done this manually...
> Regards
>
> Stuart
>
Very cool. Thanks Stuart. One question, why do not build the rpm as the
root user?
Mainly for protection against poorly-written specfiles and Makefiles,
which could end up clobbering bits of your system if you build packages
as root. By building packages as a regular user, you won't be
overwriting any files that you don't have write permission for. It's
even worth considering creating a separate account just for
package-building.
Paul.