RPM builds under Kdevelop 2.0.2

Tim Brodie tbrodie at displayworksinc.com
Tue Feb 12 18:31:14 GMT 2002


Tim Brodie wrote:
> "F at lk Brettschneider" wrote:
> > > "F at lk Brettschneider" wrote:
> > > > Once we got a patch for that rpm feature.
> > > > But unfortunately, noone wanted to write documentation for it.
> > > > If you're looking through, please write one.
> > >
> > > This is the first project I'm doing with KDevelop.  In fact,
> > > on the Linux platform.  But I'll take a stab at at least
> > > writing what I know.  Perhaps my ignorance will enable
> > > me to document what others assume?  :-)
> > >
> > > I guess the most logical place would be in the "The User
> > > Manual to KDevelop".
> > Sounds good.
> > Feel free to do it as you like. :-)
> 
> After looking the docs over, I decided to add a heading
> in section 8 called "8.8 Building Distributions".  I've
> provided a patch for the html files in question for
> "The User Manual to KDevelop".
> 
> I'd appreciate any comments either for style or content.
> I would have found this information useful if it was
> in the docs when trying to build my RPMS.

And for all those that thought I posted a (gasp) M$ document
for a patch due to certain file name trademarks, I also 
offer the same patch with a different name!  :-D

> 
> Thanks...
> 
> --
> Tim Brodie
>
-------------- next part --------------
Common subdirectories: /usr/share/doc/HTML/en/kdevelop/about and ./about
diff -uNp /usr/share/doc/HTML/en/kdevelop/index-8.html ./index-8.html
--- /usr/share/doc/HTML/en/kdevelop/index-8.html	Mon May 28 17:26:01 2001
+++ ./index-8.html	Tue Feb 12 12:14:53 2002
@@ -430,7 +430,7 @@ warnings are set to the standard, -Wall.
 detect constructions that may cause program errors. For some applications, you would need
 additional Compiler or Linker flags, especially if you're using libraries that are not
 currently included by the Linker. Then you need to update the project by configuring the
-correct settings with the Project Options dialog. See 
+correct settings with the Project Options dialog. See
 <A HREF="index-9.html#Build Settings">Build Settings</A> for more information how and where to set Compiler Options, Warnings and Linker
 Options.
 <P>
@@ -440,12 +440,89 @@ Options.
 <P>Existing automake/autoconf compatible projects (which make use of Makefile.am´s to store their
 information) can be used together with KDevelop by creating a KDevelop project file with the
 <B>kimport</B> script. After the project file has been build up, you should edit it with your
-favorite editor and set the project type accoding to your needs, see 
+favorite editor and set the project type accoding to your needs, see
 <A HREF="#Project Hacking">Project Hacking</A> for more details about available project types.
 Mind that you should deselect "modify Makefiles" in the Project Options after you loaded your
 project the first time.
 <P>
-<P>
+<H3><A NAME="ss8.8">8.8 Building Distributions</A>
+</H3>
+
+<P>KDevelop provides facilities to create distribution
+packages in one of three forms: tarball, RPM source and
+RPM binary forms.  When you are satisfied that your project
+is ready for a broader audience, you can use the <U>Make
+Distribution</U> item on the Project menu to make your
+distribution file(s).
+<P>If you only intend to distribute an RPM package, you still
+should build a <U>Source-tgz</U> distribution first to ensure
+that the tarball will build properly.  In this way, you
+will avoid RPM build errors that are actually problems
+with the source tarball.
+<P>Selecting <U>Source-tgz</U> under <U>Make Distibution</U>
+will create a tarball in the project base directory in the
+form <CODE>projectname-version.tar.gz</CODE> where
+<CODE>projectname</CODE> and <CODE>version</CODE> are the
+same as in the current <U>Project Options...</U> dialog.
+<P>Test the tarball by unpacking it in another directory
+(preferably on another machine), build, install and test
+that the package works as expected.
+<P>Once you are happy that the tarball works as expected,
+you can proceed to build your RPM packages.  First, you
+must build a proper RPM <CODE>projectname.spec</CODE>
+file.  Selecting <U>Configure RPM Package</U> under
+<U>Make Distibution</U> will display a dialog to establish
+the <CODE>projectname.spec</CODE> file required to build
+the packages.
+<P>You may find that your <CODE>projectname.spec</CODE>
+file is too complex to be managed by this dialog.  In
+this case, you are quite free to select the file from the
+LFV and edit it manually. However, you should
+avoid using <U>Configure RPM Package</U> for this project
+from that point forward, as the dialog will overwrite your
+manual changes with the KDevelop template.
+<P>If you need help in building or maintaining RPM's
+<CODE>.spec</CODE> files, there is excellent documentation
+to be found at
+<A HREF="http://www.rpm.org/RPM-HOWTO/build.html">Building RPMs</A>.
+There is also a terrific reference at the
+<A HREF="http://developer.kde.org">KDE Developer's Web Site</A>
+regarding the
+<A HREF="http://developer.kde.org/documentation/other/developer-faq.html#q53">Makefile generation process</A>
+  in the Developer's
+<A HREF="http://developer.kde.org/documentation/other/developer-faq.html">FAQ</A>.
+<P>All the fields in the <U>Configure RPM Package</U> dialog
+are manditory. The
+<U>Build Prefix</U> should be set to a temporary directory
+with enough accessible space to unpack and build your
+whole package.  For example, for some platforms you might
+specify the <CODE>/var/tmp/projectname-build</CODE> directory.  After
+the build, everything in the <CODE>/var/tmp/projectname-build/*</CODE>
+build directory tree is deleted,
+so it would not be prudent to set this value to a directory that is
+important to you!
+<P>When you are satisfied that your <CODE>projectname.spec</CODE>
+file is correct, then selecting <U>Build RPM Package</U>
+under <U>Make Distibution</U> will build both the
+source and binary RPM packages.  All error messages
+from RPM are not currently displayed in the messages window.
+If an error is reported without any details, it usually means that
+you have an error in your <CODE>projectname.spec</CODE> file.
+<P>All three distribution types will be placed in the
+project base directory. One initial check recommended is to
+view the contents of the binary and source packages to ensure
+that they contain all the objects you intend to distribute.
+For example, for a project called <I>joshuastories</I> I would
+run <CODE>rpm -qlip joshuastories-0.1-1.i686.rpm</CODE> for
+version 0.1 - release 1 of the intel 686 binary package.
+<P>Remember to test your
+packages on different platforms to ensure that any
+dependancy information is correct, and that you have
+included all the necessary components for the package.
+Our development environments often have residual
+packages and data files that will enable our package
+to work, but will not on someone else's platform.
+
 <P ALIGN="RIGHT">
 
 <A HREF="index-9.html">Next</A>
@@ -454,9 +531,9 @@ project the first time.
 </P>
 <CENTER>
 <HR WIDTH="100%" SIZE=3 ALIGN=CENTER NOSHADE>
-</CENTER>    
+</CENTER>
 </FONT>
 
- 
+
 </BODY>
 </HTML>
diff -uNp /usr/share/doc/HTML/en/kdevelop/index.html ./index.html
--- /usr/share/doc/HTML/en/kdevelop/index.html	Sun May 20 18:17:46 2001
+++ ./index.html	Wed Jan 30 09:05:41 2002
@@ -108,6 +108,7 @@ Public License; see 
 <LI><A HREF="index-8.html#ss8.5">8.5 Project Hacking</A>
 <LI><A HREF="index-8.html#ss8.6">8.6 Compiler and Linker Flags for Projects</A>
 <LI><A HREF="index-8.html#ss8.7">8.7 External Projects</A>
+<LI><A HREF="index-8.html#ss8.8">8.8 Building Distributions</A>
 </UL>
 <P>
 <H2><A NAME="toc9">9.</A> <A HREF="index-9.html">Build Settings</A></H2>
Common subdirectories: /usr/share/doc/HTML/en/kdevelop/kde_libref and ./kde_libref
diff -uNp /usr/share/doc/HTML/en/kdevelop/patch.doc ./patch.doc
--- /usr/share/doc/HTML/en/kdevelop/patch.doc	Wed Dec 31 19:00:00 1969
+++ ./patch.doc	Tue Feb 12 12:26:48 2002
@@ -0,0 +1,129 @@
+Common subdirectories: /usr/share/doc/HTML/en/kdevelop/about and ./about
+diff -uNp /usr/share/doc/HTML/en/kdevelop/index-8.html ./index-8.html
+--- /usr/share/doc/HTML/en/kdevelop/index-8.html	Mon May 28 17:26:01 2001
++++ ./index-8.html	Tue Feb 12 12:14:53 2002
+@@ -430,7 +430,7 @@ warnings are set to the standard, -Wall.
+ detect constructions that may cause program errors. For some applications, you would need
+ additional Compiler or Linker flags, especially if you're using libraries that are not
+ currently included by the Linker. Then you need to update the project by configuring the
+-correct settings with the Project Options dialog. See 
++correct settings with the Project Options dialog. See
+ <A HREF="index-9.html#Build Settings">Build Settings</A> for more information how and where to set Compiler Options, Warnings and Linker
+ Options.
+ <P>
+@@ -440,12 +440,89 @@ Options.
+ <P>Existing automake/autoconf compatible projects (which make use of Makefile.am´s to store their
+ information) can be used together with KDevelop by creating a KDevelop project file with the
+ <B>kimport</B> script. After the project file has been build up, you should edit it with your
+-favorite editor and set the project type accoding to your needs, see 
++favorite editor and set the project type accoding to your needs, see
+ <A HREF="#Project Hacking">Project Hacking</A> for more details about available project types.
+ Mind that you should deselect "modify Makefiles" in the Project Options after you loaded your
+ project the first time.
+ <P>
+-<P>
++<H3><A NAME="ss8.8">8.8 Building Distributions</A>
++</H3>
++
++<P>KDevelop provides facilities to create distribution
++packages in one of three forms: tarball, RPM source and
++RPM binary forms.  When you are satisfied that your project
++is ready for a broader audience, you can use the <U>Make
++Distribution</U> item on the Project menu to make your
++distribution file(s).
++<P>If you only intend to distribute an RPM package, you still
++should build a <U>Source-tgz</U> distribution first to ensure
++that the tarball will build properly.  In this way, you
++will avoid RPM build errors that are actually problems
++with the source tarball.
++<P>Selecting <U>Source-tgz</U> under <U>Make Distibution</U>
++will create a tarball in the project base directory in the
++form <CODE>projectname-version.tar.gz</CODE> where
++<CODE>projectname</CODE> and <CODE>version</CODE> are the
++same as in the current <U>Project Options...</U> dialog.
++<P>Test the tarball by unpacking it in another directory
++(preferably on another machine), build, install and test
++that the package works as expected.
++<P>Once you are happy that the tarball works as expected,
++you can proceed to build your RPM packages.  First, you
++must build a proper RPM <CODE>projectname.spec</CODE>
++file.  Selecting <U>Configure RPM Package</U> under
++<U>Make Distibution</U> will display a dialog to establish
++the <CODE>projectname.spec</CODE> file required to build
++the packages.
++<P>You may find that your <CODE>projectname.spec</CODE>
++file is too complex to be managed by this dialog.  In
++this case, you are quite free to select the file from the
++LFV and edit it manually. However, you should
++avoid using <U>Configure RPM Package</U> for this project
++from that point forward, as the dialog will overwrite your
++manual changes with the KDevelop template.
++<P>If you need help in building or maintaining RPM's
++<CODE>.spec</CODE> files, there is excellent documentation
++to be found at
++<A HREF="http://www.rpm.org/RPM-HOWTO/build.html">Building RPMs</A>.
++There is also a terrific reference at the
++<A HREF="http://developer.kde.org">KDE Developer's Web Site</A>
++regarding the
++<A HREF="http://developer.kde.org/documentation/other/developer-faq.html#q53">Makefile generation process</A>
++  in the Developer's
++<A HREF="http://developer.kde.org/documentation/other/developer-faq.html">FAQ</A>.
++<P>All the fields in the <U>Configure RPM Package</U> dialog
++are manditory. The
++<U>Build Prefix</U> should be set to a temporary directory
++with enough accessible space to unpack and build your
++whole package.  For example, for some platforms you might
++specify the <CODE>/var/tmp/projectname-build</CODE> directory.  After
++the build, everything in the <CODE>/var/tmp/projectname-build/*</CODE>
++build directory tree is deleted,
++so it would not be prudent to set this value to a directory that is
++important to you!
++<P>When you are satisfied that your <CODE>projectname.spec</CODE>
++file is correct, then selecting <U>Build RPM Package</U>
++under <U>Make Distibution</U> will build both the
++source and binary RPM packages.  All error messages
++from RPM are not currently displayed in the messages window.
++If an error is reported without any details, it usually means that
++you have an error in your <CODE>projectname.spec</CODE> file.
++<P>All three distribution types will be placed in the
++project base directory. One initial check recommended is to
++view the contents of the binary and source packages to ensure
++that they contain all the objects you intend to distribute.
++For example, for a project called <I>joshuastories</I> I would
++run <CODE>rpm -qlip joshuastories-0.1-1.i686.rpm</CODE> for
++version 0.1 - release 1 of the intel 686 binary package.
++<P>Remember to test your
++packages on different platforms to ensure that any
++dependancy information is correct, and that you have
++included all the necessary components for the package.
++Our development environments often have residual
++packages and data files that will enable our package
++to work, but will not on someone else's platform.
++
+ <P ALIGN="RIGHT">
+ 
+ <A HREF="index-9.html">Next</A>
+@@ -454,9 +531,9 @@ project the first time.
+ </P>
+ <CENTER>
+ <HR WIDTH="100%" SIZE=3 ALIGN=CENTER NOSHADE>
+-</CENTER>    
++</CENTER>
+ </FONT>
+ 
+- 
++
+ </BODY>
+ </HTML>
+diff -uNp /usr/share/doc/HTML/en/kdevelop/index.html ./index.html
+--- /usr/share/doc/HTML/en/kdevelop/index.html	Sun May 20 18:17:46 2001
++++ ./index.html	Wed Jan 30 09:05:41 2002
+@@ -108,6 +108,7 @@ Public License; see 
+ <LI><A HREF="index-8.html#ss8.5">8.5 Project Hacking</A>
+ <LI><A HREF="index-8.html#ss8.6">8.6 Compiler and Linker Flags for Projects</A>
+ <LI><A HREF="index-8.html#ss8.7">8.7 External Projects</A>
++<LI><A HREF="index-8.html#ss8.8">8.8 Building Distributions</A>
+ </UL>
+ <P>
+ <H2><A NAME="toc9">9.</A> <A HREF="index-9.html">Build Settings</A></H2>
+Common subdirectories: /usr/share/doc/HTML/en/kdevelop/kde_libref and ./kde_libref
Common subdirectories: /usr/share/doc/HTML/en/kdevelop/programming and ./programming
Common subdirectories: /usr/share/doc/HTML/en/kdevelop/reference and ./reference
Common subdirectories: /usr/share/doc/HTML/en/kdevelop/tutorial and ./tutorial


More information about the KDevelop mailing list