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