chiark / gitweb /
Disobedience memory/widget debugging stuff has thoroughly rotted, so
[disorder] / README.upgrades
index 6e279e76485bf3138c0ec449b24c2b6945fb7781..63b7852e09dfb7fbc6bfd3666b6c3cbac3cb1b51 100644 (file)
@@ -2,9 +2,10 @@
 
 The general procedure is:
 
- * stop the old daemon, e.g. with
-     /etc/init.d/disorder stop
- * build and install the new version as described in the README
+ * stop the old daemon:  /etc/init.d/disorder stop
+ * back up your database directory (example below)
+ * build and install the new version as described in the README.  Remember to
+   install the new version of the web interface too.
  * update the configuration files (see below)
  * start the new daemon, e.g. with
      /etc/init.d/disorder start
@@ -14,7 +15,74 @@ upgrading between particular versions.  Minor versions are not
 explicitly mentioned; a version number like 1.1 implicitly includes
 all 1.1.x versions.
 
-* 1.5 -> 1.6
+If you install from .deb files then much of this work is automated.
+
+* 3.0 -> 3.1
+
+If you customized any of the templates, you will pretty much have to start from
+scratch as the web interface has been rewritten.  See disorder.cgi(8) for a
+starting point.
+
+The 'gap' directive will no longer work.  You must delete it from any
+configuration files that contain it.
+
+You may prefer to remove any 'smtp_server' directive you have, as the web
+interface will now use the local sendmail executable if available.
+
+If you want to be able to do use management over non-local connections (thereby
+potentially exposing passwords!) you must set 'remote_userman' to 'yes'.
+
+* 2.0 -> 3.0
+
+** Authentication
+
+Users are now stored in the database rather than in 'allow' directives in a
+private configuration file.  'allow' is still understood in this version, but
+is only used to populate the database on startup.  After the first (successful)
+run of the server the remaining 'allow' directives should be deleted.
+
+'restrict' and 'trust' are replaced by a system of per-user rights.  The
+default user rights are based on the 'restrict' setting, and the rights of
+users created frow 'allow' directives preserve the meaning of 'trust', but
+after the first run you should remove these directives and (optionally) add a
+'default_rights' directive.
+
+'allow', 'restrict' and 'trust' will stop working entirely in a future version
+but for now they will generate harmless error messages.  Remove them and the
+error messages will go away.
+
+See README for new setup instructions for the web interface.
+
+** Other Server Configuration
+
+Sensible defaults for 'stopword', 'player' and 'tracklength' are now built into
+the server.  If you haven't modified the values from the example or Debian
+configuration files then you can remove them.
+
+'gap' now defaults to 0 seconds instead of 2.
+
+The sound output API is now configured with the 'api' command although
+'speaker_backend' still works.  If you use 'api alsa' then you may need to
+change your 'mixer' and 'channel' settings.
+
+** Web Interface
+
+The web interface no longer uses HTTP basic authentication and the web server
+configuration imposing access control on it should be removed.  Users now log
+in using their main DisOrder password and the one in the htpassed file is now
+obsolete.  You should revisit the web interface setup instructions in README
+from scratch.
+
+** Checklist
+
+   * delete default 'stopword', 'player' and 'tracklength' directives
+   * set 'gap' if you want a non-0 inter-track gap
+   * set 'api' and maybe 'mixer' and 'channel'
+   * perhaps add 'default_rights' directive
+   * delete 'allow', 'restrict' and 'trust' directives after first run
+   * follow new web interface setup in README
+
+* 1.4/1.5 -> 2.0
 
 ** 'transform' and 'namepart' directives
 
@@ -26,10 +94,33 @@ More importantly however both 'transform' and 'namepart' are now optional, with
 sensible defaults being built in.  So if you were already using the default
 values you can just delete all instances of both.
 
-** enabled' and 'random_enabled' directives
+See disorder_config(5) for the default values.  Hopefuly they will be suitable
+for many configurations.  Please do send feedback.
+
+** 'enabled' and 'random_enabled' directives
 
 These have been removed.  Instead the state persists from one run of the server
-to the next.
+to the next.  If they appear in your configuration file they must be removed;
+the server will not start if they are present.
+
+** Database upgrade
+
+It is strongly recommended that you back up your database before performing the
+upgrade.  For example, as root, with the server STOPPED:
+  cd /var/disorder
+  mkdir BACKUP
+  cp -p * BACKUP
+
+To restore, again as root:
+  cd /var/disorder
+  rm *
+  cp -p BACKUP/* .
+
+The first thing the server does when upgrading from 1.5 is run the
+disorder-dbupgrade program.  This is necessary to modify any non-ASCII track
+names to meet the latest version's stricter normalization practices.  The
+upgrade should succeed automatically; if not it should leave an error message
+in syslog.
 
 * 1.3 -> 1.4
 
@@ -108,5 +199,3 @@ Local Variables:
 mode:outline
 fill-column:79
 End:
-
-# arch-tag:j+OBlcYYyUdGBVbVXVgXew