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

Re: Bug#552690: mknod-in-maintainer-script postinst:39



Manoj Srivastava <srivasta@debian.org> writes:
> On Thu, Oct 29 2009, Simon Horman wrote:

>> Could you suggest a policy-compliant method of creating fifos for the
>> package? At the time that I added mknod to the maintainer script the
>> consensus that this was the best option available.

>         You may use mkfifo instead of mknod, since there is no policy
>  prohibition on mkfifo (and it can't be used to make special
>  files). Perhaps we can add a footnote to policy mentioning mkfifo where
>  the mknod prohibition is written?

Policy currently isn't explicit about named pipes unless one considers
them to be device files (which they sort of are and sort of aren't).  I
propose the following change to clarify this.

I'm looking for seconds.

commit 23cf3d94a253f1142fcd97d39320419b1014448d
Author: Russ Allbery <rra@debian.org>
Date:   Thu Nov 12 13:26:50 2009 -0800

    Clarify policy on named pipes in packages
    
    Make explicit the requirement that packages not include named pipes in
    addition to device files.  State that named pipes must be created in
    postinst and removed in prerm or postrm as appropriate.  Suggest in a
    footnote using mkfifo rather than mknod to avoid false positives from
    package checkers.

diff --git a/policy.sgml b/policy.sgml
index 9fcb660..34a45d5 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -7256,8 +7256,8 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
 	<heading>Device files</heading>
 
 	<p>
-	  Packages must not include device files in the package file
-	  tree.
+	  Packages must not include device files or named pipes in the
+	  package file tree.
 	</p>
 
 	<p>
@@ -7282,6 +7282,18 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
 	  <file>/dev/cu*</file> devices should be changed to use
 	  <file>/dev/ttyS*</file>.
 	</p>
+
+	<p>
+	  Named pipes needed by the package must be created in
+	  the <prgn>postinst</prgn> script<footnote>
+	    It's better to use <prgn>mkfifo</prgn> rather
+	    than <prgn>mknod</prgn> to create named pipes so that
+	    automated checks for packages incorrectly creating device
+	    files with <prgn>mknod</prgn> won't have false positives.
+	  </footnote> and removed in
+	  the <prgn>prerm</prgn> or <prgn>postrm</prgn> script as
+	  appropriate.
+	</p>
       </sect>
 
       <sect id="config-files">

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: