Skip to content

Commit

Permalink
Merge pull request #369 from bareos/dev/pstorz/master/db-config
Browse files Browse the repository at this point in the history
Repair dbconfig-common
  • Loading branch information
arogge committed Dec 12, 2019
2 parents 03fe7a5 + a2c0783 commit 9b0d9aa
Show file tree
Hide file tree
Showing 5 changed files with 148 additions and 118 deletions.
11 changes: 11 additions & 0 deletions .cmake-format.py
Expand Up @@ -65,6 +65,17 @@
"LINK_LIBRARIES": "*",
"COMPILE_DEFINITIONS": "*"
}
},
"bareos_install_sql_files_to_dbconfig_common": {
"pargs": 0,
"flags": [
"",
""
],
"kwargs": {
"BAREOS_DB_NAME": "*",
"DEBIAN_DB_NAME": "*"
}
}
}

Expand Down
1 change: 1 addition & 0 deletions core/debian/bareos-database-postgresql.install.in
Expand Up @@ -3,3 +3,4 @@
/usr/share/dbconfig-common/data/bareos-database-common/install/pgsql
/usr/share/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/pgsql/*
/usr/share/dbconfig-common/data/bareos-database-common/upgrade/pgsql/*
/usr/share/dbconfig-common/scripts/bareos-database-common/upgrade/pgsql/*
241 changes: 124 additions & 117 deletions core/platforms/debian/CMakeLists.txt
Expand Up @@ -56,135 +56,142 @@ install(
WORLD_READ WORLD_EXECUTE
)

install(
DIRECTORY
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/install/"
)
macro(bareos_install_sql_files_to_dbconfig_common)
set(oneValueArgs BAREOS_DB_NAME DEBIAN_DB_NAME)
cmake_parse_arguments(
DB_CONFIG_COMMON "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}
)

#
# mysql
#
install(
FILES "${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/creates/mysql.sql"
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/install"
RENAME "mysql"
)
install(
DIRECTORY
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade/mysql"
)
install(
DIRECTORY
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/install/"
)
install(
DIRECTORY
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}/"
)

file(GLOB SQLFILES
"${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/updates/mysql.*.sql"
)
foreach(SQLFILE ${SQLFILES})
get_filename_component(BASENAME ${SQLFILE} NAME)
string(
REGEX MATCH "[0-9]*_([0-9]*)" DUMMMY ${SQLFILE}
) # match the regex, we only are interested in submatch in parentheses
set(VERSION ${CMAKE_MATCH_1})
install(
FILES ${SQLFILE}
FILES
"${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/creates/${DB_CONFIG_COMMON_BAREOS_DB_NAME}.sql"
DESTINATION
${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade/mysql
RENAME ${BAREOS_NUMERIC_VERSION}
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/install/"
RENAME "${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
)
endforeach()
file(
GLOB
SQLFILES
"${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/updates/${DB_CONFIG_COMMON_BAREOS_DB_NAME}.*_*.sql"
)
foreach(SQLFILE ${SQLFILES})
get_filename_component(BASENAME ${SQLFILE} NAME)
string(
REGEX MATCH "([0-9]*)_([0-9]*)" DUMMMY ${SQLFILE}
) # match the regex, we only are interested in submatch in parentheses
set(FROM_VERSION ${CMAKE_MATCH_1})
set(TO_VERSION ${CMAKE_MATCH_2})
# file(CREATE_LINK ${NAME} ${UPGRADE_DIR}/${TO_VERSION} SYMBOLIC)
message(
"WILL INSTALL ${SQLFILE} to ${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}/${TO_VERSION}"
)
install(
FILES ${SQLFILE}
DESTINATION
${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}/
RENAME ${TO_VERSION}
)
endforeach()

#
# postgresql
#
install(
FILES "${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/creates/postgresql.sql"
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/install"
RENAME "pgsql"
)
install(
DIRECTORY
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade/pgsql/"
)
install(
DIRECTORY
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/pgsql/"
)
install(
DIRECTORY
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade"
)

set(UPGRADE_DIR
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/upgrade/pgsql/
)
set(UPGRADE_DBADMIN_DIR
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/upgrade-dbadmin/pgsql/
)
file(MAKE_DIRECTORY ${UPGRADE_DIR})
file(MAKE_DIRECTORY ${UPGRADE_DBADMIN_DIR})
install(
DIRECTORY
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/scripts/bareos-database-common/upgrade/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
)
install(
FILES
"${CMAKE_CURRENT_LIST_DIR}/dbconfig-common/scripts/bareos-database-common/upgrade/pgsql/2170"
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/scripts/bareos-database-common/upgrade/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
RENAME 2170
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ
)
install(
FILES
"${CMAKE_CURRENT_LIST_DIR}/dbconfig-common/scripts/bareos-database-common/upgrade/pgsql/2170"
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/scripts/bareos-database-common/upgrade/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
RENAME 2003
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ
)
install(
FILES
"${CMAKE_CURRENT_LIST_DIR}/dbconfig-common/scripts/bareos-database-common/upgrade/pgsql/2170"
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/scripts/bareos-database-common/upgrade/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
RENAME 2004
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ
)

file(GLOB SQLFILES
"${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/updates/postgresql.*.sql"
)
foreach(SQLFILE ${SQLFILES})
get_filename_component(BASENAME ${SQLFILE} NAME)
string(
REGEX MATCH "[0-9]*_([0-9]*)" DUMMMY ${SQLFILE}
) # match the regex, we only are interested in submatch in parentheses
set(VERSION ${CMAKE_MATCH_1})

file(STRINGS ${SQLFILE} SQLFILE_LINE)
foreach(LINE ${SQLFILE_LINE})
string(REGEX MATCH "^ALTER|^DROP|^--|^$" IS_UPGRADE_LINE ${LINE})
if(NOT ${IS_UPGRADE_LINE} STREQUAL "")
file(APPEND ${UPGRADE_DBADMIN_DIR}/${BAREOS_NUMERIC_VERSION} "${LINE}\n")
set(LINE "-- upgrade-dbadmin: ${LINE}")
file(APPEND ${UPGRADE_DIR}/${BAREOS_NUMERIC_VERSION} "${LINE}\n")
else()
file(APPEND ${UPGRADE_DIR}/${BAREOS_NUMERIC_VERSION} "${LINE}\n")


install(
DIRECTORY
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/share/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}/2170")
install(
FILES
"${CMAKE_CURRENT_LIST_DIR}/share/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}/2170"
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ
)
install(
FILES
"${CMAKE_CURRENT_LIST_DIR}/share/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}/2170"
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
RENAME 2003
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ
)
install(
FILES
"${CMAKE_CURRENT_LIST_DIR}/share/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}/2170"
DESTINATION
"${CMAKE_INSTALL_FULL_DATAROOTDIR}/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/${DB_CONFIG_COMMON_DEBIAN_DB_NAME}"
RENAME 2004
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ
)
endif()
endforeach()
endforeach()

install(
DIRECTORY ${UPGRADE_DBADMIN_DIR}
DESTINATION
${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade/pgsql
)
install(
DIRECTORY ${UPGRADE_DIR}
DESTINATION
${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade-dbadmin/pgsql
)
endmacro()

#
# sqlite3
#
install(
FILES "${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/creates/sqlite3.sql"
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/install"
RENAME "sqlite3"
list (FIND db_backends "postgresql" _index)
if (${_index} GREATER -1)
bareos_install_sql_files_to_dbconfig_common(
BAREOS_DB_NAME postgresql DEBIAN_DB_NAME pgsql
)
install(
DIRECTORY
DESTINATION
"${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade/sqlite/"
endif()

list (FIND db_backends "sqlite3" _index)
if (${_index} GREATER -1)
bareos_install_sql_files_to_dbconfig_common(
BAREOS_DB_NAME sqlite3 DEBIAN_DB_NAME sqlite3
)
endif()

file(GLOB SQLFILES
"${CMAKE_CURRENT_LIST_DIR}/../../src/cats/ddl/updates/sqlite3.*.sql"
list (FIND db_backends "mysql" _index)
if (${_index} GREATER -1)
bareos_install_sql_files_to_dbconfig_common(
BAREOS_DB_NAME mysql DEBIAN_DB_NAME mysql
)
foreach(SQLFILE ${SQLFILES})
get_filename_component(BASENAME ${SQLFILE} NAME)
string(
REGEX MATCH "[0-9]*_([0-9]*)" DUMMMY ${SQLFILE}
) # match the regex, we only are interested in submatch in parentheses
set(VERSION ${CMAKE_MATCH_1})
install(
FILES ${SQLFILE}
DESTINATION
${datarootdir}/dbconfig-common/data/bareos-database-common/upgrade/sqlite3
RENAME ${BAREOS_NUMERIC_VERSION}
)
endforeach()
endif()
@@ -0,0 +1,11 @@
--
-- change table owner
--

CREATE OR REPLACE FUNCTION execute(text)
returns void as $BODY$BEGIN raise notice 'exec: %',$1; execute $1; END;$BODY$ language plpgsql;

SELECT execute('ALTER TABLE '|| tablename ||' OWNER TO bareos;')
FROM pg_tables WHERE schemaname='public' AND tableowner!='bareos';

DROP FUNCTION execute(text);
2 changes: 1 addition & 1 deletion systemtests/CMakeLists.txt
Expand Up @@ -28,7 +28,7 @@ function(ConfigureFilesToSystemtest srcbasedir dirname globexpression
if(srcdirname STREQUAL "")
set(srcdirname "${dirname}")
endif()
set(count 1)
set(COUNT 1)
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/${dirname})
file(GLOB_RECURSE ALL_FILES
"${CMAKE_SOURCE_DIR}/${srcbasedir}/${srcdirname}/${globexpression}"
Expand Down

0 comments on commit 9b0d9aa

Please sign in to comment.