https://redmine.lighttpd.net/https://redmine.lighttpd.net/favicon.ico?13667327412017-03-15T04:49:32Zlighty labsLighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109502017-03-15T04:49:32Zgstrauss
<ul><li><strong>Tracker</strong> changed from <i>Bug</i> to <i>Feature</i></li></ul><p>Please don't file feature requests as bugs.</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109512017-03-15T04:55:59Zgstrauss
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Wontfix</i></li><li><strong>Target version</strong> deleted (<del><i>1.4.x</i></del>)</li></ul><blockquote>
<p>and probably sets quite a lot of configuration.</p>
</blockquote>
<p>Example, please. I run a fork of openwrt and the /etc/lighttpd/lighttpd.conf is not large and does not change frequently. When it does, it is easy to review and merge the new /etc/lighttpd/lighttpd.conf-opkg.</p>
<p>If you do not want to use the lighttpd.conf that is shipped with your distro, then simply update your startup scripts to use a different lighttpd.conf. For example, instead of the startup script running<br /> <code>/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf</code><br />it could run <br /> <code>/usr/sbin/lighttpd -f /path/to/custom/lighttpd/lighttpd.conf</code><br />You can even create your own service and startup scripts if you do not want touch the ones shipped by your distro. Just remember to disable the service shipped with your distro if you create a replacement service.</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109522017-03-15T05:04:39Zphilipp
<ul></ul><p>I also run a fork of LEDE and OpenWRT both, and I want to override various values:</p>
<pre>
server.errorlog
server.errorlog-use-syslog
mimetype.assign
static-file.exclude-extensions
server.upload-dirs
cgi.assign
server.document-root
</pre>
<p>most of which are set... others might be set in the future, and I don't want that breaking my configuration.</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109532017-03-15T05:18:11Zgstrauss
<ul></ul><p>As I mentioned, if you upgrade the package and there is a changed lighttpd.conf, the new file will be installed as /etc/lighttpd/lighttpd.conf-opkg, and will not break your current configuration. This is off-topic. Please look at <code>opkg --help</code>, specifically <code>opkg list-changed-conffiles</code>. You want to back those up (because it is a good idea to have backups). After running an opkg update, check for new *-opkg files under /etc.</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109542017-03-15T05:19:59Zphilipp
<ul></ul><p>But, equally to the point... so what if someone wants to change a value that they've previously set to something else?</p>
<p>Why is that fatal, much less noteworthy?</p>
<p>Worst case, I would generate a warning in verbose mode (if lighttpd had a verbose mode).</p>
<p>As Jon Postel beat into me, "Be liberal in what you accept, and conservative in what you send." <a class="external" href="https://tools.ietf.org/html/rfc1122#page-12">https://tools.ietf.org/html/rfc1122#page-12</a></p>
<p>He also said, "Never confuse protocol with policy", i.e. don't express policy decisions through protocol restrictions. The two are orthogonal.</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109552017-03-15T05:24:51Zphilipp
<ul></ul><p>I know how it works.</p>
<p>I'm also a Fedora and Centos contributor, and <code>rpm</code> does the same thing, leaving a <code>.rpmnew</code> version of the file, rather than overwrite your changes.</p>
<p>This is not a revelation.</p>
<p>It's still useful to be able to say, "regardless of whatever the upstream packager in his wisdom (or lack thereof) has provided," <strong>these</strong> values are the ones I ultimately want.</p>
<p>The <strong>new</strong> incoming config file might well have improvements, bug fixes, etc. which I'd certainly want to merge in...</p>
<p>But it's not a dichotomy: you shouldn't have to choose between accepting new functionality and fixes upstream via upgrades versus fine grained control over the few knobs that <em>really, really</em> matter to you.</p>
<p>I don't understand why you're presenting this as an either/or choice. It's not.</p>
<p>If this is such an obvious way to want to do things, why can't I think of a single other piece of software with truly complex configuration files which also doesn't allow you to override previously set values?</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109562017-03-15T05:41:19Zphilipp
<ul></ul><p>Can you provide an example of another piece of software which doesn't allow values to be set and (re)set?</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109652017-03-21T03:05:13Zphilipp
<ul></ul><p>Please reopen.</p>
<p>Replacing patch with modified assignment form:</p>
<pre>
override <var> = <expr>
</pre> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109662017-03-21T05:11:48Zgstrauss
<ul><li><strong>Status</strong> changed from <i>Wontfix</i> to <i>Reopened</i></li><li><strong>Target version</strong> set to <i>1.4.x</i></li></ul><p>Two alternate patches and further discussion can be found at <a class="external" href="https://github.com/lighttpd/lighttpd1.4/pull/78">https://github.com/lighttpd/lighttpd1.4/pull/78</a></p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109682017-03-23T04:36:26Zphilipp
<ul></ul><p>Updating the PR per IRC convo.</p> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109692017-03-23T05:20:08Zgstrauss
<ul><li><strong>Status</strong> changed from <i>Reopened</i> to <i>Patch Pending</i></li><li><strong>Target version</strong> changed from <i>1.4.x</i> to <i>1.4.46</i></li></ul> Lighttpd - Feature #2799: allow overriding configuration valueshttps://redmine.lighttpd.net/issues/2799?journal_id=109702017-03-23T05:35:09Zphilipp
<ul><li><strong>Status</strong> changed from <i>Patch Pending</i> to <i>Fixed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Applied in changeset <a class="changeset" title="[core] allow overriding prior config values (fixes #2799) introduce ":=" config file syntax to r..." href="https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/367e62c1c29e143267f40e3672d4869d79bfb58d">367e62c1c29e143267f40e3672d4869d79bfb58d</a>.</p>