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