<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><div><div style="orphans: auto; widows: auto;"><span style="orphans: 2; widows: 2; background-color: rgba(255, 255, 255, 0);">Hello,</span></div><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);"><div style="orphans: auto; widows: auto;"><br></div><span data-mce-style="color: #000000; font-family: SFNSText, 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; display: inline !important; float: none;" style="font-variant-ligatures: normal; float: none; display: inline !important;"><div style="orphans: auto; widows: auto;">First, if we use variables the way I specified in a previous message we can set the defaults to be the ones needed for FHS. The advantage is customization and flexibility. As the freedom 0 in the definition of free software [1] says:</div></span><div style="orphans: auto; widows: auto;"><br></div><span data-mce-style="color: #000000; font-family: SFNSText, 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; display: inline !important; float: none;" style="font-variant-ligatures: normal; float: none; display: inline !important;"><div style="orphans: auto; widows: auto;">"The freedom to run the program as you wish, for any purpose (freedom 0)"</div></span><div style="orphans: auto; widows: auto;"><br></div><span data-mce-style="color: #000000; font-family: SFNSText, 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; display: inline !important; float: none;" style="font-variant-ligatures: normal; float: none; display: inline !important;"><div style="orphans: auto; widows: auto;">And this clarification from the same source:</div></span><div style="orphans: auto; widows: auto;"><br></div><span data-mce-style="color: #000000; font-family: SFNSText, 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; display: inline !important; float: none;" style="font-variant-ligatures: normal; float: none; display: inline !important;"><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; float: none; display: inline !important;"><span data-mce-style="color: #000000; font-family: SFNSText, 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; display: inline !important; float: none;" style="font-variant-ligatures: normal; float: none; display: inline !important;">"</span></span><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; float: none; display: inline !important;">The freedom to run the program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job and purpose, without being required to communicate about it with the developer or any other specific entity. In this freedom, it is the&nbsp;</span><em data-mce-style="color: #000000; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-style: italic; font-weight: normal; font-family: sans-serif; font-size: 16px; text-align: left; background-color: #ffffff;" style="font-variant-ligatures: normal;">user's&nbsp;</em><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; float: none; display: inline !important;">purpose that matters, not the&nbsp;</span><em data-mce-style="color: #000000; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-style: italic; font-weight: normal; font-family: sans-serif; font-size: 16px; text-align: left; background-color: #ffffff;" style="font-variant-ligatures: normal;">developer's</em><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; float: none; display: inline !important;">&nbsp;purpose; you as a user are free to run the program for your purposes, and if you distribute it to someone else, she is then free to run it for her purposes, but you are not entitled to impose your purposes on her."</span></div></span></span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);"><br data-mce-bogus="1"></span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);">So one can say that using hardcoded directories is the developer's purpose, the purpose of complying with FHS, and aiming at what is standard. And&nbsp;there is nothing wrong with that, but when this compliance imposes difficulties to the user's purpose, then it is wrong, moreover, against freedom 0.&nbsp;</span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);"><br data-mce-bogus="1"></span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);">Hence using variables instead of hardcoded directories is not against FHS if the default value is the FHS one, and at the same time preserves the use's purpose because it is a more flexible code.&nbsp;</span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);"><br data-mce-bogus="1"></span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);">[1]&nbsp;<a href="https://www.gnu.org/philosophy/free-sw.en.html#mission-statement" dir="ltr" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="0">https://www.gnu.org/philosophy/free-sw.en.html#mission-statement</a></span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);"><br data-mce-bogus="1"></span></div><div style="orphans: auto; widows: auto;"><span data-mce-style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-size: 16px; font-weight: normal; text-align: left; background-color: #ffffff; float: none; display: inline !important;" style="font-variant-ligatures: normal; orphans: 2; widows: 2; float: none; display: inline !important; background-color: rgba(255, 255, 255, 0);">Brian Mayer</span></div><br>Sent from my iPad</div><div><br>On Nov 1, 2016, at 1:33 PM, Cyril Hrubis &lt;<a href="mailto:chrubis@suse.cz">chrubis@suse.cz</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><span>Hi!</span><br><blockquote type="cite"><span>I'm proposing a standard way to define important directories by means of variables, so, instead of having</span><br></blockquote><blockquote type="cite"><span>echo &gt; /dev/null 2&gt;&amp;1 ;</span><br></blockquote><blockquote type="cite"><span>we would have </span><br></blockquote><blockquote type="cite"><span>echo &gt; $DEVDIR/null 2&gt;&amp;1 ;</span><br></blockquote><blockquote type="cite"><span>This way we don't get errors of file not found. And it will work in any machine, I mean, machines with non standard file hierarchy. </span><br></blockquote><span></span><br><span>Having null anywhere else than in /dev/ is against FHS[1] which is part</span><br><span>of LSB[2]. I would say that it is pretty much fine to hardcode paths to</span><br><span>files that are required to be there by the standard anyway.</span><br><span></span><br><span>[1] <a href="https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard">https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard</a></span><br><span>[2] <a href="https://wiki.linuxfoundation.org/lsb/fhs">https://wiki.linuxfoundation.org/lsb/fhs</a></span><br><span></span><br><span>-- </span><br><span>Cyril Hrubis</span><br><span><a href="mailto:chrubis@suse.cz">chrubis@suse.cz</a></span><br></div></blockquote></body></html>