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