chiark / gitweb /
more docs catchup
[disorder] / README.upgrades
... / ...
CommitLineData
1* Upgrading DisOrder
2
3The general procedure is:
4
5 * stop the old daemon: /etc/init.d/disorder stop
6 * back up your database directory (example below)
7 * build and install the new version as described in the README
8 * update the configuration files (see below)
9 * start the new daemon, e.g. with
10 /etc/init.d/disorder start
11
12The rest of this file describes things you must pay attention to when
13upgrading between particular versions. Minor versions are not
14explicitly mentioned; a version number like 1.1 implicitly includes
15all 1.1.x versions.
16
17* 2.0 -> 2.1
18
19** Authentication
20
21Users are now stored in the database rather than in 'allow' directives in a
22private configuration file. 'allow' is still understood in this version, but
23is only used to populate the database on startup. After the first (successful)
24run of the server the remaining 'allow' directives can be deleted.
25
26'allow' will stop working entirely in a future version.
27
28* 1.4/1.5 -> 2.0
29
30** 'transform' and 'namepart' directives
31
32'transform' has moved from the web options to the main configuration file, so
33that they can be used by other interfaces. The syntax and semantics are
34unchanged.
35
36More importantly however both 'transform' and 'namepart' are now optional, with
37sensible defaults being built in. So if you were already using the default
38values you can just delete all instances of both.
39
40See disorder_config(5) for the default values. Hopefuly they will be suitable
41for many configurations. Please do send feedback.
42
43** 'enabled' and 'random_enabled' directives
44
45These have been removed. Instead the state persists from one run of the server
46to the next. If they appear in your configuration file they must be removed;
47the server will not start if they are present.
48
49** Database upgrade
50
51It is strongly recommended that you back up your database before performing the
52upgrade. For example, as root, with the server STOPPED:
53 cd /var/disorder
54 mkdir BACKUP
55 cp -p * BACKUP
56
57To restore, again as root:
58 cd /var/disorder
59 rm *
60 cp -p BACKUP/* .
61
62The first thing the server does when upgrading from 1.5 is run the
63disorder-dbupgrade program. This is necessary to modify any non-ASCII track
64names to meet the latest version's stricter normalization practices. The
65upgrade should succeed automatically; if not it should leave an error message
66in syslog.
67
68* 1.3 -> 1.4
69
70** Raw Format Decoders
71
72You will probably want reconfigure your install to use the new facilities
73(although the old way works fine). See the example configuration file and
74README.raw for more details.
75
76Depending on how your system is configured you may need to link the disorder
77libao driver into the right directory:
78
79 ln -s /usr/local/lib/ao/plugins-2/libdisorder.so /usr/lib/ao/plugins-2/.
80
81* 1.2 -> 1.3
82
83** Server Environment
84
85It is important that $sbindir is on the server's path. The example init script
86guarantees this. You may need to modify the installed one. You will get
87"deadlock manager unexpectedly terminated" if you get this wrong.
88
89** namepart directives
90
91These have changed in three ways.
92
93Firstly they have changed to substitute in a more convenient way. Instead of
94matches for the regexp being substituted back into the original track name, the
95replacement string now completely replaces it. Given the usual uses of
96namepart, this is much more convenient. If you've stuck with the defaults no
97changes should be needed for this.
98
99Secondly they are matched against the track name with the collection root
100stripped off.
101
102Finally you will need to add an extra line to your config file as follows for
103the new track aliasing mechanisms to work properly:
104
105namepart ext "(\\.[a-zA-Z0-9]+)$" "$1" *
106
107* 1.1 -> 1.2
108
109** Web Interface Changes
110
111The web interface now includes static content as well as templates.
112The static content must be given a name visible to HTTP clients which
113maps to its location in the real filesystem.
114
115The README suggests using a rule in httpd.conf to make /static in the
116HTTP namespace point to /usr/local/share/disorder/static, which is
117where DisOrder installs its static content (by default).
118Alternatively you can set the url.static label to the base URL of the
119static content.
120
121** Configuration File Changes
122
123The trackname-part web interface directive has now gone, and the
124options.trackname file with it.
125
126It is replaced by a new namepart directive in the main configuration
127file. This has exactly the same syntax as trackname-part, only the
128name and location have changed.
129
130The reason for the change is to allow track name parsing to be
131centrally configured, rather than every interface to DisOrder having
132to implement it locally.
133
134If you do not install new namepart directives into the main
135configuration file then track titles will show up blank.
136
137If you do not remove the trackname-part directives from the web
138interface configuration then you will get error messages in the web
139server's error log.
140
141Local Variables:
142mode:outline
143fill-column:79
144End: