summaryrefslogtreecommitdiff
path: root/scripts/506.badge_upgrade.sh
blob: d7bb7f3a69b810ece991adbd10ebca90741f28f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh

#------------------------------------------#
# badge patch for upgrade (2.4 -> 3.0) #
#------------------------------------------#

# Macro
PATH=/bin:/usr/bin:/sbin:/usr/sbin

DB_DIR=/opt/dbspace
DB_BADGE=$DB_DIR/.badge.db

sqlite3 $DB_BADGE << EOF

DROP TABLE IF EXISTS badge_data_temp;

CREATE TABLE badge_data_temp (
    uid INTEGER,
    pkgname TEXT NOT NULL,
    writable_pkgs TEXT,
    badge INTEGER default 0,
    rowid INTEGER PRIMARY KEY AUTOINCREMENT,
    UNIQUE (uid, pkgname)
);

INSERT INTO badge_data_temp (pkgname, writable_pkgs, badge, rowid) SELECT pkgname, writable_pkgs, badge, rowid FROM badge_data;
UPDATE badge_data_temp SET uid=5001;
DROP TABLE badge_data;
ALTER TABLE badge_data_temp RENAME TO badge_data;

DROP TABLE IF EXISTS badge_option_temp;

CREATE TABLE badge_option_temp (
    uid INTEGER,
    pkgname TEXT NOT NULL,
    display INTEGER default 1,
    UNIQUE (uid, pkgname)
);

INSERT INTO badge_option_temp (pkgname, display) SELECT pkgname, display FROM badge_option;
UPDATE badge_option_temp SET uid=5001;
DROP TABLE badge_option;
ALTER TABLE badge_option_temp RENAME TO badge_option;

EOF

chown app_fw:app_fw $DB_BADGE
chown app_fw:app_fw $DB_BADGE-journal

chsmack -a System $DB_BADGE
chsmack -a System $DB_BADGE-journal