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" |