diff options
Diffstat (limited to 'abs/core/LinHES-config')
-rw-r--r-- | abs/core/LinHES-config/LinHES-release | 2 | ||||
-rwxr-xr-x | abs/core/LinHES-config/PKGBUILD | 30 | ||||
-rw-r--r-- | abs/core/LinHES-config/config.install | 11 | ||||
-rwxr-xr-x | abs/core/LinHES-config/install_functions.sh | 2 | ||||
-rwxr-xr-x | abs/core/LinHES-config/mv_common.py | 7 | ||||
-rwxr-xr-x | abs/core/LinHES-config/mv_fileshare.py | 8 | ||||
-rwxr-xr-x | abs/core/LinHES-config/mv_hostype.py | 8 | ||||
-rw-r--r--[-rwxr-xr-x] | abs/core/LinHES-config/mv_install.py | 195 | ||||
-rwxr-xr-x | abs/core/LinHES-config/mv_ir.py | 22 | ||||
-rwxr-xr-x | abs/core/LinHES-config/mv_network.py | 10 | ||||
-rwxr-xr-x | abs/core/LinHES-config/mv_software.py | 6 | ||||
-rwxr-xr-x | abs/core/LinHES-config/soundconfig.sh | 220 | ||||
-rwxr-xr-x | abs/core/LinHES-config/systemconfig.py | 62 | ||||
-rwxr-xr-x | abs/core/LinHES-config/xconfig.sh | 30 |
14 files changed, 342 insertions, 271 deletions
diff --git a/abs/core/LinHES-config/LinHES-release b/abs/core/LinHES-config/LinHES-release index f4126e5..d5029cc 100644 --- a/abs/core/LinHES-config/LinHES-release +++ b/abs/core/LinHES-config/LinHES-release @@ -1 +1 @@ -LinHES R8.1 (It isn't only a girl's name) +LinHES R8.2 (Paid the iron price) diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD index a47d7ea..1f7d048 100755 --- a/abs/core/LinHES-config/PKGBUILD +++ b/abs/core/LinHES-config/PKGBUILD @@ -1,11 +1,11 @@ pkgname=LinHES-config -pkgver=8.1 -pkgrel=11 +pkgver=8.2 +pkgrel=17 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config ) pkgdesc="Install and configure your system" depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted' 'sg3_utils' 'nmbscan' 'system-templates' 'rsync' 'python-parted' - 'python-pexpect' 'python-netifaces' 'xcursor-vanilla-dmz-aa' + 'python2-pexpect' 'python-netifaces' 'xcursor-vanilla-dmz-aa' 'python-iplib' 'sudo' 'setserial' 'udevil' 'balance' ) arch=('i686' 'x86_64') @@ -133,21 +133,21 @@ package() { install -o root -g root -D -m 0755 blacklist_nouveau.conf $pkgdir/etc/modprobe.d/blacklist_nouveau.conf } -md5sums=('e4faaa3d5f180d796e200b701048b008' +md5sums=('17d9dd5a097fbbd4dae75dff8e2677ff' '3f6855b7bb860a44f96a972c2e80f497' 'f6e9dd7bc6cf0aaa3bd203dab4cb79b9' '2596460462cf6c889cf8f95485537b20' '985891a43f7c4c983eb2a362162f1a0f' '261ba62515edd7a13d46cbeb1b0eadca' - '31106caee7f621e7c5f008ccd9600b36' + '6821fdfacf2aac44275200d3acaadb56' 'f73d6d6f98839e900cb6685bf5dc4eae' 'b8becf69d4309b938ceba3178c799270' '2a7f3b34e522acfd08283b86c8926aba' 'b596d2e3779a434435bc0f0277b1ba3e' - '5012fbd31d205a6d6b0a1d8caf3eba8f' + '9b3d200e101d2ba814de00318a41db8f' '157e73d0f90d7b306aba8f5921aeedd3' - 'a805504b6593eaa416fe5f32cd4d1b9e' - '952af1c0a44579c04a405ffce9aed264' + 'f8f803cb5738ce0021cd37c1ab514c45' + '879c692ebfd86cdd60d93278f1df8041' '5f890ea9bda6aef652d2560ca19dac07' 'ab2aa42c2947148c2b1cac0ade6d1d55' 'd429b59d3cfb37b0624c6a4a71a7c2c0' @@ -157,21 +157,21 @@ md5sums=('e4faaa3d5f180d796e200b701048b008' 'e959df98947eb0d2ea64ff616b61aab5' '2506860a416e1988934225d80d501c2c' 'c0549457750c4f8e8038d904a0f3012a' - '075fe16ef92621ce31f41df5c5577daf' + '1224a6a51cfe3283b562e3c250688b53' 'b845de3e05c1734cce4b9ac5e8f1baaf' - '6356c271bf6639002d4c59406250a1f6' + '885fcb99a0179d9704385e14aefd7af6' '8b7dce4a3a0a281fa6656aa8781a648e' - 'f7f2dc11d1ba454cd25eeaa133104b62' + '4b10fff21a0274f950f97f2b61e92463' '824e49d9b01fed295c704ab68908b464' 'fe5e31b833cc6707209e9d656b6eb53c' - '3eec99951c01d1a1abf7ecfeb33f922b' + '36dc1ae5fae0bbf99cb2bf5ae9419e67' '087a0ef743bc8af915503f8773536ce4' - '183a11aa06d60065106472ed9f72cc4a' + '38665330aeb3a8bdf7be24857fe035bb' '80685e047993b00161be29e3580f3a40' '299c24c0820fc9c483c820db2595e3cb' - 'cf51cb22e23218ae7e9b55cac1ba3a7f' + '595663a2cb0b43c4ea3fb3dac915a3c8' '781f161a79c3188a31c8615b8258b241' - '70749be12c98d4b8fd283bd5dd9182bb' + '888a6c57f272d9fa3e77e216a421562b' '2596460462cf6c889cf8f95485537b20' 'dc3c5270691a62600475705f4cb78b56' '4804aa93aaad3dfcfff08cd9ffd68836' diff --git a/abs/core/LinHES-config/config.install b/abs/core/LinHES-config/config.install index 4c99e03..0b7060e 100644 --- a/abs/core/LinHES-config/config.install +++ b/abs/core/LinHES-config/config.install @@ -21,7 +21,7 @@ post_install() { # arg 1: the new package version # arg 2: the old package version pre_upgrade() { - /bin/true + /usr/bin/true } # arg 1: the new package version @@ -41,16 +41,21 @@ post_upgrade() { fi /usr/MythVantage/bin/systemconfig.py -m locale + echo " Removing pts and shm from fstab..." + cp -a /etc/fstab /etc/fstab.backup.pre_pts_shm + sed -i '/\/dev\/pts/d' /etc/fstab + sed -i '/\/dev\/shm/d' /etc/fstab + } # arg 1: the old package version pre_remove() { - /bin/true + /usr/bin/true } # arg 1: the old package version post_remove() { - /bin/true + /usr/bin/true } op=$1 diff --git a/abs/core/LinHES-config/install_functions.sh b/abs/core/LinHES-config/install_functions.sh index d841947..e8e0a62 100755 --- a/abs/core/LinHES-config/install_functions.sh +++ b/abs/core/LinHES-config/install_functions.sh @@ -292,7 +292,7 @@ function request_dhcp(){ if [ $status -eq 1 ] then #interface is down, lets see if dhcp responds - dhcpcd -Td -t2 $ndev -h "" > /tmp/dhcpinfo.$ndev 2>/dev/null + dhcpcd -Td -t5 $ndev -h " " > /tmp/dhcpinfo.$ndev 2>&1 #check for hostname here TEMPVAR=`grep new_ip_address /tmp/dhcpinfo.$ndev |cut -d\= -f2` diff --git a/abs/core/LinHES-config/mv_common.py b/abs/core/LinHES-config/mv_common.py index ff2ee9f..3160989 100755 --- a/abs/core/LinHES-config/mv_common.py +++ b/abs/core/LinHES-config/mv_common.py @@ -195,7 +195,7 @@ def pkg_blacklist_check(pkg): return False def pkg_installed_check(pkg): - logging.debug(" Checking if %sis installed",pkg) + logging.debug(" Checking if %s is installed",pkg) cmd = "pacman -Q %s " %pkg rc = runcmd(cmd) if rc == 0: @@ -212,7 +212,6 @@ def pacinstall(pkg): elif pkg == "dvdcss": pacinstall("libdvdcss") elif pkg == "webmin": - pacinstall("webmin") add_service("webmin") elif pkg == "fuppes": pacinstall("fuppes-svn") @@ -222,6 +221,8 @@ def pacinstall(pkg): pacinstall("dolphin-emu") elif pkg == "webonlinhes": pacinstall("web-on-linhes") + elif pkg == "xbmc": + pacinstall("xbmc-pvr-addons") elif pkg == "mame": pacinstall("sdlmame") elif pkg == "foldingathome": @@ -258,6 +259,8 @@ def pacremove(pkg): pacremove("dolphin-emu") elif pkg == "webonlinhes": pacremove("web-on-linhes") + elif pkg == "xbmc": + pacremove("xbmc-pvr-addons") elif pkg == "mame": pacremove("sdlmame") elif pkg == "foldingathome": diff --git a/abs/core/LinHES-config/mv_fileshare.py b/abs/core/LinHES-config/mv_fileshare.py index 746dbbf..58c11d8 100755 --- a/abs/core/LinHES-config/mv_fileshare.py +++ b/abs/core/LinHES-config/mv_fileshare.py @@ -196,11 +196,11 @@ def setup_samba(systemconfig,data_config): outline = line if re.match("^.*workgroup", line): logging.debug(" Setting workgroup to %s",domain) - outline="workgroup = %s\n" %domain + outline=" workgroup = %s\n" %domain logging.debug(" %s",outline) if re.match("^.* server string",line): logging.debug(" Setting server name to %s",servername) - outline="server string = %s\n" %servername + outline=" server string = %s\n" %servername logging.debug(" %s",outline) f.write(outline) @@ -270,7 +270,9 @@ create mask = 0755 ''' %(data_config.MYTHHOME,shreadonly) f.close() logging.debug(" %s",homelines) - + logging.info(" Creating samba user mythtv") + cmd = "(echo mythtv; echo mythtv) | smbpasswd -a mythtv" + mv_common.runcmd(cmd) mv_common.add_service("nmbd") mv_common.add_service("smbd") mv_common.restart_service("nmbd") diff --git a/abs/core/LinHES-config/mv_hostype.py b/abs/core/LinHES-config/mv_hostype.py index ba9551f..880c0b9 100755 --- a/abs/core/LinHES-config/mv_hostype.py +++ b/abs/core/LinHES-config/mv_hostype.py @@ -248,7 +248,7 @@ def hostypeprint(systemconfig): restart_mbe = True - install_list=["nss-mdns", "mysql", "mythdb-initial", "avahi", "rpcbind", "nfs-utils", "local-website", "myth2ipod", "mythtv-status" , "udevil"] + install_list=["nss-mdns", "mysql", "mythdb-initial", "avahi", "rpcbind", "nfs-utils", "supplemental-web", "udevil"] daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd" ,"msg_daemon", "udevil"] @@ -265,7 +265,7 @@ def hostypeprint(systemconfig): logging.info("Master backend system being configured") setup_ntp(False,"null") setup_avahi(systemconfig.get("TEMPLATES")) - install_list=["nss-mdns", "mysql", "mythdb-initial", "avahi", "rpcbind", "nfs-utils", "local-website", "myth2ipod", "mythtv-status" ,"udevil"] + install_list=["nss-mdns", "mysql", "mythdb-initial", "avahi", "rpcbind", "nfs-utils", "supplemental-web", "udevil"] daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd" ,"msg_daemon" ,"udevil" ] EnableNetwork = True run_mysqlnetwork = True @@ -351,6 +351,10 @@ def hostypeprint(systemconfig): if data_config.SYSTEMTYPE == "MythVantage": mv_common.remove_service("ghosd") + if systemconfig.get("UseMythWelcome") == "1": + logging.debug(" Running mythwelcome-config.py") + cmd="/usr/LH/bin/mythwelcome-config.py" + mv_common.runcmd(cmd) if restart_mbe == True : setup_mysql_connection(systemconfig) diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py index fe4a395..7dfbddb 100755..100644 --- a/abs/core/LinHES-config/mv_install.py +++ b/abs/core/LinHES-config/mv_install.py @@ -214,13 +214,20 @@ def runcmd(cmd): return cmdout def mysqldb(cmd, inchroot): - if cmd == "start": - mycmd = " /etc/rc.d/mysqld start" - elif cmd == "stop": - mycmd = " /etc/rc.d/mysqld stop" if inchroot == "chroot": - mycmd = " chroot /new_boot %s" %mycmd - runcmd(mycmd) + if cmd == "start": + cmd = "chroot /new_boot /etc/rc.d/mysqld start" + elif cmd == "stop": + cmd = " chroot /new_boot /etc/rc.d/mysqld stop" + else: + if cmd == "start": + cmd = "systemctl start mysqld.service" + elif cmd == "stop": + cmd = "systemctl stop mysqld.service" + + #if inchroot == "chroot": + # mycmd = " chroot /new_boot %s" %mycmd + runcmd(cmd) def mount_bind_chroot(): @@ -446,13 +453,13 @@ def create_partitions_gpt(diskdevice, start,size,partition_type): cmd = "parted %s -a optimal --script unit MB -- mkpart primary %s %s" %(diskdevice, start, last_sector) runcmd(cmd) - + newstart = last_sector #print newstart return newstart - - - + + + @@ -471,17 +478,17 @@ def partition_disk(): runcmd(cmd) cmd = "parted %s -a optimal --script mklabel gpt" %datadisk runcmd(cmd) - + start_sector = 1 start_sector = create_partitions_gpt(rootdisk, start_sector, hostoptions["rootsize"], "primary") start_sector = create_partitions_gpt(rootdisk, start_sector, hostoptions["swapsize"], "primary") - hostoptions["rootpartition"] = hostoptions["rootdisk"]+str(1) + hostoptions["rootpartition"] = hostoptions["rootdisk"]+str(1) hostoptions["swappartition"] = hostoptions["rootdisk"] + str(2) hostoptions["home_partition"] = hostoptions["rootdisk"]+str(5) hostoptions["sql_partition"] = hostoptions["rootdisk"]+str(6) hostoptions["datapartition"] = hostoptions["datadisk"]+str(7) - - + + #create 1 blank to match up with extended/logical layout from 8.0 start_sector = create_partitions_gpt(rootdisk, start_sector, "NO", "primary") @@ -490,31 +497,31 @@ def partition_disk(): start_sector = create_partitions_gpt(rootdisk, start_sector, 2 , "primary") cmd = "parted %s set 4 bios_grub on" %rootdisk runcmd(cmd) - + #create home_partition start_sector = start_sector + 1 start_sector = create_partitions_gpt(rootdisk, start_sector, hostoptions["homesize"], "primary") - + ##create mysql start_sector = start_sector + 1 start_sector = create_partitions_gpt(rootdisk, start_sector, hostoptions["sqlsize"], "primary") - + start_sector = start_sector + 1 #create data if datadisk != rootdisk: create_partitions_gpt(datadisk, 1, hostoptions["datasize"], "primary") else: create_partitions_gpt(datadisk, start_sector, hostoptions["datasize"], "primary") - + #set active logging.debug("setting active partition for mbr") - + cmd = "parted %s set 1 boot on" %rootdisk runcmd(cmd) cmd = "sfdisk --force -A1 %s" %rootdisk runcmd(cmd) - + logging.debug("sleeping for 5 seconds") time.sleep(5) @@ -739,18 +746,20 @@ def create_squashlist(): def mount_for_copy_it(): mounts = {} - mounts['/image_mount/root'] = 'root-image' - mounts['/image_mount/usr/share'] = 'usr-share' - mounts['/image_mount/lib/modules'] = 'lib-modules' - mounts['/image_mount/var/lib/pacman'] = 'var-lib-pacman' - mounts['/image_mount/data/storage/disk0/pacman/pkg'] = 'data-storage-disk0-pacman-pkg' + #mounts['/image_mount/root'] = 'root-image' + #mounts['/image_mount/usr/share'] = 'usr-share' + #mounts['/image_mount/lib/modules'] = 'lib-modules' + #mounts['/image_mount/var/lib/pacman'] = 'var-lib-pacman' + #mounts['/image_mount/data/storage/disk0/pacman/pkg'] = 'data-storage-disk0-pacman-pkg' #mounts['/image_mount/var/cache/pacman'] = 'var-cache-pacman' + mounts['/image_mount'] = 'airootfs' for image_mount, fsimage in mounts.iteritems(): try: os.makedirs(image_mount) except: pass - cmd = 'mount /run/archiso/sfs/%s/%s.fs %s' %(fsimage,fsimage,image_mount) + #cmd = 'mount /run/archiso/sfs/%s/%s.fs %s' %(fsimage,fsimage,image_mount) + cmd = 'mount /run/archiso/sfs/%s/%s.img %s' %(fsimage,fsimage,image_mount) rc = runcmd(cmd)[0] if rc != 0 : error_out("Mount image %s" %fsimage) @@ -822,60 +831,55 @@ def mount_for_copy_it(): def umount_for_copy_it(): mounts = {} + mounts['/image_mount'] = 'airootfs' - mounts['/image_mount/root'] = 'root-image' - mounts['/image_mount/usr/share'] = 'usr-share' - mounts['/image_mount/lib/modules'] = 'lib-modules' - mounts['/image_mount/var/lib/pacman'] = 'var-lib-pacman' - mounts['/image_mount/data/storage/disk0/pacman/pkg'] = 'data-storage-disk0-pacman-pkg' + + #mounts['/image_mount/root'] = 'root-image' + #mounts['/image_mount/usr/share'] = 'usr-share' + #mounts['/image_mount/lib/modules'] = 'lib-modules' + #mounts['/image_mount/var/lib/pacman'] = 'var-lib-pacman' + #mounts['/image_mount/data/storage/disk0/pacman/pkg'] = 'data-storage-disk0-pacman-pkg' #mounts['/image_mount/var/cache/pacman'] = 'var-cache-pacman' + + + for image_mount, fsimage in mounts.iteritems(): - cmd = 'mount /run/archiso/sfs/%s/%s.fs %s' %(fsimage,fsimage,image_mount) + #cmd = 'mount /run/archiso/sfs/%s/%s.fs %s' %(fsimage,fsimage,image_mount) cmd='umount %s' %(image_mount) rc = runcmd(cmd)[0] if rc != 0 : error_out("unMount image %s" %image_mount) - #cmd='umount %s' %('/image_mount/lib/modules') - #rc = runcmd(cmd)[0] - #if rc != 0 : - #error_out("unMount image lib_modules") - - #cmd='umount %s' %('/image_mount/usr/share') - #rc = runcmd(cmd)[0] - #if rc != 0 : - #error_out("unMount image usr_share") - - #cmd='umount %s' %('/image_mount/root') - #rc = runcmd(cmd)[0] - #if rc != 0 : - #error_out("unMount image /") - - #cmd='umount %s' %('/image_mount/var/cache/pacman') - #rc = runcmd(cmd)[0] - #if rc != 0 : - #error_out("unMount image var-cache-pacman") - - #cmd='umount %s' %('/image_mount/var/lib/pacman') - #rc = runcmd(cmd)[0] - #if rc != 0 : - #error_out("unMount image var-lib-pacman") def copy_it(install_type): logging.info("______Transferring to disk______") mount_for_copy_it() + logging.debug( install_type) if ( install_type == "install"): logging.info("Transferring system") - cmdlist = ['rsync -arp /image_mount/root/* /new_boot', - 'rsync -arp /image_mount/lib/* /new_boot/lib/', - 'rsync -arp /image_mount/usr /new_boot', - 'rsync -arp /image_mount/var /new_boot', - 'rsync -arp /image_mount/data/storage/disk0/* /new_boot/data/storage/disk0/' - ] + #cmdlist = ['rsync -arp /image_mount/root/* /new_boot', + ##'rsync -arp /image_mount/lib/* /new_boot/lib/', + #'rsync -arp /image_mount/lib /new_boot/', + #'rsync -arp /image_mount/lib64 /new_boot/', + #'rsync -arp /image_mount/usr /new_boot', + #'rsync -arp /image_mount/sbin /new_boot', + #'rsync -arp /image_mount/bin /new_boot', + #'rsync -arp /image_mount/var /new_boot', + #'rsync -arp /image_mount/data/storage/disk0/* /new_boot/data/storage/disk0/', + #'rysnc -arp /image_mount/var-lib-pacman/sync /new_boot/var/lib/pacman/' + #] + + #cmdlist = ['rsync -arp --exclude var-lib-pacman --exclude boot-orig /image_mount/* /new_boot', + # 'rsync -arp /image_mount/var-lib-pacman/sync /new_boot/var/lib/pacman/', + # 'rsync -arp /image_mount/boot-orig/* /new_boot/boot/ ' + # ] + + + cmdlist = ['rsync -arp --exclude var-lib-pacman --exclude boot-orig /image_mount/* /new_boot'] for cmd in cmdlist: rc = runcmd(cmd)[0] @@ -887,10 +891,13 @@ def copy_it(install_type): if ( install_type == "upgrade"): logging.info("Upgrading system") - cmdlist = ['rsync -arp --exclude /home --exclude /data/srv/mysql /image_mount/root/* /new_boot', - 'rsync -arp /image_mount/lib/* /new_boot/lib/', - 'rsync -arp /image_mount/usr /new_boot', - 'rsync -arp /image_mount/var /new_boot'] + #cmdlist = ['rsync -arp --exclude /home --exclude /data/srv/mysql /image_mount/root/* /new_boot', + #'rsync -arp /image_mount/lib/* /new_boot/lib/', + #'rsync -arp /image_mount/usr /new_boot', + #'rsync -arp /image_mount/var /new_boot'] + + cmdlist = ['rsync -arp --exclude var-lib-pacman --exclude boot-orig --exclude /home --exclude /data/srv/mysql /image_mount/* /new_boot'] + for cmd in cmdlist: #runcmd(cmd) @@ -908,8 +915,19 @@ def copy_it(install_type): os.makedirs(mp) except OSError: logging.debug(" __Could not create %s", mp) + #copy of locale cp_and_log("/usr/lib/locale/locale-archive", data_config.MOUNTPOINT+"/usr/lib/locale/locale-archive") + + #copy dhcpcd lease and duid file + #needed to retain dhcp address between reboots. + cp_and_log("/etc/dhcpcd.duid", data_config.MOUNTPOINT+"/etc/dhcpcd.duid") + cp_and_log("/var/lib/dhcpcd/*.lease", data_config.MOUNTPOINT+"/var/lib/dhcpcd/") + + + + + # General fixup cmd = "chmod 777 %s/tmp" %(data_config.MOUNTPOINT) runcmd(cmd) @@ -931,6 +949,9 @@ def copy_it(install_type): runcmd(cmd) cmd = "chmod +s %s/bin/mount" %(data_config.MOUNTPOINT) runcmd(cmd) + + + #sys.exit(3) apply_pristine() post_process() @@ -946,10 +967,6 @@ def create_fstab(extralines): f = open(fstabfile, 'w') line = '''# <file system> <dir> <type> <options> <dump> <pass> \n''' fstab_list.append(line) - line = '''devpts /dev/pts devpts defaults 0 0 \n''' - fstab_list.append(line) - line = '''shm /dev/shm tmpfs nodev,nosuid 0 0 \n''' - fstab_list.append(line) line = '''/dev/sr0 /media/cdrom auto ro,user,noauto,unhide 0 0\n''' fstab_list.append(line) line = '''UUID=ROOTUID / %s defaults,noatime 0 1\n''' %(hostoptions["rootfs"]) @@ -1162,18 +1179,6 @@ def fstab_it(install_type): newfstab.append(line) - elif line.startswith("none"): - templine = line.split() - if ( templine[1] == "/dev/pts" ): - newline = '''devpts /dev/pts devpts defaults 0 0 \n''' - logging.debug(" New fstab line (converted):") - logging.debug( newline) - newfstab.append(newline) - if ( templine[1] == "/dev/shm" ): - newline = '''shm /dev/shm tmpfs nodev,nosuid 0 0 \n''' - logging.debug(" New fstab line(converted):") - logging.debug( newline) - newfstab.append(newline) else: logging.debug(" Line didn't match, adding to newfstab:") logging.debug( line) @@ -1191,6 +1196,13 @@ def fstab_it(install_type): #f.write("\n") f.close() +def install_kernel_it(): + logging.info("______Start of kernel install______") + cmd = "chroot %s pacman --noconfirm -S linux" %(data_config.MOUNTPOINT) + logging.info(" Running pacman to install kernelinstall") + runcmd(cmd) + + def grub_it(): logging.info("______Start of grub install______") cmd = "chroot %s grub-install --target=i386-pc --recheck --debug /dev/%s" %(data_config.MOUNTPOINT,hostoptions["rootdisk"]) @@ -1631,6 +1643,7 @@ def full_install(hostoptions): statusmsg = "Partitioning %s" %( hostoptions["rootdisk"]) update_status(statusmsg) progress(1) + if data_config.NOOPDEBUG == "FALSE": partition_disk() else: @@ -1679,7 +1692,9 @@ def full_install(hostoptions): special_hardware_check() mount_bind_chroot() + install_kernel_it() grub_it() + umount_bind_chroot() genlocale() #currently does nothing @@ -1816,9 +1831,12 @@ def find_upgrade(): cp_and_log(data_config.MOUNTPOINT+"/var/lib/alsa/", "/tmp/alsa") cp_and_log(data_config.MOUNTPOINT+"/var/lib/oss/", "/tmp/oss") cp_and_log("/tmp/etc/mdadm.conf", "/etc/mdadm.conf") + cp_and_log("/tmp/etc/dhcpcd.duid", "/etc/dhcpcd.duid") + else: logging.info("Could not find systemconfig file %s", srcfile) cp_and_log(data_config.MOUNTPOINT+"/etc/", "/tmp/etc/") + cp_and_log("/tmp/etc/dhcpcd.duid", "/etc/dhcpcd.duid") cp_and_log(data_config.MOUNTPOINT+"/var/lib/alsa/", "/tmp/alsa") cp_and_log("/tmp/etc/mdadm.conf", "/etc") timezone_to_db("/tmp/etc/timezone") @@ -1961,6 +1979,13 @@ def upgrade(hostoptions): cp_and_log2(srcfile, destfile, '*.pkl') + #ctn interfaces + srcfile = "%s/etc.old/net/ifaces/" %(data_config.MOUNTPOINT) + destfile = "%s/etc/net/ifaces/" %(data_config.MOUNTPOINT) + cp_and_log2(srcfile, destfile, 'ctn*') + + + mdfile = mdadm_find("/tmp") cp_and_log("/tmp"+mdfile, data_config.MOUNTPOINT+"/etc") @@ -1981,6 +2006,8 @@ def upgrade(hostoptions): destfile = "%s/etc/mplayer/mplayer.conf" %(data_config.MOUNTPOINT) cp_and_log(srcfile, destfile) + + if not os.path.exists("/tmp/etc/KnoppMyth-version"): logging.debug(" standard upgrade, restoring auth files") cp_and_log(data_config.MOUNTPOINT+"/etc.old/passwd", data_config.MOUNTPOINT+"/etc/passwd") @@ -2164,11 +2191,11 @@ def main(argv): - if ( hostoptions["op"] == "upgrade") or ( hostoptions["op"] == "find_upgrade" ): + if ( hostoptions["op"] == "upgrade") or ( hostoptions["op"] == "find_upgrade" ) or (data_config.NOOPDEBUG != "FALSE"): hostoptions["datafs"] = "no_format" hostoptions["homefs"] = "no_format" hostoptions["sqlfs"] = "no_format" - + print "hi" #hardcoding partitions hostoptions["rootpartition"] = hostoptions["rootdisk"]+str(1) ##hardcoded partition 1 hostoptions["swappartition"] = hostoptions["rootdisk"] + str(2) diff --git a/abs/core/LinHES-config/mv_ir.py b/abs/core/LinHES-config/mv_ir.py index 1eae985..c4386cc 100755 --- a/abs/core/LinHES-config/mv_ir.py +++ b/abs/core/LinHES-config/mv_ir.py @@ -87,7 +87,9 @@ def include_file( incfile,filename): def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket): logging.debug(" Setup of remote type %s",Remotetype) - if Remotetype == "no_remote" and HostBlasterType == "None" : + #if Remotetype == "no_remote" and HostBlasterType == "None" : + HostBlasterType_values=["None",""] + if Remotetype == "no_remote" and (HostBlasterType in HostBlasterType_values) : mv_common.remove_service("remotes") elif Remotetype == "tinker": pass #do nothing @@ -139,7 +141,7 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket): #if remote has a special xbmc file, use it. xbmcfile= remote_path + "/xbmc.xml" userxmbcfile = mythhome+"/.xbmc/userdata/Lircmap.xml" - + if os.path.exists(xbmcfile): logging.debug(" XBMC lirc file present") logging.info(" Setting up lirc for xbmc") @@ -153,7 +155,7 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket): os.mkdir(mythhome+"/.xbmc/userdata/") except: logging.debug(" Couldn't create .xbmc/userdata ") - + try: cmd = ''' chown -R mythtv %s/.xbmc''' %mythhome mv_common.runcmd(cmd) @@ -161,7 +163,7 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket): mv_common.runcmd(cmd) except: logging.debug(" Couldn't change permissions for .xbmc") - pass + pass try: cmd = ''' rm -f %s''' %(userxmbcfile) mv_common.runcmd(cmd) @@ -171,12 +173,12 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket): pass else: logging.debug(" XBMC lirc file %s not present" %xbmcfile) - - - - - - + + + + + + #remote has it's own modprobe.d/conf filename cmd = "rm -f /etc/modprobe.d/mv_ir.conf" diff --git a/abs/core/LinHES-config/mv_network.py b/abs/core/LinHES-config/mv_network.py index f011970..a4ad0c9 100755 --- a/abs/core/LinHES-config/mv_network.py +++ b/abs/core/LinHES-config/mv_network.py @@ -356,6 +356,8 @@ def setup_interface(netdev,systemconfig): logging.info(" Using default mtu value") cmd = '''sed -i '/^mtu.*$/d' %s/%s/iplink''' %(etcnetdir,netdev) mv_common.runcmd(cmd) + cmd = ''' echo "mtu 1500" >> %s/%s/iplink''' %(etcnetdir,netdev) + mv_common.runcmd(cmd) def change_iface_state(netdev, state): @@ -385,6 +387,14 @@ def devcheck(netdev): return False def udev_rules(netdev): + logging.info(" Disable network fixed name assignment") + mv_common.remove_file("/etc/udev/rules.d/80-net-setup-link.rules") #systemd v209+ + mv_common.remove_file("/etc/udev/rules.d/80-net-name-slot.rules") #systemd v197-v208 + cmd = "ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules" + mv_common.runcmd(cmd) + cmd = "ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules" + mv_common.runcmd(cmd) + filename = "/etc/udev/rules.d/net.rules" if devcheck(netdev): logging.info(" Finding macaddress for %s",netdev) diff --git a/abs/core/LinHES-config/mv_software.py b/abs/core/LinHES-config/mv_software.py index 41ca7c7..13f0f2f 100755 --- a/abs/core/LinHES-config/mv_software.py +++ b/abs/core/LinHES-config/mv_software.py @@ -31,6 +31,9 @@ def setup_software(systemconfig, data_config): logging.info("____Start of Software install____") postfix='' + logging.info(" Refreshing pacman package list from server") + cmd="pacman -Syy" + mv_common.runcmd(cmd) if data_config.SYSTEMTYPE == "MythVantage": #look for the installed prefix cmd="pacman -Q mythtv-release-fixes" @@ -66,9 +69,10 @@ def setup_software(systemconfig, data_config): "dolphinemu", "xe", "mythappletrailers", - "miro", + "webmin", "webonlinhes", "huludesktop", + "xbmc", "dvdcss", "foldingathome") diff --git a/abs/core/LinHES-config/soundconfig.sh b/abs/core/LinHES-config/soundconfig.sh index f682465..38687a4 100755 --- a/abs/core/LinHES-config/soundconfig.sh +++ b/abs/core/LinHES-config/soundconfig.sh @@ -17,9 +17,7 @@ echo "---------------------------------------" function testaudio () { - -ossplay -d$AUDIODEVICE $TESTFILE - + ossplay -d$AUDIODEVICE $TESTFILE } function load_alsa() { @@ -29,7 +27,7 @@ function load_alsa() { cd /lib/modules/$KER/ echo " uncompressing ALSA modules" tar -xf sound-preoss.tar.bz2 -# echo " installing alsa-lib" + #echo " installing alsa-lib" #pacman -S --force --noconfirm alsa-lib echo " uninstalling oss" @@ -50,7 +48,7 @@ function load_alsa() { function unload_alsa () { echo "unloading ALSA ..." -#kill $(lsof -t /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*) && modprobe -r $(lsmod |grep ^snd |awk '{print $1}') + #kill $(lsof -t /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*) && modprobe -r $(lsmod |grep ^snd |awk '{print $1}') sv stop alsa-utils remove_service.sh alsa-utils rm -rf /dev/adsp* @@ -81,13 +79,11 @@ function installOSS { add_service.sh oss echo "blacklist soundcore" > $BLACKLIST echo "install soundcore /bin/false" >> $BLACKLIST - - } function SYNCXINE { -echo "modify xine config file" + echo "modify xine config file" if [ -f $MYTHHOME/.xine/config ] then cp -f $MYTHHOME/.xine/config $TEMPLATES/xine.config @@ -106,85 +102,82 @@ echo "modify xine config file" else cp $TEMPLATES/xine.config $MYTHHOME/.xine/config fi - } function SYNCMPLAYER { -echo "modify mplayer not implmented yet" + echo "modify mplayer config file" + if [ -f /etc/mplayer/mplayer.conf ] + then + backdate=`date +%b-%d-%Y-%H:%M:%S` + mv /etc/mplayer/mplayer.conf /etc/mplayer/mplayer.conf-$backdate + fi + if [ x$AUDIOTYPE = xALSA -o x$AUDIOTYPE = xalsa ] + then + MPLAYERDEVICE=`echo $AUDIODEVICE | tr : = | tr , .` + echo "ao=alsa:device=$MPLAYERDEVICE" > /etc/mplayer/mplayer.conf + echo "ac=hwac3,hwdts," >> /etc/mplayer/mplayer.conf + else + echo "ao=oss:$AUDIODEVICE" > /etc/mplayer/mplayer.conf + fi } -function SYNCMYTHMUSIC { -echo "sync mythmusic" -$MV_ROOT/bin/restore_default_settings.sh -c MUSICMYTH -} +function checkOSSinstalled () { + echo "Checking if OSS is installed" + ossinfo |grep Version |grep -q OSS >/dev/null + resultcode=$? -function SYNCMYTHFRONTEND { -echo "sync mythfrontend" -$MV_ROOT/bin/restore_default_settings.sh -c MUSICFRONT + if [ $resultcode = 0 ] + then + OSSinstalled='true' + echo " OSS is loaded" + else + OSSinstalled='false' + echo " OSS is NOT loaded" + fi } - -function checkOSSinstalled () { - echo "Checking if OSS is installed" - ossinfo |grep Version |grep -q OSS >/dev/null - resultcode=$? - - if [ $resultcode = 0 ] - then - OSSinstalled='true' - echo " OSS is loaded" - else - OSSinstalled='false' - echo " OSS is NOT loaded" - fi +function write_asound { + echo "writing asound.conf file" + if [ -f /etc/asound.conf ] + then + backdate=`date +%b-%d-%Y-%H:%M:%S` + mv /etc/asound.conf /etc/asound.conf-$backdate + fi + echo 'pcm.!default "'"$AUDIODEVICE"'"' > /etc/asound.conf } function sound_config_system { - - SYNCMYTHFRONTEND + if [ x$AUDIOTYPE = xALSA -o x$AUDIOTYPE = xalsa ] + then + write_asound + fi + SYNCMPLAYER # if [ x$syncXine = x1 ] # then # SYNCXINE # fi -# if [ x$syncMplayer = x1 ] -# then -# SYNCMPLAYER -# fi -# if [ x$syncMythMusic = x1 ] -# then -# SYNCMYTHMUSIC -# fi -# if [ x$syncMythFrontend = x1 ] -# then -# SYNCMYTHFRONTEND -# fi - } function loadsound (){ - checkOSSinstalled - if [ x$AUDIOTYPE = xOSS -o x$AUDIOTYPE = xoss ] + checkOSSinstalled + if [ x$AUDIOTYPE = xOSS -o x$AUDIOTYPE = xoss ] + then + while [ $OSSinstalled = "false" ] + do + unload_alsa + if [ -e /tmp/.alsatest ] then - while [ $OSSinstalled = "false" ] - do - unload_alsa - if [ -e /tmp/.alsatest ] - then - rm /tmp/.alsatest - fi - installOSS - checkOSSinstalled - done - # fi - else - touch /tmp/.alsatest - unload_oss - load_alsa - #load_alsa - rm /tmp/.alsatest - - fi - + rm /tmp/.alsatest + fi + installOSS + checkOSSinstalled + done + else + touch /tmp/.alsatest + unload_oss + load_alsa + rm /tmp/.alsatest + fi } @@ -209,67 +202,50 @@ fi while getopts "$OPTSTRING" SWITCH do case $SWITCH in - \?) echo "unknown option" - exit 11 ;; - i) #echo "$SWITCH" "$OPTARG" - AUDIOTYPE="$OPTARG" - ;; - d) #echo "$SWITCH" "$OPTARG" - AUDIODEVICE=$OPTARG - ;; - t) #echo "$SWITCH" "$OPTARG" - SOUNDOPTYPE="$OPTARG" - if [ x"$OPTARG" = xtest ] - then - TEST=true - else - TEST=false - fi - - - ;; - - esac + \?) echo "unknown option" + exit 11 + ;; + i) #echo "$SWITCH" "$OPTARG" + AUDIOTYPE="$OPTARG" + ;; + d) #echo "$SWITCH" "$OPTARG" + AUDIODEVICE=$OPTARG + ;; + t) #echo "$SWITCH" "$OPTARG" + SOUNDOPTYPE="$OPTARG" + if [ x"$OPTARG" = xtest ] + then + TEST=true + else + TEST=false + fi + ;; + esac done - case $SOUNDOPTYPE in REAL|real ) - # loadsound - sound_config_system - ;; + #loadsound + sound_config_system + ;; test|TEST) - echo $@ > /tmp/audio.test - #loadsound - if [ x$AUDIOTYPE = xOSS -o x$AUDIOTYPE = xoss ] - then - echo "testing OSS $AUDIODEVICE " - ossplay -d$AUDIODEVICE $TESTFILE - else - echo "testing ALSA $AUDIODEVICE " - echo aplay --device=$AUDIODEVICE $TESTFILE - aplay -d=$AUDIODEVICE $TESTFILE - fi - - ;; - + echo $@ > /tmp/audio.test + #loadsound + if [ x$AUDIOTYPE = xOSS -o x$AUDIOTYPE = xoss ] + then + echo "testing OSS $AUDIODEVICE " + ossplay -d$AUDIODEVICE $TESTFILE + else + echo "testing ALSA $AUDIODEVICE " + echo aplay --device=$AUDIODEVICE $TESTFILE + aplay --device=$AUDIODEVICE $TESTFILE + fi + ;; LOAD|load) - loadsound - ;; - esac - + loadsound + ;; +esac exit 0 - - - - - - - - - - - diff --git a/abs/core/LinHES-config/systemconfig.py b/abs/core/LinHES-config/systemconfig.py index 1af9daf..c7cbb8a 100755 --- a/abs/core/LinHES-config/systemconfig.py +++ b/abs/core/LinHES-config/systemconfig.py @@ -33,7 +33,35 @@ logging.getLogger('').addHandler(infofile) def usage(): - logging.info("tell people how to use this") + logging.info("List of available modules") + logging.info("more then one module by be called") + logging.info("Ex: misc,sleep,audio") + cmd_list = ["misc", + "sleep", + "hostype", + "hostypec" , + "advanced" , + "audio" , + "network" , + "advancedX" , + "webuser" , + "restartfe" , + "reloadfe" , + "ddns" , + "screensaver" , + "ir" , + "user", + "software", + "plugins", + "smolt", + "all", + "func", + "supplemental", + "vnc", + "fileshare", + "config_xml"] + for i in cmd_list: + logging.info(i) def setup_x(systemconfig): if mv_common.read_config(mv_common.module_config,"xorg") == False : @@ -95,9 +123,9 @@ def generate_config_xml(uuid,dbhost): </UPnP> </Configuration> ''' - - - + + + configxml= configxml_t %(dbhost,uuid) return configxml @@ -296,21 +324,17 @@ def main(argv): logging.info("____Skipping of Audio, config disabled____") else: logging.debug("______Start of Audio Configuration______") - if not systemconfig.get("Audiotype") == "tinker": - if cmdmodule["this_is_install"]: - if systemconfig.get("Audiotype") == "OSS": - mv_common.pacinstall("oss") - mv_common.add_service("oss") - - cmd="%s/bin/soundconfig.sh -t real -i %s -d %s" %(MVROOT, - systemconfig.get("Audiotype"), - systemconfig["SoundDevice"]) - mv_common.runcmd(cmd) - - mv_common.reloadfe(systemconfig.get("dbhost"),restartlcd) - else: - logging.debug(" Tinker mode(audio), not changing configuration") - logging.debug("__End of audio") + if cmdmodule["this_is_install"]: + if systemconfig.get("Audiotype") == "OSS": + mv_common.pacinstall("oss") + mv_common.add_service("oss") + + cmd="%s/bin/soundconfig.sh -t real -i %s -d %s" %(MVROOT, + systemconfig.get("Audiotype"), + systemconfig["SoundDevice"]) + mv_common.runcmd(cmd) + mv_common.reloadfe(systemconfig.get("dbhost"),restartlcd) + logging.debug("__End of audio") if cmdmodule["misc"]: if mv_common.read_config(mv_common.module_config,"misc") == False : diff --git a/abs/core/LinHES-config/xconfig.sh b/abs/core/LinHES-config/xconfig.sh index eda67b4..52dc952 100755 --- a/abs/core/LinHES-config/xconfig.sh +++ b/abs/core/LinHES-config/xconfig.sh @@ -21,6 +21,7 @@ home_check function Xvalues { + echo $VGACARDTYPE if [ "x$VGACARDTYPE" = "x" ] then CMDLINE=$(cat /proc/cmdline) @@ -59,7 +60,7 @@ function presetupX { } function nvidia_prepare { - for i in libgl nvidia nvidia-utils nvidia-173xx nvidia-173xx-utils nvidia-96xx nvidia-96xx-utils + for i in mesa-libgl nvidia nvidia-utils nvidia-libgl nvidia-173xx nvidia-173xx-utils nvidia-96xx nvidia-96xx-utils do pacman --noconfirm -Rdd $i >> $LOGFILE 2>&1 done @@ -86,10 +87,17 @@ function nvidia_driver_install { echo "Installing Nvidia driver" cp "$TEMPLATES/xorg/xorg.nvidia" $BASE/etc/X11/xorg.conf.d/20-automv.conf #install latest drivers - pkg_check nvidia-utils - echo "Installing current nvidia drivers" + LIST="nvidia nvidia-libgl nvidia-utils" + for i in `echo ${LIST}` + do + pkg_check $i + done + #this is used to remove nvidia nvidia_prepare - pacman --noconfirm -S nvidia nvidia-utils >> $LOGFILE 2>&1 + for i in `echo ${LIST}` + do + pacman -S --noconfirm $i >> $LOGFILE 2>&1 + done installed=1 echo "/usr/lib/libXvMCNVIDIA_dynamic.so.1" > "$XVMC_CONFIG" } @@ -97,31 +105,37 @@ function nvidia_driver_install { function vmware_driver_install { echo "Installing VMware driver" echo "Installing VMware driver" >> $LOGFILE 2>&1 - LIST="xf86-input-vmmouse xf86-video-vmware xf86-video-vesa svga-dri" + LIST="xf86-input-vmmouse xf86-video-vmware xf86-video-vesa svga-dri mesa-libgl" for i in `echo ${LIST}` do pkg_check $i done + #this is used to remove nvidia + nvidia_prepare for i in `echo ${LIST}` do pacman -S --noconfirm $i >> $LOGFILE 2>&1 done - } function vesa_driver_install { echo "Installing Vesa driver" echo "Installing Vesa driver" >> $LOGFILE 2>&1 - pacman -S --noconfirm xf86-video-vesa >> $LOGFILE 2>&1 + pkg_check xf86-video-vesa + pkg_check mesa-libgl + #this is used to remove nvidia + nvidia_prepare + pacman -S --noconfirm xf86-video-vesa mesa-libgl >> $LOGFILE 2>&1 } function intel_driver_install { echo "Installing Intel driver" echo "Installing Intel driver" >> $LOGFILE 2>&1 pkg_check xf86-video-intel + pkg_check mesa-libgl #this is used to remove nvidia nvidia_prepare - pacman -S --noconfirm xf86-video-intel >> $LOGFILE 2>&1 + pacman -S --noconfirm xf86-video-intel mesa-libgl >> $LOGFILE 2>&1 echo "/usr/lib/libIntelXvMC.so.1" > "$XVMC_CONFIG" } |