diff options
65 files changed, 902 insertions, 963 deletions
diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD index 21b1614..769e992 100644 --- a/abs/core/LinHES-config/PKGBUILD +++ b/abs/core/LinHES-config/PKGBUILD @@ -1,6 +1,6 @@  pkgname=LinHES-config  pkgver=2.3 -pkgrel=55 +pkgrel=57  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' @@ -101,7 +101,7 @@ build() {      install -m 0755 issue $startdir/pkg/etc/issue  } -md5sums=('f6bca2af75ddb0902f0fa9ff4b6e4fd7' +md5sums=('64fad755c12f8eb12940e216e403354e'           '16b98fcb3753ef6cfc35075c326d30e4'           'e36da536dd651ef182e7642337889e77'           '985891a43f7c4c983eb2a362162f1a0f' diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py index 85220cf..9763522 100755 --- a/abs/core/LinHES-config/mv_install.py +++ b/abs/core/LinHES-config/mv_install.py @@ -555,9 +555,9 @@ def create_fstab(extralines):      fstab_list.append(line)      line = '''/dev/sr0 /media/cdrom   auto    ro,user,noauto,unhide   0      0\n'''      fstab_list.append(line) -    line = '''UUID=ROOTUID /  auto defaults,noatime,acl 0 1\n''' +    line = '''UUID=ROOTUID /  auto defaults,noatime 0 1\n'''      fstab_list.append(line) -    line = '''UUID=DATAUID %s  auto defaults,noatime,acl 0 1\n''' %(data_config.DATAMOUNT) +    line = '''UUID=DATAUID %s  auto defaults,noatime 0 1\n''' %(data_config.DATAMOUNT)      fstab_list.append(line)      line = '''UUID=SWAPUID swap swap defaults  0 0 \n'''      fstab_list.append(line) @@ -577,6 +577,34 @@ def find_uuid(partition):      logging.info("The uuid is %s", uuid)      return uuid.strip() +def acl_options(partition): +    logging.info("Finding mount options for  %s...", partition) +    acl_fs_list=["ext3","ext4"] +    options = "defaults,noatime" +    cmd = "/sbin/fsck -N /dev/%s" %partition + +    cmdoutput = runcmd(cmd)[1] +    output = cmdoutput.split("\n") +    fs_map=[] +    for i in output: +        if i.startswith("["): +            split_line=i.split() +            #find mount_p and remove the last char +            mount_p = split_line[3][:-1] +            fstype = split_line[4].split(".")[1] +            append_tuple=(mount_p,fstype) +            fs_map.append(append_tuple) + +    rc = False +    print fs_map +    for i in fs_map: +        if i[0] == "/dev/%s" %partition: +            if i[1] in acl_fs_list: +                rc=True +    logging.info("Will add acl to the list of options: %s ", rc ) +    return rc + +  def pick_out_vg():      logging.info("Searching for Volume Groups in old fstab")      vglines = [] @@ -619,9 +647,11 @@ def fstab_it(install_type):      logging.info("____UUID check for %s",  "data")      datauuid = find_uuid(hostoptions["datapartition"]) +    datacl = acl_options(hostoptions["datapartition"])      logging.info("____UUID check for %s",  "root")      rootuuid = find_uuid(hostoptions["rootpartition"]) +    rootacl = acl_options(hostoptions["rootpartition"])      fstabfile = data_config.MOUNTPOINT+"/etc/fstab"      logging.info("Correcting UUID's in %s", fstabfile) @@ -636,6 +666,9 @@ def fstab_it(install_type):                  logging.debug("     Found Root fstab line:")                  logging.debug(      templine)                  templine[0] = "UUID=%s" %(rootuuid) +                if rootacl: +                    templine[3] = templine[3]+",acl" +                  newline = ''                  for i in templine:                      newline+=i @@ -649,6 +682,8 @@ def fstab_it(install_type):                  logging.debug("     Found DATA mount")                  logging.debug(      templine)                  templine[0] = "UUID=%s" %(datauuid) +                if datacl: +                    templine[3] = templine[3]+",acl"                  newline = ''                  for i in templine:                      newline+=i diff --git a/abs/core/LinHES-system/LinHES-session b/abs/core/LinHES-system/LinHES-session index 626d346..e4833fa 100755 --- a/abs/core/LinHES-system/LinHES-session +++ b/abs/core/LinHES-system/LinHES-session @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash  . /etc/profile  . /etc/systemconfig @@ -218,6 +218,7 @@ function first_configure_mv(){      then          if [  -f ~/.configure ]          then +            msg "This is the first time starting MythTV.\nThe MythTV backend process will be stopped for setup."              #for now skip these              #autocard.py -g &              #MythVantage -b @@ -227,11 +228,14 @@ function first_configure_mv(){              STATUS=$?              if [ ! $STATUS = 2 ]              then -                    /usr/bin/backend_control.sh stop BE 127.0.0.1 -                    /usr/local/bin/mythtv-setup -                    /usr/bin/backend_control.sh start BE 127.0.0.1 +                    /usr/MythVantage/bin/backend_control.sh stop BE 127.0.0.1 +                     msg "MythTV setup is starting.\nPlease follow the steps for adding tuners and guide data." +                    /usr/bin/taskset -c 0 /usr/bin/mythtv-setup +                    /usr/MythVantage/bin/backend_control.sh start BE 127.0.0.1              fi -         rm ~/.configure +         nice -n 19 mythfilldatabase --quiet & +         msg "Guide data is being loaded. \nUntil this completes \nsome shows will appear as "unknown" \nin the program guide." +         rm -f ~/.configure          fi      fi @@ -275,7 +279,14 @@ function run_myth(){              else                  killall -9 irexec                  /usr/bin/irexec -d -                $STARTCMD 2>&1 & + +                if [ x$STARTUP_STYLE = xmythvantage ] +                then +                    $STARTCMD 2>&1 +                else +                    $STARTCMD 2>&1 & +                fi +              fi          fi  } diff --git a/abs/core/LinHES-system/LinHES.install b/abs/core/LinHES-system/LinHES.install index 0f6689e..c9950f2 100644 --- a/abs/core/LinHES-system/LinHES.install +++ b/abs/core/LinHES-system/LinHES.install @@ -12,11 +12,14 @@ MVDIR=/usr/LH/bin  #	ln -s  $MVDIR/backup_job /etc/cron.daily/backup_cron  #	ln -s  $MVDIR/update_system  /etc/cron.daily/xupdate_system_cron  #	ln -s  $MVDIR/repo_sync.sh  /etc/cron.daily/zrepo_sync.sh -	if [ ! -e /etc/cron.daily/myth_mtc.sh ] +	if [ ! -e /etc/cron.daily/myth_mtc ]  	then -		ln -s  $MVDIR/myth_mtc.sh  /etc/cron.daily/myth_mtc.sh +		ln -s  $MVDIR/myth_mtc.sh  /etc/cron.daily/myth_mtc +	fi +	if [  -e /etc/cron.daily/myth_mtc.sh ] +	then +		rm -f  /etc/cron.daily/myth_mtc.sh  	fi -  #LINE="mythtv    ALL = NOPASSWD: /sbin/sv stop mythbackend"  LINE="mythtv 	ALL=(ALL)       NOPASSWD: ALL"  LINE1="%wheel 	ALL=(ALL)       NOPASSWD: ALL" @@ -55,6 +58,9 @@ sed -i.orig 's/^Mod1 x :.*xterm.*$/Mod1 x :ExecCommand tvterm.sh/g' \    ~mythtv/.fluxbox/keys  pkill -HUP fluxbox + + +  }  # arg 1:  the new package version diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD index d0012c1..ef5b2e8 100755 --- a/abs/core/LinHES-system/PKGBUILD +++ b/abs/core/LinHES-system/PKGBUILD @@ -1,16 +1,26 @@  pkgname=LinHES-system  pkgver=2 -pkgrel=13 +pkgrel=22  arch=('i686')  MVDIR=$startdir/pkg/usr/LH  BINDIR=$startdir/pkg/usr/bin  install=LinHES.install  pkgdesc="scripts and things related to having an  automated system" -depends=(linhes-sounds xdotool fluxbox tilda keylaunch python_aosd) +depends=(linhes-sounds xdotool fluxbox tilda keylaunch python_aosd 'linhes-scripts>=7-24' 'runit-scripts>=2.1.1-43')  backup=(etc/modprobe.d/alsa-base) -binfiles="LinHES-start optimize_mythdb.py myth_mtc.py myth_mtc.sh LinHES-run firstboot.sh load-modules-mythvantage.sh unclutter-toggle.sh tvterm.sh myth_mtc.lr smolt.cron mythfrontend-start set_windowmanager.sh myth_status.py myth_status.sh xmsg.py install_supplemental_service.sh" +binfiles="LinHES-start optimize_mythdb.py + myth_mtc.py myth_mtc.sh LinHES-run + firstboot.sh load-modules-mythvantage.sh + unclutter-toggle.sh tvterm.sh smolt.cron + mythfrontend-start set_windowmanager.sh + myth_status.py myth_status.sh + xmsg.py install_supplemental_service.sh + lh_system_backup_job + lh_system_restore_job + lh_system_host_update + lh_system_all_host_update" -source=(LinHES-session LinHES-profile.sh $binfiles alsa-base) +source=(LinHES-session LinHES-profile.sh $binfiles alsa-base myth_mtc.lr)  build() {          cd $startdir/src @@ -37,23 +47,27 @@ build() {          mkdir $startdir/pkg/etc/logrotate.d          cp $startdir/myth_mtc.lr $startdir/pkg/etc/logrotate.d  } -md5sums=('989c22c2eae00501f5b46f215dbf5e59' +md5sums=('71a1fc9b01476b0b2c30596107eeff75'           '5881bdb43d578ec3a79d1f77ea58a3db'           'a875ee97f86e46f34a741c2bc455f894'           '76b2637cac0452b3acdbeeb4e8a5474b' -         '6a42d3799fad2ebffac2fbf2411511ed' +         'd1f27cb422010077c841376526fe46ea'           '2ef9f945e034119f77d9b6beb17e4fa5'           'f7ecc552a2823cae63d75f58dc7435c4'           '18a884a73344ff6eb74f63b49745e0f5'           'dc3eef2a624754e16805d72bbe488b67'           'dc0be354ce77ba2b89868fc29b942c43'           '542e670e78d117657f93141e9689f54d' -         'f1870a9522c79e6b248fcbf81dec3280'           'abe887472a170bd1a8e6da6a7b7e93e4'           '752488eb8bfb672ce0e4c924f7faf3d1' -         'dae4dfb638b11c8c79fb1424a60b762a' +         'ba351b92e69bcaf26a9bf80417b09c3c'           '361bf81a6a117d61c3bc32dda91c4cb9'           'ce72aad1fc66c575f863d4bfbf65ce16'           'd03aedeeeda0f5e9c1eb437411c88477'           '94ce8f1d5085c0db7b267db8c2e9a3ff' -         'eb879fee9603a05d5420d4ce8ed9e450') +         '3db82bd7b9234fc941e4a53b464e0d46' +         '9c2294ccfd5359583497a6b03d918a27' +         '859a80ddb4c234506379c605114c1343' +         '47e093e8cfe4b5b96602358e1f540832' +         'eb879fee9603a05d5420d4ce8ed9e450' +         'f1870a9522c79e6b248fcbf81dec3280') diff --git a/abs/core/LinHES-system/fix_myth_mount.py b/abs/core/LinHES-system/fix_myth_mount.py new file mode 100644 index 0000000..9f3cc54 --- /dev/null +++ b/abs/core/LinHES-system/fix_myth_mount.py @@ -0,0 +1,51 @@ +#!/usr/bin/python2 +import os +import sys +cmd="cp -f /etc/fstab /etc/fstab.backup.pre_acl" +os.system(cmd) +f = open('/etc/fstab', 'r') +fstab=f.readlines() +f.close() +mp='/data/mnt/d1' + +def check_fstab_mount(): +    #first check if media/d1 is in list, if not add it. +    newfstab=[] +    mnt_in_fstab=False +    for line in fstab: +        split_line=line.split() +        try: +            if split_line[1] == mp : +                print "found mountpoint if fstab" +                mnt_in_fstab = True +                break +        except:  pass +    return mnt_in_fstab + +def add_mnt_to_fstab(): +    newfstab=[] +    for line in fstab: +        newfstab.append(line) +        split_line=line.split() +        try: +            if split_line[1] == "/myth": +               split_line[1] = mp +               new_line='\t'.join(split_line)+"\n" +               newfstab.append(new_line) +        except: +            pass + +    return newfstab + + + +if check_fstab_mount() == False: +    print "I need to add it" +    newfstab=add_mnt_to_fstab() +    f = open('/tmp/fstab', 'w') +    for i in newfstab: +        f.write(i) +        #f.write("\n") +    f.close() + + diff --git a/abs/core/LinHES-system/fix_myth_mount.sh b/abs/core/LinHES-system/fix_myth_mount.sh new file mode 100644 index 0000000..2ed9783 --- /dev/null +++ b/abs/core/LinHES-system/fix_myth_mount.sh @@ -0,0 +1,22 @@ +#!/bin/sh +function checkmount { +  mounted=1 +    for i in `cat /proc/mounts | cut -d' ' -f2`; do +       if [ "x$1" = "x$i" ]; then +          mounted=0 +          break +       fi + +    done +  return $mounted +} + +checkmount $1 +rc=$? + +if [ $rc == 0 ] +then +   echo "fs is mounted" +else +   echo "fs is not mounted" +fi
\ No newline at end of file diff --git a/abs/core/LinHES-system/lh_system_all_host_update b/abs/core/LinHES-system/lh_system_all_host_update new file mode 100644 index 0000000..98fe668 --- /dev/null +++ b/abs/core/LinHES-system/lh_system_all_host_update @@ -0,0 +1,8 @@ +#!/bin/bash +results=`cat /data/srv/xymon/server/etc/hosts.cfg|grep -v ^#|awk '{print $2}' ` +for i in $results +do		 +   echo "$i" +   echo "-------------------------------------------" +   sudo /usr/bin/func $i call pacman update_system $1		 +done diff --git a/abs/core/LinHES-system/lh_system_backup_job b/abs/core/LinHES-system/lh_system_backup_job new file mode 100644 index 0000000..3abd5f9 --- /dev/null +++ b/abs/core/LinHES-system/lh_system_backup_job @@ -0,0 +1,64 @@ +#!/bin/bash +#process that uses this system backup script +# - myth_mtc.py +# - supplemental web, process.py  backup +# +echo "#########################################################" +echo "Starting  backup	" +. /etc/profile +. /etc/systemconfig +BACKUPDIR=/myth/system_backups +DATE=`date +%F_%H-%M` +mkdir -p $BACKUPDIR/$DATE + +#backup db +pacman -Q mysql 2>/dev/null +if [ $? = 0 ] +then +	mysqldump mythconverg > $BACKUPDIR/$DATE/mythconverg +	mysqldump ncid > $BACKUPDIR/$DATE/ncid +fi + +#backup etc +cp -rp /etc  $BACKUPDIR/$DATE/etc +cp -rp /var/lib/oss $BACKUPDIR/$DATE/oss + +#backup func keys +cp -rp /data/srv/func $BACKUPDIR/$DATA/func + +#make_zip file +cd $BACKUPDIR +tar -zcvf $BACKUPDIR/backup.$DATE.tgz  $DATE + +if [ -d $BACKUPDIR/$DATE ] +then +	rm -rf $BACKUPDIR/$DATE +fi + +if [ -f /data/srv/hobbit/server/ext/hbnotes.py ] +then +	/data/srv/hobbit/server/ext/hbnotes.py +	chown nobody:nobody /data/srv/httpd/htdocs/hobbit/notes/* 2> /dev/null >/dev/null + + +fi + + +#Remote copy +if [ x$RemoteBackup = x1 ] +then +    localRemoteCheck=`echo $RemoteBackupDir | cut -d: -f1` +    if [  x$localRemoteCheck =  xdir ] +    then +        localRemotedir=`echo $RemoteBackupDir | cut -d: -f2` +        cmd="cp $BACKUPDIR/backup.$DATE.tgz  $localRemotedir" +        echo "copying$BACKUPDIR/backup.$DATE.tgz to  $localRemotedir  " +    else +	/usr/bin/func  ${RemoteBackupDir} copyfile  -f  $BACKUPDIR/backup.$DATE.tgz  --remotepath $BACKUPDIR/backup.$DATE.tgz +	 +        echo "copying$BACKUPDIR/backup.$DATE.tgz to  ${RemoteBackupDir}:/data/database_backup/" +    fi +    $cmd +fi + +echo "#########################################################" diff --git a/abs/core/LinHES-system/lh_system_host_update b/abs/core/LinHES-system/lh_system_host_update new file mode 100644 index 0000000..1a4d714 --- /dev/null +++ b/abs/core/LinHES-system/lh_system_host_update @@ -0,0 +1,56 @@ +#!/bin/bash +# Process that call this script +# func  update  +# supplemental web +echo "#####################################################" +echo "Starting update" +. /etc/profile + +if  [ x$1 = x ] +then +    . /etc/systemconfig +else +Hostupdateplan=$1 +fi + + +case $Hostupdateplan in +	"Myth_only") +		echo "Updating myth packages" +		postfix=`cat $INSTALL_DIR/usr/local/share/mythtv/.releasetype` +		for mythl in mythphone mytharchive mythbrowser mythnews mythgame mythflix mythweather mythcontrols mythgallery mythmovietime mythmusic mythsmolt mythvideo mythweb mythtv +		do +			mythlist="$mythlist $mythl$postfix" +		done + +		pacman -Sy +        	list=`pacman -Qu $pkg |grep Targets` +        	for pkg in LinHES-config LinHES-system mythinstall $mythlist +        	do +	            echo $list|grep -q  $pkg +            		if  [ $? = 0 ] +            		then +                		echo "Updating  $pkg" +                		pacman --noconfirm -S $pkg +            		else +                		echo  "$pkg is up to date" +                	fi +	        done +	;; +	"All") +		echo ""  +		echo "Updating ALL packages" +		pacman -Sy +		pacman --noconfirm -Sfu +	;; +	"None") +		echo "" +		echo "Updating NO packages" +		;; +    *)  echo "" +        echo "Unknown  $Hostupdateplan, skipping updates" +        ;; +esac + + +echo "##################################################################################" diff --git a/abs/core/LinHES-system/lh_system_restore_job b/abs/core/LinHES-system/lh_system_restore_job new file mode 100644 index 0000000..9c66e2a --- /dev/null +++ b/abs/core/LinHES-system/lh_system_restore_job @@ -0,0 +1,76 @@ +#!/bin/bash +#  This script is used to perform a quick restore of a database that was backed up via the nightly system backup +#  The restore only does the database it does NOT restore system files (even if they are in the backup file) +# +BACKUPDIR=/myth/system_backups +backupfile=$1 + +function usage(){ +    echo "------------------------------------------------------" +    echo "This program will restore the database from a system backup." + +    echo "Files are expected to be in the $BACKUPDIR" +    echo "usage:" +    echo "" +    echo "lh_system_restore_job \$filename  [yes]" +    echo "" +    echo "example: lh_system_restore_job backup.2011-12-22_15-34.tgz " +    echo "" +    echo "" + +    echo "If the script is passed a second argument, it will not cleanup the the restore dir." +    echo "------------------------------------------------------" + +    exit 1 +    } + + + +if [ x$backupfile = x ] +then +    usage +fi + +. /etc/profile + +RESTOREDIR=$BACKUPDIR/restore +DIR=`echo $backupfile |cut -d. -f2` +CSQL="create database mythconverg;" +DSQL="drop database mythconverg; " +MYSQL="mysql  -u mythtv -pmythtv" + + + +mkdir -p $RESTOREDIR +cp $BACKUPDIR/$backupfile $RESTOREDIR +cd $RESTOREDIR && tar -xf  $backupfile && cd $DIR + +if [ -f mythconverg ] +then +    #drop the db +    $MYSQL -e "$DSQL" +    #create the db +    $MYSQL  -e "$CSQL" +    #restore the database_backup +    echo "Restoring the database  $DIR" +    $MYSQL  mythconverg < mythconverg +    if [ $? = 0 ] +    then +        echo "Done" +    else +        echo "An error occured" +    fi + else +    echo "Couldn't file a file to restore" +fi + + +#cleanup +if [ x$2 = x ] +then +    echo "Cleaning up the restore dir" +    rm -rf $RESTOREDIR/$DIR +    rm -f $RESTOREDIR/$backupfile +else +    echo "Not doing a cleanup of $RESTOREDIR" +fi diff --git a/abs/core/LinHES-system/myth_mtc.py b/abs/core/LinHES-system/myth_mtc.py index 1ed6c88..6fd53a7 100755 --- a/abs/core/LinHES-system/myth_mtc.py +++ b/abs/core/LinHES-system/myth_mtc.py @@ -10,18 +10,22 @@ import datetime,time -#try: -from MythTV import MythBE -mythtv = MythBE() -#except: -#    mythtv = None +try: +    from MythTV import MythBE +    mythtv = MythBE() +except: +    mythtv = None  #print mythtv.db.getSetting( 'Theme', socket.gethostname())  def optimize(): -    cursor = mythtv.db.cursor() -    cursor.execute("SHOW tables") -    result = cursor.fetchall() +    try: +        cursor = mythtv.db.cursor() +        cursor.execute("SHOW tables") +        result = cursor.fetchall() +    except: +        print "Problem getting tables from database" +	return      ops=["REPAIR","OPTIMIZE","ANALYZE"]      for row in result:          ctable=row[0] @@ -32,7 +36,10 @@ def optimize():  def upcoming_check(): -    upcoming = mythtv.getUpcomingRecordings() +    try: +        upcoming = mythtv.getUpcomingRecordings() +    except: +        return True      try:          show=str(upcoming[0])          show=show.strip() @@ -52,10 +59,14 @@ def upcoming_check():  def schemalock_check(): -    c = mythtv.db.cursor() -    c.execute("select count(*) from schemalock") -    results=c.fetchone() -    schemalock=results[0] +    try: +        c = mythtv.db.cursor() +        c.execute("select count(*) from schemalock") +        results=c.fetchone() +        schemalock=results[0] +    except: +        return True +      if schemalock == 0:          return True      else: @@ -63,9 +74,12 @@ def schemalock_check():          return False  def job_check(): -    c = mythtv.db.cursor() -    c.execute("select count(*) from jobqueue where status = 4") -    results=c.fetchone() +    try: +        c = mythtv.db.cursor() +        c.execute("select count(*) from jobqueue where status = 4") +        results=c.fetchone() +    except: +        return True      jobs= results[0]      if jobs == 0 :          return True @@ -75,9 +89,12 @@ def job_check():  def in_use(): -    c = mythtv.db.cursor() -    c.execute("select count(*) from inuseprograms") -    results=c.fetchone() +    try: +        c = mythtv.db.cursor() +        c.execute("select count(*) from inuseprograms") +        results=c.fetchone() +    except: +        return True      prginuse=results[0]      if prginuse == 0 :          return True @@ -119,10 +136,10 @@ def run_stuff():          optimize()  	print "Running backup" -        os.system('/usr/LH/bin/backup_job') +        os.system('/usr/LH/bin/lh_system_backup_job')  	print "Running system_update" -        os.system('/usr/LH/bin/update_system') +	os.system('/usr/LH/bin/lh_system_host_update')          continue_loop=False      else:          continue_loop=True diff --git a/abs/core/LinHES-system/set_windowmanager.sh b/abs/core/LinHES-system/set_windowmanager.sh index 5c1150d..3d0cdb2 100644 --- a/abs/core/LinHES-system/set_windowmanager.sh +++ b/abs/core/LinHES-system/set_windowmanager.sh @@ -20,7 +20,7 @@ if [ x$windowmanager = x ]  then      echo      echo "Usage: " -    echo "    set_windowmanger.sh  WINDOWMANAGER STARTUP_STYLE" +    echo "    set_windowmanager.sh  WINDOWMANAGER STARTUP_STYLE"      echo      echo "Valid WINDOWMANAGER options are:"      echo "      default" @@ -36,9 +36,11 @@ then      echo "If STARTUP_STYLE is not given, then the default will be used."      echo      echo "Example:    " -    echo "    set_windowmanger.sh  enlightenment mythvantage" +    echo "    set_windowmanager.sh  enlightenment mythvantage"      echo - +    echo " " +    echo "if using enlightenment or windowmaker, please ensure that the alt_wm group is installed" +    echo "pacman -Sy alt_wm"      exit 0  fi diff --git a/abs/core/certmaster/PKGBUILD b/abs/core/certmaster/PKGBUILD index 3ce72f7..e3b9df1 100644 --- a/abs/core/certmaster/PKGBUILD +++ b/abs/core/certmaster/PKGBUILD @@ -1,10 +1,10 @@  pkgname=certmaster  pkgver=0.28 -pkgrel=1 +pkgrel=3  pkgdesc="certmaster"  url="https://fedorahosted.org/certmaster/ "  license="gpl" -depends=(pyopenssl) +depends=('pyopenssl' 'linhes-scripts>=7-24' )  makedepends=()  conflicts=()  replaces=() @@ -12,7 +12,7 @@ moddir="pkg/usr/lib/python2.6/site-packages/func/minion/modules/"  backup=('etc/certmaster/certmaster.conf' 'etc/certmaster/minion.conf')  install=certmaster.install -source=($pkgname-$pkgver.tar.gz certmaster.conf minion.conf acl_fix_fstab.py logrotate-certmaster.conf) +source=($pkgname-$pkgver.tar.gz certmaster.conf minion.conf logrotate-certmaster.conf)  arch=('i686')  build() { @@ -23,7 +23,6 @@ build() {  	install -m755 -D minion.conf $startdir/pkg/etc/certmaster/minion.conf  	install -m755 -D certmaster.conf $startdir/pkg/etc/certmaster/certmaster.conf  	install -m755 -D logrotate-certmaster.conf $startdir/pkg/etc/logrotate.d/certmaster.conf -	install -m755 -D acl_fix_fstab.py $startdir/pkg/usr/MythVantage/bin/acl_fix_fstab.py  	mkdir -p  $startdir/pkg/var/log/certmaster          cd $startdir/pkg          find ./ -name "*.pyc" -print | xargs rm -f @@ -31,5 +30,4 @@ build() {  md5sums=('f5acc9ff1efa34971296e26d794c5b35'           '953ff601e5381b457383e7a3c4928192'           'be7bd532ae103ab3c0048980314b4fd9' -         '214e34c095f6f29277197a2a6666f8b2'           '6bc28ccd331a6c4c05e0a9c9755a848f') diff --git a/abs/core/certmaster/certmaster.install b/abs/core/certmaster/certmaster.install index e0dac8c..b30f7ee 100644 --- a/abs/core/certmaster/certmaster.install +++ b/abs/core/certmaster/certmaster.install @@ -13,7 +13,7 @@ post_install() {  	then  		mkdir -p /var/log/certmaster  	fi -	/usr/MythVantage/bin/acl_fix_fstab.py +	/usr/LH/bin/acl_fix_fstab.py  	mount -o remount /  	if [ ! -e /etc/pki/certmaster/ca ]  	then diff --git a/abs/core/dcron/PKGBUILD b/abs/core/dcron/PKGBUILD index 0003bf7..26c1a7a 100644 --- a/abs/core/dcron/PKGBUILD +++ b/abs/core/dcron/PKGBUILD @@ -1,50 +1,44 @@  # Maintainer: Paul Mattal <paul.archlinux.org>  pkgname=dcron -pkgver=4.4 -pkgrel=3 +pkgver=4.5 +pkgrel=2  pkgdesc="dillon's lightweight cron daemon" -arch=(i686 x86_64) +arch=('i686' 'x86_64')  license=('GPL')  url="http://www.jimpryor.net/linux/dcron" -backup=(var/spool/cron/root etc/conf.d/crond) -depends=('glibc') +backup=('var/spool/cron/root' 'etc/conf.d/crond') +depends=('bash')  provides=('cron') -groups=('base') -source=("http://www.jimpryor.net/linux/releases/${pkgname}-${pkgver}.tar.gz" -	'dcron-logname.patch' -	'dcron.rc.d' -	'dcron.conf.d') -md5sums=('02d848ba043a9df5bf2102a9f4bc04bd' -	 'c6054421b48100f7a2a7a36e2d33c92a' -	 '73693cdd59df526e729cdec99c5ed8fb' -	 '5bfa07beb54d0beaf3f38225e4d5a9fa') +conflicts=('cron') +source=("http://www.jimpryor.net/linux/releases/${pkgname}-${pkgver}.tar.gz") +md5sums=('078833f3281f96944fc30392b1888326')  optdepends=('smtp-server: sending cron job output via email')  install=$pkgname.install  build() { -	cd "$srcdir/${pkgname}-${pkgver}" || return 1 +        cd "$srcdir/${pkgname}-${pkgver}" -	# patch to add LOGNAME environment variable -	patch -p1 -i $srcdir/dcron-logname.patch || return 1 +        # by default, any member of group "users" can edit their own crontab +        make \ +                PREFIX=/usr \ +                CRONTAB_GROUP=users \ +                CRONTABS=/var/spool/cron \ +                CRONSTAMPS=/var/spool/cronstamps +} -	# by default, any member of group "users" can edit their own crontab -	make \ -		PREFIX=/usr \ -		CRONTAB_GROUP=users \ -		CRONTABS=/var/spool/cron \ -		CRONSTAMPS=/var/spool/cronstamps \ -		|| return 1 -	make DESTDIR="$pkgdir" install || return 1 +package() { +        cd "$srcdir/${pkgname}-${pkgver}" +        make DESTDIR="$pkgdir" install -	# install standard configuration and scripts -	install -d -m755 "$pkgdir/etc/cron."{hourly,daily,weekly,monthly} \ -		|| return 1 -	install -D -m755 extra/run-cron "$pkgdir/usr/sbin/run-cron" || return 1 -	install -D -m0600 extra/root.crontab "$pkgdir/var/spool/cron/root" \ -		|| return 1 +        # install standard configuration and scripts +        install -d -m755 "$pkgdir/etc/cron."{hourly,daily,weekly,monthly}  -	# install Arch configuration and launch scripts -	install -D -m755 "$srcdir/dcron.rc.d" "$pkgdir/etc/rc.d/crond" || return 1 -	install -D -m0644 "$srcdir/dcron.conf.d" "$pkgdir/etc/conf.d/crond" || return 1 +        install -D -m755 extra/run-cron "$pkgdir/usr/sbin/run-cron" +        install -D -m0600 extra/root.crontab "$pkgdir/var/spool/cron/root"  +        install -D -m755 extra/crond.rc "$pkgdir/etc/rc.d/crond" +        install -D -m0644 extra/crond.conf "$pkgdir/etc/conf.d/crond" +        install -D -m644 extra/crontab.vim "$pkgdir/usr/share/vim/vimfiles/ftplugin/crontab.vim" +        sed -i -e 's=/var/spool/cron/cronstamps=/var/spool/cronstamps=' extra/prune-cronstamps +        install -D -m755 extra/prune-cronstamps "$pkgdir/etc/cron.d/prune-cronstamps"  } diff --git a/abs/core/dcron/__changelog b/abs/core/dcron/__changelog index e6464b6..8e4bced 100644 --- a/abs/core/dcron/__changelog +++ b/abs/core/dcron/__changelog @@ -1,4 +1,4 @@ -Added an every ten minutes dir + job +Added an every ten minutes dir + job by .install file   grep -q cron.tenminutes /var/spool/cron/root    if [ $? = 1 ] diff --git a/abs/core/dcron/crond b/abs/core/dcron/crond deleted file mode 100755 index ef80db3..0000000 --- a/abs/core/dcron/crond +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/crond` -case "$1" in -  start) -    stat_busy "Starting Cron Daemon" -    [ -z "$PID" ] && /usr/sbin/crond >>/var/log/crond 2>&1 -    if [ $? -gt 0 ]; then -      stat_fail -    else -      PID=`pidof -o %PPID /usr/sbin/crond` -      echo $PID >/var/run/crond.pid -      add_daemon crond -      stat_done -    fi -    ;; -  stop) -    stat_busy "Stopping Cron Daemon" -    [ ! -z "$PID" ]  && kill $PID &>/dev/null -    if [ $? -gt 0 ]; then -      stat_fail -    else -      rm_daemon crond -      stat_done -    fi -    ;; -  restart) -    $0 stop -    $0 start -    ;; -  *) -    echo "usage: $0 {start|stop|restart}"   -esac -exit 0 diff --git a/abs/core/dcron/dcron-3.1.patch b/abs/core/dcron/dcron-3.1.patch deleted file mode 100644 index 975d51c..0000000 --- a/abs/core/dcron/dcron-3.1.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Naur dcron-orig/defs.h dcron/defs.h ---- dcron-orig/defs.h	2006-04-29 10:20:58.000000000 -0700 -+++ dcron/defs.h	2006-05-04 18:40:05.000000000 -0700 -@@ -28,7 +28,7 @@ - #define arysize(ary)	(sizeof(ary)/sizeof((ary)[0])) -  - #ifndef CRONTABS --#define CRONTABS	"/var/spool/cron/crontabs" -+#define CRONTABS	"/var/spool/cron" - #endif - #ifndef SCRONTABS - #define SCRONTABS	"/etc/cron.d" -@@ -44,7 +44,7 @@ - #if defined(__DragonFly__) - #define SENDMAIL	"/usr/sbin/sendmail" - #else --#define SENDMAIL	"/usr/lib/sendmail" -+#define SENDMAIL	"/usr/sbin/sendmail" - #endif - #endif -  -diff -Naur dcron-orig/subs.c dcron/subs.c ---- dcron-orig/subs.c	2006-04-27 10:29:56.000000000 -0700 -+++ dcron/subs.c	2006-05-04 18:40:19.000000000 -0700 -@@ -79,7 +79,7 @@ -  -     buf[0] = 0; -     if (useDate) --	strftime(buf, 128, "%d-%b-%y %H:%M  ", tp); -+	strftime(buf, 128, "%d-%b-%Y %H:%M  ", tp); -     vsnprintf(buf + strlen(buf), nmax, ctl, va); -     return(strlen(buf)); - } diff --git a/abs/core/dcron/dcron-logname.patch b/abs/core/dcron/dcron-logname.patch deleted file mode 100644 index c37c5f4..0000000 --- a/abs/core/dcron/dcron-logname.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -aur dcron-4.4/chuser.c dcron-4.4.logname/chuser.c ---- dcron-4.4/chuser.c	2010-02-15 11:18:13.111967483 +0100 -+++ dcron-4.4.logname/chuser.c	2010-02-15 11:18:29.615531204 +0100 -@@ -25,6 +25,7 @@ - 		return(-1); - 	} - 	setenv("USER", pas->pw_name, 1); -+	setenv("LOGNAME", pas->pw_name, 1); - 	setenv("HOME", pas->pw_dir, 1); - 	setenv("SHELL", "/bin/sh", 1); -  -diff -aur dcron-4.4/crontab.1 dcron-4.4.logname/crontab.1 ---- dcron-4.4/crontab.1	2010-02-15 11:18:13.111967483 +0100 -+++ dcron-4.4.logname/crontab.1	2010-02-15 11:19:48.295707950 +0100 -@@ -57,8 +57,8 @@ - .PP - Nor does it do any special environment handling. - A shell script is better-suited to doing that than a cron daemon. --This cron daemon sets up only three environment variables: USER, --HOME, and SHELL. -+This cron daemon sets up only four environment variables: USER, -+LOGNAME, HOME, and SHELL. - .PP - Our crontab format is roughly similar to that used by vixiecron. - Individual fields may contain a time, a time range, a time range diff --git a/abs/core/dcron/dcron.conf.d b/abs/core/dcron/dcron.conf.d deleted file mode 100644 index 763c712..0000000 --- a/abs/core/dcron/dcron.conf.d +++ /dev/null @@ -1,4 +0,0 @@ -# -# Parameters to be passed to crond -# -CROND_ARGS="-S -l info" diff --git a/abs/core/dcron/dcron.install b/abs/core/dcron/dcron.install index b3e90da..fb01dc9 100644 --- a/abs/core/dcron/dcron.install +++ b/abs/core/dcron/dcron.install @@ -10,7 +10,10 @@ post_upgrade() {    then  	  echo "0,10,20,30,40,50 * * * *	/usr/sbin/run-cron /etc/cron.tenminutes" >> /var/spool/cron/root    fi - +  if [ ! -e /etc/cron.tenminutes ] +  then +	  mkdir -p /etc/cron.tenminutes +  fi  } diff --git a/abs/core/dcron/dcron.rc.d b/abs/core/dcron/dcron.rc.d deleted file mode 100644 index b1a5770..0000000 --- a/abs/core/dcron/dcron.rc.d +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/crond - -PID=$(pidof -o %PPID /usr/sbin/crond) -case $1 in -start) -	stat_busy "Starting Cron Daemon" - -	# defaults to using syslog, and sendmail-ing cron output to local user -	# to mail output to remote address instead, add "-m user@host" -	# to CROND_ARGS in /etc/conf.d/crond -	if [[ -z $PID ]] && /usr/sbin/crond $CROND_ARGS; then - -		PID=$(pidof -o %PPID /usr/sbin/crond) -		echo "$PID" > /var/run/crond.pid -		add_daemon crond -		stat_done -	else -		stat_fail -		exit 1 -	fi -	;; - -stop) -	stat_busy "Stopping Cron Daemon" -	if [[ ! -z $PID ]]  && kill "$PID" &>/dev/null; then -		rm_daemon crond -		stat_done -	else -		stat_fail -		exit 1 -	fi -	;; - -restart) -	$0 stop -	$0 start -	;; - -*) -	echo "Usage: $0 {start|stop|restart}" >&2 -	exit 1 - -esac diff --git a/abs/core/dcron/root.crontab b/abs/core/dcron/root.crontab deleted file mode 100644 index 726558f..0000000 --- a/abs/core/dcron/root.crontab +++ /dev/null @@ -1,12 +0,0 @@ -# -# DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD. -# - -# <minute> <hour> <day> <month> <dow> <command> - - -01 * * * *  /usr/sbin/run-cron /etc/cron.hourly -02 00 * * * /usr/sbin/run-cron /etc/cron.daily -22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly -42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly - diff --git a/abs/core/dcron/run-cron b/abs/core/dcron/run-cron deleted file mode 100755 index 51007a1..0000000 --- a/abs/core/dcron/run-cron +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - - -if [ -z $1 ]; then -   echo "Usage: $0 crondir" -   exit 1 -fi - -for cron in $1/* ; do -  if [ -x $cron ]; then -     $cron -  fi -done -unset cron diff --git a/abs/core/e16_theme_settings/PKGBUILD b/abs/core/e16_theme_settings/PKGBUILD index 9091efa..278c08a 100644 --- a/abs/core/e16_theme_settings/PKGBUILD +++ b/abs/core/e16_theme_settings/PKGBUILD @@ -1,13 +1,14 @@  pkgname=e16_theme_settings  pkgver=1.0 -pkgrel=7 +pkgrel=9  pkgdesc="Default settings for e16" -depends=(enlightenment) +depends=(enlightenment 'linhes-scripts>=7-24')  source=()  arch=('i686')  groups=(alt_wm)  install=e16.install  configdir=/data/ +backup=('data/e16_config_dir/e_config--0.0.cfg')  build() {  	echo $startdir  	mkdir -p $pkgdir/$configdir diff --git a/abs/core/func/PKGBUILD b/abs/core/func/PKGBUILD index 79bdf04..7366933 100644 --- a/abs/core/func/PKGBUILD +++ b/abs/core/func/PKGBUILD @@ -1,6 +1,6 @@  pkgname=func  pkgver=0.25 -pkgrel=5 +pkgrel=7  pkgdesc="fedora unifed network controller"  url=""  license="gpl" @@ -37,8 +37,8 @@ build() {  md5sums=('892252004f122c61bb58bb4607553ffe'           '1e2905074203d5c0557f143a6c50c497'           '1393088fa64823606e0b1c02296041f4' -         '65a602524cb85773740840eaa513ce15' +         '21f79d7395edc64b72db5576f9a7f384'           '5c62fad46fb95a14bc7093b506098e07'           'b02a733b7a74569e57521bc3708724a5'           '572bb6737cb03dee7e9d11ed40481bd2' -         '4f189262b2a686c5ac9485c6e5134045') +         '28e141f04ccbdde1199b41888e102dc9') diff --git a/abs/core/func/msg.cfg b/abs/core/func/msg.cfg index b6de8b5..fed17a7 100644 --- a/abs/core/func/msg.cfg +++ b/abs/core/func/msg.cfg @@ -1,6 +1,11 @@  [default]  font_color=green  display_time=5000 -position=5 +position=1  font_type=Times New Roman Italic 48 +[middle] +font_color=green +display_time=5000 +position=4 +font_type=Times New Roman Italic 48 diff --git a/abs/core/func/pacman.py b/abs/core/func/pacman.py index c8f2e13..ee9f9ea 100644 --- a/abs/core/func/pacman.py +++ b/abs/core/func/pacman.py @@ -17,7 +17,7 @@ class pacman(func_module.FuncModule):      def update_system(self,flags):          flags.replace(";","") # prevent stupidity -        cmd = sub_process.Popen("/usr/bin/update_system %s" % flags,stdout=sub_process.PIPE,shell=True) +        cmd = sub_process.Popen("/usr/LH/bin/lh_system_host_update %s" % flags,stdout=sub_process.PIPE,shell=True)          data = cmd.communicate()[0]          results = []          for x in data.split("\n"): diff --git a/abs/core/linhes-scripts/PKGBUILD b/abs/core/linhes-scripts/PKGBUILD index 0ac8275..4c3dd05 100644 --- a/abs/core/linhes-scripts/PKGBUILD +++ b/abs/core/linhes-scripts/PKGBUILD @@ -3,7 +3,7 @@  pkgname=linhes-scripts  pkgver=7 -pkgrel=21 +pkgrel=24  pkgdesc="Various scripts that help to make LinHES, LinHES."  arch=('i686' 'x86_64')  license=('GPL2') @@ -47,6 +47,8 @@ dtheme.sh  xwin_find.sh  upgrade_screen_rc  upgrade_linhes_script.sh +find_orphans.py +acl_fix_fstab.py   )  build() { @@ -97,4 +99,6 @@ md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'           '35693f50939d5827aeabfce8c5dce589'           'a94fe6d980f4b810f2e2ae5352084b39'           '974c137d3fcb85942ba8945a1bc815fe' -         'aad75575c9af70aa8bf3a06718985664') +         'aad75575c9af70aa8bf3a06718985664' +         'd8838461af9d446a1fd7e7883fdc75d1' +         'cc9cdabcdfc969c2829b58c0e513488c') diff --git a/abs/core/certmaster/acl_fix_fstab.py b/abs/core/linhes-scripts/acl_fix_fstab.py index 8e49a15..187cab1 100644 --- a/abs/core/certmaster/acl_fix_fstab.py +++ b/abs/core/linhes-scripts/acl_fix_fstab.py @@ -1,12 +1,37 @@  #!/usr/bin/python2  import os  import sys +import subprocess as sub + +def should_add_acl(mount_point,fs_map): +    acl_fs_list=["ext3","ext4"] +    rc = False +    for i in fs_map: +        if i[0] == mount_point: +            if i[1] in acl_fs_list: +                rc = True + +    return rc + +  cmd="cp -f /etc/fstab /etc/fstab.backup.pre_acl"  os.system(cmd)  f = open('/etc/fstab', 'r')  fstab=f.readlines()  f.close() +p = sub.Popen(['/sbin/fsck','-N' ],stdout=sub.PIPE,stderr=sub.PIPE) +output, errors = p.communicate() +output = output.split("\n") +fs_map=[] +for i in output: +    if i.startswith("["): +	split_line=i.split() +	#find mount_p and remove the last char +	mount_p = split_line[3][:-1] +	fstype = split_line[4].split(".")[1] +	append_tuple=(mount_p,fstype) +	fs_map.append(append_tuple) @@ -16,7 +41,7 @@ for line in fstab:      new_line=line      split_line=line.split()      try: -        if split_line[1] in mp: +        if split_line[1] in mp and should_add_acl(split_line[1],fs_map):              #print split_line[3]              if "acl" in split_line[3]:                  pass diff --git a/abs/core/linhes-scripts/find_orphans.py b/abs/core/linhes-scripts/find_orphans.py new file mode 100644 index 0000000..ec2cae1 --- /dev/null +++ b/abs/core/linhes-scripts/find_orphans.py @@ -0,0 +1,238 @@ +#!/usr/bin/env python + +from MythTV import MythDB, MythBE, Recorded, MythError +from socket import timeout + +import os +import sys + +def human_size(s): +    s = float(s) +    o = 0 +    while s > 1000: +        s /= 1000 +        o += 1 +    return str(round(s,1))+('B ','KB','MB','GB')[o] + +class File( str ): +    def __new__(self, host, group, path, name, size): +        return str.__new__(self, name) +    def __init__(self, host, group, path, name, size): +        self.host = host +        self.group = group +        self.path = path +        self.size = int(size) +    def pprint(self): +        name = u'%s: %s' % (self.host, os.path.join(self.path, self)) +        print u'  {0:<90}{1:>8}'.format(name, human_size(self.size)) +    def delete(self): +        be = MythBE(self.host, db=DB) +        be.deleteFile(self, self.group) + +class MyRecorded( Recorded ): +    _table = 'recorded' +    def pprint(self): +        name = u'{0.hostname}: {0.title}'.format(self) +        if self.subtitle: +            name += u' - '+self.subtitle +        print u'  {0:<70}{1:>28}'.format(name,self.basename) + +def printrecs(title, recs): +    print title +    for rec in sorted(recs, key=lambda x: x.title): +        rec.pprint() +    print u'{0:>88}{1:>12}'.format('Count:',len(recs)) + +def printfiles(title, files): +    print title +    for f in sorted(files, key=lambda x: x.path): +        f.pprint() +    size = sum([f.size for f in files]) +    print u'{0:>88}{1:>12}'.format('Total:',human_size(size)) + +def populate(host=None): +    unfiltered = [] +    kwargs = {'livetv':True} +    if host: +        with DB as c: +            c.execute("""SELECT count(1) FROM settings +                         WHERE hostname=%s AND value=%s""", +                        (host, 'BackendServerIP')) +            if c.fetchone()[0] == 0: +                raise Exception('Invalid hostname specified on command line.') +        hosts = [host] +        kwargs['hostname'] = host +    else: +        with DB as c: +            c.execute("""SELECT hostname FROM settings +                         WHERE value='BackendServerIP'""") +            hosts = [r[0] for r in c.fetchall()] +    for host in hosts: +        for sg in DB.getStorageGroup(): +            if sg.groupname in ('Videos','Banners','Coverart',\ +                                'Fanart','Screenshots','Trailers'): +                continue +            try: +                dirs,files,sizes = BE.getSGList(host, sg.groupname, sg.dirname) +                for f,s in zip(files,sizes): +                    newfile = File(host, sg.groupname, sg.dirname, f, s) +                    if newfile not in unfiltered: +                        unfiltered.append(newfile) +            except: +                pass + +    recs = list(DB.searchRecorded(**kwargs)) + +    zerorecs = [] +    orphvids = [] +    for rec in list(recs): +        if rec.basename in unfiltered: +            recs.remove(rec) +            i = unfiltered.index(rec.basename) +            f = unfiltered.pop(i) +            if f.size < 1024: +                zerorecs.append(rec) +            name = rec.basename.rsplit('.',1)[0] +            for f in list(unfiltered): +                if name in f: +                    unfiltered.remove(f) +    for f in list(unfiltered): +        if not (f.endswith('.mpg') or f.endswith('.nuv')): +            continue +        orphvids.append(f) +        unfiltered.remove(f) + +    orphimgs = [] +    for f in list(unfiltered): +        if not f.endswith('.png'): +            continue +        orphimgs.append(f) +        unfiltered.remove(f) + +    dbbackup = [] +    for f in list(unfiltered): +        if 'sql' not in f: +            continue +        dbbackup.append(f) +        unfiltered.remove(f) + +    return (recs, zerorecs, orphvids, orphimgs, dbbackup, unfiltered) + +def delete_recs(recs): +    printrecs('The following recordings will be deleted', recs) +    print 'Are you sure you want to continue?' +    try: +        res = raw_input('> ') +        while True: +            if res == 'yes': +                for rec in recs: +                    rec.delete(True, True) +                break +            elif res == 'no': +                break +            else: +                res = raw_input("'yes' or 'no' > ") +    except MythError: +        name = u'{0.hostname}: {0.title}'.format(rec) +        if rec.subtitle: +            name += ' - '+rec.subtitle +        print "Warning: Failed to delete '" + name + "'" +    except KeyboardInterrupt: +        pass +    except EOFError: +        sys.exit(0) + +def delete_files(files): +    printfiles('The following files will be deleted', files) +    print 'Are you sure you want to continue?' +    try: +        res = raw_input('> ') +        while True: +            if res == 'yes': +                for f in files: +                    f.delete() +                break +            elif res == 'no': +                break +            else: +                res = raw_input("'yes' or 'no' > ") +    except KeyboardInterrupt: +        pass +    except EOFError: +        sys.exit(0) + +def main(host=None): +   while True: +        recs, zerorecs, orphvids, orphimgs, dbbackup, unfiltered = populate(host) + +        if len(recs): +            printrecs("Recordings with missing files", recs) +        if len(zerorecs): +            printrecs("Zero byte recordings", zerorecs) +        if len(orphvids): +            printfiles("Orphaned video files", orphvids) +        if len(orphimgs): +            printfiles("Orphaned snapshots", orphimgs) +        if len(dbbackup): +            printfiles("Database backups", dbbackup) +        if len(unfiltered): +            printfiles("Other files", unfiltered) +        if not printOnly: +            opts = [] +            if len(recs): +                opts.append(['Delete orphaned recording entries', delete_recs, recs]) +            if len(zerorecs): +                opts.append(['Delete zero byte recordings', delete_recs, zerorecs]) +            if len(orphvids): +                opts.append(['Delete orphaned video files', delete_files, orphvids]) +            if len(orphimgs): +                opts.append(['Delete orphaned snapshots', delete_files, orphimgs]) +            if len(unfiltered): +                opts.append(['Delete other files', delete_files, unfiltered]) +            opts.append(['Refresh list', None, None]) +            print 'Please select from the following' +            for i, opt in enumerate(opts): +                print ' {0}. {1}'.format(i+1, opt[0]) + +            try: +                inner = True +                res = raw_input('> ') +                while inner: +                    try: +                        res = int(res) +                    except: +                        res = raw_input('input number. ctrl-c to exit > ') +                        continue +                    if (res <= 0) or (res > len(opts)): +                        res = raw_input('input number within range > ') +                        continue +                    break +                opt = opts[res-1] +                if opt[1] is None: +                    continue +                else: +                    opt[1](opt[2]) + +            except KeyboardInterrupt: +                break +            except EOFError: +                sys.exit(0) +        else: +            sys.exit(0) +DB = MythDB() +BE = MythBE(db=DB) +DB.searchRecorded.handler = MyRecorded +DB.searchRecorded.dbclass = MyRecorded + +if __name__ == '__main__': +    global printOnly +    if "--printonly" in sys.argv : +        printOnly=True +    else: +        printOnly=False + + +    if len(sys.argv) == 2 and sys.argv[1] != "--printonly": +        main(sys.argv[1]) +    else: +        main() diff --git a/abs/core/linhes-scripts/linhes-scripts.install b/abs/core/linhes-scripts/linhes-scripts.install index f554bd0..d4c9e59 100644 --- a/abs/core/linhes-scripts/linhes-scripts.install +++ b/abs/core/linhes-scripts/linhes-scripts.install @@ -2,6 +2,13 @@  post_upgrade() {      . /etc/profile      /usr/LH/bin/remove_php_mythvideo.sh +    if [ "`vercmp $2 7-24`" -lt 0 ] +    then +        echo "Applying ACL fix and remounting /" +        /usr/LH/bin/acl_fix_fstab.py +        mount -o remount / +    fi +  }  # vim:set ts=2 sw=2 et: diff --git a/abs/core/lirc/PKGBUILD b/abs/core/lirc/PKGBUILD index 5254945..0ce8b69 100644 --- a/abs/core/lirc/PKGBUILD +++ b/abs/core/lirc/PKGBUILD @@ -4,13 +4,13 @@  pkgbase=lirc  pkgname=('lirc' 'lirc-utils')  pkgver=0.9.0 -pkgrel=8 +pkgrel=10  #epoch=1  _kernver=2.6.39-LinHES  arch=('i686' 'x86_64')  url="http://www.lirc.org/"  license=('GPL') -makedepends=('help2man' 'kernel26-headers>=2.6.39' 'kernel26-headers<2.6.40' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python') +makedepends=('help2man' 'kernel26-headers>=2.6.39' 'kernel26-headers<2.6.40' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python' )  options=('!makeflags' '!strip')  source=(http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2          lirc_wpc8769l.patch @@ -50,7 +50,7 @@ build() {  package_lirc() {    pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel" -  depends=('lirc-utils' 'kernel26>=2.6.39' 'kernel26<2.6.40') +  depends=('lirc-utils' 'kernel26>=2.6.39' 'kernel26<2.6.40' 'iguanair')    replaces=('lirc+pctv')    install=lirc.install diff --git a/abs/core/lirc/__changelog b/abs/core/lirc/__changelog new file mode 100644 index 0000000..adf3fd6 --- /dev/null +++ b/abs/core/lirc/__changelog @@ -0,0 +1 @@ +Add iguanair to the list of depends diff --git a/abs/core/lirc/lirc.install b/abs/core/lirc/lirc.install index 1f8fd7c..ba2c957 100644 --- a/abs/core/lirc/lirc.install +++ b/abs/core/lirc/lirc.install @@ -16,7 +16,7 @@ post_upgrade() {           "SELECT data FROM settings WHERE value = 'LircSocket' AND hostname = '${hostname}';"`      if [ "${SOCKET}" != "/var/run/lirc/lircd" ]; then        mysql -u mythtv -pmythtv -B --skip-column-names -h "${dbhost}" -D mythconverg -e \ -      "UPDATE settings SET data = '/var/run/lirc/lircd' WHERE hostname = '${hostname}';" +      "UPDATE settings SET data = '/var/run/lirc/lircd' WHERE value = 'LircSocket' AND hostname = '${hostname}';"      else        echo ">>>"        echo ">>> ATTENTION! ATTENTION! ATTENTION!" diff --git a/abs/core/media_dirs/PKGBUILD b/abs/core/media_dirs/PKGBUILD index 38544b3..0ec8619 100644 --- a/abs/core/media_dirs/PKGBUILD +++ b/abs/core/media_dirs/PKGBUILD @@ -1,6 +1,6 @@  pkgname=media_dirs  pkgver=1 -pkgrel=14 +pkgrel=16  pkgdesc="creates the dir layout for mythtv to use"  url=""  license="" @@ -52,9 +52,6 @@ motion  tmp  archive  stream -phone/Voicemail -phone/Photos -phone  pretty  video_stuff/trailers  video_stuff/coverart @@ -64,10 +61,11 @@ video_stuff/banners  games/screenshots  games/fanart  games/boxart +system_backups/restore  EOF -	chown -R mythtv myth +	chown -R 1000 myth  	chmod -R 777 myth  	cp -rp myth $startdir/pkg/  	cd $startdir/pkg diff --git a/abs/core/media_dirs/media_dirs.install b/abs/core/media_dirs/media_dirs.install index c709d79..a666d2b 100644 --- a/abs/core/media_dirs/media_dirs.install +++ b/abs/core/media_dirs/media_dirs.install @@ -24,7 +24,7 @@ pre_install() {  	  # arg 2:  the old package version  	  post_upgrade() {  		      /bin/true -		      post_install +		      #post_install  	      }  	      # arg 1:  the old package version diff --git a/abs/core/mythtv/stable-0.24/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.24/mythplugins/PKGBUILD index 83168af..e1e23a2 100644 --- a/abs/core/mythtv/stable-0.24/mythplugins/PKGBUILD +++ b/abs/core/mythtv/stable-0.24/mythplugins/PKGBUILD @@ -13,14 +13,14 @@ pkgname=('mytharchive'           'mythweather'           'mythzoneminder')  pkgver=0.24 -pkgrel=18 +pkgrel=19  arch=('i686' 'x86_64')  url="http://www.mythtv.org"  license=('GPL')  conflicts=('mythmovies') -makedepends=("mythtv>=${pkgver}" 'mplayer' 'fftw' 'dvdauthor' 'libexif' +makedepends=("mythtv>=${pkgver}" 'mplayer' 'fftw2' 'dvdauthor' 'libexif'               'python-imaging' 'libcdaudio' 'taglib' 'perl-xml-simple' 'dcraw' -             'libvisual' 'perl-xml-xpath' 'perl-image-size' +             'libvisual' 'perl-xml-xpath' 'perl-image-size' 'perl-json'               'perl-class-inspector' 'perl-datetime-format-iso8601'               'flac' 'libvorbis' 'python2' 'python-pycurl' 'python-oauth')  source=(ftp://ftp.knoppmyth.net/R6/sources/mythtv-0.24-fixes.tar.bz2 @@ -111,7 +111,7 @@ package_mythweather() {    pkgdesc="Weather checking plugin for MythTV"    depends=("mythtv>=${pkgver}" 'perl-xml-xpath' 'perl-image-size'             'perl-class-inspector' 'perl-datetime-format-iso8601' -           'perl-date-manip') +           'perl-date-manip' 'perl-json')  #  replaces=('mythweather')    cd "${srcdir}/${_gitname}/${pkgbase}/mythweather"    make INSTALL_ROOT="${pkgdir}" install || return 1 @@ -126,4 +126,4 @@ package_mythzoneminder() {    make INSTALL_ROOT="${pkgdir}" install || return 1  }  md5sums=('91488a6b1b05d14c5c5c601908b699e5' -         'adce485c4765e8d49b91b3ce9c9963ac') +         'cc7e6887acda167fcc5336af33f29411') diff --git a/abs/core/mythtv/stable-0.24/mythplugins/mythburn.py.patch b/abs/core/mythtv/stable-0.24/mythplugins/mythburn.py.patch index 770119a..abac7df 100644 --- a/abs/core/mythtv/stable-0.24/mythplugins/mythburn.py.patch +++ b/abs/core/mythtv/stable-0.24/mythplugins/mythburn.py.patch @@ -161,7 +161,7 @@  +                else:  +                    videoheight = 576  +         -+                croppixels = videoheight - int(videores.split("x")[1]) ++                croppixels = videoheight - (720 / float(videoAR))  +                write("CropPixels Total: %s" % croppixels)  +                value = "720x%d -vf pad=720:%d:0:%d:black" % (videoheight - croppixels, videoheight, croppixels / 2) diff --git a/abs/core/perl_modules/perl-json/PKGBUILD b/abs/core/perl_modules/perl-json/PKGBUILD new file mode 100644 index 0000000..88aade8 --- /dev/null +++ b/abs/core/perl_modules/perl-json/PKGBUILD @@ -0,0 +1,28 @@ +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: François Charette <firmicus ατ gmx δοτ net> + +pkgname=perl-json +pkgver=2.53 +pkgrel=1 +pkgdesc="JSON (JavaScript Object Notation) encoder/decoder" +arch=('any') +url="http://search.cpan.org/dist/JSON" +license=('GPL' 'PerlArtistic') +depends=('perl>=5.10.0') +options=('!emptydirs') +source=(http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-$pkgver.tar.gz) +md5sums=('7db1be00d44414c4962eeac222395a76') + +build() { +  cd  $srcdir/JSON-$pkgver +  PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +  make +} + +package() { +  cd  $srcdir/JSON-$pkgver +  make install DESTDIR=$pkgdir +  find $pkgdir -name '.packlist' -delete +  find $pkgdir -name '*.pod' -delete +} diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD index c2c75c8..6ef0e51 100755 --- a/abs/core/runit-scripts/PKGBUILD +++ b/abs/core/runit-scripts/PKGBUILD @@ -1,6 +1,6 @@  pkgname=runit-scripts  pkgver=2.1.1 -pkgrel=42 +pkgrel=44  pkgdesc="collection of startup scripts for runit"  url="http://smarden.org/runit/"  license="BSD" diff --git a/abs/core/runit-scripts/runitscripts/1 b/abs/core/runit-scripts/runitscripts/1 index c64a047..a45fc16 100755 --- a/abs/core/runit-scripts/runitscripts/1 +++ b/abs/core/runit-scripts/runitscripts/1 @@ -4,6 +4,8 @@  . /etc/rc.d/functions  hostname `cat /etc/hostname`  /sbin/sysctl -p 2>/dev/null >/dev/null +#make sure permissions are right for /etc/systemconfig +/usr/bin/setfacl -m u:mythtv:rw- /etc/systemconfig > /dev/null  #yes it's needed the 2nd time  /usr/LH/bin/load-modules-mythvantage.sh >/dev/null  rm /etc/dhcpc/dhcpcd*.pid  2>/dev/null diff --git a/abs/core/runit-scripts/runitscripts/services/lircd/run b/abs/core/runit-scripts/runitscripts/services/lircd/run index 480a884..3993795 100755 --- a/abs/core/runit-scripts/runitscripts/services/lircd/run +++ b/abs/core/runit-scripts/runitscripts/services/lircd/run @@ -43,7 +43,7 @@ else      [ -e /var/run/lirc ] || mkdir -p /var/run/lirc      function dvico_detect { -        if [ x$Remotetype = "xdvico" ] || [ x$Remotetype = "xDvico-Dual-Digital4-rev2" ] +        if [[ x$Remotetype = xdvico* ]] || [ x$Remotetype = "xDvico-Dual-Digital4-rev2" ]          then              RunDvico=true          else @@ -127,7 +127,7 @@ else          if [ $RunDvico = "true" ]          then -            if [ x$Remotetype = "xdvico" ] +            if [[ x$Remotetype = xdvico* ]]              then                  LCMD="/usr/sbin/lircd -r -n -d /dev/usb/dvicoIR --driver=dvico  --output /var/run/lirc/lircd"              else diff --git a/abs/core/supplemental-web/PKGBUILD b/abs/core/supplemental-web/PKGBUILD index 7c30873..40b1f7b 100644 --- a/abs/core/supplemental-web/PKGBUILD +++ b/abs/core/supplemental-web/PKGBUILD @@ -1,15 +1,11 @@  pkgname=supplemental-web  pkgver=1.0 -pkgrel=10 +pkgrel=16  arch=('i686')  MVDIR=$startdir/pkg/usr/MythVantage -#BINDIR=$MVDIR/bin  install=supplemental-web.install -#depends=(unclutter  ghosd ncid func wol ) -#binfiles="saytime.sh backup_job  restore_job.sh  update_system update_system_all backend_control.sh grabkey.py  notify.py" -#source=($binfiles mfegdbcommands.txt mbegdbcommands.txt 45-event.rules lighttpd-supplement.conf)  backup=('extra.cfg.txt') -source=(lighttpd-supplement.conf extra.cfg.txt wakeonlan.sh backend_control.sh notify.py) +source=(lighttpd-supplement.conf extra.cfg.txt wakeonlan.sh backend_control.sh)  depends=('lighttpd'  'php' 'fcgi' 'python' 'xymonserver' 'certmaster' 'func' 'python_aosd' ) @@ -23,7 +19,6 @@ build() {  	install -m755 -D wakeonlan.sh $MVDIR/bin/wakeonlan.sh  	install -m755 -D backend_control.sh $MVDIR/bin/backend_control.sh -#	install -m755 -D notify.py $MVDIR/bin/notify.py  	mkdir -p $startdir/pkg/data/srv/httpd/htdocs/          cp -rp $startdir/contents/* $startdir/pkg/data/srv/httpd/htdocs          chmod -R 755 $startdir/pkg/data/srv/httpd/htdocs @@ -40,5 +35,4 @@ build() {  md5sums=('2a9d042467220fd1f74f5b12730c2e06'           '3d8c7b430c1319d706ca420825918d2a'           '81cdb6ee6804fa36366c6e259a80e7b4' -         'f37e10ef9fc84b384b9a2d41f82ef744' -         '4da05325b4f9d61d26f88c19578d1950') +         'f37e10ef9fc84b384b9a2d41f82ef744') diff --git a/abs/core/supplemental-web/cgi/bestart.cgi b/abs/core/supplemental-web/cgi/bestart.cgi index 10ca4ad..e09e42b 100644 --- a/abs/core/supplemental-web/cgi/bestart.cgi +++ b/abs/core/supplemental-web/cgi/bestart.cgi @@ -1,5 +1,9 @@  #!/bin/bash -sudo /sbin/sv start mythbackend  +# MESSAGE="Trying to start `hostname` B.E." +# /usr/bin/func "*" call msg display "$MESSAGE" & + +sudo /sbin/sv start mythbackend +  MESSAGE="`hostname` B.E. started"  /usr/bin/func "*" call msg display "$MESSAGE" & diff --git a/abs/core/supplemental-web/cgi/bestop.cgi b/abs/core/supplemental-web/cgi/bestop.cgi index a65a16a..c9d7fad 100644 --- a/abs/core/supplemental-web/cgi/bestop.cgi +++ b/abs/core/supplemental-web/cgi/bestop.cgi @@ -1,5 +1,9 @@  #!/bin/bash -sudo /sbin/sv stop mythbackend  +MESSAGE="Trying to stop `hostname` B.E." +/usr/bin/func "*" call msg display "$MESSAGE" & + +sudo /sbin/sv stop mythbackend +  MESSAGE="`hostname` B.E. stopped"  /usr/bin/func "*" call msg display "$MESSAGE" & diff --git a/abs/core/supplemental-web/cgi/extra.cfg.txt b/abs/core/supplemental-web/cgi/extra.cfg.txt new file mode 100644 index 0000000..cd4009a --- /dev/null +++ b/abs/core/supplemental-web/cgi/extra.cfg.txt @@ -0,0 +1,7 @@ +[extra] +# change any of the following to False or True +# This file is used to state to other machines in the cluster whats running +xymon = True +func = True +rsyslog_network = False + diff --git a/abs/core/supplemental-web/contents/count.py b/abs/core/supplemental-web/contents/count.py index 6d813c1..d59144a 100644 --- a/abs/core/supplemental-web/contents/count.py +++ b/abs/core/supplemental-web/contents/count.py @@ -14,7 +14,7 @@ def main(argv):      # create a cursor      cursor = db.cursor()     # execute SQL statement -    cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM oldrecorded ORDER by starttime;") +    cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM oldrecorded where oldrecorded.recstatus = -3  ORDER by starttime;")      result = cursor.fetchall()      for row in result: @@ -58,7 +58,7 @@ def main(argv):      print '<div id="content"> <p></p>'      print '<table class="sample">'      print "Top 20 Shows" -    cursor.execute("select title,count(title),category as numtitle from oldrecorded group by title having (COUNT(title) > 1) order by (COUNT(title)) DESC  limit 20;" ) +    cursor.execute("select title,count(title),category as numtitle from oldrecorded where oldrecorded.recstatus = -3 group by title having (COUNT(title) > 0 ) order by (COUNT(title)) DESC  limit 20;" )      result = cursor.fetchall()      for row in result:          print "	<tr>" @@ -74,11 +74,14 @@ def main(argv):      print '<div id="column"></div>'      print '<table class="sample">'      print "Top 20 Categories" -    cursor.execute("select category,count(category) as numtitle from oldrecorded group by category having (COUNT(category) > 1) order by (COUNT(category)) DESC  limit 20; " ) +    cursor.execute("select category,count(category) as numtitle from oldrecorded where oldrecorded.recstatus = -3 group by category having (COUNT(category) > 0 ) order by (COUNT(category)) DESC  limit 20; " )      result = cursor.fetchall()      for row in result: +        category = row[0] +        if category == "": +            category = "Unknown"          print "	<tr>" -        print "		<td>",row[0],"</td>" +        print "		<td>",category,"</td>"          print "		<td>",row[1],"</td>"          print "	</tr>"          #print "%16s %16s" %(row[0],row[1]) diff --git a/abs/core/supplemental-web/contents/docs.html b/abs/core/supplemental-web/contents/docs.html index c4a934b..4a5e64a 100644 --- a/abs/core/supplemental-web/contents/docs.html +++ b/abs/core/supplemental-web/contents/docs.html @@ -35,10 +35,6 @@ Starting and stopping services.  <br>  <ul id="navlist">  	<li>The root password is blank.  You will not be able to remotely access this account until the password is set.</li> -	<li>The mythtv account is locked, reset the password if you wish login with this account.</li> -	<li>The mythtv account has full sudo privileges. </li> -	<li>All access from public ip address are blocked.  Edit /etc/hosts.deny  /etc/hosts.allow to change this.</li> -	<li>Mythfilldatabase will automaticlly run when mythbackend is started.  If the last attempt was successful then it will skip this step and mythfilldatabase will run normally.</li>  	<li>To keep a host from showing up in the network map, add it to:         	/data/srv/hobbit/server/ext/ignoreclient.py  	</li> diff --git a/abs/core/supplemental-web/contents/error/hobbit.html b/abs/core/supplemental-web/contents/error/hobbit.html index 18450f2..4c65716 100644 --- a/abs/core/supplemental-web/contents/error/hobbit.html +++ b/abs/core/supplemental-web/contents/error/hobbit.html @@ -4,8 +4,8 @@  </head>  <body> -Hobbit does not appear to be installed. +Xymon does not appear to be installed.  </br> -Please visit the MythVantage advanced screen to enable Hobbit. +If Xymon was just installed/started it will take a few minutes before this page populates.  </body>  </html> diff --git a/abs/core/supplemental-web/contents/error/phpadmin.html b/abs/core/supplemental-web/contents/error/phpadmin.html index dbdd4d3..39b2f48 100644 --- a/abs/core/supplemental-web/contents/error/phpadmin.html +++ b/abs/core/supplemental-web/contents/error/phpadmin.html @@ -16,8 +16,6 @@ pacman -S phpmyadmin  </br>  PHP must be enabled for phpMyAdmin.  </br> -The easiest way to enable php is to enable Mythweb under the advanced settings for MythVantage. -</br>  </br>  </br> diff --git a/abs/core/supplemental-web/contents/header.jpg.mv b/abs/core/supplemental-web/contents/header.jpg.mv Binary files differdeleted file mode 100644 index 3bf128e..0000000 --- a/abs/core/supplemental-web/contents/header.jpg.mv +++ /dev/null diff --git a/abs/core/supplemental-web/contents/process.py b/abs/core/supplemental-web/contents/process.py index 93d16d9..9098ad6 100644 --- a/abs/core/supplemental-web/contents/process.py +++ b/abs/core/supplemental-web/contents/process.py @@ -99,11 +99,11 @@ def isblank(indict):  def go_backup(myhost):      myhostname = socket.gethostname()      results="Nothing happened" -    if myhostname.strip() == myhost.strip(): -        command= "sudo /usr/MythVantage/bin/backup_job" -        command2="sleep 1; /data/srv/hobbit/server/ext/hbnotes.py" -        results=os.popen(command,'r') -        os.popen(command2,'r') +    command= "sudo /usr/LH/bin/lh_system_backup_job" +    print command +    command2="sleep 1; /data/srv/hobbit/server/ext/hbnotes.py" +    results=os.popen(command,'r') +    os.popen(command2,'r')      return  results @@ -122,28 +122,20 @@ def go_restore(restorefile,myhost):      return  results  def go_optimize(myhost): -    myhostname = socket.gethostname() -    if myhostname.strip() == myhost.strip(): -       command="/usr/LH/bin/optimize_mythdb.py" -       results=os.popen(command,'r') -    else: -        results='This host does not run a database' +    #myhostname = socket.gethostname() +    #if myhostname.strip() == myhost.strip(): +    command="/usr/LH/bin/optimize_mythdb.py" +    print command +    results=os.popen(command,'r') +    #else: +        #results='This host does not run a database'      return  results  def go_update(myhost,update_type): -    myhostname = socket.gethostname() -    if myhostname.strip() == myhost.strip(): -         cmd="sudo /usr/bin/update_system " -         command=cmd + update_type - -    else: -        cmd=" call pacman update_system " -        cmd+=update_type -        command="/usr/bin/func \"" + myhost.strip() + "*\"  " + cmd -        print command - -        #print command - +    cmd=" call pacman update_system " +    cmd+=update_type +    command="/usr/bin/func \"" + myhost.strip() + "*\"  " + cmd +    print command      results=os.popen(command,'r')      return  results diff --git a/abs/core/supplemental-web/notify.py b/abs/core/supplemental-web/notify.py deleted file mode 100644 index 2e520c5..0000000 --- a/abs/core/supplemental-web/notify.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/python -# import MySQL module - -import MySQLdb -import sys -import getopt -import socket -import os - -def main(argv): -    db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg") -    # create a cursor -    cursor = db.cursor() -    # execute SQL statement -    cursor.execute("SELECT DISTINCT(hostname) from settings where not hostname is NULL") -    result = cursor.fetchall() -    message = sys.argv[2] -    messagetype = sys.argv[1] -    port=str(5000) -    if messagetype == "PH2": -	    port=str(5001) -	     -     -    message = message + " :::" + messagetype -    for row in result: -    	os.system("/usr/bin/osdClient.pl  " + row[0] + "  " +  port   + "   "+  "\"" +  message + "\""  + "&" ) - -if __name__ == "__main__": -    main(sys.argv[1:]) diff --git a/abs/core/v4l-dvb/PKGBUILD b/abs/core/v4l-dvb/PKGBUILD index 58e9013..b853b24 100644 --- a/abs/core/v4l-dvb/PKGBUILD +++ b/abs/core/v4l-dvb/PKGBUILD @@ -1,26 +1,27 @@ -# Maintainer: Nicky726 (Nicky726 <at> gmail <dot> com) +# Maintainer: Cecil Watson<knoppmyth@gmail.com>  pkgname=v4l-dvb -pkgver=20111110 +_kernver=`uname -r` +pkgver=20120113  pkgrel=1 -pkgdesc="V4L-DVB device drivers git version" +pkgdesc="V4L-DVB device drivers (newer than those included in kernel)"  arch=('i686' 'x86_64')  url="http://linuxtv.org/" -license=('GPL') +license=('GPL2')  depends=('kernel26') -makedepends=('git' 'linux-api-headers' 'perl-proc-processtable' 'patchutils') +makedepends=('git' 'kernel26-headers' 'perl-proc-processtable' 'patchutils')  options=(!makeflags)  install=v4l-dvb.install  _gitroot="git://linuxtv.org/media_build.git"  _gitname="media_build" -source=(config) +  build() {    cd "${srcdir}"    msg "Connecting to GIT server...."    if [ -d "${srcdir}/${_gitname}" ] ; then -    cd ${_gitname} && git pull --rebase +    cd ${_gitname} && git checkout -- . && git pull --rebase    else      git clone ${_gitroot}    fi @@ -31,20 +32,18 @@ build() {    cd "${srcdir}/${_gitname}/linux"    make download untar    cd .. -  # Build with 3.0-ARCH kernel -  _kernver=`uname -r` -  sed -i -e "s/KERNELRELEASE\ :=/KERNELRELEASE\ :=\ ${_kernver}/" \ -    -e "s/\$(KERNELRELEASE)/${_kernver}/" \ -    "${srcdir}/${_gitname}"/v4l/Makefile{,.sound} -  # Use alternate config, because cx23885 module won't build -#  cp "${srcdir}/config" "${srcdir}/${_gitname}/v4l/.config" + +#  Build with 3.0-ARCH kernel +#  sed -i -e "s/KERNELRELEASE\ :=/KERNELRELEASE\ :=\ ${_kernver}/" \ +#    -e "s/\$(KERNELRELEASE)/${_kernver}/" \ +#    "${srcdir}/${_gitname}"/v4l/Makefile{,.sound} +    make  }  package() { -  install -dm755 "${srcdir}/lib/modules/$(uname -r)/updates"    cd "${srcdir}/${_gitname}" -  make DESTDIR="${pkgdir}/lib/modules/$(uname -r)/updates" install +  make DESTDIR="${pkgdir}" install +  rm -fr ${pkgdir}/lib/modules/$_kernver/modules*  } - -md5sums=('927cc1fcddc2a71a7fde97322237c7a8') +md5sums=() diff --git a/abs/core/v4l-dvb/config b/abs/core/v4l-dvb/config deleted file mode 100644 index 0fe71ec..0000000 --- a/abs/core/v4l-dvb/config +++ /dev/null @@ -1,506 +0,0 @@ -# CONFIG_VIDEO_GO7007 is not set -# CONFIG_VIDEO_MMP_CAMERA is not set -# CONFIG_VIDEO_TM6000_ALSA is not set -CONFIG_MEDIA_TUNER_TDA18271=m -CONFIG_IR_MCEUSB=m -# CONFIG_LIRC_ZILOG is not set -CONFIG_USB_DSBR=m -CONFIG_VIDEO_CX88_VP3054=m -CONFIG_SOC_CAMERA_OV6650=m -CONFIG_DVB_USB=m -CONFIG_USB_GSPCA_XIRLINK_CIT=m -CONFIG_IR_NUVOTON=m -CONFIG_DVB_DUMMY_FE=m -CONFIG_USB_GSPCA_OV534=m -# CONFIG_VIDEO_OMAP1 is not set -CONFIG_USB_STKWEBCAM=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_CX22700=m -CONFIG_SOC_CAMERA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_USBVISION=m -CONFIG_DVB_NGENE=m -CONFIG_DVB_SP8870=m -CONFIG_DVB_BUDGET_AV=m -CONFIG_MEDIA_TUNER=m -CONFIG_DVB_TUNER_DIB0070=m -CONFIG_VIDEO_VPX3220=m -CONFIG_MEDIA_TUNER_TDA827X=m -CONFIG_USB_GSPCA_OV534_9=m -# CONFIG_LIRC_TTUSBIR is not set -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_STV06XX=m -CONFIG_SOC_CAMERA_RJ54N1=m -CONFIG_VIDEO_SAA7110=m -# CONFIG_VIDEO_SH_VOU is not set -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_DVB_STV6110x=m -CONFIG_DVB_BT8XX=m -CONFIG_VIDEO_SAA7127=m -CONFIG_DVB_USB_AF9005=m -CONFIG_VIDEO_CX231XX=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_VIDEO_UPD64083=m -CONFIG_VIDEO_WM8739=m -CONFIG_IR_REDRAT3=m -CONFIG_VIDEO_SAA7164=m -CONFIG_DVB_CX22702=m -CONFIG_VIDEOBUF_GEN=m -CONFIG_IR_NEC_DECODER=m -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -# CONFIG_RADIO_AZTECH is not set -CONFIG_DVB_USB_MXL111SF=m -CONFIG_VIDEO_MEM2MEM_TESTDEV=m -CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_VIVI=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_I2C_SI4713=m -CONFIG_V4L2_MEM2MEM_DEV=m -CONFIG_DVB_TDA10071=m -CONFIG_IR_SONY_DECODER=m -CONFIG_DVB_STV0367=m -CONFIG_DVB_TDA18271C2DD=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_VIDEO_MT9T001=m -# CONFIG_LIRC_SIR is not set -CONFIG_SOC_CAMERA_MT9V022=m -CONFIG_VIDEO_MT9P031=m -# CONFIG_RADIO_SF16FMI is not set -# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set -CONFIG_DVB_ISL6405=m -CONFIG_VIDEO_ADV7343=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_DEBUG=y -CONFIG_VIDEO_TIMBERDALE=m -CONFIG_MEDIA_TUNER_XC2028=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_VIDEO_M5MOLS=m -CONFIG_VIDEO_BT856=m -# CONFIG_RADIO_CADET is not set -CONFIG_USB_M5602=m -CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -CONFIG_RC_LOOPBACK=m -# CONFIG_STAGING_BROKEN is not set -CONFIG_DVB_MANTIS=m -CONFIG_VIDEO_CX25840=m -CONFIG_VIDEO_VP27SMPX=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -# CONFIG_VIDEO_SAMSUNG_S5P_HDMIPHY is not set -CONFIG_VIDEO_TVP5150=m -CONFIG_MEDIA_TUNER_SIMPLE=m -CONFIG_VIDEO_CX18_ALSA=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_DVB_OR51211=m -# CONFIG_VIDEO_VIU is not set -CONFIG_RC_ATI_REMOTE=m -CONFIG_VIDEOBUF2_DMA_SG=m -CONFIG_SMS_SIANO_MDTV=m -CONFIG_DVB_AV7110_OSD=y -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_USB_PWC_INPUT_EVDEV=y -CONFIG_SOC_CAMERA_MT9M111=m -CONFIG_VIDEO_OV7670=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_SOC_CAMERA_OV772X=m -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_W9966=m -CONFIG_DVB_S5H1411=m -CONFIG_SOC_CAMERA_OV5642=m -CONFIG_VIDEO_TCM825X=m -CONFIG_USB_S2255=m -# CONFIG_VIDEO_ATMEL_ISI is not set -# CONFIG_RADIO_ZOLTRIX is not set -CONFIG_DVB_PLL=m -CONFIG_DVB_LGDT330X=m -# CONFIG_VIDEO_GO7007_TW2804 is not set -CONFIG_VIDEO_ADP1653=m -CONFIG_DVB_STB0899=m -CONFIG_RC_MAP=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_VIDEO_MT9V011=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_B2C2_FLEXCOP=m -# CONFIG_VIDEO_TM6000 is not set -CONFIG_VIDEOBUF2_CORE=m -CONFIG_USB_GSPCA_SONIXB=m -# CONFIG_STAGING is not set -CONFIG_USB_GSPCA_ZC3XX=m -CONFIG_DVB_USB_IT913X=m -CONFIG_V4L_MEM2MEM_DRIVERS=y -CONFIG_VIDEO_BT848_DVB=y -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_DVB_USB_CINERGY_T2=m -# CONFIG_RADIO_TERRATEC is not set -CONFIG_VIDEO_KS0127=m -CONFIG_RADIO_WL1273=m -CONFIG_MX1_VIDEO=y -CONFIG_VIDEO_TVP7002=m -CONFIG_DVB_VES1820=m -CONFIG_VIDEO_PVRUSB2_DVB=y -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_SAA717X=m -CONFIG_RADIO_TEA5764=m -CONFIG_VIDEO_CX23885=m -CONFIG_MEDIA_TUNER_MT20XX=m -CONFIG_DVB_BUDGET=m -# CONFIG_CAPTURE_DAVINCI_DM646X_EVM is not set -CONFIG_DVB_VES1X93=m -CONFIG_VIDEO_MT9V032=m -CONFIG_USB_GSPCA_NW80X=m -CONFIG_USB_GSPCA_KINECT=m -CONFIG_VIDEO_CS5345=m -# CONFIG_RADIO_GEMTEK_PROBE is not set -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_DVB_ISL6421=m -# CONFIG_VIDEO_VPSS_SYSTEM is not set -CONFIG_USB_GSPCA_PAC207=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_TTUSB_DEC=m -# CONFIG_SND_FM801_TEA575X is not set -CONFIG_SMS_USB_DRV=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_DIB9000=m -CONFIG_IR_FINTEK=m -CONFIG_SOC_CAMERA_MT9T112=m -CONFIG_MEDIA_TUNER_XC5000=m -CONFIG_RADIO_MAXIRADIO=m -CONFIG_DVB_TDA10048=m -CONFIG_MEDIA_TUNER_MXL5005S=m -CONFIG_MEDIA_TUNER_TEA5761=m -# CONFIG_LIRC_IMON is not set -# CONFIG_VIDEO_VPBE_DISPLAY is not set -CONFIG_VIDEO_TDA7432=m -CONFIG_DVB_EC100=m -CONFIG_VIDEO_CX18=m -CONFIG_MEDIA_TUNER_MT2266=m -CONFIG_VIDEOBUF_DMA_SG=m -CONFIG_VIDEO_ADV7180=m -CONFIG_DVB_TDA1004X=m -CONFIG_VIDEO_MXB=m -# CONFIG_LIRC_SERIAL_TRANSMITTER is not set -CONFIG_DVB_STV6110=m -CONFIG_VIDEO_ADV7170=m -# CONFIG_VIDEO_S5P_MIPI_CSIS is not set -CONFIG_DVB_DYNAMIC_MINORS=y -CONFIG_SOC_CAMERA_PLATFORM=m -CONFIG_VIDEO_TDA9840=m -# CONFIG_VIDEO_PXA27x is not set -CONFIG_DVB_TDA10023=m -CONFIG_VIDEO_V4L2=m -CONFIG_USB_GSPCA_SQ905C=m -# CONFIG_VIDEO_SAMSUNG_S5P_TV is not set -CONFIG_DVB_S5H1409=m -CONFIG_SOC_CAMERA_IMX074=m -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_IR_I2C=m -# CONFIG_ALTERA_STAPL is not set -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y -CONFIG_DVB_A8293=m -# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set -CONFIG_MX3_VIDEO=y -# CONFIG_VIDEO_SAMSUNG_S5P_MIXER is not set -CONFIG_VIDEO_SAA6588=m -# CONFIG_VIDEO_MX3 is not set -CONFIG_DVB_DS3000=m -CONFIG_MEDIA_TUNER_TEA5767=m -CONFIG_DVB_L64781=m -CONFIG_DVB_CAPTURE_DRIVERS=y -CONFIG_USB_GSPCA_TV8532=m -CONFIG_RADIO_ADAPTERS=y -CONFIG_DVB_USB_OPERA1=m -CONFIG_RADIO_SAA7706H=m -CONFIG_DVB_MT352=m -CONFIG_MANTIS_CORE=m -CONFIG_DVB_USB_M920X=m -CONFIG_VIDEO_PVRUSB2_SYSFS=y -CONFIG_DVB_USB_DIGITV=m -# CONFIG_VIDEO_DM355_CCDC is not set -CONFIG_VIDEO_MSP3400=m -CONFIG_VIDEO_BWQCAM=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_SOC_CAMERA_TW9910=m -CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_USB_SN9C102=m -CONFIG_SMS_SDIO_DRV=m -CONFIG_SOC_CAMERA_MT9M001=m -CONFIG_DVB_USB_FRIIO=m -# CONFIG_VIDEO_TM6000_DVB is not set -CONFIG_VIDEO_AK881X=m -CONFIG_DVB_DIB3000MB=m -# CONFIG_RADIO_GEMTEK is not set -CONFIG_VIDEO_CQCAM=m -CONFIG_DVB_LGS8GL5=m -CONFIG_DVB_DRXK=m -# CONFIG_RADIO_RTRACK2 is not set -CONFIG_USB_GSPCA_PAC7302=m -CONFIG_VIDEO_TUNER=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_DVB_USB_CE6230=m -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_RADIO_TEF6862=m -# CONFIG_VIDEO_PMS is not set -CONFIG_DVB_FE_CUSTOMISE=y -# CONFIG_DISPLAY_DAVINCI_DM646X_EVM is not set -CONFIG_VIDEOBUF_DMA_CONTIG=m -CONFIG_VIDEO_CAPTURE_DRIVERS=y -CONFIG_DVB_STV090x=m -CONFIG_DVB_AF9013=m -CONFIG_VIDEO_ADV_DEBUG=y -CONFIG_VIDEO_SAA711X=m -CONFIG_DVB_MT312=m -CONFIG_VIDEO_CX88_ALSA=m -# CONFIG_VIDEO_OMAP3_DEBUG is not set -# CONFIG_VIDEO_OMAP2 is not set -CONFIG_DVB_CX24116=m -CONFIG_DVB_USB_DW2102=m -CONFIG_VIDEOBUF2_VMALLOC=m -CONFIG_SND_BT87X=m -CONFIG_VIDEO_MEDIA=m -CONFIG_VIDEO_EM28XX=m -CONFIG_IR_LIRC_CODEC=m -# CONFIG_LIRC_IGORPLUGUSB is not set -CONFIG_USB_GL860=m -CONFIG_VIDEO_V4L2_COMMON=m -CONFIG_VIDEO_BT866=m -CONFIG_DVB_FIREDTV=m -CONFIG_USB_GSPCA_T613=m -# CONFIG_VIDEO_GO7007_USB is not set -CONFIG_SOC_CAMERA_OV2640=m -CONFIG_LIRC=m -# CONFIG_VIDEO_VPFE_CAPTURE is not set -CONFIG_USB_SI470X=m -CONFIG_VIDEO_SR030PC30=m -CONFIG_DVB_OR51132=m -# CONFIG_VIDEO_GO7007_SAA7115 is not set -CONFIG_VIDEO_CX88_DVB=m -# CONFIG_VIDEO_CX25821_ALSA is not set -CONFIG_MEDIA_CONTROLLER=y -CONFIG_USB_GSPCA_SN9C20X=m -CONFIG_DVB_LGDT3305=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_IR_WINBOND_CIR=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA505=m -# CONFIG_VIDEO_GO7007_SAA7113 is not set -# CONFIG_LIRC_BT829 is not set -CONFIG_MEDIA_TUNER_MT2060=m -CONFIG_USB_GSPCA_STV0680=m -CONFIG_MEDIA_SUPPORT=m -CONFIG_VIDEO_SAA7134_RC=y -CONFIG_DVB_AU8522=m -# CONFIG_RADIO_TYPHOON is not set -CONFIG_DVB_ISL6423=m -# CONFIG_VIDEO_SAMSUNG_S5P_MIXER_DEBUG is not set -CONFIG_IR_RC5_SZ_DECODER=m -CONFIG_DVB_BUDGET_PATCH=m -CONFIG_VIDEO_CS53L32A=m -CONFIG_SOC_CAMERA_MT9T031=m -# CONFIG_LIRC_PARALLEL is not set -CONFIG_DVB_ZL10353=m -CONFIG_DVB_CX24110=m -CONFIG_USB_GSPCA_SE401=m -CONFIG_USB_GSPCA=m -CONFIG_DVB_DIB7000M=m -CONFIG_VIDEO_SAA7134_DVB=m -CONFIG_SOC_CAMERA_OV9740=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_SPCA1528=m -CONFIG_DVB_MB86A20S=m -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_ADV7175=m -CONFIG_DVB_DIB3000MC=m -CONFIG_DVB_PT1=m -CONFIG_VIDEO_EM28XX_RC=y -CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_MEDIA_TUNER_MC44S803=m -CONFIG_VIDEO_VIA_CAMERA=m -CONFIG_DVB_TDA8261=m -CONFIG_VIDEO_MEYE=m -CONFIG_VIDEO_CX88_MPEG=m -CONFIG_DVB_USB_AZ6027=m -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_TDA8083=m -CONFIG_VIDEO_CX2341X=m -# CONFIG_VIDEO_SH_MOBILE_CEU is not set -CONFIG_DVB_CORE=m -CONFIG_IR_RC6_DECODER=m -CONFIG_VIDEO_IVTV=m -CONFIG_DVB_HOPPER=m -CONFIG_USB_GSPCA_SQ905=m -# CONFIG_VIDEO_OMAP2_VOUT is not set -CONFIG_MEDIA_TUNER_XC4000=m -# CONFIG_VIDEO_SAMSUNG_S5P_SDO is not set -# CONFIG_VIDEO_GO7007_OV7640 is not set -CONFIG_RADIO_SI4713=m -CONFIG_DVB_IX2505V=m -CONFIG_DVB_TUNER_CX24113=m -# CONFIG_LIRC_SASEM is not set -CONFIG_IR_ENE=m -CONFIG_DVB_STB6100=m -# CONFIG_MEDIA_ALTERA_CI is not set -CONFIG_DVB_AV7110=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_DVB_STV0299=m -CONFIG_MEDIA_TUNER_QT1010=m -# CONFIG_VIDEO_M32R_AR is not set -CONFIG_VIDEO_CPIA2=m -CONFIG_VIDEO_SAA7146_VV=m -CONFIG_IR_STREAMZAP=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_VIDEO_PVRUSB2=m -CONFIG_DVB_MB86A16=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_TVP514X=m -CONFIG_DVB_TUA6100=m -CONFIG_VIDEO_CAFE_CCIC=m -# CONFIG_VIDEO_GO7007_SONY_TUNER is not set -CONFIG_USB_PWC_DEBUG=y -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_TTPCI_EEPROM=m -CONFIG_VIDEO_THS7303=m -CONFIG_DVB_NXT200X=m -CONFIG_VIDEO_ZORAN_ZR36060=m -CONFIG_MEDIA_TUNER_TDA8290=m -CONFIG_VIDEO_SAA7185=m -CONFIG_VIDEO_TEA6420=m -CONFIG_DVB_S5H1432=m -# CONFIG_VIDEO_DAVINCI_VPIF is not set -CONFIG_RADIO_WL128X=m -CONFIG_DVB_STV0297=m -# CONFIG_RADIO_SF16FMR2 is not set -CONFIG_USB_ZR364XX=m -# CONFIG_VIDEO_GO7007_TW9903 is not set -# CONFIG_LIRC_STAGING is not set -CONFIG_VIDEOBUF_VMALLOC=m -# CONFIG_VIDEO_SAMSUNG_S5P_MFC is not set -CONFIG_DVB_USB_DTV5100=m -CONFIG_USB_PWC=m -CONFIG_VIDEO_OMAP2_VOUT_VRFB=y -CONFIG_USB_GSPCA_SN9C2028=m -CONFIG_DVB_DM1105=m -# CONFIG_RADIO_TEA5764_XTAL is not set -CONFIG_IR_RC5_DECODER=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_USB_GSPCA_STK014=m -CONFIG_VIDEO_TVEEPROM=m -CONFIG_VIDEO_CX231XX_RC=y -CONFIG_DVB_ATBM8830=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -# CONFIG_VIDEO_MX2 is not set -CONFIG_VIDEO_ZORAN_LML33R10=m -# CONFIG_I2C_SI470X is not set -CONFIG_DVB_TDA10021=m -CONFIG_MEDIA_TUNER_TDA9887=m -CONFIG_VIDEO_ZORAN_AVS6EYES=m -CONFIG_DVB_USB_AU6610=m -CONFIG_VIDEO_SAA7191=m -CONFIG_MEDIA_ATTACH=y -CONFIG_DVB_USB_GL861=m -# CONFIG_RADIO_TRUST is not set -CONFIG_RADIO_TIMBERDALE=m -CONFIG_USB_GSPCA_SQ930X=m -CONFIG_DVB_CXD2820R=m -CONFIG_RADIO_SI470X=y -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_DVB_USB_EC168=m -CONFIG_VIDEOBUF2_DMA_CONTIG=m -CONFIG_VIDEO_FB_IVTV=m -# CONFIG_RADIO_MIROPCM20 is not set -CONFIG_VIDEO_BT819=m -CONFIG_VIDEO_SAA7146=m -CONFIG_DVB_TUNER_ITD1000=m -CONFIG_VIDEO_BTCX=m -CONFIG_MEDIA_TUNER_CUSTOMISE=y -# CONFIG_VIDEO_SAMSUNG_S5P_HDMI is not set -CONFIG_VIDEOBUF_DVB=m -CONFIG_DVB_IT913X_FE=m -CONFIG_DVB_S921=m -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_VIDEO_ISIF is not set -CONFIG_DVB_USB_LME2510=m -CONFIG_DVB_USB_VP7045=m -CONFIG_VIDEO_ZORAN=m -CONFIG_USB_GSPCA_CPIA1=m -# CONFIG_DVB_CXD2099 is not set -CONFIG_DVB_CX24123=m -# CONFIG_VIDEO_SAMSUNG_S5P_HDMI_DEBUG is not set -CONFIG_VIDEO_CX231XX_DVB=m -# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set -CONFIG_DVB_TUNER_DIB0090=m -CONFIG_MEDIA_TUNER_MAX2165=m -CONFIG_IR_IMON=m -CONFIG_USB_MR800=m -# CONFIG_RADIO_RTRACK is not set -CONFIG_MEDIA_TUNER_MT2131=m -# CONFIG_VIDEO_DM6446_CCDC is not set -CONFIG_IR_MCE_KBD_DECODER=m -# CONFIG_VIDEO_CX25821 is not set -CONFIG_DVB_STV0288=m -# CONFIG_VIDEO_MX1 is not set -CONFIG_USB_VIDEO_CLASS=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_M52790=m -# CONFIG_VIDEO_DM644X_VPBE is not set -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_DVB_DRXD=m -CONFIG_SOC_CAMERA_OV9640=m -CONFIG_VIDEO_UPD64031A=m -CONFIG_VIDEO_TVAUDIO=m -CONFIG_VIDEO_MX2_HOSTSUPPORT=y -CONFIG_VIDEO_TLG2300=m -CONFIG_DVB_PLUTO2=m -CONFIG_DVB_STB6000=m -CONFIG_DVB_TDA665x=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_SND_BT87X_OVERCLOCK=y -CONFIG_USB_GSPCA_VICAM=m -CONFIG_DVB_DIB8000=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_TDA826X=m -# CONFIG_VIDEO_GO7007_UDA1342 is not set -CONFIG_DVB_TDA10086=m -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_VIDEO_NOON010PC30=m -CONFIG_VIDEO_WM8775=m -CONFIG_VIDEO_TLV320AIC23B=m -CONFIG_RC_CORE=m -CONFIG_USB_GSPCA_KONICA=m -CONFIG_VIDEOBUF2_MEMOPS=m -# CONFIG_VIDEO_VINO is not set -CONFIG_DVB_SP887X=m -CONFIG_DVB_DDBRIDGE=m -CONFIG_DVB_DIB7000P=m -CONFIG_IR_ITE_CIR=m -CONFIG_VIDEO_V4L2_SUBDEV_API=y -CONFIG_USB_GSPCA_BENQ=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_ET61X251=m -CONFIG_VIDEO_HDPVR=m -CONFIG_IR_JVC_DECODER=m -# CONFIG_VIDEO_M32R_AR_M64278 is not set -CONFIG_DVB_LGS8GXX=m -CONFIG_DVB_SI21XX=m -CONFIG_DVB_ZL10036=m -CONFIG_DVB_BCM3510=m -CONFIG_DVB_STV0900=m -CONFIG_DVB_ZL10039=m -CONFIG_DVB_USB_AF9005_REMOTE=m -# CONFIG_VIDEO_OMAP3 is not set -CONFIG_VIDEO_AU0828=m -# CONFIG_LIRC_SERIAL is not set -CONFIG_DVB_USB_A800=m -CONFIG_DVB_NET=y -CONFIG_MEDIA_TUNER_TDA18212=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_MEDIA_TUNER_TDA18218=m -CONFIG_V4L_USB_DRIVERS=y -CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -CONFIG_DVB_MAX_ADAPTERS=8 - diff --git a/abs/core/wmaker_settings/GNUstep/Defaults/WMState b/abs/core/wmaker_settings/GNUstep/Defaults/WMState index 39a2ac4..9aede30 100644 --- a/abs/core/wmaker_settings/GNUstep/Defaults/WMState +++ b/abs/core/wmaker_settings/GNUstep/Defaults/WMState @@ -128,17 +128,4 @@        Name = "Workspace 3";      }    ); -  Applications = ( -    { -      Hidden = No; -      Dock = Dock; -      ShortcutMask = 0; -      Name = mythfrontend.Mythfrontend; -      Workspace = Main; -      Geometry = "2560x1600+0+0"; -      Shaded = No; -      Command = "/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log"; -      Miniaturized = No; -    } -  );  } diff --git a/abs/core/wmaker_settings/PKGBUILD b/abs/core/wmaker_settings/PKGBUILD index 7b75140..47b4b99 100644 --- a/abs/core/wmaker_settings/PKGBUILD +++ b/abs/core/wmaker_settings/PKGBUILD @@ -1,8 +1,8 @@  pkgname=wmaker_settings  pkgver=1.0 -pkgrel=4 +pkgrel=8  pkgdesc="Default settings for windowmaker+ theme" -depends=(windowmaker) +depends=('windowmaker' 'linhes-scripts>=7-24')  source=()  arch=('i686')  groups=(alt_wm) diff --git a/abs/core/xdotool/PKGBUILD b/abs/core/xdotool/PKGBUILD index 0ce58a3..ca3b071 100644 --- a/abs/core/xdotool/PKGBUILD +++ b/abs/core/xdotool/PKGBUILD @@ -4,9 +4,10 @@  pkgname=xdotool  pkgver=2.20110530.1 -pkgrel=1 +pkgrel=3  pkgdesc="Command-line X11 automation tool"  arch=('i686' 'x86_64') +epoch=3  url="http://www.semicomplete.com/projects/xdotool/"  license=('BSD')  depends=('libxtst' 'libxinerama') diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD index 5332ff5..23590a1 100644 --- a/abs/core/xymon/PKGBUILD +++ b/abs/core/xymon/PKGBUILD @@ -1,7 +1,7 @@  pkgbase=xymon  pkgname=(xymonserver xymonclient)  pkgver=4.3.5 -pkgrel=26 +pkgrel=32  pkgdesc="Hobbit is a system for monitoring servers and networks. "  license="GPL"  arch=('i686' 'x86_64') @@ -9,7 +9,7 @@ arch=('i686' 'x86_64')  url="http://www.xymon.com/"  source=(http://voxel.dl.sourceforge.net/project/xymon/Xymon/4.3.5/xymon-4.3.5.tar.gz  hobbitadd.py xymon_ghost_check graph.cfg.diff xymonserver.cfg.diff tasks.d.mv clientlaunch.cfg.patch hobbitstorage.py  hbnotes.py hobbit-myth-orphan.sh  analysis.cfg hbfunc.py be.png tuner.png tv.png  hobbit-mem-myth.sh hobbit_notify.sh alerts.cfg hobbit_myth_data.py logrotate-server.xymon logrotate-client.xymon log_list.sh client-local.cfg.patch led_themes.tar.gz ) -depends=(rrdtool fping pcre python graphviz) +depends=(rrdtool fping pcre python graphviz 'linhes-scripts>=7-24')  install=xymon.install  build() { @@ -118,8 +118,8 @@ md5sums=('31923ec126fe1c264fceb459d2175161'           'cc845b5aedc33dda8e3103b915fe4967'           '650b523d879f32c1bad3b4a9e10e7c93'           '093648dabb0d1da0fdcc37b327737f43' -         '84f6b0db44e5142bb59aeabc7ea875af' -         '6eb6ecdf33454f35b6c2409b863c816f' +         'cac3478de106d875ddbdaa377d26692d' +         '0f70e76a164f648f0a4a01110137cb20'           'f6921f0413215ae174e81306be80d37f'           'be02f5d21373f97224ffa4727ec9718a'           'd210c43fb9ee9ad6cd7648e0c2e0efea' @@ -128,7 +128,7 @@ md5sums=('31923ec126fe1c264fceb459d2175161'           '0757294eec13771f8e63da23cf066796'           '622f400fd098cbc43c203e3210a6694e'           'd06c4327cc69aeead3fa05f39660f33e' -         '129353c8ad92e89c691382a98dd5ce77' +         'eb502ce1be9b658be74911b53832caa8'           'f6ff1fb4bacee930007b877424619b30'           'e06147db25d75cf246886137a4ea164a'           '98e9242ae346f729b14cb195786571f2' diff --git a/abs/core/xymon/hbnotes.py b/abs/core/xymon/hbnotes.py index 13dbd86..2a1b221 100644 --- a/abs/core/xymon/hbnotes.py +++ b/abs/core/xymon/hbnotes.py @@ -19,8 +19,8 @@ except: -def createdropdown(): -    dir = "/data/database_backup" +def createdropdown(currenthostype): +    dir = "/myth/system_backup"      dropdown=" "      #dropdown='''       #<input name="param2" type="radio"  value="Restore" />Restore database </> @@ -33,7 +33,8 @@ def createdropdown():                  #dropdown+='<option value="' + file + '">' + file + '</option> '      dropdown+='</select> <br><input name="param2" type="radio" value="Backup" checked="checked" />Backup database<br />  '      dropdown+='<input name="param2" type="radio" value="Optimize"  />Optimize database<br />  ' -    dropdown+='<input name="param2" type="radio" value="ShutdownAll"  />Shutdown All Systems (expect MBE)<br />  ' +    if currenthostype == "Master_backend": +        dropdown+='<input name="param2" type="radio" value="ShutdownAll"  />Shutdown All Systems (expect MBE)<br />  '      #dropdown+='''<input name="param2" type="radio"  value="UpdateAll" />Update All Systems </>           <select name="param5">                     #<option value="Myth_only">Myth only</option>                     #<option value="All"> Full System</option> @@ -339,8 +340,8 @@ def main(argv):          </div>          ''' -       if currenthostype == "Master_backend": -            mbeoptions=createdropdown() +       if currenthostype == "Master_backend" or currenthostype == "Standalone": +            mbeoptions=createdropdown(currenthostype)         else:              mbeoptions=''         returnurl="/xymon/notes/" diff --git a/abs/core/xymon/hobbit-myth-orphan.sh b/abs/core/xymon/hobbit-myth-orphan.sh index f9f7d54..5cba136 100644 --- a/abs/core/xymon/hobbit-myth-orphan.sh +++ b/abs/core/xymon/hobbit-myth-orphan.sh @@ -1,53 +1,47 @@  #!/bin/bash  TMPFILE=/tmp/oprhan.result -/usr/local/bin/myth.find_orphans.pl > $TMPFILE - - -   COLUMN=orphan    # Name of the column -   COLOR=green      # By default, everything is OK - -   # Do whatever you need to test for something -   # As an example, go red if /tmp/badstuff exists. - -thumbs=`grep -A 4 "Summary:" $TMPFILE  |tail -n 1  |  cut  -d" "   -f3 ` -if [ !  x$thumbs  = x0 ] -then -    MSG="$thumbs orphaned thumbnails with no corresponding recording" -    COLOR='yellow' -fi - -missing=`grep -A 2 "Summary:" $TMPFILE  |tail -n 1 | cut -d, -f2 | cut  -d" "  -f2 ` -if [ !  x$missing  = x0 ] -then -	COLOR='red' -MSG="${MSG} -   `grep -A 2 "Summary:" $TMPFILE  |tail -n 1 ` " -fi - -unkown=`grep -A 5 "Summary:" $TMPFILE  |tail -n 1  |  cut  -d" "   -f3 ` -if [ !  x$unkown  = x0 ] -then -	COLOR='red' -MSG="${MSG} -`grep -A 5 "Summary:" $TMPFILE  |tail -n 1  `" -fi - - -MSG="${MSG} -	 - -	`cat $TMPFILE` -	" - -   # Tell Hobbit about it -   $BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date` -/usr/local/bin/myth.find_orphans.pl - +MYTHCONFDIR=/usr/share/mythtv /usr/LH/bin/find_orphans.py --printonly > $TMPFILE + + +COLUMN=orphan    # Name of the column +COLOR=green      # By default, everything is OK +MSG="All OK" + + + + +#yellow +for i in "Orphaned video files" "Orphaned snapshots" "Database backups" "Other files" +do +   grep -q  "$i" $TMPFILE +   status=$? +   if [ $status -eq 0 ] +   then +       COLOR="yellow" +       MSG="Problems found" +   fi +done + +#red +for i in "Recordings with missing files" "Zero byte recordings" +do +   grep -q  "$i" $TMPFILE +   status=$? +   if [ $status -eq 0 ] +   then +       COLOR="red" +       MSG="Problems found" +   fi +done + +MSG=" +    ${MSG} +    `cat $TMPFILE` " +# Tell Hobbit about it +$BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date`     ${MSG} -     "  - -   exit 0 +exit 0 diff --git a/abs/core/xymon/hobbit_myth_data.py b/abs/core/xymon/hobbit_myth_data.py index 840c293..1acca67 100644 --- a/abs/core/xymon/hobbit_myth_data.py +++ b/abs/core/xymon/hobbit_myth_data.py @@ -34,7 +34,7 @@ def check_mtc():          for i in mtc:             line=i          infile.close() -    if line.strip() == "Finished": +    if line.split()[0] == "Finished":          return True      else:          return False diff --git a/abs/core/xymon/xymon.install b/abs/core/xymon/xymon.install index 8a1d798..067030e 100644 --- a/abs/core/xymon/xymon.install +++ b/abs/core/xymon/xymon.install @@ -26,7 +26,7 @@ post_install() {    echo "Adding sudo permissions for http {backup_job}"    echo "Adding sudo permissions for http {sv}"    LINE="nobody    ALL = NOPASSWD:/usr/bin/certmaster-ca" -  LINE1="http    ALL = NOPASSWD:/usr/MythVantage/bin/backup_job" +  LINE1="http    ALL = NOPASSWD:/usr/LH/bin/lh_system_backup_job"    LINE2="http    ALL = NOPASSWD:/sbin/sv"          setfacl -R -m u:nobody:rwx /data/srv/httpd/htdocs     for i in "$LINE"  "$LINE1" "$LINE2"  | 
