docs/181080: porters-handbook: mention PLIST_DIRSTRY
Frederic Culot
culot at FreeBSD.org
Sun Sep 1 07:30:01 UTC 2013
The following reply was made to PR docs/181080; it has been noted by GNATS.
From: Frederic Culot <culot at FreeBSD.org>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: docs/181080: porters-handbook: mention PLIST_DIRSTRY
Date: Sun, 1 Sep 2013 07:22:08 +0000
--d6Gm4EdcadzBjdND
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Following an off-list feedback from Warren (wblock@) I submit this
updated patch which adds a note explaining into a bit more detail
what PLIST_DIRSTRY is used for.
This note is added right after the first PLIST_DIRS appearence and
gives a link to the section where the @dirrm and @dirrmtry macros
are explained, so I believe the reader is now able to grasp the
meaning of PLIST_DIRSTRY more easily.
However, adding an example of the PLIST_DISTRY usage was not deemed
necessary as it is pretty straightforward to extrapolate the already
existing PLIST_DIRS example for PLIST_DIRSTRY.
Feel free to ping me in case you have any comments related to this
updated patch, and thanks again Warren for your feedback.
Cheers,
Frederic
--d6Gm4EdcadzBjdND
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="porters-handbook.diff"
Index: book.xml
===================================================================
--- book.xml (revision 42606)
+++ book.xml (working copy)
@@ -278,6 +278,20 @@
<para>Of course, <makevar>PLIST_DIRS</makevar> should be left
unset if a port installs no directories of its own.</para>
+ <note>
+ <para>It is possible that several ports share a common
+ directory. In that case
+ <makevar>PLIST_DIRS</makevar> should be replaced by
+ <makevar>PLIST_DIRSTRY</makevar> so that the directory
+ is removed only if empty, otherwise it is silently
+ ignored. <makevar>PLIST_DIRS</makevar> and
+ <makevar>PLIST_DIRSTRY</makevar> are equivalent to
+ using <literal>@dirrm</literal> and
+ <literal>@dirrmtry</literal> in
+ <filename>pkg-plist</filename>, which are described in
+ <xref linkend="plist-dir-cleaning"/>.</para>
+ </note>
+
<para>The price for this way of listing port's files and
directories is that you cannot use command sequences
described in &man.pkg.create.1;. Therefore, it is suitable
@@ -9918,20 +9932,25 @@
<filename><makevar>TMPPLIST</makevar></filename>.</para>
<para>Another possibility to modify port's packing list is based
- on setting the variables <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar>. The value of each variable is
+ on setting the variables <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar>. The value of each variable is
regarded as a list of pathnames to write to
<filename><makevar>TMPPLIST</makevar></filename> along with
<filename><makevar>PLIST</makevar></filename> contents. Names
- listed in <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar> are subject to
+ listed in <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar> are subject to
<literal>%%<replaceable>VAR</replaceable>%%</literal>
substitution, as described above. Except for that, names from
<makevar>PLIST_FILES</makevar> will appear in the final
- packing list unchanged, while <literal>@dirrm</literal> will
- be prepended to names from <makevar>PLIST_DIRS</makevar>. To
- take effect, <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar> must be set before
+ packing list unchanged, while <literal>@dirrm</literal> and
+ <literal>@dirrmtry</literal> will
+ be prepended to names from <makevar>PLIST_DIRS</makevar>
+ and <makevar>PLIST_DIRSTRY</makevar>, respectively. To
+ take effect, <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar> must be set before
<filename><makevar>TMPPLIST</makevar></filename> is written,
i.e., in <maketarget>pre-install</maketarget> or
earlier.</para>
@@ -10059,8 +10078,9 @@
<filename>pkg-plist</filename> file (with or without variable
substitution), or embedded into the
<filename>Makefile</filename> via
- <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar>. Even if the contents are
+ <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar>. Even if the contents are
auto-generated by a tool or a target in the Makefile
<emphasis>before</emphasis> the inclusion into the Ports
Collection by a committer, this is still considered a static
--d6Gm4EdcadzBjdND--
More information about the freebsd-doc
mailing list