[Dbconfig-common-changes] dbconfig-common/dpkg common, 1.35, 1.35.2.1 config, 1.25, 1.25.2.1 config.oracle, NONE, 1.1.2.1 postinst, 1.18, 1.18.2.1 postinst.oracle, NONE, 1.1.2.1 postrm.oracle, NONE, 1.1.2.1 preinst.oracle, NONE, 1.1.2.1 prerm, 1.12, 1.12.2.1 prerm.oracle, NONE, 1.1.2.1

xerakko-guest at haydn.debian.org xerakko-guest at haydn.debian.org
Fri Dec 30 09:57:46 CET 2005


Update of /cvsroot/dbconfig-common/dbconfig-common/dpkg
In directory haydn:/tmp/cvs-serv5136/dpkg

Modified Files:
      Tag: ORACLE
	common config postinst prerm 
Added Files:
      Tag: ORACLE
	config.oracle postinst.oracle postrm.oracle preinst.oracle 
	prerm.oracle 
Log Message:
more files for initial support for oracle


Index: common
===================================================================
RCS file: /cvsroot/dbconfig-common/dbconfig-common/dpkg/common,v
retrieving revision 1.35
retrieving revision 1.35.2.1
diff -u -d -r1.35 -r1.35.2.1
--- common	21 Dec 2005 03:04:31 -0000	1.35
+++ common	30 Dec 2005 08:57:38 -0000	1.35.2.1
@@ -4,7 +4,7 @@
 # usage: /usr/share/dbconfig-common/dpkg/common $package $dpkg_argv
 # (where $dpkg_argv is $@ as passed to the maintainer scripts)
 
-#set -x
+set -x
 
 # get some internal helper functions, like _dbc_sanity_check
 . /usr/share/dbconfig-common/internal/common
@@ -38,8 +38,11 @@
 	# templates common to postgresql database types
 	dbc_pgsql_templates="pgsql/method remote/host remote/newhost pgsql/app-pass pgsql/admin-user pgsql/admin-pass remote/port pgsql/authmethod-admin pgsql/authmethod-user pgsql/changeconf pgsql/manualconf db/dbname db/app-user pgsql/no-empty-passwords"
 
+	# templates common to Oracle database types
+	dbc_oracle_templates="remote/host remote/newhost oracle/app-pass oracle/admin-user oracle/admin-pass oracle/sys-pass oracle/system-pass oracle/authmethod-app-user oracle/changeconf oracle/manualconf db/dbname db/app-user oracle/database-template oracle/oracle-home"
+
 	# all dbtypes supported by dbconfig-common
-	dbc_all_supported_dbtypes="mysql pgsql"
+	dbc_all_supported_dbtypes="mysql pgsql oracle"
 
 	###
 	### source the pre-existing config, if it exists
@@ -78,6 +81,7 @@
 		dbc_default_admin="root"
 		dbc_default_dbuser=`echo $dbc_package | tr -d +. | cut -c -16`;
 		dbc_dbvendor="MySQL"
+		dbc_use_startupdb="false"
 	;;
 	pgsql)
 		. /usr/share/dbconfig-common/internal/pgsql
@@ -94,9 +98,28 @@
 		dbc_default_dbuser=`echo $dbc_package | tr -d +-.`;
 		dbc_use_dbuser="false"
 		dbc_dbvendor="PostgreSQL"
+		dbc_use_startupdb="false"
+	;;
+	oracle)
+		. /usr/share/dbconfig-common/internal/oracle
+		dbc_createuser_cmd='dbc_oracle_createuser'
+		dbc_checkuser_cmd='dbc_oracle_check_user'
+		dbc_createdb_cmd='dbc_oracle_createdb'
+		dbc_startupdb_cmd='dbc_oracle_startupdb'
+		dbc_dropdb_cmd='dbc_oracle_dropdb'
+		dbc_dropuser_cmd='dbc_oracle_dropuser'
+		dbc_sqlexec_cmd='dbc_oracle_exec_command'
+		dbc_sqlfile_cmd='dbc_oracle_exec_file'
+		dbc_dump_cmd='dbc_oracle_dump'
+		dbc_register_templates="$dbc_standard_templates $dbc_oracle_templates"
+		dbc_default_admin="oracle"
+		dbc_default_dbuser=`echo $dbc_package | tr -d +-.`;
+		dbc_use_dbuser="false"
+		dbc_dbvendor="Oracle"
+		dbc_use_startupdb="true"
 	;;
 	*)
-		dbc_register_templates="$dbc_standard_templates $dbc_mysql_templates $dbc_pgsql_templates"
+		dbc_register_templates="$dbc_standard_templates $dbc_mysql_templates $dbc_pgsql_templates $dbc_oracle_templates"
 	;;
 	esac
 }
@@ -138,8 +161,10 @@
 	_dbc_sanity_check package packageconfig || dbc_install_error
 
 	# if the package configuration does not exist then there is
-	# nothing to preseed.
+	# nothing to preseed, only the ORACLE_HOME
 	if [ ! -f "$dbc_packageconfig" ]; then
+		dbc_oracle_home=`grep -v "#" /etc/oratab|grep ":" | cut -d ":" -f 2 | head -n 1`
+		db_set $dbc_package/oracle/oracle-home "$dbc_oracle_home"
 		return 0
 	fi
 
@@ -156,11 +181,12 @@
 
 	# set the app user password
 	db_set $dbc_package/$dbc_dbtype/app-pass "$dbc_dbpass"
-
+	
 	# set the remote server/port
 	db_set $dbc_package/remote/host "$dbc_dbserver"
-	db_set $dbc_package/remote/port "$dbc_dbport"
-
+	if [ "$dbc_dbtype" != "oracle" ]; then
+		db_set $dbc_package/remote/port "$dbc_dbport"
+	fi
 	# set the name of the database to be created
 	db_set $dbc_package/db/dbname "$dbc_dbname"
 
@@ -179,6 +205,7 @@
 			# set the database administrator pass
 			db_set $dbc_package/pgsql/admin-pass "$dbc_dbadmpass"
 		fi
+		
 		if [ "$dbc_authmethod_user" != "ident" ]; then
 			# set the database user pass
 			db_set $dbc_package/pgsql/app-pass "$dbc_dbpass"
@@ -189,6 +216,26 @@
 			db_set $dbc_package/pgsql/method "tcp/ip + ssl"
 		fi
 	;;
+	"oracle")
+	 	# set the athentication method for app
+	        db_set $dbc_package/oracle/authmethod-app-user "$dbc_authmethod__app_user"
+		
+		# set the database template for $pkg
+		db_set $dbc_package/oracle/database-template "$dbc_database_template"
+		# set the "sys" user pass
+		echo "fixada la contrasenya del sys-pass"
+		db_set $dbc_package/oracle/sys-pass "$dbc_sys_pass"
+
+		# set the "system" user pass
+		db_set $dbc_package/oracle/system-pass "$dbc_system_pass"
+                
+		# set the database administrator pass
+                db_set $dbc_package/oracle/admin-pass "$dbc_dbadmpass"
+
+		# set the ORACLE_HOME variable
+		db_set $dbc_package/oracle/oracle-home "$dbc_oracle_home"
+		
+	;;
 	esac
 }
 
@@ -221,7 +268,9 @@
 
 	# get the db server/port
 	db_get $dbc_package/remote/host && dbc_dbserver="$RET"
-	db_get $dbc_package/remote/port && dbc_dbport="$RET"
+	if [ "$dbc_dbtype" != "oracle" ]; then
+		db_get $dbc_package/remote/port && dbc_dbport="$RET"
+	fi
 
 	# get the name of the database to be created
 	db_get $dbc_package/db/dbname && dbc_dbname="$RET"
@@ -245,6 +294,14 @@
 			dbc_ssl="true"
 		fi
 	;;
+	"oracle")
+                db_get $dbc_package/oracle/sys-pass && dbc_sys_pass="$RET"
+                db_get $dbc_package/oracle/system-pass && dbc_system_pass="$RET"
+                db_get $dbc_package/oracle/authmethod-app-user && dbc_authmethod_app_user="$RET"
+                db_get $dbc_package/oracle/database-template && dbc_database_template="$RET"
+                db_get $dbc_package/oracle/oracle-home && dbc_oracle_home="$RET"
+				
+	;;
 	esac
 }
 
@@ -346,6 +403,30 @@
 ## end postgresql specific settings
 ##
 
+##
+## oracle specific settings. if you don't use oracle,
+## you can safely ignore all of these
+##
+
+# dbc_sys_pass: password for oracle sys user
+dbc_sys_pass="$dbc_sys_pass"
+
+# dbc_system_pass: password for oracle system use
+dbc_system_pass="$dbc_system_pass"
+
+# dbc_authmethod_app_user: authentication type for oracle app user.
+dbc_authmethod_app_user="$dbc_authmethod_app_user"
+
+# dbc_database_template: database template used to create the oracle database.
+dbc_database_template="$dbc_database_template"
+
+# dbc_oracle_home: ORACLE_HOME directory.
+dbc_oracle_home="$dbc_oracle_home"
+
+##
+## end oracle specific settings
+##
+								
 EOF
 	ucf "$tfile" "$dbc_packageconfig"
 	rm -f "$tfile"
@@ -523,14 +604,30 @@
 ##
 ## exactly what you'd think
 ##
+
 dbc_forget_dbadmin_password(){
 	echo dbconfig-common: flushing administrative password >&2
 	db_reset $dbc_package/$dbc_dbtype/admin-pass 
 	db_fset $dbc_package/$dbc_dbtype/admin-pass seen false 
+	if [ "$dbc_dbtype" = "oracle" ]; then
+             db_reset $dbc_package/$dbc_dbtype/sys-pass
+	     db_fset $dbc_package/$dbc_dbtype/sys-pass seen false
+             db_reset $dbc_package/$dbc_dbtype/system-pass
+	     db_fset $dbc_package/$dbc_dbtype/system-pass seen false
+	fi
 	db_reset $dbc_package/password-confirm
 	db_fset $dbc_package/password-confirm seen false 
 }
 
+dbc_forget_sys_password(){
+	echo dbconfig-common: flushing sys password >&2
+	db_reset $dbc_package/$dbc_dbtype/sys-pass 
+	db_fset $dbc_package/$dbc_dbtype/sys-pass seen false 
+        db_reset $dbc_package/$dbc_dbtype/system-pass
+	db_fset $dbc_package/$dbc_dbtype/system-pass seen false
+	db_reset $dbc_package/password-confirm
+	db_fset $dbc_package/password-confirm seen false 
+}
 ##
 ## exactly what you'd think
 ##
@@ -576,6 +673,66 @@
 	dbc_dbadmpass="$RET"
 }
 
+dbc_get_system_pass(){
+	local pass1 have_system_pass
+
+	db_fget $dbc_package/$dbc_dbtype/system-pass seen 
+	if [ "$RET" = "true" ]; then
+		have_system_pass="yes"
+	fi
+	echo DEMANANT EL SYSTEM PASS DEBUG >>/tmp/executat
+	# make sure the passwords are the same, safely
+	while [ ! "$have_system_pass" ]; do
+		# get the administrative password
+		db_input high $dbc_package/$dbc_dbtype/system-pass || true
+		db_go || true
+		db_get $dbc_package/$dbc_dbtype/system-pass
+		pass1="$RET"
+
+		if [ "$dbc_dbtype" = "oracle" -a ! "$pass1" ]; then
+			db_input high $dbc_package/oracle/no-empty-passwords || true
+			db_reset $dbc_package/$dbc_dbtype/system-pass
+			db_fset $dbc_package/$dbc_dbtype/system-pass seen false
+			db_go || true
+		else
+			have_system_pass="yes"
+		fi
+	done
+
+	db_get $dbc_package/$dbc_dbtype/system-pass
+	dbc_system_pass="$RET"
+}
+
+dbc_get_sys_pass(){
+	local pass1 have_sys_pass
+
+	db_fget $dbc_package/$dbc_dbtype/sys-pass seen 
+	if [ "$RET" = "true" ]; then
+		have_sys_pass="yes"
+	fi
+	
+	echo DEMANANT EL SYS PASS DEBUG >>/tmp/executat
+	# make sure the passwords are the same, safely
+	while [ ! "$have_sys_pass" ]; do
+		# get the administrative password
+		db_input high $dbc_package/$dbc_dbtype/sys-pass || true
+		db_go || true
+		db_get $dbc_package/$dbc_dbtype/sys-pass
+		pass1="$RET"
+
+		if [ "$dbc_dbtype" = "oracle" -a ! "$pass1" ]; then
+			db_input high $dbc_package/oracle/no-empty-passwords || true
+			db_reset $dbc_package/$dbc_dbtype/sys-pass
+			db_fset $dbc_package/$dbc_dbtype/sys-pass seen false
+			db_go || true
+		else
+			have_sys_pass="yes"
+		fi
+	done
+
+	db_get $dbc_package/$dbc_dbtype/sys-pass
+	dbc_dbadmpass="$RET"
+}
 ##
 ## exactly what you'd think
 ##
@@ -641,6 +798,9 @@
 	if [ "$dbc_remember_app_pass" != "true" ]; then
 		dbc_forget_app_password
 	fi
+	if [ "$dbc_remember_sys_pass" != "true" ]; then
+		dbc_forget_sys_password
+	fi
 }
 
 ##
@@ -669,6 +829,11 @@
 				dbc_dbtype_installed="yes"
 			fi
 		 ;;
+		 "oracle")
+		 	if [ -f /etc/oraInst.loc ]; then
+			        dbc_dbtype_installed="yes"
+			fi
+		 ;;
 		 "")
 		 ;;
 		 esac

Index: config
===================================================================
RCS file: /cvsroot/dbconfig-common/dbconfig-common/dpkg/config,v
retrieving revision 1.25
retrieving revision 1.25.2.1
diff -u -d -r1.25 -r1.25.2.1
--- config	7 Nov 2005 19:21:27 -0000	1.25
+++ config	30 Dec 2005 08:57:40 -0000	1.25.2.1
@@ -58,10 +58,12 @@
 			## if they want to import settings from a previous 
 			## non-dbc version, do that and mark the questions
 			## skipped 
+			## Here will be needed more work to support oracle.
 			##
 			if [ "$dbc_load_include" ] && [ -f "$ifile" ]; then
 				db_input high $dbc_package/import-oldsettings || true
 				eval `dbconfig-load-include $dbc_load_include_args -f $iformat $ifile`
+				
 				for f in database-type $dbc_dbtype/method remote/host remote/newhost remote/port pgsql/authmethod-admin pgsql/authmethod-user $dbc_dbtype/admin-user db/app-user db/dbname; do
 					db_fset $dbc_package/$f seen true || true
 				done
@@ -70,7 +72,9 @@
 				db_set $dbc_package/db/app-user "$dbc_dbuser"
 				db_set $dbc_package/db/dbname "$dbc_dbname"
 				db_set $dbc_package/remote/host "$dbc_dbserver"
-				db_set $dbc_package/remote/port "$dbc_dbport"
+				if [ "$dbc_dbtype" = "mysql" -o "$dbc_dbtype" = "pgsql" ]; then
+					db_set $dbc_package/remote/port "$dbc_dbport"
+				fi
 				db_set $dbc_package/$dbc_dbtype/app-pass "$dbc_dbpass"
 				db_set $dbc_package/password-confirm "$dbc_dbpass"
 			fi
@@ -139,7 +143,7 @@
 		fi
 
 		# there's a bit more to do with client/server rdbms
-		if [ "$dbc_dbtype" = "mysql" -o "$dbc_dbtype" = "pgsql" ]; then
+		if [ "$dbc_dbtype" = "mysql" -o "$dbc_dbtype" = "pgsql" -o "$dbc_dbtype" = "oracle" ]; then
 			# if these haven't been specified, use defaults
 			if [ ! "$dbc_dbadmin" ]; then 
 				dbc_dbadmin="$dbc_default_admin"; 
@@ -149,9 +153,10 @@
 			fi
 			if [ ! "$dbc_dbname" ]; then 
 				dbc_dbname=`echo $dbc_package | tr -d +-.`; 
+
 			fi
 		fi
-
+		dbc_dbname=`echo $dbc_dbname |cut -b -8`
 		# pre-seed any already defined values into debconf as defaults
 		if [ "$dbc_upgrade" ]; then
 			db_set $dbc_package/dbconfig-upgrade "$dbc_upgrade"
@@ -183,6 +188,22 @@
 		if [ "$dbc_ssl" = "true" -a "$dbc_dbtype" = "pgsql" ]; then
 			db_set $dbc_package/pgsql/method "tcp/ip + ssl"
 		fi
+
+		if [ "$dbc_sys_pass" ]; then
+			db_set $dbc_package/oracle/sys-pass "$dbc_sys_pass"
+		fi
+		if [ "$dbc_system_pass" ]; then
+			db_set $dbc_package/oracle/system-pass "$dbc_system_pass"
+		fi
+		if [ "$dbc_authmethod_app_user" ]; then
+			db_set $dbc_package/oracle/authmethod-app-user "$dbc_authmethod_app_user"
+		fi
+		if [ "$dbc_database_template" ]; then
+			db_set $dbc_package/oracle/database-template "$dbc_database_template"
+		fi
+		if [ "$dbc_oracle_home" ]; then
+			db_set $dbc_package/oracle/oracle-home "$dbc_oracle_home"
+		fi
 		db_input low $dbc_package/$dbc_dbtype/method || true
 	;;
 	# state 4 - do stuff based on the connection method
@@ -304,7 +325,16 @@
 		if [ "$need_userpw" != "false" ]; then
 			dbc_get_app_pass
 		fi
+		
+		db_input low $dbc_package/$dbc_dbtype/sys-user || true
 
+		if [ "$need_syspw" != "false" ]; then
+			dbc_get_sys_pass
+		fi
+		
+		if [ "$need_systempw" != "false" ]; then
+			dbc_get_system_pass
+		fi
 		# get the name of the database to use
 		db_input low $dbc_package/db/dbname || true
 	;;

--- NEW FILE: config.oracle ---
dbc_hardcoded_dbtype=oracle
. /usr/share/dbconfig-common/dpkg/config $@

Index: postinst
===================================================================
RCS file: /cvsroot/dbconfig-common/dbconfig-common/dpkg/postinst,v
retrieving revision 1.18
retrieving revision 1.18.2.1
diff -u -d -r1.18 -r1.18.2.1
--- postinst	7 Nov 2005 19:21:27 -0000	1.18
+++ postinst	30 Dec 2005 08:57:41 -0000	1.18.2.1
@@ -51,17 +51,25 @@
 
 		# don't perform the following block of code during upgrades
 		if [ ! "${importing_from_non_dbc}" ]; then
-			###
-			### now, create the app user account
-			###
-			$dbc_createuser_cmd || dbc_install_error "creating user"
-			[ "$dbc_tried_again" ] && return 0
 	
 			###
 			### create the database
 			###
 			$dbc_createdb_cmd || dbc_install_error "creating database"
 			[ "$dbc_tried_again" ] && return 0
+
+			###
+			### startup database instance
+			###
+			if [ "$dbc_use_startupdb" ]; then
+				$dbc_startupdb_cmd || dbc_install_error "starting database instance"
+			fi
+			
+			###
+			### now, create the app user account
+			###
+			$dbc_createuser_cmd || dbc_install_error "creating user"
+			[ "$dbc_tried_again" ] && return 0
 	
 			###
 			### populate the database

--- NEW FILE: postinst.oracle ---
dbc_hardcoded_dbtype=oracle
. /usr/share/dbconfig-common/dpkg/postinst $@

--- NEW FILE: postrm.oracle ---
dbc_hardcoded_dbtype=oracle
. /usr/share/dbconfig-common/dpkg/postrm $@

--- NEW FILE: preinst.oracle ---
dbc_hardcoded_dbtype=oracle
. /usr/share/dbconfig-common/dpkg/preinst $@

Index: prerm
===================================================================
RCS file: /cvsroot/dbconfig-common/dbconfig-common/dpkg/prerm,v
retrieving revision 1.12
retrieving revision 1.12.2.1
diff -u -d -r1.12 -r1.12.2.1
--- prerm	7 Nov 2005 19:21:27 -0000	1.12
+++ prerm	30 Dec 2005 08:57:41 -0000	1.12.2.1
@@ -2,12 +2,13 @@
 ### some global variables etc
 ###
 dbc_go(){
-	local need_admin_pw
+	local need_admin_pw need_sys_pw
 
 	. /usr/share/dbconfig-common/dpkg/common
 	dbc_config $@
 
 	need_admin_pw="yup"
+	need_sys_pw="yup"
 
 	if [ "$dbc_command" = "upgrade" ]; then
 		###
@@ -84,6 +85,12 @@
 				dbc_get_admin_pass
 			fi
 
+			if [ "$need_sys_pw" ]; then
+				dbc_get_sys_pass
+			fi
+			if [ "$need_system_pw" ]; then
+				dbc_get_system_pass
+			fi
 			# dump the database into a temporary file
 			_dbc_now=`date +%Y-%m-%d-%H.%M`
 			_dbc_dbfile=`mktemp /var/tmp/$dbc_package.$dbc_dbname.$_dbc_now.$dbc_dbtype.XXXXXX`

--- NEW FILE: prerm.oracle ---
dbc_hardcoded_dbtype=oracle
. /usr/share/dbconfig-common/dpkg/prerm $@




More information about the Dbconfig-common-changes mailing list