[Cdd-commits] cdd/doc/common/en 05_inside.sgml,1.2,1.3 06_technology.sgml,1.3,1.4

Andreas Tille debian-custom@lists.debian.org
Wed, 30 Jun 2004 19:35:06 +0000


Update of /cvsroot/cdd/cdd/doc/common/en
In directory haydn:/tmp/cvs-serv29399/common/en

Modified Files:
	05_inside.sgml 06_technology.sgml 
Log Message:
Started quick howto for building meta packages section.


Index: 06_technology.sgml
===================================================================
RCS file: /cvsroot/cdd/cdd/doc/common/en/06_technology.sgml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- 06_technology.sgml	29 Jun 2004 07:28:31 -0000	1.3
+++ 06_technology.sgml	30 Jun 2004 19:35:04 -0000	1.4
@@ -914,6 +914,7 @@
 <var>&lt;cdd&gt;</var> user groups (see <ref id="userroles">).
 </p>
 </sect2>
+</sect1>
 
 <sect1 id="cdd-common">
   <heading>Package <package>cdd-common</package></heading>
@@ -1125,6 +1126,137 @@
 </sect1>
    </sect>
   
+  <sect id="QuickIntro">
+  <heading>Quick intro into building meta packages</heading>
+
+<p>
+There are several descriptions available how to build Debian packages
+in general.  The main resource might be the repository of
+<url
+id="http://www.debian.org/doc/packaging-manuals/"
+name="Debian packaging manuals"> (especially 
+<url
+id="http://www.debian.org/doc/packaging-manuals/developers-reference/ch-best-pkging-practices.en.html"
+name="developers reference chapter 6, best packaging practices">).
+There are several external packaging HOWTOs for example the one from
+<url
+id="http://www-106.ibm.com/developerworks/linux/library/l-debpkg.html"
+name="Joe 'Zonker' Brockmeier">.
+</p>
+
+  <sect1 id="Dependencies">
+  <heading>Defining dependencies for meta packages</heading>
+
+<p>
+This howto describes the building of meta packages by using the
+<package>cdd-dev</package> package.  It is perfectly possible to build
+a meta package as any other normal Debian package but this HOWTO
+has the only purpose to describe the profit you might gain by using
+these tools.
+
+    <example>
+~> cp -a /usr/share/doc/cdd-dev/examples/tasks .
+~> cat tasks/README
+~> edit tasks/task1
+Description: <var>short description
+ long description as in any debian/control file</var>
+
+Depends: <var>dependency1, dependency2, ...</var>
+    </example>
+
+For each meta package this skeleton of a <file>debian/control</file>
+entry is needed.  All necessary information is available in the
+directory <file>/usr/share/doc/cdd-dev/examples/tasks</file>.
+</p>
+   </sect1>
+
+   <sect1 id="Packaging">
+   <heading>The packaging directory</heading>
+
+<p>
+To build any Debian package you always need a directory named
+<file>debian</file> which contains a certain set of files.  The
+package <package>cdd-dev</package> provides a complete set of example
+files which only have to be copied and after editing some place
+holders are ready to use.
+<example>
+~> cp -a /usr/share/doc/cdd-dev/examples/debian .
+~> cat debian/README
+~> edit debian/control.stub
+</example>
+Now the variables in the file <file>control.stub</file> change the
+variables named <var>_CDD_</var>, <var>_MAINTAINER_</var> etc. to
+match the names of the Custom Debian Distribution to be built.  Please
+note that the file <file>debian/control</file> is and has to be a
+symbolic link to <file>control.stub</file> to let the
+<package>cdd-dev</package> tools work.
+
+<example>
+~> edit debian/rules
+</example>
+
+Also in the <file>debian/rules</file> the name of the Custom Debian
+Distribution has to be inserted where the template contains
+<var>_CDD_</var>.  Depending from the way the
+<file>sources.list</file> should be scanned the options for the
+<prgn>gen-control</prgn> call can be adjusted (see <ref
+id="cdd-gen-control(1)">). 
+</p>
+<p>
+Optionally a source tarball can be created by
+<example>
+~> make -f debian/rules dist
+</example>
+This tarball can be moved to any location where the meta packages
+should be built or the build process is started directly by calling 
+<example>
+~> debuild
+</example>
+which also creates a source tarball.
+</p>
+<p>
+That's all for the very simple case when the meta packages should not
+contain user menus.  Even if user menus are suggested they are not
+necessary.  The following paragraphs describe how to use the
+<package>cdd-dev</package> tools to support these menus.
+</p>
+
+   </sect1>
+
+   <sect1 id="common-meta-package">
+   <heading>The common meta package</heading>
+
+<p>
+The creation of a common package is optional but suggested because it
+adds some special features like menus, user groups and probably more
+in the future.  It is automatically built by
+<file>cdd-install-helper</file> (which is called in
+<file>debian/rules</file>) the <file>common</file> directory exists.
+The easiest way to create this is as follows:
+<example>
+~> cp -a /usr/share/doc/cdd-dev/examples/common .
+~> cat common/README
+~> edit common/conf common/control common/common.1
+</example>
+The variables (<var>_CDD_</var>) in these three files have to be
+adjusted to the name of the Custom Debian Distribution in question.
+This <file><var>cdd</var>-common</file> cares for the initialisation
+of the role based menu system and might contain adjustments of the
+general configuration inside the <package>cdd-common</package>.
+</p>
+<p>
+If the meta package <package><var>cdd</var>-common</package> will be
+created according to these rules all other meta packages will depend
+automatically from this common package.  For the friends of
+<prgn>auto-apt</prgn> a helper
+<file>/usr/bin/<var>&lt;meta-package-name&gt;</var></file> will be
+installed as well which just prints some information about the meta
+package.  All in all the usage of the common package is strongly
+suggested to have a common registry for stuff like user roles and
+possibly other things which will be implementd in the future.
+</p>
+   </sect1>
+   </sect>
 </chapt>
 
 

Index: 05_inside.sgml
===================================================================
RCS file: /cvsroot/cdd/cdd/doc/common/en/05_inside.sgml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- 05_inside.sgml	30 May 2004 22:37:16 -0000	1.2
+++ 05_inside.sgml	30 Jun 2004 19:35:04 -0000	1.3
@@ -203,8 +203,9 @@
 </p>
 <p>
 Those who might fear this amount of freedom given to every single developer
-should realize that there are very strict rules, as laid out in Debian's
-policy, which glue everything together.  To keep their packages in each new
+should realize that there are very strict rules, as laid out in 
+<url id="http://www.debian.org/doc/debian-policy/" name ="Debian's policy">,
+which glue everything together.  To keep their packages in each new
 release, every developer must ensure that their packages abide by that policy.
 </p>
 <p>