[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><cdd></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><meta-package-name></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>