BuildRequires: cmake
Requires(post): /sbin/ldconfig
requires(postun): /sbin/ldconfig
+
+%define upgrade_script_path /usr/share/upgrade/scripts
+
%description
Client/Server library for updating badge information
mkdir -p %{buildroot}/usr/share/license
cp -f LICENSE %{buildroot}/usr/share/license/%{name}
+mkdir -p %{buildroot}%{upgrade_script_path}
+cp -f scripts/106.badge_upgrade.sh %{buildroot}%{upgrade_script_path}
%post
/sbin/ldconfig
%{_includedir}/badge/badge.h
%{_includedir}/badge/badge_error.h
%{_includedir}/badge/badge_internal.h
+%{upgrade_script_path}/106.badge_upgrade.sh
%files devel
%defattr(-,root,root,-)
--- /dev/null
+#!/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 owner:users $DB_BADGE
+chown owner:users $DB_BADGE-journal
+
+chsmack -a User::Home $DB_BADGE
+chsmack -a User::Home $DB_BADGE-journal