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