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