anaconda documentation topics

Alexander Rau (work) arau at schleese.com
Fri Nov 21 14:16:27 UTC 2003


I have started on a topic for the anaconda-docs:

=============================================================
Rebuilding source RPMS mini how-to (Taylor, you will recognize most of your
work is from you in here!)

When attempting to make changes to the anaconda source (and other source
packages) there are two ways to do this: patching or untar/tar. 

1. Patching source rpms

First, install the src.rpm and build it with any patches already included:
rpm -ivh anaconda-9.0-4.src.rpm
cd /usr/src/redhat/SPEC
rpmbuild -bp anaconda.spec

Now, go to the BUILD directory and make an original copy of the source
directory.
cd /usr/src/redhat/BUILD
cp -a anaconda-9.0  anaconda-9.0.orig

Then go to the anaconda-9.0 directory and make any changes that you deem
necessary. Once you are finished, make a patch of the differences between
the two (make sure you are in the BUILD directory):

diff -urN anaconda-9.0.orig anaconda-9.0 > ../SOURCES/my-changes.patch

Now edit the spec file and rebuild:
cd /usr/src/redhat/SPECS
gedit anaconda-9.0
  under Source: anaconda-%{PACKAGE_VERSION}.tar.bz2, add this line:
   Patch1: my-changes.patch

  under %setup -q, add this line:
    %patch1 -p1

  under %changelog, add a few lines stating what changes you made.
  The first line should be date/name/email, the following lines
  should be about the changes that you made.

Save the file, and run:

rpmbuild -ba anaconda.spec (make sure you are in /usr/src/redhat/SPECS)

which will create a new src.rpm (in /usr/src/redhat/SRPMS), as well as the
binary i386.rpm files (in /usr/src/redhat/RPMS/i386).


2. The untar/tar way

The second method involves untarring the source, retarring it and rebuilding
the rpm:
cd /usr/src/redhat/SOURCES
tar xjvf anaconda-9.0.tar.bz2
<edit changes in anaconda-9.0/>
tar cjvf anaconda-9.0.tar.bz2 anaconda-9.0
cd /usr/src/redhat/SPEC
rpmbuild -ba anaconda.spec

This method is probably simpler for the newbie, but it lacks the portability
of the patch method.

The advantage of the patching method is that this means that it is easier to
send out a patch to others than it is to send out the src.rpm file. It is
also easier when the next version of anaconda comes out to port patches over
to the new release (if it hasn't been fixed in the newer version). Most
people start out using the tar method, and found that it was much easier to
use patches. Often you have to make changes to a newer version, and
forgotten exactly what had been done in the source. Now, you can just look
at the patches, and copy them over to the newer version.

==================================================================

What do you guys think?

AR



Alexander Rau, Dipl.-Betriebswirt, A+, MCP, MCSA, MCSE, CISSP 


-----Original Message-----
From: fedora-docs-list-admin at redhat.com
[mailto:fedora-docs-list-admin at redhat.com] On Behalf Of Alexander Rau (work)
Sent: 21 November 2003 06:28
To: fedora-docs-list at redhat.com
Subject: anaconda documentation topics

Well, I had a quick glance through my notes and I think I will try to start
on:

3. What is needed to re-build anaconda (disk space, packages) (requirements)

7. Set up your build environment (tree structures needed and so on)

and 

9. Step by step walkthrough the whole buildinstall process (since I just
went through the whole thing!)



But I will wait till we are approved at sourceforge and until Taylor had a
chance to improve the TOC.

I will also try to contact Brian to see if we could mention his
kickstart-tools that were so valuable for making my distro.

AR





--
fedora-docs-list mailing list
fedora-docs-list at redhat.com
http://www.redhat.com/mailman/listinfo/fedora-docs-list





More information about the fedora-docs-list mailing list