/[gentoo]/xml/htdocs/proj/en/glep/glep-0020.html
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0020.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.5
1<?xml version="1.0" encoding="utf-8" ?> 1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<!-- 4
5This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new
6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links
7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8-->
9<head> 5<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" /> 7 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 20 -- /srv - Services Home Directory Support</title> 8 <title>GLEP 20 -- /srv - Services Home Directory Support</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 9 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
14</head> 10</head>
15<body bgcolor="white"> 11<body bgcolor="white">
16<table class="navigation" cellpadding="0" cellspacing="0" 12<table class="navigation" cellpadding="0" cellspacing="0"
22<td class="textlinks" align="left"> 18<td class="textlinks" align="left">
23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 19[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
24[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] 20[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
25[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0020.txt">GLEP Source</a></b>] 21[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0020.txt">GLEP Source</a></b>]
26</td></tr></table> 22</td></tr></table>
27<div class="document">
28<table class="rfc2822 field-list" frame="void" rules="none"> 23<table class="rfc2822 docutils field-list" frame="void" rules="none">
29<col class="field-name" /> 24<col class="field-name" />
30<col class="field-body" /> 25<col class="field-body" />
31<tbody valign="top"> 26<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">20</td> 27<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">20</td>
33</tr> 28</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">/srv - Services Home Directory Support</td> 29<tr class="field"><th class="field-name">Title:</th><td class="field-body">/srv - Services Home Directory Support</td>
35</tr> 30</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> 31<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td>
37</tr> 32</tr>
38<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0020.txt?cvsroot=gentoo">2004/02/22 02:09:07</a></td> 33<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0020.txt?cvsroot=gentoo">2004/11/11 21:35:53</a></td>
39</tr> 34</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Stuart Herbert &lt;stuart&#32;&#97;t&#32;gentoo.org&gt;, Rob Holland &lt;tigger&#32;&#97;t&#32;gentoo.org&gt;</td> 35<tr class="field"><th class="field-name">Author:</th><td class="field-body">Stuart Herbert &lt;stuart&#32;&#97;t&#32;gentoo.org&gt;, Rob Holland &lt;tigger&#32;&#97;t&#32;gentoo.org&gt;</td>
41</tr> 36</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 37<tr class="field"><th class="field-name">Status:</th><td class="field-body">Approved</td>
43</tr> 38</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 39<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 40</tr>
46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td> 41<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td>
47</tr> 42</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">09-Feb-2004</td> 43<tr class="field"><th class="field-name">Created:</th><td class="field-body">09-Feb-2004</td>
49</tr> 44</tr>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">21-Feb-2004</td> 45<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">21-Feb-2004, 11-Nov-2004</td>
51</tr> 46</tr>
52</tbody> 47</tbody>
53</table> 48</table>
54<hr /> 49<hr />
55<div class="contents topic" id="contents"> 50<div class="contents topic">
56<p class="topic-title"><a name="contents">Contents</a></p> 51<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
57<ul class="simple"> 52<ul class="simple">
58<li><a class="reference" href="#thanks-to" id="id2" name="id2">Thanks To</a></li> 53<li><a class="reference" href="#thanks-to" id="id2" name="id2">Thanks To</a></li>
59<li><a class="reference" href="#abstract" id="id3" name="id3">Abstract</a></li> 54<li><a class="reference" href="#abstract" id="id3" name="id3">Abstract</a></li>
60<li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li> 55<li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li>
61<li><a class="reference" href="#specification" id="id5" name="id5">Specification</a></li> 56<li><a class="reference" href="#specification" id="id5" name="id5">Specification</a></li>
64<li><a class="reference" href="#implementation" id="id8" name="id8">Implementation</a></li> 59<li><a class="reference" href="#implementation" id="id8" name="id8">Implementation</a></li>
65<li><a class="reference" href="#backwards-compatibility" id="id9" name="id9">Backwards Compatibility</a></li> 60<li><a class="reference" href="#backwards-compatibility" id="id9" name="id9">Backwards Compatibility</a></li>
66<li><a class="reference" href="#copyright" id="id10" name="id10">Copyright</a></li> 61<li><a class="reference" href="#copyright" id="id10" name="id10">Copyright</a></li>
67</ul> 62</ul>
68</div> 63</div>
69<div class="section" id="thanks-to"> 64<div class="section">
70<h1><a class="toc-backref" href="#id2" name="thanks-to">Thanks To</a></h1> 65<h1><a class="toc-backref" href="#id2" id="thanks-to" name="thanks-to">Thanks To</a></h1>
71<p>Thanks to Robin H. Johnson (<a class="reference" href="mailto:robbat2&#64;gentoo.org">robbat2&#64;gentoo.org</a>) for his assistance in writing 66<p>Thanks to Robin H. Johnson (<a class="reference" href="mailto:robbat2&#64;gentoo.org">robbat2&#64;gentoo.org</a>) for his assistance in writing
72this GLEP.</p> 67this GLEP.</p>
73</div> 68</div>
74<div class="section" id="abstract"> 69<div class="section">
75<h1><a class="toc-backref" href="#id3" name="abstract">Abstract</a></h1> 70<h1><a class="toc-backref" href="#id3" id="abstract" name="abstract">Abstract</a></h1>
76<p>This GLEP proposes a new root-level directory - /srv - as an optional home 71<p>This GLEP proposes a new root-level directory - /srv - as an optional home
77for the data (and sometimes the software too) for software that provides 72for the data (and sometimes the software too) for software that provides
78services.</p> 73services.</p>
79<p>/srv will be supported via a USE flag. This gives users the choice 74<p>/srv will be supported via a USE flag. This gives users the choice
80of using a dedicated service home hierarchy or not.</p> 75of using a dedicated service home hierarchy or not.</p>
81<p>/srv is defined in FHS 2.3, which is part of the upcoming LSB v2.0 release 76<p>/srv is defined in FHS 2.3, which is part of the upcoming LSB v2.0 release
82(<a class="reference" href="http://bugs.freestandards.org/cgi-bin/bugzilla/show_bug.cgi?id=16">http://bugs.freestandards.org/cgi-bin/bugzilla/show_bug.cgi?id=16</a>)</p> 77(<a class="reference" href="http://bugs.freestandards.org/cgi-bin/bugzilla/show_bug.cgi?id=16">http://bugs.freestandards.org/cgi-bin/bugzilla/show_bug.cgi?id=16</a>)</p>
83</div> 78</div>
84<div class="section" id="motivation"> 79<div class="section">
85<h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1> 80<h1><a class="toc-backref" href="#id4" id="motivation" name="motivation">Motivation</a></h1>
86<p>Gentoo currently does not provide sufficiently flexible support for 81<p>Gentoo currently does not provide sufficiently flexible support for
87sites which wish to consolidate the data for their service-orientated 82sites which wish to consolidate the data for their service-orientated
88software under one simple, easy to administer, location.</p> 83software under one simple, easy to administer, location.</p>
89<p>Adding optional support for the /srv directory structure will give 84<p>Adding optional support for the /srv directory structure will give
90sites increased flexibility on how to layout their machines.</p> 85sites increased flexibility on how to layout their machines.</p>
91</div> 86</div>
92<div class="section" id="specification"> 87<div class="section">
93<h1><a class="toc-backref" href="#id5" name="specification">Specification</a></h1> 88<h1><a class="toc-backref" href="#id5" id="specification" name="specification">Specification</a></h1>
94<p>A new global USE flag - srvdir - will be added to Portage.</p> 89<p>A new global USE flag - srvdir - will be added to Portage.</p>
95<p>Ebuilds that choose to support the srvdir USE flag will configure the 90<p>Ebuilds that choose to support the srvdir USE flag will configure the
96package to install and use their data under the /srv directory.</p> 91package to install and use their data under the /srv directory.</p>
97<p>Ebuilds that choose to support the srvdir USE flag - and which install 92<p>Ebuilds that choose to support the srvdir USE flag - and which install
98packages that need write access to the same directories that the 93packages that need write access to the same directories that the
100the software under the /srv directory.</p> 95the software under the /srv directory.</p>
101<p>All packages configured to support the srvdir USE flag will support 96<p>All packages configured to support the srvdir USE flag will support
102this breakdown of /srv:</p> 97this breakdown of /srv:</p>
103<blockquote> 98<blockquote>
104/srv/&lt;fqdn&gt;/&lt;service&gt;/&lt;service-specific tree&gt;</blockquote> 99/srv/&lt;fqdn&gt;/&lt;service&gt;/&lt;service-specific tree&gt;</blockquote>
105<dl> 100<dl class="docutils">
106<dt>where</dt> 101<dt>where</dt>
107<dd>&lt;fqdn&gt; is the fully-qualified domain name 102<dd>&lt;fqdn&gt; is the fully-qualified domain name
108&lt;service&gt; is the name of the service 103&lt;service&gt; is the name of the service
109&lt;service-specific tree&gt; is unique to the package</dd> 104&lt;service-specific tree&gt; is unique to the package</dd>
110</dl> 105</dl>
111<p>Ebuilds that install anything into /srv will install into /srv/localhost. 106<p>Ebuilds that install anything into /srv will install into /srv/localhost.
112/srv/localhost - or any of the &lt;service&gt; directories underneath it - may be 107/srv/localhost - or any of the &lt;service&gt; directories underneath it - may be
113symlinks created by the local administrator.</p> 108symlinks created by the local administrator.</p>
114</div> 109</div>
115<div class="section" id="examples"> 110<div class="section">
116<h1><a class="toc-backref" href="#id6" name="examples">Examples</a></h1> 111<h1><a class="toc-backref" href="#id6" id="examples" name="examples">Examples</a></h1>
117<p>For example, backup packages which support the srvdir USE flag could 112<p>For example, backup packages which support the srvdir USE flag could
118save backup data under the /srv/&lt;hostname&gt;/backups directory for each 113save backup data under the /srv/&lt;hostname&gt;/backups directory for each
119host on the network that they perform backups for.</p> 114host on the network that they perform backups for.</p>
120<p>For example, web-based applications which support the srvdir USE flag 115<p>For example, web-based applications which support the srvdir USE flag
121could install their software under the /srv/localhost/www/htdocs directory. 116could install their software under the /srv/localhost/www/htdocs directory.
127including Portage itself.</p> 122including Portage itself.</p>
128<p>For packages that do not support the srvdir USE flag, there is currently no 123<p>For packages that do not support the srvdir USE flag, there is currently no
129recommended default location to use - although /var/localhost may prove a 124recommended default location to use - although /var/localhost may prove a
130useful alternative.</p> 125useful alternative.</p>
131</div> 126</div>
132<div class="section" id="rationale"> 127<div class="section">
133<h1><a class="toc-backref" href="#id7" name="rationale">Rationale</a></h1> 128<h1><a class="toc-backref" href="#id7" id="rationale" name="rationale">Rationale</a></h1>
134<p>Introducing optional support for the /srv directory will benefit a number of 129<p>Introducing optional support for the /srv directory will benefit a number of
135groups of Gentoo users.</p> 130groups of Gentoo users.</p>
136<ul> 131<ul>
137<li><p class="first">Users who wish to have /usr mounted read-only</p> 132<li><p class="first">Users who wish to have /usr mounted read-only</p>
138<p>/srv provides an optional alternative for packages that install writable 133<p>/srv provides an optional alternative for packages that install writable
160<p>It is common practice for shared hosted systems to place web sites, 155<p>It is common practice for shared hosted systems to place web sites,
161ftp sites and so on under a user's actual home directory. This practice 156ftp sites and so on under a user's actual home directory. This practice
162requires the user's home directory to be world-readable, which does not 157requires the user's home directory to be world-readable, which does not
163promote strong security!</p> 158promote strong security!</p>
164</li> 159</li>
165<li><p class="first">Users who wish to store service-orientated files onto a single logical 160<li><p class="first">Users who wish to store service-orientated files onto a single logical
166volume to support future growth</p> 161volume to support future growth</p>
167</li> 162</li>
168</ul> 163</ul>
169<p>The Gentoo Philosophy clearly states that Gentoo Linux will be a 164<p>The Gentoo Philosophy clearly states that Gentoo Linux will be a
170highly-configurable meta-distribution. Adding optional support for /srv is 165highly-configurable meta-distribution. Adding optional support for /srv is
171very much in keeping with our Philosophy.</p> 166very much in keeping with our Philosophy.</p>
172</div> 167</div>
173<div class="section" id="implementation"> 168<div class="section">
174<h1><a class="toc-backref" href="#id8" name="implementation">Implementation</a></h1> 169<h1><a class="toc-backref" href="#id8" id="implementation" name="implementation">Implementation</a></h1>
175<p>A new USE flag - srvdir - will be added to Portage.</p> 170<p>A new USE flag - srvdir - will be added to Portage.</p>
176<p>Ebuilds and eclasses will choose to support the srvdir USE flag or not on 171<p>Ebuilds and eclasses will choose to support the srvdir USE flag or not on
177an individual basis.</p> 172an individual basis.</p>
178<p>(Author's note: If this GLEP is approved, all web-based applications will 173<p>(Author's note: If this GLEP is approved, all web-based applications will
179support the srvdir USE flag through the work being carried out under GLEP #11)</p> 174support the srvdir USE flag through the work being carried out under GLEP #11)</p>
180<p>There has been some debate about whether the /srv directory should be provided 175<p>There has been some debate about whether the /srv directory should be provided
181by the basesystem package or not. Because this support is optional, and 176by the basesystem package or not. Because this support is optional, and
182because different sites will have different storage requirements, we believe 177because different sites will have different storage requirements, we believe
183that it should be left to the local Gentoo system administrator to manually 178that it should be left to the local Gentoo system administrator to manually
184create the /srv directory.</p> 179create the /srv directory.</p>
185<p>If baselayout feels that it must install a /srv, then we propose that 180<p>If baselayout feels that it must install a /srv, then we propose that
186baselayout installs /srv as a symlink to /var/srv. This approach will support 181baselayout installs /srv as a symlink to /var/srv. This approach will support
187installations that mount the root filesystem read-only.</p> 182installations that mount the root filesystem read-only.</p>
188</div> 183</div>
189<div class="section" id="backwards-compatibility"> 184<div class="section">
190<h1><a class="toc-backref" href="#id9" name="backwards-compatibility">Backwards Compatibility</a></h1> 185<h1><a class="toc-backref" href="#id9" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
191<p>Users who choose not to use the new srvdir USE flag will see little to no 186<p>Users who choose not to use the new srvdir USE flag will see little to no
192change. It is likely that some ebuilds will change their non-srvdir directory 187change. It is likely that some ebuilds will change their non-srvdir directory
193layout to reduce the amount of effort required to support both options.</p> 188layout to reduce the amount of effort required to support both options.</p>
194</div> 189</div>
195<div class="section" id="copyright"> 190<div class="section">
196<h1><a class="toc-backref" href="#id10" name="copyright">Copyright</a></h1> 191<h1><a class="toc-backref" href="#id10" id="copyright" name="copyright">Copyright</a></h1>
197<p>This document is licensed under the Creative Commons - Attribution / Share 192<p>This document is licensed under the Creative Commons - Attribution / Share
198Alike license. (<a class="reference" href="http://creativecommons.org/licenses/by-sa/1.0">http://creativecommons.org/licenses/by-sa/1.0</a>)</p> 193Alike license. (<a class="reference" href="http://creativecommons.org/licenses/by-sa/1.0">http://creativecommons.org/licenses/by-sa/1.0</a>)</p>
199</div> 194</div>
200</div>
201 195
202<hr class="footer"/> 196</div>
203<div class="footer"> 197<div class="footer">
198<hr class="footer" />
204<a class="reference" href="glep-0020.txt">View document source</a>. 199<a class="reference" href="glep-0020.txt">View document source</a>.
205Generated on: 2004-02-22 02:10 UTC. 200Generated on: 2007-10-13 13:39 UTC.
206Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. 201Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
202
207</div> 203</div>
208</body> 204</body>
209</html> 205</html>
210 206

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.20