pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/doc/guide/files Document SVR4_PKGNAME; improve pkgdiff...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/857096882768
branches:  trunk
changeset: 518472:857096882768
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Sun Sep 10 19:11:15 2006 +0000

description:
Document SVR4_PKGNAME; improve pkgdiff description; document
PATCHDIR, default setting of MESSAGE_SUBST, and FILESDIR.
Reindent.

diffstat:

 doc/guide/files/components.xml |  709 +++++++++++++++++++++-------------------
 1 files changed, 380 insertions(+), 329 deletions(-)

diffs (truncated from 842 to 300 lines):

diff -r 668ea0cf0b87 -r 857096882768 doc/guide/files/components.xml
--- a/doc/guide/files/components.xml    Sun Sep 10 18:30:00 2006 +0000
+++ b/doc/guide/files/components.xml    Sun Sep 10 19:11:15 2006 +0000
@@ -1,260 +1,290 @@
-<!-- $NetBSD: components.xml,v 1.28 2006/09/03 00:20:49 wiz Exp $ -->
+<!-- $NetBSD: components.xml,v 1.29 2006/09/10 19:11:15 wiz Exp $ -->
 
 <chapter id="components"> <?dbhtml filename="components.html"?>
-  <title>Package components - files, directories and contents</title>
+<title>Package components - files, directories and contents</title>
 
-  <para>  Whenever you're preparing a package, there are a number of
-    files involved which are described in the following
-    sections. </para>
+<para>Whenever you're preparing a package, there are a number of
+files involved which are described in the following
+sections.</para>
 
-  <sect1 id="components.Makefile">
-    <title><filename>Makefile</filename></title>
+<sect1 id="components.Makefile">
+  <title><filename>Makefile</filename></title>
 
-    <para>Building, installation and creation of a binary package are all
-      controlled by the package's <filename>Makefile</filename>.
-      The <filename>Makefile</filename> describes various things about
-      a package, for example from where to get it, how to configure,
-      build, and install it.
-    </para>
+  <para>Building, installation and creation of a binary package are all
+  controlled by the package's <filename>Makefile</filename>.
+  The <filename>Makefile</filename> describes various things about
+  a package, for example from where to get it, how to configure,
+  build, and install it.</para>
+
+  <para>A package <filename>Makefile</filename> contains several
+  sections that describe the package.</para>
 
-    <para>A package <filename>Makefile</filename> contains several
-     sections that describe the package.</para>
+  <para>In the first section there are the following variables, which
+  should appear exactly in the order given here.  The order and
+  grouping of the variables is mostly historical and has no further
+  meaning.</para>
+  <itemizedlist>
+
+    <listitem><para><varname>DISTNAME</varname> is the basename of the
+    distribution file to be downloaded from the package's
+    website.</para></listitem>
 
-    <para>In the first section there are the following variables, which
-    should appear exactly in the order given here. The ordering and
-    grouping of variables is mostly historical and has no further
-    meaning.</para>
-
-      <itemizedlist>
-
-      <listitem><para><varname>DISTNAME</varname> is the basename of the
-      distribution file to be downloaded from the package's
-      website.</para></listitem>
+    <listitem><para><varname>PKGNAME</varname> is the name of the
+    package, as used by pkgsrc. You only need to provide it if
+    <varname>DISTNAME</varname> (which is the default) is not a good
+    name for the package in pkgsrc.  Usually it is the pkgsrc
+    directory name together with the version number. It must match the
+    regular expression
+    <varname>^[A-Za-z0-9][A-Za-z0-9-_.+]*$</varname>, that is, it
+    starts with a letter or digit, and contains only letters, digits,
+    dashes, underscores, dots and plus signs.</para></listitem>
 
-      <listitem><para><varname>PKGNAME</varname> is the name of the
-      package, as used by pkgsrc. You only need to provide it if it
-      differs from <varname>DISTNAME</varname>. Usually it is the directory name together
-      with the version number. It must match the regular expression
-      <varname>^[A-Za-z0-9][A-Za-z0-9-_.+]*$</varname>, that is, it
-      starts with a letter or digit, and contains only letters, digits,
-      dashes, underscores, dots and plus signs.</para></listitem>
+    <listitem><para><varname>SVR4_PKGNAME</varname> is the name of
+    the package file to create if the <varname>PKGNAME</varname>
+    isn't unique on a SVR4 system. The default is
+    <varname>PKGNAME</varname>, which may be shortened when you use
+    <filename role="pkg">pkgtools/gensolpkg</filename>. Only add
+    <varname>SVR4_PKGNAME</varname> if <varname>PKGNAME</varname>
+    does not produce an unique package name on a SVR4 system.
+    The length of <varname>SVR4_PKGNAME</varname> is limited to 5
+    characters.</para></listitem>
 
-      <listitem><para><varname>CATEGORIES</varname> is a list of categories
-           which the package fits in. You can choose any of the top-level
-           directories of pkgsrc for it.</para>
+    <listitem><para><varname>CATEGORIES</varname> is a list of categories
+    which the package fits in. You can choose any of the top-level
+    directories of pkgsrc for it.</para>
 
-       <para>Currently the following values are available for
-         <varname>CATEGORIES</varname>. If more than
-         one is used, they need to be separated by spaces:</para>
+    <para>Currently the following values are available for
+    <varname>CATEGORIES</varname>. If more than
+    one is used, they need to be separated by spaces:</para>
 
-<programlisting>
-    archivers     cross         geography     meta-pkgs     security
-    audio         databases     graphics      misc          shells
-    benchmarks    devel         ham           multimedia    sysutils
-    biology       editors       inputmethod   net           textproc
-    cad           emulators     lang          news          time
-    chat          finance       mail          parallel      wm
-    comms         fonts         math          pkgtools      www
-    converters    games         mbone         print         x11
-</programlisting>
-       </listitem>
+    <programlisting>
+      archivers     cross         geography     meta-pkgs     security
+      audio         databases     graphics      misc          shells
+      benchmarks    devel         ham           multimedia    sysutils
+      biology       editors       inputmethod   net           textproc
+      cad           emulators     lang          news          time
+      chat          finance       mail          parallel      wm
+      comms         fonts         math          pkgtools      www
+      converters    games         mbone         print         x11
+    </programlisting>
+    </listitem>
 
-       <listitem><para><varname>MASTER_SITES</varname>,
-       <varname>DYNAMIC_MASTER_SITES</varname>,
-       <varname>DIST_SUBDIR</varname>, <varname>EXTRACT_SUFX</varname>
-       and <varname>DISTFILES</varname> are discussed in detail in
-       <xref linkend="build.fetch"/>.</para></listitem>
+    <listitem><para><varname>MASTER_SITES</varname>,
+    <varname>DYNAMIC_MASTER_SITES</varname>,
+    <varname>DIST_SUBDIR</varname>, <varname>EXTRACT_SUFX</varname>
+    and <varname>DISTFILES</varname> are discussed in detail in
+    <xref linkend="build.fetch"/>.</para></listitem>
 
-       </itemizedlist>
+  </itemizedlist>
 
-    <para>The second section contains information about separately
-      downloaded patches, if any.
-      <itemizedlist>
-       <listitem><para><varname>PATCHFILES:</varname>
-         Name(s) of additional files that contain distribution patches.
-         There is no default. pkgsrc will look for them at
-         <varname>PATCH_SITES</varname>.
-         They will automatically be uncompressed before patching if
-         the names end with <filename>.gz</filename> or
-         <filename>.Z</filename>.</para>
-       </listitem>
-       <listitem><para><varname>PATCH_SITES</varname>:
-         Primary location(s) for distribution patch files (see
-         <varname>PATCHFILES</varname> below) if not found locally.</para>
-       </listitem>
-      </itemizedlist>
-    </para>
-    <para>The third section contains the following variables.
-      <itemizedlist>
+  <para>The second section contains information about separately
+  downloaded patches, if any.
+  <itemizedlist>
+    <listitem><para><varname>PATCHFILES:</varname>
+    Name(s) of additional files that contain distribution patches.
+    There is no default. pkgsrc will look for them at
+    <varname>PATCH_SITES</varname>.
+    They will automatically be uncompressed before patching if
+    the names end with <filename>.gz</filename> or
+    <filename>.Z</filename>.</para>
+    </listitem>
+    <listitem><para><varname>PATCH_SITES</varname>:
+    Primary location(s) for distribution patch files (see
+    <varname>PATCHFILES</varname> below) if not found locally.</para>
+    </listitem>
+  </itemizedlist></para>
+  <para>The third section contains the following variables.
+  <itemizedlist>
 
-      <listitem><para><varname>MAINTAINER</varname> is the email address
-      of the person who feels responsible for this package, and who is
-      most likely to look at problems or questions regarding this
-      package which have been reported with &man.send-pr.1;. Other
-      developers should contact the <varname>MAINTAINER</varname> before
-      making major changes to the package. When packaging a new program,
-      set <varname>MAINTAINER</varname> to yourself. If you really can't
-      maintain the package for future updates, set it to
-      <email>pkgsrc-users%NetBSD.org@localhost</email>.</para></listitem>
+    <listitem><para><varname>MAINTAINER</varname> is the email address
+    of the person who feels responsible for this package, and who is
+    most likely to look at problems or questions regarding this
+    package which have been reported with &man.send-pr.1;. Other
+    developers should contact the <varname>MAINTAINER</varname> before
+    making major changes to the package. When packaging a new program,
+    set <varname>MAINTAINER</varname> to yourself. If you really can't
+    maintain the package for future updates, set it to
+    <email>pkgsrc-users%NetBSD.org@localhost</email>.</para></listitem>
 
-      <listitem><para><varname>HOMEPAGE</varname> is a URL where users can
-      find more information about the package.</para></listitem>
+    <listitem><para><varname>HOMEPAGE</varname> is a URL where users can
+    find more information about the package.</para></listitem>
 
-      <listitem><para><varname>COMMENT</varname> is a one-line
-      description of the package (should not include the package
-      name).</para></listitem>
-      </itemizedlist>
-    </para>
+    <listitem><para><varname>COMMENT</varname> is a one-line
+    description of the package (should not include the package
+    name).</para></listitem>
+  </itemizedlist></para>
+
+  <para>Other variables that affect the build:
+  <itemizedlist>
 
-    <para>Other variables that affect the build:
-      <itemizedlist>
-
-       <listitem>
+    <listitem>
+      <para><varname>WRKSRC</varname>: The directory where the
+      interesting distribution files of the package are found. The
+      default is <filename>${WRKDIR}/${DISTNAME}</filename>, which
+      works for most packages.</para>
 
-         <para><varname>WRKSRC</varname>: The directory where the
-         interesting distribution files of the package are found. The
-         default is <filename>${WRKDIR}/${DISTNAME}</filename>, which
-         works for most packages.</para>
+      <para>If a package doesn't create a subdirectory for itself
+      (most GNU software does, for instance), but extracts itself in
+      the current directory, you should set
+      <varname>WRKSRC=${WRKDIR}</varname>.</para>
 
-         <para>If a package doesn't create a subdirectory for itself
-         (most GNU software does, for instance), but extracts itself in
-         the current directory, you should set <varname>WRKSRC=
-         ${WRKDIR}</varname>.</para>
-
-         <para>If a package doesn't create a subdirectory with the name
-         of <varname>DISTNAME</varname> but some different name, set
-         <varname>WRKSRC</varname> to point to the proper name in
-         <filename>${WRKDIR}</filename>, for example <varname>WRKSRC=
-         ${WRKDIR}/${DISTNAME}/unix</varname>. See <filename
-         role="pkg">lang/tcl</filename> and <filename
-         role="pkg">x11/tk</filename> for other examples.</para>
+      <para>If a package doesn't create a subdirectory with the
+      name of <varname>DISTNAME</varname> but some different name,
+      set <varname>WRKSRC</varname> to point to the proper name in
+      <filename>${WRKDIR}</filename>, for example
+      <varname>WRKSRC=${WRKDIR}/${DISTNAME}/unix</varname>. See
+      <filename role="pkg">lang/tcl</filename> and <filename
+      role="pkg">x11/tk</filename> for other examples.</para>
 
-         <para>The name of the working directory created by pkgsrc is
-         taken from the <varname>WRKDIR_BASENAME</varname> variable. By
-         default, its value is <filename>work</filename>. If you want
-         to use the same pkgsrc tree for building different kinds of
-         binary packages, you can change the variable according to your
-         needs. Two other variables handle common cases of setting
-         <varname>WRKDIR_BASENAME</varname> individually. If
-         <varname>OBJHOSTNAME</varname> is defined in
-         <filename>/etc/mk.conf</filename>, the first component of the
-         host's name is attached to the directory name. If
-         <varname>OBJMACHINE</varname> is defined, the platform name is
-         attached, which might look like <filename>work.i386</filename>
-         or <filename>work.sparc</filename>.</para>
+      <para>The name of the working directory created by pkgsrc is
+      taken from the <varname>WRKDIR_BASENAME</varname>
+      variable. By default, its value is
+      <filename>work</filename>. If you want to use the same
+      pkgsrc tree for building different kinds of binary packages,
+      you can change the variable according to your needs. Two
+      other variables handle common cases of setting
+      <varname>WRKDIR_BASENAME</varname> individually. If
+      <varname>OBJHOSTNAME</varname> is defined in
+      <filename>/etc/mk.conf</filename>, the first component of
+      the host's name is attached to the directory name. If
+      <varname>OBJMACHINE</varname> is defined, the platform name
+      is attached, which might look like
+      <filename>work.i386</filename> or
+      <filename>work.sparc</filename>.</para>
+
+    </listitem>
 
-       </listitem>
-      </itemizedlist>
-    </para>
-    <para>Please pay attention to the following gotchas:</para>
+  </itemizedlist></para>
+  
+  <para>Please pay attention to the following gotchas:</para>
+  <itemizedlist>
+    <listitem>
+      <para>Add <varname>MANCOMPRESSED</varname> if man pages are
+      installed in compressed form by the package; see comment in
+      <filename>bsd.pkg.mk</filename>.</para>
+    </listitem>
 
-    <itemizedlist>
-      <listitem>
-        <para>Add <varname>MANCOMPRESSED</varname> if man pages are installed in



Home | Main Index | Thread Index | Old Index