diff options
Diffstat (limited to 'abs/core-testing/LinHES-config')
-rwxr-xr-x | abs/core-testing/LinHES-config/PKGBUILD | 7 | ||||
-rw-r--r--[-rwxr-xr-x] | abs/core-testing/LinHES-config/install_db_chroot.sh | 136 | ||||
-rwxr-xr-x | abs/core-testing/LinHES-config/install_proxy.sh | 801 | ||||
-rw-r--r-- | abs/core-testing/LinHES-config/ir_config.sh | 239 | ||||
-rwxr-xr-x | abs/core-testing/LinHES-config/mv_common.py | 10 | ||||
-rwxr-xr-x | abs/core-testing/LinHES-config/mv_hostype.py | 2 | ||||
-rwxr-xr-x | abs/core-testing/LinHES-config/mv_software.py | 2 | ||||
-rw-r--r-- | abs/core-testing/LinHES-config/myth_user_call | 2 |
8 files changed, 192 insertions, 1007 deletions
diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD index 7bd6369..936b159 100755 --- a/abs/core-testing/LinHES-config/PKGBUILD +++ b/abs/core-testing/LinHES-config/PKGBUILD @@ -1,12 +1,12 @@ pkgname=LinHES-config -pkgver=1.0 -pkgrel=430 +pkgver=2.0 +pkgrel=8 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev ) pkgdesc="Install and configure your system" depends=(bc libstatgrab mysql-python expect curl dnsutils parted sg3_utils nmbscan system-templates rsync python-parted ) arch=('i686') -source=(mv_install.py mv_config.py mythinstall.bin myth_user_call file_time_offset.py install-ui.xml install_proxy.sh install_functions.sh systemconfig.sh install_db_chroot.sh restore_default_settings.sh xconfig.sh timezip.py soundconfig.sh LinHES-release issue MythVantage.sh create_master.sh build_diskless.sh networkconfig.sh timezone.bin autocard.py restore_km_db_chroot.sh README ir_config.sh mv_advanced.py mv_common.py mv_ir.py mv_misc.py mv_network.py mv_screensaver.py mv_smolt.py mv_software.py mv_webuser.py mv_hostype.py systemconfig.py) +source=(mv_install.py mv_config.py mythinstall.bin myth_user_call file_time_offset.py install-ui.xml install_proxy.sh install_functions.sh systemconfig.sh install_db_chroot.sh restore_default_settings.sh xconfig.sh timezip.py soundconfig.sh LinHES-release issue MythVantage.sh create_master.sh build_diskless.sh networkconfig.sh timezone.bin autocard.py restore_km_db_chroot.sh README mv_advanced.py mv_common.py mv_ir.py mv_misc.py mv_network.py mv_screensaver.py mv_smolt.py mv_software.py mv_webuser.py mv_hostype.py systemconfig.py) install=LinHES.install build() { @@ -25,7 +25,6 @@ build() { install -m 0755 install_functions.sh $MVDIR/bin/install_functions.sh install -m 0755 systemconfig.sh $MVDIR/bin/systemconfig.sh install -m 0755 xconfig.sh $MVDIR/bin/xconfig.sh - install -m 0755 ir_config.sh $MVDIR/bin/ir_config.sh install -m 0755 install_db_chroot.sh $MVDIR/bin/install_db_chroot.sh install -m 0755 restore_km_db_chroot.sh $MVDIR/bin/restore_km_db_chroot.sh install -m 0755 restore_default_settings.sh $MVDIR/bin/restore_default_settings.sh diff --git a/abs/core-testing/LinHES-config/install_db_chroot.sh b/abs/core-testing/LinHES-config/install_db_chroot.sh index 808dbb9..94305d2 100755..100644 --- a/abs/core-testing/LinHES-config/install_db_chroot.sh +++ b/abs/core-testing/LinHES-config/install_db_chroot.sh @@ -6,112 +6,58 @@ myhost=$hostname hostname $myhost echo $myhost > /etc/hostname -echo "$0 hostname is $hostname" +echo "install_db_chroot hostname is $hostname" . $MV_ROOT/bin/install_functions.sh #myhost=`cat /etc/hostname` -# Before this script is called, the mysqld that facilitated the installation is killed. -# We need to make sure to stop and start the mysqld that will be used post-install so -# that the database can be initialized. - -/etc/rc.d/mysqld stop -killall -9 mysqld -/etc/rc.d/mysqld start -sleep 1 - -# Put a limit on how many times we try to (re-)start MySQL -success_test() { - # parameter: number of tries to start mysqld so far - PID=`pidof -o %PPID /usr/sbin/mysqld` - if [ -z "$PID" ]; then # mysqld isn't running - if [ $1 -gt 3 ]; then - echo "ERROR: Failed to start MySQL server in $1 attempts." - sleep 5 - exit 1 - else - echo "Tried $1 time(s) to start MySQL server." - return 1 - fi - else # mysqld is running - return 0 - fi - # should never get here - return 1 -} - -mysqld_tries=0 -# See if MySQL server is running; try several ways to start it if it's not. -while true; do - success_test $mysqld_tries - if [ $? -eq 0 ]; then - echo "MySQL server is running" - break - else - echo "MySQL server is not running. Trying to start it." - # Maybe it just needs to be started - sleep 1 - /etc/rc.d/mysqld start - mysqld_tries=$((mysqld_tries + 1)) - success_test $mysqld_tries - if [ $? -eq 0 ]; then - echo "MySQL server has been started" - break - else - echo "MySQL server may not be installed. Trying to install it." - # Maybe it's not installed; try (re-)installing it and starting it - sleep 1 - pacman --noconfirm -Sf mysql - sleep 1 - /etc/rc.d/mysqld start - mysqld_tries=$((mysqld_tries + 1)) - success_test $mysqld_tries - if [ $? -eq 0 ]; then - echo "MySQL server has been installed and started" - break - else - echo "MySQL server would not start, even after (re-)installing it." - fi - fi - fi -done - -# At this point, MySQL server should be up and running - -while true; do - mysql -e "show databases;" - - if [ $? -eq 0 ]; then - pacman --noconfirm -R mythdb-initial - pacman --noconfirm -S mythdb-initial - $MV_ROOT/bin/restore_default_settings.sh -c load - DISPLAY=127.0.0.1:0 $MV_ROOT/bin/MythVantage -t restore,default_1 - $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings - $MV_ROOT/bin/systemconfig.sh misc,hostype,this_is_install - - update_db_settings HostServiceMythWEB "1" - echo 'UseMythWEB="1"' >> /etc/systemconfig - - #update database to allow user jobs on this host. - $MV_ROOT/bin/restore_default_settings.sh -c USERJOBALLOW - $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL - #if [ -d /var/lib/mysql/mythconverg ] - if [ -d /data/srv/mysql/mythconverg ]; then +#mount -t proc none /proc +pacman --noconfirm -Sf mysql +/etc/rc.d/mysqld + +status=1 +mysqlstatus=1 +while [ ! $status = 0 ] +do + /etc/rc.d/mysqld stop + sleep 1 + /etc/rc.d/mysqld start + mysqlstatus=$? + if [ $mysqlstatus = 0 ] + then + mysql -e "show databases;" + showstatus=$? + if [ $showstatus = 0 ] + then + pacman --noconfirm -R mythdb-initial + pacman --noconfirm -S mythdb-initial + $MV_ROOT/bin/restore_default_settings.sh -c load + DISPLAY=127.0.0.1:0 $MV_ROOT/bin/MythVantage -t restore,default_1 + $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings + $MV_ROOT/bin/systemconfig.sh misc,hostype,this_is_install + + update_db_settings HostServiceMythWEB "1" + echo 'UseMythWEB="1"' >> /etc/systemconfig + + #update database to allow user jobs on this host. + $MV_ROOT/bin/restore_default_settings.sh -c USERJOBALLOW + $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL + if [ -d /data/srv/mysql/mythconverg ] + #if [ -d /var/lib/mysql/mythconverg ] + then # pacman --noconfirm -R webcalendar # pacman --noconfirm --nodeps -S webcalendar - break - else - echo "Failed to create mythconverg database. Will re-try." - sleep 1 - fi + status=0 + fi # if [ $SystemType = "Master_backend" ] # then # $MV_ROOT/bin/restore_default_settings.sh -c BECONFIG -s master -a $dbhost # fi - else - echo "Failed to look for databases. Will re-try." - sleep 1 + fi fi done /etc/rc.d/mysqld stop #umount /proc + + + diff --git a/abs/core-testing/LinHES-config/install_proxy.sh b/abs/core-testing/LinHES-config/install_proxy.sh index 4d158e7..ef13f6c 100755 --- a/abs/core-testing/LinHES-config/install_proxy.sh +++ b/abs/core-testing/LinHES-config/install_proxy.sh @@ -1,5 +1,4 @@ #!/bin/bash -#chroot and /tmp export TERM=vt100 MVHOSTNAME=larch5 . /etc/profile @@ -17,685 +16,155 @@ run=$MV_ROOT/bin/install_functions.sh CMDLINE=$(cat /proc/cmdline) BACKUPFILE="/myth/backup/mythconverg.sql.gz" -#TEMPNET="Hostip"$default_interface -#eval MYTHIP=\$${TEMPNET} -function create_chroot_mnt_points() { - - echo "Creating directory for media in chroot" - mkdir -p $mountpoint/media/cdrom - mkdir -p $mountpoint/media/dvd - mkdir -p $mountpoint/mnt - -} -function cp_and_log () { - ls $1 >/dev/null 2>&1 - status=$? - if [ $status = 0 ] - then - echo "copying $1 to $2" - cp -rfp $1 $2 - else - echo "$1 is not present, skipping..." - fi - -} - -function mdadm_find () { - - PREFIX=$1 - if [ -e $PREFIX/etc/KnoppMyth-version ] - then - MDADM_CONF="/etc/mdadm/mdadm.conf" - else - MDADM_CONF="/etc/mdadm.conf" - fi - echo "Using $MDADM_CONF" -} progress () { -mypercent=`echo "$1" | cut -d. -f1` -if [ x$mypercent = x ] -then -echo "" > /tmp/.install_percent -else -echo "${mypercent}% complete" > /tmp/.install_percent -fi - - -} - -function apply_new_auth () { -#check if file is present - if [ -f /root/myth_user_call.out ] - then - #read in file, running each command in chroot - exec 4</root/myth_user_call.out - while read LINE <&4 - do - if [ ! x"$LINE" = x ] - then - #run commands in chroot - chroot "$mountpoint" $MV_ROOT/bin/myth_user_call -i $LINE > /tmp/user_auth.update - fi - done - rm -f /root/myth_user_call.out - else - echo "No new password changes to apply" - fi -} - - -function backup_sql_check { - if [ -f ${mountpoint}${BACKUPFILE} ] - then - echo "found ${mountpoint}${BACKUPFILE} " - rc=0 - else - echo "did not find ${mountpoint}${BACKUPFILE} " - rc=1 - fi - return $rc -} - -function mdadm_assemble_all { - - mdadm_find /tmp - mdadm --assemble --scan -c /tmp${MDADM_CONF} - MDLIST=`grep ARRAY /tmp${MDADM_CONF}|tr -s [:space:]|cut -d" " -f2` - for array in $MDLIST - do - echo "assembling array $array" - mdadm --assemble -c /tmp${MDADM_CONF} $array - sleep 2 - fsck -p $array - done - -} - -function upgrade_mount_search { - - MYTH_P=`cat /tmp/etc/fstab |grep -E /myth[[:space:]] | awk ' {print $1 '} ` - umount $mountpoint/myth - - #should probably just mdadm all the time - echo $MYTH_P |grep -q \/md. - if [ $? = 0 ] + mypercent=`echo "$1" | cut -d. -f1` + if [ x$mypercent = x ] then - mdadm_assemble_all - fi - - echo $MYTH_P |grep -q UUID - if [ $? = 0 ] - then - MUUID=`echo $MYTH_P|cut -d= -f2|tr -d \"` - echo blkid $MUUID - blkid -t UUID=$MUUID - if [ ! $? = 0 ] - then - echo "couldn't find $MUUID, starting md support" - mdadm_assemble_all - fi - mount -U $MUUID $mountpoint/myth - echo mount -U $MUUID $mountpoint/myth - MYTHMOUNT=`blkid -t UUID=$MUUID|cut -d: -f1` - MYTHMOUNT=`basename $MYTHMOUNT` - echo "MYTHMOUNT is $MYTHMOUNT" + echo "" > /tmp/.install_percent else - mount $MYTH_P $mountpoint/myth - echo mount $MYTH_P $mountpoint/myth - MYTHMOUNT=`basename $MYTH_P` - echo "MYTHMOUNT is $MYTHMOUNT" - fi - sleep 2 - backup_sql_check - if [ $? = 1 ] - then - mkdir -p /new_boot/root/backup - if [ ! -e /tmp/mythconverg.sql.gz ] - then - echo "Couldn't find ANY database to restore, upgrade will continue but a new database will be installed." - else - cp_and_log /tmp/mythconverg.sql.gz /new_boot/root/backup/mythconverg.sql.gz - BACKUPFILE="/root/backup/mythconverg.sql.gz" - echo "setting BACKUPFILE to $BACKUPFILE" - fi + echo "${mypercent}% complete" > /tmp/.install_percent fi - return 0 } -full_install () { - if [ -f /tmp/.this_is_upgrade ] - then - rm /tmp/.this_is_upgrade - fi - echo "Partitioning $disk" > /tmp/.install_state - progress 1 - sleep 1 - $run partition_it $disk $rootsize $datasize $swapsize - - echo "Formatting $disk" > /tmp/.install_state - progress 2 - sleep 1 - $run format_it $disk $rootfs $datafs - - echo "Preparing $disk" > /tmp/.install_state - progress 3 - sleep 1 - $run mount_it $disk - - startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "` - - echo "STARTSIZE=$startsize">/tmp/.startsize.io - echo "Creating $hostname" > /tmp/.install_state - - sleep 1 - $run copy_it $disk ALL - rm $mountpoint/etc/fstab - $run fstab_fix_it $disk $rootfs $datafs FULL_INSTALL - echo "Configuring system" > /tmp/.install_state - progress 100 - #progress 99 - sleep 1 - $run grub_it $disk - - - #echo "Configuring system" > /tmp/.install_state - #progress 100 - sleep 1 - cp_and_log /etc/systemconfig "$mountpoint"/etc - cp_and_log /root/xorg.conf.install "$mountpoint"/etc/X11/xorg.conf.install - #run save syssettings to save settings, then copy to new mountpoint - $MV_ROOT/bin/restore_default_settings.sh -c save -t syssettings -h $MVHOSTNAME -d localhost - SE=$TEMPLATES/settings/syssettings - mkdir -p ${mountpoint}$SE - #cp -rp $SE/* ${mountpoint}$SE/ - cp_and_log "$SE/*" "${mountpoint}$SE/" - chown root:mythtv "$mountpoint"/etc/systemconfig - chown -R mythtv:mythtv ${mountpoint}$SE - - chmod -R 775 ${mountpoint}$SE - chmod 775 "$mountpoint"/etc/systemconfig - mkdir -p "$mountpoint"/var/log/mythtv - chown mythtv "$mountpoint"/var/log/mythtv - #copy over any updates that might have occured - #cp -rp $MV_ROOT/bin/*.sh "$mountpoint"$MV_ROOT/bin/ - cp_and_log "$MV_ROOT/bin/*.sh" "$mountpoint"$MV_ROOT/bin/ - chmod -R 755 ${mountpoint}/root - create_chroot_mnt_points - cp_and_log /etc/mtab "$mountpoint"/etc/mtab - # cp_and_log /etc/hostname "$mountpoint"/etc/hostname - apply_new_auth - - - if [ $SystemType = "Master_backend" -o $SystemType = "Standalone" ] - then - #installing DB to local machine - #turn off old live database, so the chroot one can start - echo "---------------------CHROOT INSTALLDB-------------------------" - /etc/rc.d/mysqld stop - mount --bind /dev "$mountpoint/dev" - mount --bind /proc "$mountpoint/proc" - mount -t sysfs none $mountpoint/sys - chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" 2>&1 |tee /tmp/chrootdb.out - #chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,user,this_is_install - echo "stopping mysql in chroot" - chroot "$mountpoint" /etc/rc.d/mysqld stop - kill_dhcp_chroot - sleep 2 - lsof |grep new_boot - umount -l "$mountpoint/dev" - umount -l "$mountpoint/proc" - umount -l "$mountpoint/sys" - - echo "---------------------END CHROOT INSTALLDB-------------------------" - /etc/rc.d/mysqld start - else - #update remotedb with this host settings - mount --bind /dev "$mountpoint/dev" - mount --bind /proc "$mountpoint/proc" - mount -t sysfs none $mountpoint/sys - chroot "$mountpoint" DISPLAY=127.0.0.1:0 /usr/local/bin/MythVantage -t restore,default_1 - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings - if [ ! $? = 0 ] - then - touch $mountpoint/tmp/.dbsysfailed - chmod 777 $mountpoint/tmp/.dbsysfailed - else - #Run second time - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,user,this_is_install - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL - umount -l "$mountpoint/dev" - umount -l "$mountpoint/proc" - umount -l "$mountpoint/sys" - fi - fi - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh advanced,user - touch $mountpoint/home/mythtv/.configure && chmod 777 $mountpoint/home/mythtv/.configure - - echo "Done" > /tmp/.install_state - cp_and_log /tmp/mythvantage_install.log $mountpoint/var/log/ - $run umount_it $disk - -} - -function createsquashlist(){ -if [ -f $1 ] -then - rm -f -$1 -fi -for i in bin boot etc home lib opt root sbin usr var data -do -echo $i >> $1 -done - - -} - - - - -function upgrade () { - touch /tmp/.this_is_upgrade - - if [ ! x$rootfs = "xDo_not_format" ] - then - echo "Formatting - $disk" > /tmp/.install_state - progress 2 - sleep 1 - $run format_it $disk $rootfs NO - fi - echo "Preparing $disk" > /tmp/.install_state - progress 3 - sleep 1 - $run mount_it $disk - startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "` - echo "STARTSIZE=$startsize">/tmp/.startsize.io - echo "Upgrading $hostname" > /tmp/.install_state - sleep 1 - cp_and_log /tmp/etc /new_boot/etc.old - cp_and_log /tmp/oss /new_boot/var/lib/oss.old - - - SQUASHLIST="/tmp/.squashlist" - createsquashlist $SQUASHLIST - $run copy_it $disk $SQUASHLIST - #copy back ssh keys - -# cp_and_log -rp /data/var/cache/pacman/pkg/* /new_boot/data/var/cache/pacman/pkg/ - cp_and_log "/new_boot/etc.old/ssh/*.pub" /new_boot/etc/ssh/ - cp_and_log "/new_boot/etc.old/ssh/*.key" /new_boot/etc/ssh/ - cp_and_log "/new_boot/etc.old/ssh/*key" /new_boot/etc/ssh/ - mdadm_find /tmp - cp_and_log /tmp${MDADM_CONF} /new_boot/etc - #cp_and_log /new_boot/etc.old/mdadm/mdadm.conf /new_boot/etc/ - cp_and_log /new_boot/etc.old/asound.state /new_boot/etc/ - if [ ! -f /tmp/etc/KnoppMyth-version ] - then - #passwd/shadow/group - cp_and_log /new_boot/etc.old/passwd /new_boot/etc/ - cp_and_log /new_boot/etc.old/shadow /new_boot/etc/ - cp_and_log /new_boot/etc.old/group /new_boot/etc/ - fi - mkdir -p "$mountpoint"/var/log/mythtv - chown mythtv "$mountpoint"/var/log/mythtv - if [ x$rootfs = "xDo_not_format" ] - then - rootfs=`grep \/\ /tmp/etc/fstab |awk ' { print $3 } '` - fi - #this is here to copy in the systemconfig file as soon as possible. - cp_and_log /etc/systemconfig "$mountpoint"/etc/systemconfig - echo "Configuring system" > /tmp/.install_state - progress 100 - backup_sql_check - if [ $? = 1 ] - then - upgrade_mount_search - fi - echo $run fstab_fix_it $disk UPGRADE $MYTHMOUNT - $run fstab_fix_it $disk UPGRADE $MYTHMOUNT - create_chroot_mnt_points - - #echo "Writing boot sector" > /tmp/.install_state - #progress 99 - sleep 1 - $run grub_it $disk - #echo "Configuring system" > /tmp/.install_state - #progress 100 - sleep 1 - cp_and_log /etc/mtab "$mountpoint"/etc/mtab - cp_and_log /etc/systemconfig "$mountpoint"/etc - cp_and_log /root/xorg.conf.install "$mountpoint"/etc/X11/xorg.conf.install -#make sure mythconverg.sql.gz is present - #backup_sql_check - #if [ $? = 1 ] - #then - # upgrade_mount_search - #fi - echo $CMDLINE | grep -q clean_upgrade - status=$? - if [ -f /tmp/etc/KnoppMyth-version -o $status = 0 ] - then - #run save syssettings to save settings, then copy to new mountpoint - $MV_ROOT/bin/restore_default_settings.sh -c save -t syssettings -h $MVHOSTNAME -d localhost - SE=$TEMPLATES/settings/syssettings - mkdir -p ${mountpoint}$SE - #cp -rfp $SE/* ${mountpoint}$SE/ - cp_and_log "$SE/*" "${mountpoint}$SE/" - chown root:mythtv "$mountpoint"/etc/systemconfig - chown -R mythtv:mythtv ${mountpoint}$SE - chmod -R 775 ${mountpoint}$SE - if [ ! $status = 0 ] - then - touch $mountpoint/home/mythtv/.kmupgrade && chmod 777 $mountpoint/home/mythtv/.kmupgrade - fi - fi - - - - cp_and_log "$MV_ROOT/bin/*.sh" "$mountpoint"$MV_ROOT/bin/ - chmod -R 755 ${mountpoint}/root - chown root:mythtv "$mountpoint"/etc/systemconfig - chmod 775 "$mountpoint"/etc/systemconfig - #mount /proc and /dev - mount --bind /dev "$mountpoint/dev" - mount --bind /proc "$mountpoint/proc" - - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,user,this_is_install - #wrap this in a network check_network, no need to update the db if the import worked. - ##### do I need to start mysql? - /etc/rc.d/mysqld stop - if [ $SystemType = "Master_backend" -o $SystemType = "Standalone" ] - then - echo $CMDLINE | grep -q clean_upgrade - status=$? - if [ $status = 0 ] - then - #new db as part of clean upgrade - echo "--------------------------------" - echo "clean upgrade installing new database" - echo "--------------------------------" - chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" |tee /tmp/chrootdb.out - echo "############################################" - echo "End Installing new database/clean" - echo "############################################" - else - #proceed as normal - if [ -f "$mountpoint"/$BACKUPFILE ] - then - echo "--------------------------------" - echo "Restoring database with $BACKUPFILE" - echo "--------------------------------" - chroot "$mountpoint" "$MV_ROOT/bin/restore_km_db_chroot.sh" "$BACKUPFILE" |tee /tmp/chrootdb_km.out - echo "############################################" - echo "End Restoring database" - echo "############################################" - else - echo "--------------------------------" - echo "Couldn't find backup file, installing new database" - echo "--------------------------------" - touch /tmp/.upgrade_db_failed - chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" |tee /tmp/chrootdb.out - echo "############################################" - echo "End Installing new database" - echo "############################################" - fi - fi - fi - - if [ -f /tmp/etc/KnoppMyth-version ] - then - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t hostsettings - #change permissions of /myth (only needed on km->linhes) - chown -R mythtv:mythtv $mountpoint/myth - chown -R root:root $mountpoint/myth/backup - else - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings - fi - # - #Run second time - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,user,this_is_install - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh advanced,this_is_install - echo "stopping mysql in chroot" - chroot "$mountpoint" /etc/rc.d/mysqld stop - apply_new_auth - kill_dhcp_chroot - umount -l "$mountpoint/dev" - umount -l "$mountpoint/proc" - - echo "Done" > /tmp/.install_state - cp_and_log /tmp/mythvantage_install.log $mountpoint/var/log/ - - $run umount_it $disk - /etc/rc.d/mysqld start -} - -function netboot-full_install () { - TEMPVAR=${CMDLINE#*nfsroot=} - NFSROOT=${TEMPVAR%% *} - NFSROOT=`echo $NFSROOT|cut -d: -f1` - MAC=`/sbin/ifconfig eth0|grep HWaddr| cut -d: -f2-|awk '{ print $3}'|tr : -` - URL="http://$NFSROOT:1337/diskless.py?HOSTNAME=$hostname&MAC=$MAC" - echo "calling $URL" - echo "Starting" > /tmp/.install_state - curl $URL - ${MV_ROOT}/bin/xconfig.sh -} - -# function killdhcp () { -# if [ -f /etc/dhcpc/dhcpcd-eth0.pid ] -# then -# pid=`cat /etc/dhcpc/dhcpcd-eth0.pid` -# kill -9 $pid -# rm -f /etc/dhcpc/dhcpcd-eth0.pid -# rm -f /var/run/dhcpcd* -# fi -# if [ -f /var/run/dhcpcd-eth0.pid ] -# then -# pid=`cat /var/run/dhcpcd-eth0.pid` -# kill -9 $pid -# rm -f /var/run/dhcpcd-eth0.pid* -# fi -# ip address flush dev eth0 -# } - - - -function SANE_SYSETTINGS () { -sed -e '/HOSTrootfstype/d' \ - -e '/HOSTrootfstype/d' \ - -e '/HOSTdatafstype/d' \ - -e '/HOSTOSsize/d' \ - -e '/HostUseALLdata/d' \ - -e '/HOSTDATAsize/d' \ - -e '/HOSTuprootfstype/d' \ - -e '/HostUseSWAP/d' \ - -e '/HOSTSWAPsize/d ' /tmp/templates/settings/syssettings/settings.txt > /tmp/settings.new - mv /tmp/settings.new /tmp/templates/settings/syssettings/settings.txt -} - case $1 in - full_install_it ) full_install ;; - - NETBOOT) -echo "-----------------------------------------------------------------------3-----" - netboot-full_install ;; - - find_update) - - #TRY TO mount first partition of drive - #copy /etc/systemconfig to live, import settings into db - #umount drive - echo $CMDLINE | grep -q clean_upgrade - if [ $? = 1 ] - then - $run mount_it $disk - [ -e "/new_boot/root/backup/mythconverg.sql.gz" ] && cp /new_boot/root/backup/mythconverg.sql.gz /tmp - - - if [ -f /new_boot/etc/systemconfig ] - then - ###########ADD templates - mkdir -p $TEMP_TEMPLATES - cp_and_log /new_boot/$TEMPLATES $TEMP_TEMPLATES - SANE_SYSETTINGS - cp_and_log $TEMP_TEMPLATES/settings $TEMPLATES/ - cp_and_log /new_boot/etc/systemconfig /etc/systemconfig - cp_and_log /new_boot/etc /tmp/etc - cp_and_log /new_boot/var/lib/oss /tmp/oss - [ -e /tmp/etc/mdadm.conf ] && cp_and_log /tmp/etc/mdadm.conf /etc/ - - $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings -h $MVHOSTNAME -d 127.0.0.1 - else - cp_and_log /new_boot/etc /tmp/etc - [ -e /tmp/etc/mdadm.conf ] && cp_and_log /tmp/etc/mdadm.conf /etc/ - #now we search for the timezone and try to update - TZREGION=`cat /tmp/etc/timezone | cut -d"/" -f1` - TZSUB=`cat /tmp/etc/timezone | cut -d"/" -f2 -` - - - if [ $TZREGION = $TZSUB ] - then - $run update_db_it HostTimeZoneRegion "$TZREGION" - else - $run update_db_it HostTimeZoneRegion "$TZREGION" - $run update_db_it HostTimeZoneRegion_$TZREGION "$TZSUB" - fi - fi - backup_sql_check - echo $? - upgrade_mount_search - echo $? - $run umount_it $disk - fi + full_install_it ) + mv_install.py --rootdisk=$disk --rootfs=$rootfs --rootsize=$rootsize --datafs=$datafs --datasize=$datasize --datadisk=$disk --swapsize=$swapsize -c full_install ;; - upgrade_it) - upgrade + NETBOOT) + echo "-----------------------------------------------------------------------3-----" + netboot-full_install ;; - disk_model_it) - model="unknown" - size="xxx" - case $2 in - h* ) - model=`cat /proc/ide/$2/model` - ;; - s*) model=`sginfo /dev/$2|grep Product|awk ' { print $2 } '` - ;; - esac - size=`parted /dev/$2 print |grep Disk|awk ' { print $3 } ' ` - echo ""$model" $size " >/tmp/model + find_update) + mv_install.py --rootdisk=$disk -c find_upgrade ;; - network_check_it) - #Should never return from check_network - case $2 in - setup_network) - vnc_check - install_network_setup - ;; - - check_self) - myipdefault=`ifconfig | grep -C1 $default_interface| grep -v $default_interface | cut -d: -f2 | awk '{ print $1}'` - echo "network check myself" - ifconfig - ping -c 1 $myipdefault - if [ ! $? = 0 ] - then - exit 3 - #can't ping yourself - fi - ;; - check_gw) - #check gateway - echo "network check gateway" - /sbin/route -n - mygwdefault=`/sbin/route -n |grep $default_interface|grep UG|awk '{ print $2}'` - echo "Default gateway seems to be $mygwdefault" - if [ ! x$mygwdefault = x ] - then - sleep 2 - ping -c 5 $mygwdefault - if [ ! $? = 0 ] - then - exit 4 - fi - fi - ;; - check_ns) - #check nameserver - echo " network check nameserver" - mydns=`cat /etc/resolv.conf|grep nameserver|head -1|awk '{ print $2}'` - ping -c 1 $mydns - if [ ! $? = 0 ] - then - exit 5 - fi - ;; - check_names) - echo "network check resolve names" - host google.com - if [ ! $? = 0 ] - then - exit 6 - fi - ;; - host_names) - #if host is found, then check to see if it's online - #if hoip matchs my ip assume it's ok - echo "network check my hostname $hostname" - hout=`host $hostname|head -n1` - status=$? - hoip=`echo $hout|awk '{print $4}'` - if [ $hoip = found: ] - then - status=1 - fi - - unkownhost=`host unkown.linhes.org |head -n1 ` - unkownhostip=`echo $unkownhost |awk '{print $4}'` - #found host, now grab the ip - if [ $status = 0 ] - then - hoip=`echo $hout|awk '{print $4}'` - /sbin/ifconfig -a |grep -q $hoip - if [ $? = 0 ] - then - echo "DNS ip matches on of my ips $hoip" - status=0 - else - if [ $unkownhostip = $hoip ] - then - echo "Bad DNS returning false hits" - echo "Assuming hostname is OK" - echo "DNS unknown: $unkownhostip" - echo " HOSTDNS: $hoip " - /sbin/ifconfig -a |grep "inet addr" - else - echo "IP in DNS but doesn't match mine, hostname is not safe to use" - echo "DNS:$hoip" - echo "HOST: " - /sbin/ifconfig -a |grep "inet addr" - status=7 - fi - fi - else - echo "Couldn't find hostname in DNS, must be safe to use" - status=0 - fi - exit $status - ;; + upgrade_it) + mv_install.py --rootdisk=$disk --rootfs=$rootfs -c upgrade + ;; - esac - exit 0 + disk_model_it) + model="unknown" + size="xxx" + case $2 in + h* ) + model=`cat /proc/ide/$2/model` + ;; + s*) model=`sginfo /dev/$2|grep Product|awk ' { print $2 } '` + ;; + esac + size=`parted /dev/$2 print |grep Disk|awk ' { print $3 } ' ` + echo ""$model" $size " >/tmp/model ;; + network_check_it) + #Should never return from check_network + case $2 in + setup_network) + vnc_check + install_network_setup + ;; + + check_self) + myipdefault=`ifconfig | grep -C1 $default_interface| grep -v $default_interface | cut -d: -f2 | awk '{ print $1}'` + echo "network check myself" + ifconfig + ping -c 1 $myipdefault + if [ ! $? = 0 ] + then + exit 3 + #can't ping yourself + fi + ;; + check_gw) + #check gateway + echo "network check gateway" + /sbin/route -n + mygwdefault=`/sbin/route -n |grep $default_interface|grep UG|awk '{ print $2}'` + echo "Default gateway seems to be $mygwdefault" + if [ ! x$mygwdefault = x ] + then + sleep 2 + ping -c 5 $mygwdefault + if [ ! $? = 0 ] + then + exit 4 + fi + fi + ;; + check_ns) + #check nameserver + echo " network check nameserver" + mydns=`cat /etc/resolv.conf|grep nameserver|head -1|awk '{ print $2}'` + ping -c 1 $mydns + if [ ! $? = 0 ] + then + exit 5 + fi + ;; + check_names) + echo "network check resolve names" + host google.com + if [ ! $? = 0 ] + then + exit 6 + fi + ;; + host_names) + #if host is found, then check to see if it's online + #if hoip matchs my ip assume it's ok + echo "network check my hostname $hostname" + hout=`host $hostname|head -n1` + status=$? + hoip=`echo $hout|awk '{print $4}'` + if [ $hoip = found: ] + then + status=1 + fi + + unkownhost=`host unkown.linhes.org |head -n1 ` + unkownhostip=`echo $unkownhost |awk '{print $4}'` + + #found host, now grab the ip + if [ $status = 0 ] + then + hoip=`echo $hout|awk '{print $4}'` + /sbin/ifconfig -a |grep -q $hoip + if [ $? = 0 ] + then + echo "DNS ip matches on of my ips $hoip" + status=0 + else + if [ $unkownhostip = $hoip ] + then + echo "Bad DNS returning false hits" + echo "Assuming hostname is OK" + echo "DNS unknown: $unkownhostip" + echo " HOSTDNS: $hoip " + /sbin/ifconfig -a |grep "inet addr" + else + echo "IP in DNS but doesn't match mine, hostname is not safe to use" + echo "DNS:$hoip" + echo "HOST: " + /sbin/ifconfig -a |grep "inet addr" + status=7 + fi + fi + else + echo "Couldn't find hostname in DNS, must be safe to use" + status=0 + fi + exit $status + ;; + + esac + exit 0 + ;; - * ) + * ) if [ -f /tmp/.install_state ] then state=`cat /tmp/.install_state` @@ -709,7 +178,7 @@ echo "-----------------------------------------------------------------------3-- if [ -f /tmp/.startsize.io ] then - . /tmp/.startsize.io + . /tmp/.startsize.io #finding the drive ddrive=`df | grep $mountpoint | head -n1 | awk -F/ ' { print $3 } ' | cut -d" " -f 1|cut -b1,2,3 ` used=`statgrab -M disk.|grep ${ddrive}.write_bytes|cut -d= -f 2|tr -d " "` @@ -731,7 +200,11 @@ echo "-----------------------------------------------------------------------3-- cond2=$(echo "$percent > 98" |bc ) if [ $cond2 -eq 1 ] then - percent=98 + percent=98 + fi + if [ x"${state}" = "xDone" ] + then + percent=100 fi cond3=$(echo "$percent < 3" |bc ) if [ $cond3 -eq 0 ] @@ -740,7 +213,7 @@ echo "-----------------------------------------------------------------------3-- fi fi fi - ;; + ;; esac diff --git a/abs/core-testing/LinHES-config/ir_config.sh b/abs/core-testing/LinHES-config/ir_config.sh deleted file mode 100644 index 28134e2..0000000 --- a/abs/core-testing/LinHES-config/ir_config.sh +++ /dev/null @@ -1,239 +0,0 @@ -function include_lirc () { - config_file=$1 - include_file=$2 - grep -q ${include_file} ${config_file} - if [ "$?" == "0" ]; then - echo ${include_file} already present - else - echo "include \"${include_file}\"" >> $config_file - fi - -} - -function unload_all_lirc () { - sv stop lircd - killall -9 lircd - modprobe -r $(lsmod |grep ^lirc |awk '{print $1}') -} - -function udev_trigger () { - udevadm settle - udevadm trigger - udevadm settle - udevadm trigger -} - - - -function setup_ir_remote { - case $Remotetype in - no_remote) echo "No remote selected" - daemon_remove="lircd $daemon_remove" - ;; - - tinker) echo "Remote in tinker mode" - ;; - - *) echo "Start of ir_remote setup" - #make backup copy - mv ${BASE}/etc/lircd.conf ${BASE}/etc/lircd.conf.`date +%Y-%m-%d-%H-%M` - mv ${BASE}/etc/lircrc ${BASE}/etc/lircrc.`date +%Y-%m-%d-%H-%M` - if [ "$HostBlasterType" == "pvr150" ]; then - Remotetype=hauppauge-blaster - fi - - cd $TEMPLATES/remotes/$Remotetype - for i in lircd* - do - include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/remotes/$Remotetype/$i - done - - for i in lircrc* - do - include_lirc ${BASE}/etc/lircrc $TEMPLATES/remotes/$Remotetype/$i - done - - chmod 755 /etc/lircrc - daemon_add="lircd $daemon_add" - #standard location for mythtv lircrc - if [ ! -e /home/mythtv/.mythtv/lircrc ]; then - if [ ! -d /home/mythtv/.mythtv ]; then - mkdir /home/mythtv/.mythtv - chown mythtv:mythtv /home/mythtv/.mythtv - fi - ln -s /etc/lircrc /home/mythtv/.mythtv/lircrc 2> /dev/null - fi - #standard location for lircrc - if [ ! -e /home/mythtv/.lircrc ]; then - ln -s /etc/lircrc /home/mythtv/.lircrc 2> /dev/null - fi -# echo "Sending hup to lircd" -# sv hup lircd - ;; - esac - -} - -function setup_ir_receiver () { - echo "setup_ir_receiver" - case $ReceiverType in - Serial) echo "setup serial lirc" - sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage - echo "lirc_serial #lirc" >> ${BASE}/etc/modules.mythvantage - load-modules-mythvantage.sh - remove_service.sh igdaemon - remove_service.sh tatir - ;; - Usb-imon) echo "setup receiver-usb-imon" - sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage - echo "lirc_imon #lirc" >> ${BASE}/etc/modules.mythvantage - load-modules-mythvantage.sh - remove_service.sh igdaemon - remove_service.sh tatir - ;; - Hauppauge) echo "setup hauppauge receiver (lirc_i2c)" - sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage - echo "lirc_i2c #lirc" >> ${BASE}/etc/modules.mythvantage - cp_and_log $TEMPLATES/modules/lirc_i2c.conf ${BASE}/etc/modprobe.d/lirc_i2c.conf - rmmod lirc_i2c 2>/dev/null - load-modules-mythvantage.sh - remove_service.sh igdaemon - remove_service.sh tatir - ;; - iguanaIR-usb) echo "setup iguanaIR-usb receiver" - sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage - add_service.sh igdaemon - remove_service.sh tatir - ;; - - tatir) echo "setup tatir receiver" - sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage - add_service.sh tatir - remove_service.sh igdaemon - ;; - - *) sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage - remove_service.sh igdaemon - remove_service.sh tatir - ;; - esac - - -} - -function setup_lcd () { - case x$LCDtype in - xtinker) echo "do nothing" - ;; - xno_lcd) echo "disabling lcd" - sv down lcdd - #sometimes it doesn't want to die - killall -9 LCDd - load-modules-mythvantage.sh UNLOAD LCD - sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage - daemon_remove="lcdd $daemon_remove" - ;; - x) echo "empty lcd" ;; - - *) echo "setup lcd" - if [ -f $TEMPLATES/LCD/$LCDtype/modules ]; then - sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage - cat $TEMPLATES/LCD/$LCDtype/modules >> ${BASE}/etc/modules.mythvantage - #should also modprobe - fi - - - if [ -f $TEMPLATES/LCD/$LCDtype/LCDd.conf ]; then - cp_and_log $TEMPLATES/LCD/$LCDtype/LCDd.conf /etc - # install="lcdproc $install" - daemon_add="lcdd $daemon_add" - load-modules-mythvantage.sh - RESTART_FE="true" - RESTART_LCD="true" - fi - #check if lirc capable,if so then call setupremote - #if not in tinker mode check for remote - if [ "$Remotetype" != "tinker" ]; then - if [ -f $TEMPLATES/LCD/$LCDtype/lircrc ]; then - cd $TEMPLATES/LCD/$LCDtype - for i in lircd* - do - include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/LCD/$LCDtype/$i - done - - for i in lircrc* - do - include_lirc ${BASE}/etc/lircrc $TEMPLATES/LCD/$LCDtype/$i - done - cd - - fi - fi - ;; - esac -} - -function setup_blaster_proto () { - if [ "$HostBlasterType" == "" ]; then - HostBlasterType = "crap" - fi - if [[ ("$HostBlasterType" != "pvr150") && ("$HostBlasterType" != "None") ]]; then - for i in `seq $Hostnumblaster` - do - TEMP=HostTransmitproto_$i - eval proto=\$${TEMP} - if [ -f $TEMPLATES/transmit/${proto}/lircd.conf ]; then - include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/transmit/${proto}/lircd.conf - fi - done - fi - #--------------------------------REVISIT THIS------------------------ - #sed -e "s/^REMOTE_NAME=.*$/REMOTE_NAME=${Blastertype} /" $TEMPLATES/change_chan.sh > #${BASE}/usr/bin/change_chan.sh - #chmod 755 ${BASE}/usr/bin/change_chan.sh - #channel change script change -} - -function setup_blaster_transmiter () { - echo "setup_blaster_transmiter" - #if it's Reciever type, then these modules have already been loaded. - if [ "$HostBlasterType" != "Receiver" ]; then - case $HostBlasterType in - None) echo "no blaster" - sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage - ;; - Serial) echo "setup serial lirc blaster" - sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage - echo "lirc_serial #blaster" >> ${BASE}/etc/modules.mythvantage - load-modules-mythvantage.sh - ;; - pvr150) echo "setup hauppauge blaster (lirc_pvr150)" - sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage - sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage - echo "lirc_pvr150 #blaster" >> ${BASE}/etc/modules.mythvantage - echo "lirc_pvr150 #lirc" >> ${BASE}/etc/modules.mythvantage - #cp_and_log $TEMPLATES/modules/lirc_i2c.conf ${BASE}/etc/modprobe.d/lirc_i2c.conf - rmmod lirc_i2c 2>/dev/null - load-modules-mythvantage.sh - ;; - *) sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage - ;; - esac - fi - -} - -function setupir () { - if [ "$Remotetype" != "tinker" ]; then - setup_ir_remote - setup_ir_receiver - unload_all_lirc - setup_blaster_proto - setup_blaster_transmiter - RESTART_FE="true" - load-modules-mythvantage.sh - udev_trigger - sleep 1 - sv start lircd - - fi - setup_lcd -} diff --git a/abs/core-testing/LinHES-config/mv_common.py b/abs/core-testing/LinHES-config/mv_common.py index 9b33454..31740c3 100755 --- a/abs/core-testing/LinHES-config/mv_common.py +++ b/abs/core-testing/LinHES-config/mv_common.py @@ -94,6 +94,8 @@ def pacinstall(pkg): pacinstall("libdvdcss") elif pkg == "webmin": add_service("webmin") + elif pkg == "fuppes": + pacinstall("fuppes-svn") if not pkg_blacklist_check(pkg): if pkg_installed_check(pkg): @@ -139,9 +141,11 @@ def restartLCD(RESTART_LCD): def reloadfe(dbhost,RESTART_LCD): logging.debug("____Start of reloadfe____") - logging.info(" Clearing Backend cache") - cmd = '''/usr/bin/backend_control.sh clearcache behost %s''' %dbhost - runcmd(cmd) + if data_config.SYSTEMTYPE == "MythVantage": + logging.info(" Clearing Backend cache") + cmd = '''/usr/bin/backend_control.sh clearcache behost %s''' %dbhost + runcmd(cmd) + restartLCD(RESTART_LCD) for pid in getpid("mythfrontend"): cmd = ''' kill -s USR1 %s ''' %pid diff --git a/abs/core-testing/LinHES-config/mv_hostype.py b/abs/core-testing/LinHES-config/mv_hostype.py index 0bbd16e..fff0e8a 100755 --- a/abs/core-testing/LinHES-config/mv_hostype.py +++ b/abs/core-testing/LinHES-config/mv_hostype.py @@ -20,7 +20,7 @@ def setup_avahi(templates): os.makedirs("/etc/avahi/services") except: logging.debug(" Couldn't create /etc/avahi/services") - mv_common.cp_and_log(template+"/mysql.service",file) + mv_common.cp_and_log(templates+"/mysql.service",file) cmd="sudo sv restart avahi" mv_common.runcmd(cmd) diff --git a/abs/core-testing/LinHES-config/mv_software.py b/abs/core-testing/LinHES-config/mv_software.py index 047a235..e5b96b2 100755 --- a/abs/core-testing/LinHES-config/mv_software.py +++ b/abs/core-testing/LinHES-config/mv_software.py @@ -10,7 +10,7 @@ def setup_software(systemconfig, data_config): default_installed=("mythcontrols", "mythgallery", "mythmovies", "mythmusic", "mythsmolt", "mythvideo") - other_pkg=("miro", "xe", "romdb", "xine", "dvdcss", "webmin") + other_pkg=("miro", "xe", "romdb", "xine", "dvdcss", "webmin" , "fuppes") for pkg in default_disabled: try: diff --git a/abs/core-testing/LinHES-config/myth_user_call b/abs/core-testing/LinHES-config/myth_user_call index 0479895..0914b03 100644 --- a/abs/core-testing/LinHES-config/myth_user_call +++ b/abs/core-testing/LinHES-config/myth_user_call @@ -31,6 +31,8 @@ function add_user() { else echo "adding user $USERNAME" useradd -m -s /bin/bash $USERNAME -G audio,video,optical,storage,users + usermod -a -G mythtv $USERNAME + fi } |