From ee3dc63b53fd9a5b569e1d6e283c7ca8812b80a8 Mon Sep 17 00:00:00 2001 From: Paul Wouters Date: Tue, 10 Mar 2020 22:43:23 -0400 Subject: [PATCH] - Fix migration check to not attempt to check on first install with no db --- opendnssec-2.1.sqlite_rpmversion.sql | 7 +++++++ opendnssec.spec | 18 ++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 opendnssec-2.1.sqlite_rpmversion.sql diff --git a/opendnssec-2.1.sqlite_rpmversion.sql b/opendnssec-2.1.sqlite_rpmversion.sql new file mode 100644 index 0000000..4107157 --- /dev/null +++ b/opendnssec-2.1.sqlite_rpmversion.sql @@ -0,0 +1,7 @@ +-- For rpm based systems to see if db was migrated already. store opendnssec major minor version +CREATE TABLE rpm_migration ( + major INTEGER, + minor INTEGER +); +INSERT INTO rpm_migration VALUES(2, 1); + diff --git a/opendnssec.spec b/opendnssec.spec index 6087538..736f599 100644 --- a/opendnssec.spec +++ b/opendnssec.spec @@ -4,7 +4,7 @@ Summary: DNSSEC key and zone management software Name: opendnssec Version: 2.1.6 -Release: 3%{?prever}%{?dist} +Release: 4%{?prever}%{?dist} License: BSD Url: http://www.opendnssec.org/ Source0: http://www.opendnssec.org/files/source/%{?prever:testing/}%{name}-%{version}%{?prever}.tar.gz @@ -15,6 +15,7 @@ Source4: conf.xml Source5: tmpfiles-opendnssec.conf Source6: opendnssec.cron Source7: opendnssec-2.1.sqlite_convert.sql +Source8: opendnssec-2.1.sqlite_rpmversion.sql Patch1: opendnssec-2.1.6-gcc10-fixups.patch Patch2: opendnssec-2.1.6-sqlite.patch @@ -86,7 +87,8 @@ mkdir -p %{buildroot}%{_datadir}/opendnssec/ cp -a enforcer/utils %{buildroot}%{_datadir}/opendnssec/migration cp -a enforcer/src/db/schema.* %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/ # fixup path for mysql/sqlite. Use our replacement sqlite_convert.sql to detect previous migration -cp %{SOURCE7} %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/sqlite_convert.sql +cp -a %{SOURCE7} %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/sqlite_convert.sql +cp -a %{SOURCE8} %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/rpmversion.sql sed -i "s:^SCHEMA=.*schema:SCHEMA=%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/schema:" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_sqlite sed -i "s:find_problematic_zones.sql:%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/find_problematic_zones.sql:g" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_sqlite sed -i "s:^SCHEMA=.*schema:SCHEMA=%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/schema:" %{buildroot}%{_datadir}/opendnssec/migration/1.4-2.0_db_convert/convert_mysql @@ -128,13 +130,13 @@ exit 0 if [ "$1" -eq 1 ]; then %{_sbindir}/runuser -u ods -- %{_bindir}/softhsm2-util --init-token \ --free --label "OpenDNSSEC" --pin 1234 --so-pin 1234 - if [ ! -s %{_localstatedir}opendnssec/kasp.db ]; then + if [ ! -s %{_localstatedir}/opendnssec/kasp.db ]; then echo y | %{_sbindir}/ods-enforcer-db-setup + %{_bindir}/sqlite3 -batch %{_localstatedir}/opendnssec/kasp.db < %{_datadir}/opendnssec/migration/1.4-2.0_db_convert/rpmversion.sql fi -fi -# Migrate version 1.4 db to version 2.1 db -if [ -z "$(%{_bindir}/sqlite3 %{_localstatedir}/opendnssec/kasp.db 'select * from rpm_migration;')" ]; then +elif [ -z "$(%{_bindir}/sqlite3 %{_localstatedir}/opendnssec/kasp.db 'select * from rpm_migration;')" ]; then + # Migrate version 1.4 db to version 2.1 db if [ -e %{_localstatedir}/opendnssec/rpm-migration-in-progress ]; then echo "previous (partial?) migration found - human intervention is needed" else @@ -164,6 +166,7 @@ if [ -z "$(%{_bindir}/sqlite3 %{_localstatedir}/opendnssec/kasp.db 'select * fro fi fi fi + # in case we update any xml conf file ods-enforcer update all >/dev/null 2>/dev/null ||: @@ -179,6 +182,9 @@ ods-enforcer update all >/dev/null 2>/dev/null ||: %systemd_postun_with_restart ods-signerd.service %changelog +* Wed Mar 11 2020 Paul Wouters - 2.1.6-4 +- Fix migration check to not attempt to check on first install with no db + * Tue Mar 03 2020 Alexander Bokovoy - 2.1.6-3 - Create and manage /var/opendnssec/enforcer directory - Resolves rhbz#1809492