summaryrefslogtreecommitdiff
path: root/ACE/rpmbuild/README
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/rpmbuild/README')
-rw-r--r--ACE/rpmbuild/README94
1 files changed, 94 insertions, 0 deletions
diff --git a/ACE/rpmbuild/README b/ACE/rpmbuild/README
new file mode 100644
index 00000000000..9acf8cc13a1
--- /dev/null
+++ b/ACE/rpmbuild/README
@@ -0,0 +1,94 @@
+Building RPM from source tarball
+================================================================
+
+It is possible to build directly from a source tarball if it contains
+a valid spec file.
+
+Before you can run rpmbuild, you need to setup a directory tree and a
+.rpmmacros file.
+
+Setup directory tree
+----------------------------------------------------------------
+
+You may already have one in /usr/src/RPM, but as rebuilding packages
+as root is evil, we recommend that you create one in a place where
+your normal user account allows you to write, such as your home
+directory. This build tree should have the following structure:
+
+ rpm
+ |-- BUILD
+ |-- RPMS
+ |-- SOURCES
+ |-- SPECS
+ |-- SRPMS
+ `-- tmp
+
+The following command should build what you need:
+
+ mkdir -p ${HOME}/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}
+
+Setup rpmbuild configuration file
+----------------------------------------------------------------
+
+Now you need to do some rpm configuration. A simple ~/.rpmmacros with
+the following contents should be enough:
+
+ cat > ~/.rpmmacros <<EOF
+ %_topdir %(echo ${HOME}/rpm)
+ %_tmppath %{_topdir}/tmp
+
+ %packager Firstname Lastname <your.address@here>
+
+ # Have built RPMs land in RPMS/ instead of RPMS/<arch>/
+ %_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
+ EOF
+
+Make sure to replace the %packager fields with your actual name and email address.
+
+Important Details
+----------------------------------------------------------------
+
+There are some important details:
+
+* The tarball name must have the ACE version in the name, for example:
+
+ ACE+TAO+CIAO-src-5.6.6.tar.bz2
+
+* The spec file inside the tarball
+ (ACE_wrappers/rpmbuild/ace-tao.spec) must have the correct version
+ numbers for ACE, TAO and CIAO at the top:
+
+ %define ACEVER 5.6.6
+ %define TAOVER 1.6.6
+ %define CIAOVER 0.6.6
+
+* The following files in the source distribution must have the correct
+ version numbers:
+
+ ACE_wrappers/ace/Version.h
+ ACE_wrappers/TAO/tao/Version.h
+ ACE_wrappers/TAO/CIAO/ciao/Version.h
+
+
+Building the RPM
+----------------------------------------------------------------
+
+You can kick off the rpmbuild anywhere; the tarball will be unpacked
+and built in your rpmbuild directory described in the previous
+section.
+
+ rpmbuild -tb your-tarball.tar.bz2
+
+Some packages take quite a while to build.
+
+
+Harvesting the Binary RPM
+----------------------------------------------------------------
+
+When the build completes, the binary rpms are deposited in rpm/RPMS.
+
+ ls -lart ${HOME}/rpm/RPMS
+
+Please let me know if there are questions/problems.
+
+-- Ken Sedgwick (ken@bonsai.com)