summaryrefslogtreecommitdiffstats
path: root/abs/core
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core')
-rw-r--r--abs/core/Kernel_rebuild_list3
-rw-r--r--abs/core/LinHES-config/09_mythvantge_runit_grub2
-rw-r--r--abs/core/LinHES-config/LinHES-release2
-rwxr-xr-xabs/core/LinHES-config/PKGBUILD33
-rwxr-xr-xabs/core/LinHES-config/autocard.py37
-rw-r--r--abs/core/LinHES-config/install_db_chroot.sh13
-rwxr-xr-xabs/core/LinHES-config/mv_advanced.py3
-rwxr-xr-xabs/core/LinHES-config/mv_common.py12
-rwxr-xr-xabs/core/LinHES-config/mv_fileshare.py17
-rw-r--r--abs/core/LinHES-config/mv_install.py2
-rwxr-xr-xabs/core/LinHES-config/mv_ir.py30
-rwxr-xr-xabs/core/LinHES-config/mv_software.py1
-rwxr-xr-xabs/core/LinHES-config/mv_webuser.py3
-rwxr-xr-xabs/core/LinHES-config/pinkNoise_3s.wavbin0 -> 264646 bytes
-rwxr-xr-xabs/core/LinHES-config/soundconfig.sh119
-rwxr-xr-xabs/core/LinHES-config/xconfig.sh9
-rwxr-xr-xabs/core/LinHES-system/LinHES-session40
-rwxr-xr-xabs/core/LinHES-system/LinHES-start19
-rwxr-xr-xabs/core/LinHES-system/PKGBUILD43
-rwxr-xr-xabs/core/LinHES-system/add_storage.py115
-rw-r--r--abs/core/LinHES-system/autostart.run7
-rwxr-xr-xabs/core/LinHES-system/balance_storage_groups.py153
-rwxr-xr-xabs/core/LinHES-system/checkXFSfrag.sh7
-rwxr-xr-xabs/core/LinHES-system/empty_storage_groups.py195
-rwxr-xr-xabs/core/LinHES-system/etc_care.cron2
-rw-r--r--abs/core/LinHES-system/find_orphans.py31
-rwxr-xr-xabs/core/LinHES-system/idle.py25
-rw-r--r--abs/core/LinHES-system/lh_system_backup_job43
-rw-r--r--abs/core/LinHES-system/linhes_update.sh72
-rw-r--r--abs/core/LinHES-system/linhes_update2.sh49
-rwxr-xr-xabs/core/LinHES-system/myth_mtc.cron26
-rwxr-xr-xabs/core/LinHES-system/myth_mtc.py59
-rwxr-xr-xabs/core/LinHES-system/mythvidexport.py20
-rwxr-xr-xabs/core/LinHES-system/stop_xss.sh2
-rw-r--r--abs/core/LinHES-system/system.install2
-rw-r--r--abs/core/acpid/PKGBUILD11
-rw-r--r--abs/core/acpid/acpid.service5
-rw-r--r--abs/core/acpid/acpid.socket8
-rw-r--r--abs/core/alsa-lib/PKGBUILD4
-rw-r--r--abs/core/alsa-plugins/PKGBUILD39
-rw-r--r--abs/core/alsa-utils/PKGBUILD6
-rw-r--r--abs/core/archlinux-keyring/PKGBUILD16
-rw-r--r--abs/core/archlinux-keyring/archlinux-keyring.install11
-rw-r--r--abs/core/atk/PKGBUILD10
-rw-r--r--abs/core/bash/PKGBUILD45
-rw-r--r--abs/core/bash/bash-4.3-old-memleak.patch24
-rw-r--r--abs/core/bash/parser-oob-4.2.patch85
-rw-r--r--abs/core/binutils/PKGBUILD45
-rw-r--r--abs/core/binutils/binutils-2.24-gold-testsuite-plugin.patch229
-rw-r--r--abs/core/binutils/binutils-2.24-lto-testsuite.patch78
-rw-r--r--abs/core/binutils/binutils-2.24-shared-pie.patch99
-rw-r--r--abs/core/binutils/binutils-e9c1bdad.patch78
-rw-r--r--abs/core/btrfs-progs/PKGBUILD69
-rw-r--r--abs/core/btrfs-progs/btrfs-progs.install10
-rw-r--r--abs/core/btrfs-progs/btrfs-scrub@.service7
-rw-r--r--abs/core/btrfs-progs/btrfs-scrub@.timer10
-rw-r--r--abs/core/ca-certificates/PKGBUILD49
-rw-r--r--abs/core/ca-certificates/ca-certificates-utils.install43
-rw-r--r--abs/core/ca-certificates/update-ca-trust27
-rw-r--r--abs/core/ca-certificates/update-ca-trust.8.txt265
-rw-r--r--abs/core/cairo/PKGBUILD17
-rw-r--r--abs/core/cairo/git_fixes.diff34
-rw-r--r--abs/core/certmaster/PKGBUILD8
-rw-r--r--abs/core/certmaster/certmaster.install2
-rwxr-xr-xabs/core/ceton_infinitv/PKGBUILD20
-rw-r--r--abs/core/cmake/PKGBUILD48
-rw-r--r--abs/core/cmake/__changelog1
-rw-r--r--abs/core/cmake/findfreetype.patch26
-rw-r--r--abs/core/cmake/rebuild.list4
-rw-r--r--abs/core/confuse/PKGBUILD6
-rw-r--r--abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch77
-rw-r--r--abs/core/coreutils/PKGBUILD27
-rw-r--r--abs/core/coreutils/__changelog2
-rw-r--r--abs/core/cryptsetup/PKGBUILD32
-rw-r--r--abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch47
-rw-r--r--abs/core/curl/PKGBUILD8
-rw-r--r--abs/core/dbus/30-dbus6
-rw-r--r--abs/core/dbus/PKGBUILD30
-rw-r--r--abs/core/dhcpcd/0001-Set-hostname-via-proc-if-file-is-available.patch33
-rw-r--r--abs/core/dhcpcd/0001-set-MTU-via-sysfs-if-file-is-available.patch61
-rw-r--r--abs/core/dhcpcd/PKGBUILD38
-rw-r--r--abs/core/dhcpcd/__changelog8
-rw-r--r--abs/core/dhcpcd/dhcpcd.service4
-rw-r--r--abs/core/dhcpcd/remove_ifconfig.patch20
-rw-r--r--abs/core/diffutils/PKGBUILD32
-rw-r--r--abs/core/diffutils/__changelog1
-rw-r--r--abs/core/dvb-firmware/PKGBUILD2
-rw-r--r--abs/core/dvb-firmware/dvb-fw/v4l-cx23885-enc.fwbin0 -> 376836 bytes
-rw-r--r--abs/core/e16_theme_settings/PKGBUILD16
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg16
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg25
-rw-r--r--abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg25
l---------abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Bold.ttf1
l---------abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Regular.ttf1
-rw-r--r--abs/core/elfutils/CVE-2014-0172.patch37
-rw-r--r--abs/core/elfutils/PKGBUILD56
-rw-r--r--abs/core/elfutils/fix-run-backtrace-native-core-test.patch43
-rw-r--r--abs/core/ffmpeg/0001-libx265-Support-API-version-9.patch50
-rw-r--r--abs/core/ffmpeg/PKGBUILD63
-rw-r--r--abs/core/file/001-fix-bug-with-long-options.patch109
-rw-r--r--abs/core/file/PKGBUILD50
-rw-r--r--abs/core/filesystem/PKGBUILD71
-rw-r--r--abs/core/filesystem/crypttab12
-rw-r--r--abs/core/filesystem/filesystem.install34
-rw-r--r--abs/core/filesystem/group7
-rw-r--r--abs/core/filesystem/gshadow9
-rw-r--r--abs/core/filesystem/locale.sh22
-rw-r--r--abs/core/filesystem/passwd21
-rw-r--r--abs/core/filesystem/shadow5
-rw-r--r--abs/core/fontconfig/0001-Revert-Bug-73291-poppler-does-not-show-fl-ligature.patch43
-rw-r--r--abs/core/fontconfig/0002-Update-aliases-for-new-URW-fonts.patch308
-rw-r--r--abs/core/fontconfig/29-replace-bitmap-fonts.conf37
-rw-r--r--abs/core/fontconfig/PKGBUILD18
-rw-r--r--abs/core/fontconfig/fontconfig.install1
-rw-r--r--abs/core/fontsproto/PKGBUILD6
-rw-r--r--abs/core/fping/PKGBUILD8
l---------abs/core/fping/fping-3.8-2.src.tar.gz1
-rw-r--r--abs/core/fribidi/PKGBUILD15
-rw-r--r--abs/core/gawk/PKGBUILD11
-rw-r--r--abs/core/gcc/PKGBUILD325
-rw-r--r--abs/core/gcc/Unlink-the-response-file.patch54
-rw-r--r--abs/core/gcc/gcc-ada.install20
-rw-r--r--abs/core/gcc/gcc-fortran.install16
-rw-r--r--abs/core/gcc/gcc-go.install20
-rw-r--r--abs/core/gcc/gcc-libs.install16
-rw-r--r--abs/core/gcc/gcc.install20
-rw-r--r--abs/core/gettext/PKGBUILD31
-rw-r--r--abs/core/ghostscript/PKGBUILD25
-rw-r--r--abs/core/ghostscript/add_gserrors_h.diff43
-rw-r--r--abs/core/ghostscript/bug_696246.diff203
-rw-r--r--abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff30
-rw-r--r--abs/core/glib2/PKGBUILD16
-rw-r--r--abs/core/glib2/memleak.patch25
-rw-r--r--abs/core/glibc/PKGBUILD137
-rw-r--r--abs/core/glibc/glibc-2.22-CVE-2015-7547.patch572
-rw-r--r--abs/core/glibc/glibc-2.22-roundup.patch2747
-rw-r--r--abs/core/glibc/glibc.install20
-rwxr-xr-xabs/core/glibc/locale-gen42
-rw-r--r--abs/core/glibc/locale.gen.txt23
-rw-r--r--abs/core/glproto/PKGBUILD10
-rw-r--r--abs/core/gnupg/PKGBUILD2
-rw-r--r--abs/core/gnutls/PKGBUILD46
-rw-r--r--abs/core/gnutls/gnutls.install2
-rw-r--r--abs/core/gobject-introspection/PKGBUILD33
-rw-r--r--abs/core/grep/PKGBUILD34
-rw-r--r--abs/core/grep/grep-2.11-exclude-dir-crash.patch44
-rw-r--r--abs/core/grep/grep.install17
-rw-r--r--abs/core/grub/0001-Fix-security-issue-when-reading-username-and-passwor.patch47
-rwxr-xr-xabs/core/grub/10_archlinux194
-rw-r--r--abs/core/grub/20_memtest86+29
-rw-r--r--abs/core/grub/60_memtest86+32
-rw-r--r--abs/core/grub/PKGBUILD481
-rw-r--r--abs/core/grub/__changelog6
-rw-r--r--abs/core/grub/archlinux_grub_mkconfig_fixes.patch22
-rw-r--r--abs/core/grub/grub-10_linux-detect-archlinux-initramfs.patch54
-rw-r--r--abs/core/grub/grub-2.00-mkinitcpio-0.15.patch11
-rw-r--r--abs/core/grub/grub-2.00.5086-fix-lvm-parsing.patch54
-rw-r--r--abs/core/grub/grub-add-GRUB_COLOR_variables.patch32
-rw-r--r--abs/core/grub/grub-intel-ucode.patch26
-rw-r--r--abs/core/grub/grub.cfg8
-rw-r--r--abs/core/grub/grub.default8
-rw-r--r--abs/core/grub/grub.install24
-rw-r--r--abs/core/grub/grub_bzr_export.sh113
-rw-r--r--abs/core/gtk2/PKGBUILD45
-rw-r--r--abs/core/gtk2/gtk-update-icon-cache.install3
-rw-r--r--abs/core/gtk2/gtkrc2
-rwxr-xr-xabs/core/iguanair/PKGBUILD15
-rw-r--r--abs/core/iguanair/__changelog1
-rw-r--r--abs/core/imap/PKGBUILD60
-rw-r--r--abs/core/imap/c-client-2006k_GENTOO_amd64-so-fix.patch13
-rw-r--r--abs/core/initscripts/PKGBUILD9
-rw-r--r--abs/core/initscripts/__changelog1
-rw-r--r--abs/core/inputproto/PKGBUILD7
-rw-r--r--abs/core/intltool/PKGBUILD17
-rw-r--r--abs/core/iproute2/PKGBUILD37
-rw-r--r--abs/core/iproute2/iproute2-fhs.patch132
-rw-r--r--abs/core/ivtv-utils/PKGBUILD17
-rw-r--r--abs/core/ivtv-utils/ivtv-utils.install31
-rw-r--r--abs/core/ldns/PKGBUILD23
-rw-r--r--abs/core/ldns/perl-recent.patch12
-rw-r--r--abs/core/less/PKGBUILD34
-rw-r--r--abs/core/libarchive/PKGBUILD4
-rw-r--r--abs/core/libarchive/__changelog4
-rw-r--r--abs/core/libass/PKGBUILD26
-rw-r--r--abs/core/libatasmart/0001-Dont-test-undefined-bits.patch28
-rw-r--r--abs/core/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch93
-rw-r--r--abs/core/libatasmart/PKGBUILD21
-rw-r--r--abs/core/libcec/PKGBUILD27
-rw-r--r--abs/core/libdrm/PKGBUILD23
-rw-r--r--abs/core/libevdev/PKGBUILD37
-rw-r--r--abs/core/libhdhomerun/PKGBUILD24
-rw-r--r--abs/core/libjpeg-turbo/PKGBUILD30
-rw-r--r--abs/core/libjpeg-turbo/jstdhuff.patch301
-rw-r--r--abs/core/libjpeg-turbo/overrun.patch21
-rw-r--r--abs/core/librsvg/PKGBUILD11
-rw-r--r--abs/core/libseccomp/PKGBUILD24
-rw-r--r--abs/core/libspectre/PKGBUILD5
-rw-r--r--abs/core/libtasn1/PKGBUILD17
-rw-r--r--abs/core/libtool/PKGBUILD44
-rw-r--r--abs/core/libunistring/PKGBUILD32
-rw-r--r--abs/core/libunistring/libunistring.install22
-rw-r--r--abs/core/libusb-compat/PKGBUILD17
-rw-r--r--abs/core/libusb-compat/libusb-0.1-libusbx.patch17
-rw-r--r--abs/core/libusb/PKGBUILD31
-rw-r--r--abs/core/libusbx/PKGBUILD32
-rw-r--r--abs/core/libvdpau/PKGBUILD11
-rw-r--r--abs/core/libvorbis/PKGBUILD30
-rw-r--r--abs/core/libx11/PKGBUILD18
-rw-r--r--abs/core/libxext/PKGBUILD12
-rw-r--r--abs/core/libxi/PKGBUILD18
-rw-r--r--abs/core/libxml2/PKGBUILD19
-rw-r--r--abs/core/libxml2/fix-CVE-2014-3660.patch28
-rw-r--r--abs/core/libxml2/revert-catalog-initialize.patch26
-rw-r--r--abs/core/libxrandr/PKGBUILD12
-rw-r--r--abs/core/libxrender/PKGBUILD15
-rw-r--r--abs/core/libxt/PKGBUILD18
-rw-r--r--abs/core/lighttpd/PKGBUILD40
-rwxr-xr-xabs/core/lighttpd/lighttpd.install11
-rw-r--r--abs/core/lighttpd/lighttpd.logrotate.d3
-rw-r--r--abs/core/lighttpd/lighttpd.rc.d38
-rw-r--r--abs/core/lighttpd/lighttpd.tmpfiles2
-rwxr-xr-x[-rw-r--r--]abs/core/linhes-theme/PKGBUILD35
-rw-r--r--abs/core/linhes-theme/base.xml.patch47
-rwxr-xr-xabs/core/linhes-theme/blank_coverart.pngbin0 -> 50947 bytes
-rw-r--r--abs/core/linhes-theme/bubble_background.pngbin0 -> 1857101 bytes
-rw-r--r--abs/core/linhes-theme/install-ui.xml28
-rw-r--r--abs/core/linhes-theme/linhes-theme.install20
-rw-r--r--abs/core/linhes-theme/menu-ui-vert.xml.patch136
-rw-r--r--abs/core/linhes-theme/osd.xml.patch29
-rwxr-xr-x[-rw-r--r--]abs/core/linhes-theme/preview.pngbin736603 -> 264596 bytes
-rw-r--r--abs/core/linhes-theme/recordings-ui.xml.patch140
-rw-r--r--abs/core/linhes-theme/video-ui.xml.patch1193
-rw-r--r--abs/core/linux-api-headers/PKGBUILD29
-rw-r--r--abs/core/linux-firmware/PKGBUILD4
-rw-r--r--abs/core/linux/0001-sdhci-revert.patch25
-rw-r--r--abs/core/linux/PKGBUILD55
-rw-r--r--abs/core/linux/config1189
-rw-r--r--abs/core/linux/config.x86_641147
-rw-r--r--abs/core/linux/linux.install4
-rw-r--r--abs/core/linux/linux.install.pkg6
-rw-r--r--abs/core/lirc/0001-doc-Add-Doxyfile-to-tarball.patch25
-rw-r--r--abs/core/lirc/0002-lirc.pc-Fix-bad-variable-reference-ordering-86.patch26
-rw-r--r--abs/core/lirc/0004-lirc-lsplugins-Bugfix.patch25
-rw-r--r--abs/core/lirc/0005-lirc_options.conf-Add-effective-user-to-template.patch24
-rw-r--r--abs/core/lirc/0006-doc-Clean-up-irsend-1-manpage.patch55
-rw-r--r--abs/core/lirc/0009-lib-lirc_log-Add-priority-labels-info-error.-to-sysl.patch70
-rw-r--r--abs/core/lirc/0010-lirc-setup-Fix-remote-config-file-display-problems.patch38
-rw-r--r--abs/core/lirc/0012-lib-Bad-bugfix-for-finding-.lircrc.patch27
-rw-r--r--abs/core/lirc/0013-tools-Make-make_rel_symlink.py-use-python3.patch42
-rw-r--r--abs/core/lirc/PKGBUILD45
-rw-r--r--abs/core/lirc/__changelog4
-rw-r--r--abs/core/lz4/PKGBUILD37
-rw-r--r--abs/core/lzo/PKGBUILD16
-rw-r--r--abs/core/make/PKGBUILD36
-rw-r--r--abs/core/make/make-3.82-bug30612.patch (renamed from abs/core/make/bug30612.patch)27
-rw-r--r--abs/core/make/make-3.82-bug30723.patch (renamed from abs/core/make/bug30723.patch)0
-rw-r--r--abs/core/make/make-3.82-dont-prune-intermediate.patch57
-rw-r--r--abs/core/make/make-3.82-expensive_glob.patch116
-rw-r--r--abs/core/make/make.install4
-rw-r--r--abs/core/mesa/PKGBUILD26
-rw-r--r--abs/core/mesa/workaround-for-robustness-and-reset-with-intel.patch15
-rw-r--r--abs/core/mkinitcpio/0001-avoid-compound-conditional-leading-to-spurious-error.patch39
-rw-r--r--abs/core/mkinitcpio/PKGBUILD19
-rw-r--r--abs/core/mkinitcpio/__changelog1
-rw-r--r--abs/core/mplayer/PKGBUILD33
-rw-r--r--abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch41
-rw-r--r--abs/core/mplayer/giflib51.patch24
-rw-r--r--abs/core/mysql/PKGBUILD8
-rwxr-xr-xabs/core/mysql/my.cnf1
-rwxr-xr-xabs/core/mythdb-initial/PKGBUILD8
-rw-r--r--abs/core/mythdb-initial/custom.sql9
-rw-r--r--abs/core/mythdb-initial/mc.sql284
-rw-r--r--abs/core/mythdb-initial/mc.sql.272555
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/autocard.cpp2
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h4
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/fileshare.cpp7
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/infrared.cpp18
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp16
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp90
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installdialog.h1
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp459
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h39
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/main.cpp29
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.cpp20
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro8
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp48
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h9
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp2
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/supplemental.cpp2
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp2
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp27
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h8
-rw-r--r--abs/core/mythinstall/PKGBUILD17
-rwxr-xr-x[-rw-r--r--]abs/core/mythinstall/logo-1.pngbin5402 -> 2286 bytes
-rw-r--r--abs/core/mythinstall/logo-2.pngbin11883 -> 40628 bytes
-rw-r--r--abs/core/mythinstall/logo-3.pngbin10795 -> 5402 bytes
-rw-r--r--abs/core/mythinstall/logo-4.pngbin40628 -> 11883 bytes
-rw-r--r--abs/core/mythinstall/logo-9.pngbin0 -> 10795 bytes
-rw-r--r--abs/core/mythtv/stable-0.27/git_src/git_hash2
-rw-r--r--abs/core/mythtv/stable-0.27/git_src/git_hash_web2
-rw-r--r--abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD4
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/PKGBUILD16
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch41
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/fixQTvirtualkeyboard.patch45
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/menu-xml/HOST_SETTINGS.xml2
-rw-r--r--abs/core/mythtv/stable-0.27/mythtv/recordings109
-rw-r--r--abs/core/mythtv/stable-0.27/mythweb/PKGBUILD4
-rwxr-xr-xabs/core/mythtv/stable-0.28/git_src/checkout_mythtv.sh40
-rwxr-xr-xabs/core/mythtv/stable-0.28/git_src/checkout_mythweb.sh38
-rw-r--r--abs/core/mythtv/stable-0.28/git_src/git_hash1
-rw-r--r--abs/core/mythtv/stable-0.28/git_src/git_hash_web1
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD125
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/__changelog1
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/archivemenu.xml.patch32
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/archiveutils.xml.patch27
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/cdparanoia.patch52
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/mythburn.py-aspectratio.patch138
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/mythplugins-mythzoneminder.install11
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/PKGBUILD115
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/__changelog2
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/add_categorytype_Program.pm.patch10
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/autoskip_reduce_commskip_jumpback.patch61
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/change_msg_types.patch71
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/disable_mythnotification_tuner_failure.patch42
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/fixQTvirtualkeyboard.patch.2846
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/HOST_SETTINGS.xml114
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/dvd_backup.xml39
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/game.xml12
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/info_menu.xml76
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/is.xml3
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/lh_backend_control.xml24
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/library.xml.patch25
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes.xml70
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes_tools.xml31
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/mainmenu.xml.patch15
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythbackup.xml22
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythrestore.xml24
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/optical_menu.xml.patch23
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/original/create_patch.sh5
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/siriusmenu.xml419
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/update.xml11
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/update2.xml25
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/menu-xml/xmmenu.xml574
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/myth_settings.patch1972
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/mythtv.install34
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/recordings134
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/suggestedstarttime.patch.v132
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/tv.cpp_fix_caps.patch13
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/videoAlwaysUseBookmark.patch22
-rw-r--r--abs/core/mythtv/stable-0.28/mythweb/PKGBUILD58
-rw-r--r--abs/core/mythtv/stable-0.28/mythweb/mythweb.include8
-rw-r--r--abs/core/mythtv/stable-0.28/mythweb/mythweb.install22
-rw-r--r--abs/core/mythtv/stable-0.28/mythweb/mythweb_gen_light.conf1
-rw-r--r--abs/core/nano/PKGBUILD17
-rw-r--r--abs/core/nasm/PKGBUILD34
-rw-r--r--abs/core/nasm/nasm.install (renamed from abs/core/nano/nano.install)8
-rw-r--r--abs/core/nettle/PKGBUILD21
-rw-r--r--abs/core/nvidia-304xx-utils/PKGBUILD17
-rw-r--r--abs/core/nvidia-304xx/PKGBUILD68
-rw-r--r--abs/core/nvidia-304xx/disable-mtrr.patch24
-rw-r--r--abs/core/nvidia-304xx/nv-drm.patch27
-rw-r--r--abs/core/nvidia-304xx/nvidia-304xx-dkms.install30
-rw-r--r--abs/core/nvidia-304xx/nvidia-304xx.install13
-rw-r--r--abs/core/nvidia-304xx/nvidia.install15
-rw-r--r--abs/core/nvidia-340xx-utils/PKGBUILD17
-rw-r--r--abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install18
-rw-r--r--abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf6
-rw-r--r--abs/core/nvidia-340xx/PKGBUILD55
-rw-r--r--abs/core/nvidia-340xx/nv-drm.patch27
-rw-r--r--abs/core/nvidia-340xx/nvidia-340xx-dkms.install30
-rw-r--r--abs/core/nvidia-340xx/nvidia-340xx.install8
-rw-r--r--abs/core/nvidia-utils/PKGBUILD82
-rw-r--r--abs/core/nvidia-utils/nvidia-utils.install18
-rw-r--r--abs/core/nvidia/PKGBUILD83
-rw-r--r--abs/core/nvidia/nv-drm-343.36.patch14
-rw-r--r--abs/core/nvidia/nvidia.install13
-rw-r--r--abs/core/openssh/PKGBUILD23
-rw-r--r--abs/core/openssh/dispatch.patch81
-rw-r--r--abs/core/openssh/error.patch25
-rw-r--r--abs/core/openssh/sshd.conf1
-rw-r--r--abs/core/openssh/sshdgenkeys.service10
-rw-r--r--abs/core/openssl/PKGBUILD17
-rw-r--r--abs/core/openssl/ssl3-test-failure.patch26
-rw-r--r--abs/core/p11-kit/PKGBUILD34
-rw-r--r--abs/core/p11-kit/libnssckbi-compat.patch57
-rw-r--r--abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch32
-rw-r--r--abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch27
-rw-r--r--abs/core/pacman/PKGBUILD45
-rw-r--r--abs/core/pacman/__changelog4
-rw-r--r--abs/core/pacman/makepkg-asroot.patch22
-rw-r--r--abs/core/pacman/makepkg.conf21
-rw-r--r--abs/core/pacman/pacman.conf95
-rw-r--r--abs/core/pacman/pacman.conf.i6861
-rw-r--r--abs/core/pacman/pacman.conf.x86_641
-rw-r--r--abs/core/pacman/pacman.cron20
-rw-r--r--abs/core/pacman/pacman.install67
-rw-r--r--abs/core/pam/PKGBUILD37
-rw-r--r--abs/core/pam/pam-1.1.8-cve-2013-7041.patch52
-rw-r--r--abs/core/pam/pam-1.1.8-cve-2014-2583.patch56
-rw-r--r--abs/core/pambase/PKGBUILD18
-rw-r--r--abs/core/pambase/system-auth3
-rw-r--r--abs/core/pambase/system-login5
-rw-r--r--abs/core/pambase/system-services2
-rw-r--r--abs/core/pango/PKGBUILD17
-rw-r--r--abs/core/pango/pango.install12
-rw-r--r--abs/core/patch/PKGBUILD25
-rw-r--r--abs/core/patch/patch-2.7.1-initialize-data-structures-early-enough.patch81
-rw-r--r--abs/core/pcre/01-CVE-2016-1283.patch18
-rw-r--r--abs/core/pcre/PKGBUILD65
-rw-r--r--abs/core/php/PKGBUILD53
-rw-r--r--abs/core/php/__changelog2
-rw-r--r--abs/core/php/php-fpm.conf.in.patch18
-rw-r--r--abs/core/php/php.ini.patch30
-rwxr-xr-xabs/core/php/php.install2
-rw-r--r--abs/core/pixman/PKGBUILD4
-rw-r--r--abs/core/poppler/PKGBUILD21
-rw-r--r--abs/core/poppler/__changelog1
-rw-r--r--abs/core/procps-ng/PKGBUILD11
-rw-r--r--abs/core/python2/PKGBUILD22
-rw-r--r--abs/core/python_modules/__changelog1
-rw-r--r--abs/core/python_modules/pycairo/PKGBUILD26
-rw-r--r--abs/core/python_modules/pygobject/PKGBUILD19
-rw-r--r--abs/core/python_modules/pygobject2/PKGBUILD35
-rw-r--r--abs/core/python_modules/pyopenssl/PKGBUILD74
-rw-r--r--abs/core/python_modules/pyopenssl/__changelog1
-rw-r--r--abs/core/python_modules/python-cffi/PKGBUILD49
-rw-r--r--abs/core/python_modules/python-cryptography/PKGBUILD60
-rw-r--r--abs/core/python_modules/python-idna/PKGBUILD50
-rw-r--r--abs/core/python_modules/python-idna/__changelog1
-rw-r--r--abs/core/python_modules/python-pyasn1/PKGBUILD39
-rw-r--r--abs/core/python_modules/python-pyasn1/__changelog1
-rw-r--r--abs/core/python_modules/python-pycurl/PKGBUILD87
-rw-r--r--abs/core/python_modules/python-pycurl/__changelog2
-rw-r--r--abs/core/python_modules/python-simplejson/PKGBUILD18
-rw-r--r--abs/core/python_modules/python2-cairo/PKGBUILD5
-rw-r--r--abs/core/python_modules/python2-enum34/PKGBUILD26
-rw-r--r--abs/core/python_modules/python2-ipaddress/LICENSE50
-rw-r--r--abs/core/python_modules/python2-ipaddress/PKGBUILD28
-rw-r--r--abs/core/python_modules/urlgrabber/PKGBUILD19
-rw-r--r--abs/core/qt4/CVE-2014-0190.patch32
-rw-r--r--abs/core/qt4/PKGBUILD56
-rw-r--r--abs/core/qt4/__changelog6
-rw-r--r--abs/core/qt4/fix-assistant-crash.patch12
-rw-r--r--abs/core/qt4/glib-honor-ExcludeSocketNotifiers-flag.diff63
-rw-r--r--abs/core/qt4/kde4-settings.patch11
-rw-r--r--abs/core/qt4/kubuntu_14_systemtrayicon.diff1466
-rw-r--r--abs/core/qt4/l-qclipboard_delay.patch12
-rw-r--r--abs/core/qt4/l-qclipboard_fix_recursive.patch94
-rw-r--r--abs/core/qt5/PKGBUILD579
-rw-r--r--abs/core/qt5/__changelog3
-rw-r--r--abs/core/qt5/assistant.desktop8
-rw-r--r--abs/core/qt5/designer.desktop10
-rw-r--r--abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch32
-rw-r--r--abs/core/qt5/linguist.desktop9
-rw-r--r--abs/core/qt5/qdbusviewer.desktop9
-rw-r--r--abs/core/qt5/qt5-tools.install12
-rw-r--r--abs/core/qt5/rebuild.list6
-rw-r--r--abs/core/randrproto/PKGBUILD11
-rw-r--r--abs/core/readline/PKGBUILD13
-rw-r--r--abs/core/rsyslog/PKGBUILD67
-rw-r--r--abs/core/rsyslog/__changelog9
-rw-r--r--abs/core/rsyslog/gnutls.patch36
-rw-r--r--abs/core/rsyslog/mythtv.conf36
-rw-r--r--abs/core/rsyslog/rsyslog.conf.d6
-rw-r--r--abs/core/rsyslog/rsyslog.conf.linhes14
-rw-r--r--abs/core/rsyslog/rsyslog.install16
-rw-r--r--abs/core/rsyslog/rsyslog.logrotate7
-rwxr-xr-xabs/core/runit-scripts/PKGBUILD4
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/frontend/finish51
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/frontend/run4
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/msg_daemon/run2
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/mythbackend/run5
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/plexmediaserver/run20
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/rsyslog/run3
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/supplemental-slave/run2
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/vnc/run4
-rw-r--r--abs/core/runit-scripts/runitscripts/services/xymon-client/run6
-rw-r--r--abs/core/runit-scripts/runitscripts/services/xymon-server/run2
-rw-r--r--abs/core/shared-mime-info/PKGBUILD17
-rw-r--r--abs/core/shared-mime-info/pbm.patch42
-rw-r--r--abs/core/squashfs-tools/PKGBUILD10
-rw-r--r--abs/core/sudo/PKGBUILD24
-rw-r--r--abs/core/sudo/sudo.install19
-rw-r--r--abs/core/sudo/sudo.pam5
-rw-r--r--abs/core/supplemental-web/PKGBUILD19
-rw-r--r--abs/core/supplemental-web/contents/header.html4
-rw-r--r--abs/core/supplemental-web/supplemental-web.conf1
-rw-r--r--abs/core/supplemental-web/supplemental-web.include (renamed from abs/core/supplemental-web/lighttpd-supplement.conf)0
-rwxr-xr-xabs/core/system-templates/PKGBUILD2
-rw-r--r--abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff2111
-rw-r--r--abs/core/system-templates/templates/remotes/favorites/dvico/wol-lircrc2
-rw-r--r--abs/core/system-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb2
-rw-r--r--abs/core/system-templates/templates/remotes/favorites/streamzap/Lircmap.xml52
-rw-r--r--abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap8
-rw-r--r--abs/core/system-templates/templates/remotes/favorites/streamzap/lircrc28
-rw-r--r--abs/core/systemd/0001-fix-lingering-references-to-var-lib-backlight-random.patch54
-rw-r--r--abs/core/systemd/0001-fstab-generator-When-parsing-the-root-cmdline-option.patch29
-rw-r--r--abs/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch36
-rw-r--r--abs/core/systemd/0001-mount-check-for-NULL-before-reading-pm-what.patch29
-rw-r--r--abs/core/systemd/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch50
-rw-r--r--abs/core/systemd/0002-fstab-generator-Generate-explicit-dependencies-on-sy.patch102
-rw-r--r--abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch55
-rw-r--r--abs/core/systemd/0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch22
-rw-r--r--abs/core/systemd/0005-mount-service-drop-FsckPassNo-support.patch364
-rw-r--r--abs/core/systemd/0006-efi-boot-generator-hookup-to-fsck.patch81
-rw-r--r--abs/core/systemd/0007-fsck-root-only-run-when-requested-in-fstab.patch95
-rw-r--r--[-rwxr-xr-x]abs/core/systemd/PKGBUILD171
-rw-r--r--abs/core/systemd/__changelog4
-rw-r--r--abs/core/systemd/arch.conf7
-rw-r--r--abs/core/systemd/initcpio-hook-udev2
-rw-r--r--abs/core/systemd/initcpio-install-systemd39
-rw-r--r--abs/core/systemd/initcpio-install-udev1
-rw-r--r--abs/core/systemd/loader.conf1
-rw-r--r--abs/core/systemd/splash-arch.bmpbin0 -> 378226 bytes
-rw-r--r--abs/core/systemd/systemd.install225
-rw-r--r--abs/core/taglib/PKGBUILD36
-rw-r--r--abs/core/talloc/PKGBUILD18
-rw-r--r--abs/core/talloc/fix_test_path.patch13
-rw-r--r--abs/core/tdb/PKGBUILD17
-rw-r--r--abs/core/tilda/PKGBUILD48
-rw-r--r--abs/core/tilda/__changelog6
-rw-r--r--abs/core/tilda/config_078
-rw-r--r--abs/core/tilda/tilda-conf-sigsegv.patch11
-rw-r--r--abs/core/tilda/tilda-fix.patch24
-rw-r--r--abs/core/tilda/tilda-glib2.patch11
-rw-r--r--abs/core/tilda/tilda.changelog52
-rw-r--r--abs/core/tilda/tilda_hide.patch38
-rw-r--r--abs/core/udevil/PKGBUILD22
-rw-r--r--abs/core/udevil/__changelog1
-rw-r--r--abs/core/udisks/PKGBUILD13
-rw-r--r--abs/core/update81-82.sh2
-rw-r--r--[-rwxr-xr-x]abs/core/util-linux/PKGBUILD49
-rw-r--r--abs/core/util-linux/__changelog1
-rw-r--r--abs/core/util-linux/util-linux.install21
-rw-r--r--abs/core/util-linux/uuidd.tmpfiles1
-rw-r--r--abs/core/v4l-utils/PKGBUILD10
-rw-r--r--abs/core/vdpauinfo/PKGBUILD14
-rw-r--r--abs/core/vdpauinfo/__changelog2
-rw-r--r--abs/core/vdpauinfo/vdpauinfo.changelog5
-rw-r--r--abs/core/wget/PKGBUILD16
-rw-r--r--abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch89
-rw-r--r--abs/core/x264/PKGBUILD20
-rw-r--r--abs/core/x265/PKGBUILD18
-rw-r--r--abs/core/x265/x265-1.7-fix-slowness-with-gcc-5.1.patch28
-rw-r--r--abs/core/xcb-util-image/LICENSE (renamed from abs/core/xcb-util/LICENSE)0
-rw-r--r--abs/core/xcb-util-image/PKGBUILD34
-rw-r--r--abs/core/xcb-util-keysyms/LICENSE267
-rw-r--r--abs/core/xcb-util-keysyms/PKGBUILD36
-rw-r--r--abs/core/xcb-util-renderutil/LICENSE267
-rw-r--r--abs/core/xcb-util-renderutil/PKGBUILD36
-rw-r--r--abs/core/xcb-util-wm/LICENSE267
-rw-r--r--abs/core/xcb-util-wm/PKGBUILD36
-rw-r--r--abs/core/xcb-util/PKGBUILD21
-rw-r--r--abs/core/xextproto/PKGBUILD10
-rw-r--r--abs/core/xf86-input-evdev/PKGBUILD29
-rw-r--r--abs/core/xf86-input-joystick/PKGBUILD23
-rw-r--r--abs/core/xf86-input-joystick/git-fixes.patch399
-rw-r--r--abs/core/xf86-input-keyboard/PKGBUILD19
-rw-r--r--abs/core/xf86-input-mouse/PKGBUILD15
-rw-r--r--abs/core/xf86-input-vmmouse/PKGBUILD19
-rw-r--r--abs/core/xf86-input-void/PKGBUILD21
-rw-r--r--abs/core/xf86-video-ati/PKGBUILD26
-rw-r--r--abs/core/xf86-video-intel/PKGBUILD52
-rw-r--r--abs/core/xf86-video-intel/xf86-video-intel.install22
-rw-r--r--abs/core/xf86-video-vesa/PKGBUILD27
-rw-r--r--abs/core/xf86-video-vmware/PKGBUILD24
-rw-r--r--abs/core/xf86-video-vmware/xatracker-v2-fixes.patch1583
-rw-r--r--abs/core/xfsprogs/PKGBUILD13
-rw-r--r--abs/core/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch42
-rw-r--r--abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch55
-rw-r--r--abs/core/xorg-server/10-quirks.conf10
-rw-r--r--abs/core/xorg-server/PKGBUILD162
-rw-r--r--abs/core/xorg-server/Xwrapper.config3
-rw-r--r--abs/core/xorg-server/__changelog5
-rw-r--r--abs/core/xorg-server/autoconfig-nvidia.patch28
-rw-r--r--abs/core/xorg-server/autoconfig-sis.patch21
-rw-r--r--abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch12
-rw-r--r--abs/core/xorg-server/xorg-server.install18
-rw-r--r--abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch14
-rw-r--r--abs/core/xproto/PKGBUILD16
-rw-r--r--abs/core/xterm/PKGBUILD9
-rw-r--r--abs/core/xtrans/PKGBUILD33
-rwxr-xr-xabs/core/xymon/PKGBUILD43
-rwxr-xr-xabs/core/xymon/clientlaunch.cfg.patch30
-rwxr-xr-xabs/core/xymon/graphs.cfg.diff (renamed from abs/core/xymon/graph.cfg.diff)23
-rwxr-xr-xabs/core/xymon/hbnotes.py1
-rw-r--r--abs/core/xymon/hobbit-myth-orphan.sh51
-rwxr-xr-xabs/core/xymon/hobbit_myth_data.py3
-rw-r--r--abs/core/xymon/hobbit_notify.sh42
-rwxr-xr-xabs/core/xymon/tasks.d.mv14
-rw-r--r--abs/core/xymon/xymon-client.rules3
-rwxr-xr-xabs/core/xymon/xymon-hddtemp.sh62
-rw-r--r--abs/core/xymon/xymon-server.rules1
-rwxr-xr-xabs/core/xymon/xymon-smart.sh75
-rwxr-xr-xabs/core/xymon/xymonserver.cfg.diff19
-rw-r--r--abs/core/xz/PKGBUILD5
-rw-r--r--abs/core/zoneminder/PKGBUILD21
-rw-r--r--abs/core/zoneminder/zoneminder.install10
598 files changed, 26705 insertions, 9914 deletions
diff --git a/abs/core/Kernel_rebuild_list b/abs/core/Kernel_rebuild_list
index 2a1ae79..e096840 100644
--- a/abs/core/Kernel_rebuild_list
+++ b/abs/core/Kernel_rebuild_list
@@ -1,6 +1,5 @@
-As of 3.18.4
+As of 3.18.22
linux
-lirc
nvidia
nvidia-340xx
nvidia-304xx
diff --git a/abs/core/LinHES-config/09_mythvantge_runit_grub b/abs/core/LinHES-config/09_mythvantge_runit_grub
index 17fff2e..aef11a1 100644
--- a/abs/core/LinHES-config/09_mythvantge_runit_grub
+++ b/abs/core/LinHES-config/09_mythvantge_runit_grub
@@ -30,7 +30,7 @@ menuentry 'LinHES' --class arch --class gnu-linux --class gnu --class os $menuen
search --no-floppy --fs-uuid --set=root $boot_device_id
fi
echo 'Loading Linux core repo kernel ...'
- linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro quiet splash init=/sbin/runit $install_modules
+ linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro quiet splash udev.log-priority=3 init=/sbin/runit $install_modules
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux.img
}
diff --git a/abs/core/LinHES-config/LinHES-release b/abs/core/LinHES-config/LinHES-release
index 1a4fd80..050e6a5 100644
--- a/abs/core/LinHES-config/LinHES-release
+++ b/abs/core/LinHES-config/LinHES-release
@@ -1 +1 @@
-LinHES R8.3 (Lorne Malvo)
+LinHES R8.4 (Breaking Ground)
diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index e35f4a4..8af08e7 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-config
-pkgver=8.3
-pkgrel=12
+pkgver=8.4
+pkgrel=9
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'
@@ -48,6 +48,7 @@ source=(mv_install.py 09_mythvantge_runit_grub
mv_fileshare.py
mv_locale.py
systemconfig.py
+ pinkNoise_3s.wav
myth_user_call.py
mythvantage.cfg
config-sudo.rules
@@ -83,6 +84,7 @@ package() {
# install -m 0755 restore_default_settings.sh $MVDIR/bin/restore_default_settings.sh
install -m 0755 myth_settings_wrapper.sh $MVDIR/bin/myth_settings_wrapper.sh
install -m 0755 soundconfig.sh $MVDIR/bin/soundconfig.sh
+ install -Dm 0755 pinkNoise_3s.wav $pkgdir/usr/share/sounds/pinkNoise_3s.wav
install -m 0755 networkconfig.sh $MVDIR/bin/networkconfig.sh
install -m 0755 create_master.sh $MVDIR/bin/create_master.sh
install -m 0755 build_diskless.sh $MVDIR/bin/build_diskless.sh
@@ -135,46 +137,47 @@ package() {
install -o root -g root -D -m 0755 blacklist_nouveau.conf $pkgdir/etc/modprobe.d/blacklist_nouveau.conf
}
-md5sums=('17d9dd5a097fbbd4dae75dff8e2677ff'
- '3f6855b7bb860a44f96a972c2e80f497'
+md5sums=('97b810ddc35d1f441dbe8cdd6886e2af'
+ '51525188ac6f6034422c5d71d0c84408'
'f6e9dd7bc6cf0aaa3bd203dab4cb79b9'
'2596460462cf6c889cf8f95485537b20'
'985891a43f7c4c983eb2a362162f1a0f'
'261ba62515edd7a13d46cbeb1b0eadca'
'6821fdfacf2aac44275200d3acaadb56'
'f73d6d6f98839e900cb6685bf5dc4eae'
- 'b8becf69d4309b938ceba3178c799270'
+ '27e4fcacca9b9662dd782fbdc92fceea'
'2a7f3b34e522acfd08283b86c8926aba'
'b596d2e3779a434435bc0f0277b1ba3e'
- '6e5639fff82fa2ba76113ac1ab8f2016'
+ '9ecf4cb455aee12372832b1e7700988c'
'f0376c98a7986897406d393186c0365e'
'157e73d0f90d7b306aba8f5921aeedd3'
- 'f8f803cb5738ce0021cd37c1ab514c45'
- 'eef9b882ecb70648a8f253f85b73a274'
+ '1f58c0393a131f4a8f9a84b3fe08a7e4'
+ 'f9a46082c28a416ab0af730fd465ffc6'
'5f890ea9bda6aef652d2560ca19dac07'
'ab2aa42c2947148c2b1cac0ade6d1d55'
'd429b59d3cfb37b0624c6a4a71a7c2c0'
'f6a935c35123fdc7c259c01cbc794a64'
- 'b3ce302473883ca118d4a58f1b1306e2'
+ 'ccf7b6a8d0ccf2360a57384b45437e58'
'd3490e93f313bbbcbc6c3693c56b9c17'
'e959df98947eb0d2ea64ff616b61aab5'
'2506860a416e1988934225d80d501c2c'
- 'c0549457750c4f8e8038d904a0f3012a'
- 'cb7abd558b6540bc5e2232866a2a42f8'
+ 'f57200b66b6cf384f2c784b3e4303503'
+ 'b3505d27b65a4d35e252e2d256909e80'
'b845de3e05c1734cce4b9ac5e8f1baaf'
- '077ebce663edba30ba7f93e4d245d125'
+ '02b4378b17bca6bebdcc2258a80dfc6b'
'8b7dce4a3a0a281fa6656aa8781a648e'
'4b10fff21a0274f950f97f2b61e92463'
'824e49d9b01fed295c704ab68908b464'
'fe5e31b833cc6707209e9d656b6eb53c'
- '24ef3ad4be1bf367cca40469173f19af'
- '087a0ef743bc8af915503f8773536ce4'
+ '336f08aed2e3c0b9fd09563933d54735'
+ '68ca2af6fb9dba32ed668b9ae1564a01'
'38665330aeb3a8bdf7be24857fe035bb'
'80685e047993b00161be29e3580f3a40'
'b79fe6ef82b0b5e71d62806e773ed556'
- '595663a2cb0b43c4ea3fb3dac915a3c8'
+ '3cb673adb83b6afa52cffaa621b9d96b'
'781f161a79c3188a31c8615b8258b241'
'888a6c57f272d9fa3e77e216a421562b'
+ 'cdd5008ee77e67c1d51ad73a24612485'
'2596460462cf6c889cf8f95485537b20'
'dc3c5270691a62600475705f4cb78b56'
'4804aa93aaad3dfcfff08cd9ffd68836'
diff --git a/abs/core/LinHES-config/autocard.py b/abs/core/LinHES-config/autocard.py
index 19563a4..cb0a746 100755
--- a/abs/core/LinHES-config/autocard.py
+++ b/abs/core/LinHES-config/autocard.py
@@ -399,11 +399,12 @@ class dvb_tuners():
#self.staticdevice is set in create_udev_rule
def find_description(self):
- command = '/usr/bin/dvb-fe-tool -g -a %s' %self.dvb_number
+ command = '/usr/bin/dvb-fe-tool -a %s' %self.dvb_number
results=os.popen(command,'r')
line = results.readline().strip()
- d = line.split('''(''')
- return d[0]
+ d = line.split('''Frontend (''')
+ dd = d[0].split('''Device ''')
+ return dd[1]
def find_full_udev_attribs(self):
cmd = 'udevadm info -a -p $(udevadm info -q path -n %s)' %self.device
@@ -974,19 +975,23 @@ def find_in_use_card_list():
def usuage():
help='''
- Autocard.py is a program that will take the guess work out of setting up tuner/capture cards.
- There are 4 options:
- help : This help screen
- print: Will find and printout any detected capture cards, including network based tuners like the hdhomerun_config
- udev : This option creates a set of static device nodes for the local capture cards.
- Rules are based on pci/usb path so moving the card into a different expansion slot will nullify the udev rule
- HDPVR devices use the serial number as the primary key for the udev rule_list
-
- insertdb : This option will insert any detected cards into the MythTV database using the static device generated by udev.
- This option will also generate udev rules. Tuners that are already defined will not be readded.
-
- write_proxy: This will write out the config used by the service ceton_proxy
- all : The same as using print udev insertdb write_proxy
+ autocard.py takes the guess work out of setting up tuner/capture cards.
+
+ Options:
+ help: This help screen.
+ print: Find and printout any detected capture cards, including
+ network based tuners like the HDHomeRun.
+ udev: Creates a set of static device nodes for local capture cards.
+ Rules are based on pci/usb path so moving the card into a
+ different expansion slot will nullify the udev rule.
+ HDPVR devices use the serial number as the primary key for
+ the udev rule list.
+ insertdb: Insert any detected cards into the MythTV database using the
+ static device generated by udev.
+ insertdb will also generate udev rules. Tuners that are
+ already defined will not be readded.
+ write_proxy: Write out the config used by the service ceton_proxy.
+ all: The same as using: print udev insertdb write_proxy
EX:
diff --git a/abs/core/LinHES-config/install_db_chroot.sh b/abs/core/LinHES-config/install_db_chroot.sh
index 47de18c..077481d 100644
--- a/abs/core/LinHES-config/install_db_chroot.sh
+++ b/abs/core/LinHES-config/install_db_chroot.sh
@@ -11,8 +11,6 @@ echo "install_db_chroot hostname is $hostname"
. $MV_ROOT/bin/install_functions.sh
#myhost=`cat /etc/hostname`
-#mount -t proc none /proc
-pacman --noconfirm -S --force mysql
/etc/rc.d/mysqld
status=1
@@ -49,21 +47,10 @@ do
$MV_ROOT/bin/myth_settings_wrapper.sh -c USERJOBALLOW
$MV_ROOT/bin/myth_settings_wrapper.sh -c ACCESSCONTROL
if [ -d /data/srv/mysql/mythconverg ]
- #if [ -d /var/lib/mysql/mythconverg ]
then
- # pacman --noconfirm -R webcalendar
- # pacman --noconfirm --nodeps -S webcalendar
status=0
fi
-# if [ $SystemType = "Master_backend" ]
-# then
-# $MV_ROOT/bin/myth_settings_wrapper.sh -c BECONFIG -s master -a $dbhost
-# fi
fi
fi
done
/etc/rc.d/mysqld stop
-#umount /proc
-
-
-
diff --git a/abs/core/LinHES-config/mv_advanced.py b/abs/core/LinHES-config/mv_advanced.py
index de10d78..d67e420 100755
--- a/abs/core/LinHES-config/mv_advanced.py
+++ b/abs/core/LinHES-config/mv_advanced.py
@@ -97,6 +97,9 @@ def setup_splash(Usebootsplash):
#this is needed in case grub-mkconfig is run
cmd = ''' sed -i "s/^GRUB_DEFAULT.*$/GRUB_DEFAULT="1"/g" /etc/default/grub'''
mv_common.runcmd(cmd)
+ logging.info(" Running grub-mkconfig")
+ cmd="grub-mkconfig -o /boot/grub/grub.cfg"
+ mv_common.runcmd(cmd)
return
#def setup_rrd(UseRRD):
diff --git a/abs/core/LinHES-config/mv_common.py b/abs/core/LinHES-config/mv_common.py
index a009d72..367a067 100755
--- a/abs/core/LinHES-config/mv_common.py
+++ b/abs/core/LinHES-config/mv_common.py
@@ -224,9 +224,11 @@ def pacinstall(pkg):
elif pkg == "xbmc":
pacinstall("xbmc-pvr-addons")
elif pkg == "kodi":
- pacinstall("kodi-pvr-addons")
+ pacinstall("kodi-addon-pvr-mythtv-git")
elif pkg == "plexhometheater":
- pacinstall("plex-home-theater")
+ pacinstall("openpht")
+ elif pkg == "plexmediaserver":
+ pacinstall("plex-media-server")
elif pkg == "mame":
pacinstall("sdlmame")
elif pkg == "foldingathome":
@@ -266,9 +268,11 @@ def pacremove(pkg):
elif pkg == "xbmc":
pacremove("xbmc-pvr-addons")
elif pkg == "kodi":
- pacremove("kodi-pvr-addons")
+ pacremove("kodi-addon-pvr-mythtv-git")
elif pkg == "plexhometheater":
- pacremove("plex-home-theater")
+ pacremove("openpht")
+ elif pkg == "plexmediaserver":
+ pacremove("plex-media-server")
elif pkg == "mame":
pacremove("sdlmame")
elif pkg == "foldingathome":
diff --git a/abs/core/LinHES-config/mv_fileshare.py b/abs/core/LinHES-config/mv_fileshare.py
index 58c11d8..5844a2f 100755
--- a/abs/core/LinHES-config/mv_fileshare.py
+++ b/abs/core/LinHES-config/mv_fileshare.py
@@ -327,7 +327,6 @@ def setup_etc_exports(shares,data_config,servername,nfslist):
templine = "%s %s" %(sharename,mountpoint)
nfs_map_auto.append(templine)
-
#create the lists for both /etc/exports and nfs_map_auto
for share in shares:
if share == "/myth":
@@ -354,6 +353,22 @@ def setup_etc_exports(shares,data_config,servername,nfslist):
templine = nfs_auto_line %(servername,tempname,tempname)
nfs_map_auto.append(templine)
+ #read in users templates/nfs.shares
+ logging.debug(" processing nfs.shares file")
+ nfsshares_file=data_config.MYTHHOME+"/templates/nfs.shares"
+ try:
+ f = open(nfsshares_file,"r")
+ for line in f.read().splitlines():
+ if line.startswith("#"):
+ continue
+ item = line.split()
+ if len(line) <= 1 :
+ continue
+ logging.debug(" %s",line)
+ share_list.append(line)
+ except :
+ logging.critical(" Couldn't read %s",nfsshares_file)
+
new_exports=[]
new_exports.append("#This file was generated by systemconfig.py -m fileshare")
new_exports.append("#Use exportfs -arv to reread. \n\n")
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index 7dfbddb..ed3e342 100644
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -1242,7 +1242,7 @@ def grub_it():
new_line='''GRUB_COLOR_HIGHLIGHT="black/yellow"\n'''
if line.find(hidden_time) != -1 :
- new_line="GRUB_HIDDEN_TIMEOUT=5\n"
+ new_line="GRUB_HIDDEN_TIMEOUT=3\n"
newgrub.append(new_line)
diff --git a/abs/core/LinHES-config/mv_ir.py b/abs/core/LinHES-config/mv_ir.py
index 8eab7b0..bab77a5 100755
--- a/abs/core/LinHES-config/mv_ir.py
+++ b/abs/core/LinHES-config/mv_ir.py
@@ -34,13 +34,15 @@ def setup_lirc_links(mythhome):
if os.path.exists("/etc/lircrc"):
if not os.path.exists(mythhome+"/.mythtv/lircrc"):
logging.debug(" Creating symlink for myth lircrc")
- os.symlink("/etc/lircrc",mythhome+"/.mythtv/lircrc")
+ #os.symlink("/etc/lircrc",mythhome+"/.mythtv/lircrc")
+ mv_common.link_file("/etc/lircrc",mythhome+"/.mythtv/lircrc")
else:
logging.debug(" %s/lircrc already present",mythhome)
if not os.path.exists(mythhome+"/.lircrc"):
logging.debug(" Creating symlink for lircrc")
- os.symlink("/etc/lircrc",mythhome+"/.lircrc")
+ #os.symlink("/etc/lircrc",mythhome+"/.lircrc")
+ mv_common.link_file("/etc/lircrc",mythhome+"/.lircrc")
else:
logging.debug(" %s/.lircrc already present",mythhome)
else:
@@ -49,7 +51,8 @@ def setup_lirc_links(mythhome):
if os.path.exists("/etc/wol-lircrc"):
if not os.path.exists(mythhome+"/.wol-lircrc"):
logging.debug(" Creating symlink for .wol-lircrc")
- os.symlink("/etc/wol-lircrc",mythhome+"/.wol-lircrc")
+ #os.symlink("/etc/wol-lircrc",mythhome+"/.wol-lircrc")
+ mv_common.link_file("/etc/wol-lircrc",mythhome+"/.wol-lircrc")
else:
logging.debug(" %s/.wol-lircrc already present",mythhome)
else:
@@ -108,6 +111,12 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket):
currenttime = strftime("%b-%d-%Y-%H:%M:%S", localtime())
cmd = "mv /etc/lircd.conf /etc/lircd.conf-%s" %currenttime
mv_common.runcmd(cmd)
+ cmd = "mv /etc/lirc/lircd.conf.d/remote_lircd.conf /etc/lirc/lircd.conf.d/remote_lircd.conf-%s" %currenttime
+ mv_common.runcmd(cmd)
+ cmd = "mv /etc/lirc/lircd.conf.d/blaster_lircd.conf /etc/lirc/lircd.conf.d/blaster_lircd.conf-%s" %currenttime
+ mv_common.runcmd(cmd)
+ cmd = "mv /etc/lirc/lircd.conf.d/lcd_lircd.conf /etc/lirc/lircd.conf.d/lcd_lircd.conf-%s" %currenttime
+ mv_common.runcmd(cmd)
cmd = "mv /etc/lircrc /etc/lircrc-%s" %currenttime
mv_common.runcmd(cmd)
cmd = "mv /etc/wol-lircrc /etc/wol-lircrc-%s" %currenttime
@@ -121,13 +130,14 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket):
files = remote_path + "/lircd*"
logging.debug(" Using %s",files)
- # /etc/lircd.conf symlink
+ # was /etc/lircd.conf symlink
+ # /etc/lirc/lircd.conf.d/remote_lircd.conf symlink
for filename in glob.glob(files):
# Ignore subfolders
if os.path.isdir (filename):
logging.debug(" %s is a dir, skipping",filename)
continue
- os.symlink(filename,"/etc/lircd.conf")
+ mv_common.link_file(filename,"/etc/lirc/lircd.conf.d/remote_lircd.conf")
#files = templates + "/remotes/" + Remotetype + "/lircrc*"
# include lircrc
@@ -198,7 +208,7 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket):
cmd = ''' rm -f %s''' %(userLircmap)
mv_common.runcmd(cmd)
logging.debug(" Creating symlink for %s Lircmap.xml",app)
- os.symlink(kodifile, mythhome+"/"+userdirname+"/userdata/Lircmap.xml")
+ mv_common.link_file(kodifile, mythhome+"/"+userdirname+"/userdata/Lircmap.xml")
except:
pass
else:
@@ -316,8 +326,9 @@ def setup_blaster_proto(HostBlasterType,Hostnumblaster,TEMPLATES,systemconfig):
continue
template=TEMPLATES+"/transmit/%s/lircd.conf" %proto
if os.path.exists(template):
- logging.debug(" include blaster template: %s",proto)
- include_file("/etc/lircd.conf",template)
+ logging.debug(" link blaster template: %s",proto)
+ mv_common.link_file(template,"/etc/lirc/lircd.conf.d/blaster_lircd.conf")
+ #include_file("/etc/lircd.conf",template)
else:
logging.debug(" template: %s is not present",template)
@@ -400,7 +411,8 @@ def setup_lcd(LCDtype, TEMPLATES, Remotetype, this_is_install):
if os.path.isdir (filename):
logging.debug(" %s is a dir, skipping",filename)
continue
- include_file("/etc/lircd.conf",filename)
+ mv_common.link_file(filename,"/etc/lirc/lircd.conf.d/lcd_lircd.conf")
+ #include_file("/etc/lircd.conf",filename)
files = lcdlirc+"/lircrc*"
logging.debug(" Using %s",files)
for filename in glob.glob(files):
diff --git a/abs/core/LinHES-config/mv_software.py b/abs/core/LinHES-config/mv_software.py
index 102fa96..dcf95ee 100755
--- a/abs/core/LinHES-config/mv_software.py
+++ b/abs/core/LinHES-config/mv_software.py
@@ -73,6 +73,7 @@ def setup_software(systemconfig, data_config):
"webonlinhes",
"huludesktop",
"plexhometheater",
+ "plexmediaserver",
"kodi",
"dvdcss",
"foldingathome")
diff --git a/abs/core/LinHES-config/mv_webuser.py b/abs/core/LinHES-config/mv_webuser.py
index e349e0b..3fdbc35 100755
--- a/abs/core/LinHES-config/mv_webuser.py
+++ b/abs/core/LinHES-config/mv_webuser.py
@@ -13,7 +13,8 @@ def setup_web_auth(UseMythWEB_auth):
logging.info(" Enabling authorization for mythweb")
try:
fo = open(include_file, "w")
- out_string='''include "/etc/lighttpd/auth-inc.conf"'''
+ out_string='''include "/etc/lighttpd/auth-inc.conf"
+'''
fo.write(out_string)
fo.close()
except:
diff --git a/abs/core/LinHES-config/pinkNoise_3s.wav b/abs/core/LinHES-config/pinkNoise_3s.wav
new file mode 100755
index 0000000..bb75ca5
--- /dev/null
+++ b/abs/core/LinHES-config/pinkNoise_3s.wav
Binary files differ
diff --git a/abs/core/LinHES-config/soundconfig.sh b/abs/core/LinHES-config/soundconfig.sh
index 38687a4..e6aaa41 100755
--- a/abs/core/LinHES-config/soundconfig.sh
+++ b/abs/core/LinHES-config/soundconfig.sh
@@ -1,12 +1,11 @@
#!/bin/bash
+MYTH_RUN_STATUS="1"
. /etc/systemconfig
. /etc/profile
echo $@ >/tmp/audio.call
BASE=""
-MYTH_RUN_STATUS="1"
-. /etc/profile
-TESTFILE="/usr/share/sounds/alsa/Front_Center.wav"
+TESTFILE="/usr/share/sounds/pinkNoise_3s.wav"
OSSinstalled="false"
BLACKLIST=/etc/modprobe.d/soundconfig_blacklist.conf
@@ -23,26 +22,17 @@ function testaudio () {
function load_alsa() {
echo "Loading ALSA ..."
remove_service.sh alsa-utils 1> /dev/null 2> /dev/null
- KER=`uname -r`
- cd /lib/modules/$KER/
- echo " uncompressing ALSA modules"
- tar -xf sound-preoss.tar.bz2
- #echo " installing alsa-lib"
- #pacman -S --force --noconfirm alsa-lib
echo " uninstalling oss"
pacman -R --noconfirm oss
echo "triggering udev module load"
depmod -a
- cd - > /dev/null
- #udevadm trigger
udevadm settle
udevadm trigger
-
+ udevadm settle
add_service.sh alsa-utils
-
}
@@ -54,6 +44,7 @@ function unload_alsa () {
rm -rf /dev/adsp*
rm -rf /dev/snd/*
rm -rf /dev/audio
+ remove_asound
modprobe -r $(lsmod |grep ^snd |awk '{print $1}')
}
@@ -76,34 +67,17 @@ function installOSS {
pacman --noconfirm -S --force oss
fi
soundon
+ if [ ! $? = 0 ]
+ then
+ pacman --noconfirm -S --force gcc make binutils
+ soundon
+ fi
add_service.sh oss
echo "blacklist soundcore" > $BLACKLIST
echo "install soundcore /bin/false" >> $BLACKLIST
}
-function SYNCXINE {
- echo "modify xine config file"
- if [ -f $MYTHHOME/.xine/config ]
- then
- cp -f $MYTHHOME/.xine/config $TEMPLATES/xine.config
- else
- cp $TEMPLATES/xine.config.template $TEMPLATES/xine.config
- fi
-
- if [ x$Audiotype = xOSS ]
- then
- DEVICENUMBER=`echo $SoundDevice|awk -F/ ' { print $3 } '|tr -d dsp `
- sed -e "s/^.*audio.driver.*$/audio.driver:oss/" \
- -e "s/^.audio.device.oss_device_name.*$/audio.device.oss_device_name:\/dev\/dsp/" \
- -e "s/^.audio.devic.oss_device_number.*$/audio.device.oss_device_number:$DEVICENUMER/" \
- -e "s/^.*audio.output.speaker_arrangement:.*$/Audio.output.speaker_arrangement:PassThrough/" \
- $TEMPLATES/xine.config > $MYTHHOME/.xine/config
- else
- cp $TEMPLATES/xine.config $MYTHHOME/.xine/config
- fi
-}
-
function SYNCMPLAYER {
echo "modify mplayer config file"
if [ -f /etc/mplayer/mplayer.conf ]
@@ -113,7 +87,12 @@ function SYNCMPLAYER {
fi
if [ x$AUDIOTYPE = xALSA -o x$AUDIOTYPE = xalsa ]
then
- MPLAYERDEVICE=`echo $AUDIODEVICE | tr : = | tr , .`
+ if [ "$mixAUDIODEVICE" ]
+ then
+ MPLAYERDEVICE="plug=dmixer"
+ else
+ MPLAYERDEVICE=`echo $AUDIODEVICE | tr : = | tr , .`
+ fi
echo "ao=alsa:device=$MPLAYERDEVICE" > /etc/mplayer/mplayer.conf
echo "ac=hwac3,hwdts," >> /etc/mplayer/mplayer.conf
else
@@ -136,14 +115,44 @@ function checkOSSinstalled () {
fi
}
-function write_asound {
- echo "writing asound.conf file"
+function backup_asound {
+ echo "backup asound.conf file"
if [ -f /etc/asound.conf ]
then
backdate=`date +%b-%d-%Y-%H:%M:%S`
mv /etc/asound.conf /etc/asound.conf-$backdate
fi
- echo 'pcm.!default "'"$AUDIODEVICE"'"' > /etc/asound.conf
+}
+
+function remove_asound {
+ echo "removing asound.conf file"
+ backup_asound
+}
+
+function write_asound {
+ echo "writing asound.conf file"
+ backup_asound
+ mixAUDIODEVICE=""
+ if [[ $AUDIODEVICE == plughw:* ]]
+ then
+ mixAUDIODEVICE=`echo $AUDIODEVICE | sed 's/plughw:\(.\)/\1/g'`
+ echo 'pcm.dmixer {
+ type dmix
+ ipc_key 2048
+ slave {
+ pcm "hw:'"$mixAUDIODEVICE"'"
+ period_size 512
+ buffer_size 4096
+ }
+}
+
+pcm.!default {
+ type plug
+ slave.pcm "dmixer"
+}' > /etc/asound.conf
+ else
+ echo 'pcm.!default "'"$AUDIODEVICE"'"' > /etc/asound.conf
+ fi
}
function sound_config_system {
@@ -152,17 +161,14 @@ function sound_config_system {
write_asound
fi
SYNCMPLAYER
-# if [ x$syncXine = x1 ]
-# then
-# SYNCXINE
-# fi
}
function loadsound (){
checkOSSinstalled
if [ x$AUDIOTYPE = xOSS -o x$AUDIOTYPE = xoss ]
then
- while [ $OSSinstalled = "false" ]
+ i=1
+ while [[ $OSSinstalled = "false" && $i -le 20 ]]
do
unload_alsa
if [ -e /tmp/.alsatest ]
@@ -171,6 +177,7 @@ function loadsound (){
fi
installOSS
checkOSSinstalled
+ i=$(( $i + 1 ))
done
else
touch /tmp/.alsatest
@@ -232,6 +239,28 @@ case $SOUNDOPTYPE in
;;
test|TEST)
echo $@ > /tmp/audio.test
+
+ #set iec958 audio bit
+ if [[ $AUDIODEVICE == plughw:* ]]
+ then
+ cardName=`echo $AUDIODEVICE | sed 's/plughw:\(.*\),.*/\1/g'`
+ #cardDevice=`echo $AUDIODEVICE | sed 's/.*,\(.*\)/\1/g'`
+ iecset -c "$cardName" audio 1
+ else
+ cardName="0"
+ iecset audio 1
+ fi
+
+ #unmute IEC958
+ amixerControls=`amixer -c "$cardName" scontrols`
+ while read -r line; do
+ if [[ $line == *IEC958* ]]
+ then
+ amixCard=`echo "$line" | sed "s/.*\ \('.*\)/\1/g"`
+ amixer -c "$cardName" sset "$amixCard" unmute
+ fi
+ done <<< "$amixerControls"
+
#loadsound
if [ x$AUDIOTYPE = xOSS -o x$AUDIOTYPE = xoss ]
then
@@ -239,7 +268,7 @@ case $SOUNDOPTYPE in
ossplay -d$AUDIODEVICE $TESTFILE
else
echo "testing ALSA $AUDIODEVICE "
- echo aplay --device=$AUDIODEVICE $TESTFILE
+ #echo aplay --device=$AUDIODEVICE $TESTFILE
aplay --device=$AUDIODEVICE $TESTFILE
fi
;;
diff --git a/abs/core/LinHES-config/xconfig.sh b/abs/core/LinHES-config/xconfig.sh
index acc949c..a5ad9c2 100755
--- a/abs/core/LinHES-config/xconfig.sh
+++ b/abs/core/LinHES-config/xconfig.sh
@@ -65,7 +65,7 @@ function presetupX {
}
function nvidia_prepare {
- for i in mesa-libgl nvidia nvidia-utils nvidia-libgl opencl-nvidia nvidia-304xx nvidia-304xx-utils nvidia-304xx-libgl opencl-nvidia-304xx nvidia-340xx nvidia-340xx-utils nvidia-340xx-libgl opencl-nvidia-340xx
+ for i in libva-intel-driver mesa-libgl nvidia nvidia-utils nvidia-libgl opencl-nvidia libglvnd nvidia-304xx nvidia-304xx-utils nvidia-304xx-libgl opencl-nvidia-304xx nvidia-340xx nvidia-340xx-utils nvidia-340xx-libgl opencl-nvidia-340xx
do
pacman --noconfirm -Rdd $i >> $LOGFILE 2>&1
done
@@ -221,7 +221,7 @@ function intel_driver_install {
echo "Installing Intel driver" >> $LOGFILE 2>&1
#this is used to remove nvidia
nvidia_prepare
- pacman -S --noconfirm xf86-video-intel mesa-libgl >> $LOGFILE 2>&1
+ pacman -S --noconfirm xf86-video-intel libva-intel-driver mesa-libgl >> $LOGFILE 2>&1
echo "/usr/lib/libIntelXvMC.so.1" > "$XVMC_CONFIG"
}
@@ -350,7 +350,10 @@ if [ -f /etc/systemconfig ]
then
. /etc/systemconfig
else
- Xres="800x600"
+ #Xres="800x600"
+ Xres="Auto"
+ echo " Setting modeline to ${Xres}"
+ echo " Setting modeline to ${Xres}" >> $LOGFILE 2>&1
fi
CMDLINE=$(cat /proc/cmdline)
echo $CMDLINE | grep -q displayres
diff --git a/abs/core/LinHES-system/LinHES-session b/abs/core/LinHES-system/LinHES-session
index 4563078..c2b9b03 100755
--- a/abs/core/LinHES-system/LinHES-session
+++ b/abs/core/LinHES-system/LinHES-session
@@ -88,36 +88,34 @@ function load_nvidia_settings(){
function run_tilda(){
if [ -f /usr/bin/tilda ]
then
- if [ ! -e ~/.tilda/config_0 ]
+ if [ ! -e ~/.config/tilda/config_0 ]
then
- mkdir -p ~/.tilda/
+ mkdir -p ~/.config/tilda/
fi
width=`/usr/bin/xwininfo -root|grep Width | awk '{ print $2}'`
height=`/usr/bin/xwininfo -root|grep Height | awk '{ print $2}'`
center=$[width/2]
- sixtypercent=`echo "scale=0; ( $width*.6) / 1" |bc`
- quarter_height=`echo "scale=0; ($height*.35) /1" |bc`
+ tilda_width=`echo "scale=0; ( $width*.9) / 1" |bc`
+ tilda_height=`echo "scale=0; ($height*.4) /1" |bc`
-
- if [ $sixtypercent -lt 700 ]
- then
- sixtypercent=700
+ if [ $tilda_width -lt 700 ]
+ then
+ tilda_width=700
fi
- if [ $quarter_height -lt 350 ]
- then
- quarter_height=350
+ if [ $tilda_height -lt 350 ]
+ then
+ tilda_height=350
fi
- startloc=`echo "scale=0 ; (${center}-(${sixtypercent})/2) / 1" |bc`
+ startloc=`echo "scale=0 ; (${center}-(${tilda_width})/2) / 1" |bc`
- sed -e "s/^max_width.*$/max_width = $sixtypercent/" \
- -e "s/^max_height.*$/max_height = $quarter_height/" \
- -e "s/^x_pos.*$/x_pos = $startloc/g" /etc/tilda_config > ~/.tilda/config_0
+ sed -e "s/^max_width.*$/max_width = $tilda_width/" \
+ -e "s/^max_height.*$/max_height = $tilda_height/" \
+ -e "s/^x_pos.*$/x_pos = $startloc/g" /etc/tilda_config > ~/.config/tilda/config_0
/usr/bin/tilda -h &
-
fi
}
@@ -391,6 +389,15 @@ function stop_plymouth()
fi
}
+function machine-id_check()
+{
+ if [ ! -s /etc/machine-id ]
+ then
+ echo "Setting machine ID in /etc/machine-id"
+ sudo systemd-machine-id-setup
+ fi
+}
+
if [ x"$WM" = "fluxbox" ]
then
@@ -412,6 +419,7 @@ notify_scan &
auto_start &
update_apple_trailers
stop_plymouth &
+machine-id_check &
first_configure
show_help_tip
start_myth
diff --git a/abs/core/LinHES-system/LinHES-start b/abs/core/LinHES-system/LinHES-start
index 88ecffb..de6e9db 100755
--- a/abs/core/LinHES-system/LinHES-start
+++ b/abs/core/LinHES-system/LinHES-start
@@ -11,18 +11,18 @@
# Site administrators are STRONGLY urged to write nicer versions.
#
# $XFree86: xc/programs/xinit/startx.cpp,v 3.16tsi Exp $
-. /etc/profile
MYTH_RUN_STATUS="1"
+. /etc/profile
unset DBUS_SESSION_BUS_ADDRESS
unset SESSION_MANAGER
userclientrc=/etc/X11/Sessions/LinHES
userserverrc=$HOME/.xserverrc
-sysclientrc=/usr/X11R6/lib/X11/xinit/xinitrc
-sysserverrc=/usr/X11R6/lib/X11/xinit/xserverrc
-defaultclient=/usr/X11R6/bin/xterm
-defaultserver=/usr/X11R6/bin/X
+sysclientrc=/etc/X11/xinit/xinitrc
+sysserverrc=/etc/X11/xinit/xserverrc
+defaultclient=/usr/bin/xterm
+defaultserver=/usr/bin/X
defaultclientargs=""
defaultserverargs=""
clientargs=""
@@ -31,8 +31,6 @@ serverargs=""
-
-
if [ -f $userclientrc ]; then
defaultclientargs=$userclientrc
elif [ -f $sysclientrc ]; then
@@ -154,10 +152,3 @@ fi
if command -v deallocvt > /dev/null 2>&1; then
deallocvt
fi
-
-
-
-
-
-
-
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index d6b4bac..4af9bea 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-system
-pkgver=8.3
-pkgrel=9
+pkgver=8.4
+pkgrel=10
arch=('i686' 'x86_64')
install=system.install
pkgdesc="Everything that makes LinHES an automated system"
@@ -10,14 +10,15 @@ depends=('linhes-sounds' 'xdotool' 'tilda' 'keylaunch'
'python2-dbus' 'unclutter' 'wmctrl' 'archlinux-xdg-menu'
'ethtool' 'gnu-netcat' 'normalize' 'ttf-overlock'
'handbrake-cli' 'mkvtoolnix' 'mplayer' 'runit-scripts>=8.1-12')
-backup=('etc/modprobe.d/alsa-base.conf')
+backup=('etc/modprobe.d/alsa-base.conf' 'etc/X11/autostart/autostart.run')
binfiles="LinHES-start optimize_mythdb.py myth_mtc.py
load-modules-mythvantage.sh unclutter-toggle.sh tvterm.sh
mythfrontend-start set_windowmanager.sh myth_status.py myth_status.sh
install_supplemental_service.sh get_airplay_key importfiles.sh
lh_system_backup lh_system_backup_job lh_system_restore_job
lh_system_host_update lh_system_all_host_update
- add_storage.py diskspace.sh cacheclean lh_backend_control.sh
+ add_storage.py balance_storage_groups.py empty_storage_groups.py
+ diskspace.sh cacheclean lh_backend_control.sh
create_media_dirs.sh msg_client.py msg_daemon.py mythvidexport.py
gen_is_xml.py gen_lib_xml.py gen_light_include.py gen_game_xml.py
misc_recent_recordings.pl misc_status_config.py misc_status_info.sh
@@ -27,7 +28,7 @@ binfiles="LinHES-start optimize_mythdb.py myth_mtc.py
linhes_update.sh linhes_update2.sh myth2mkv myth2mp3 ripD_eject.sh
mythwelcome-config.py mythwelcome-set-alarm.sh mythwelcome-test-wakeup.sh"
-source=(LinHES-session LinHES-profile.sh $binfiles
+source=(LinHES-session autostart.run LinHES-profile.sh $binfiles
alsa-base cacheclean.cron fstrim.cron myth_mtc.cron xfs_defrag.cron etc_care.cron
readme_is_xml readme_light add_storage.readme
system-sudo.rules msg.cfg)
@@ -39,6 +40,7 @@ package() {
BINDIR=$pkgdir/usr/bin
install -m755 -D LinHES-session $pkgdir/etc/X11/Sessions/LinHES
+ install -m755 -D autostart.run $pkgdir/etc/X11/autostart/autostart.run
install -m755 -D LinHES-profile.sh $pkgdir/etc/profile.d/LinHES-profile.sh
#files install to /usr/LH/bin
@@ -77,11 +79,12 @@ package() {
}
-md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
+md5sums=('c03d5e54f00e404c561c7dc69fff9168'
+ 'ad5e144999b6f37931dea799c2761c7e'
'de32a1c50101265dd7f6ca5037f7a26a'
- '301884fb60521627fffd1160b2cf5181'
+ '2d7b8414ddce5f401331342ac1529c22'
'76b2637cac0452b3acdbeeb4e8a5474b'
- 'd02ddadeb2181f90954e435842cd7f0a'
+ '8e5d224788154fea8639a37eecdaefd9'
'dc3eef2a624754e16805d72bbe488b67'
'617af86b901538817ebdcaf646248dc5'
'542e670e78d117657f93141e9689f54d'
@@ -93,18 +96,20 @@ md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
'33fbebbd546672cedd3c5e7350ab414e'
'c773d8caacba8fbd4968e8afe5137bc6'
'3edef50a49a47694bf8add39cc160add'
- '8336874ee9e527f9799c3dec9fb770b5'
+ 'a730185e0d5d8bd0b6d06938d841c8c0'
'bc69a520add58ede9b060c73e67ace13'
'74e17d6f7453c52d56fecaed5c3f6ad5'
'47e093e8cfe4b5b96602358e1f540832'
- '63bbc62240f46a9997eaae4a84b09b76'
+ 'e270f46a1737a52e8f6b915830ef65f7'
+ '0c81e5cad656f6260e39cd7585b1421a'
+ 'e5bb027c54a2727d0bcf8d6fb357ba32'
'2c005d95312018bef80092136f80f254'
'c8db6a83ecc089ea37ab7fcb0f7a01cf'
'ca63946920ba33de1f15abda83e74e40'
'84c0ea62550b0bf9d84ab48eddc08276'
'3e60b17892e5b8214d47dcfddf5215a4'
'57ec994cc3964a10c00580e89ebcae35'
- '1da933fd2f4436c1ecaf3d6d0c7c0d68'
+ '00330dab3979f34b07b23b20ea06d37e'
'0c3509b48f11af0dc1bf989721fe9ca7'
'9249313ae171abd5405f60625020da63'
'f3502bb7c665750da0ecdf6918f7c838'
@@ -117,14 +122,14 @@ md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
'd8f30983055dcfe2f53197d0f9a62158'
'17f678d37187be0f12d67f64e40429c6'
'bacc813b48bafcc6fe906e5969930501'
- '8e02efe1ad0df9a179075147eebb05b9'
+ 'dedd3fcb1abec6361f4060d8149c7d6d'
'8b0298f70f97cc1dc2a58b9a73c64bd3'
- '716710e0db42147b079c9ec1c7080efa'
- '34fc1f58ad1eabf4eff4979d420760c0'
- '69ecfe682f1b61c2c4c95d890b9f523c'
+ 'b4bb70650893c811c854d446cfa6ca6a'
+ 'e30bf8ec8b9dcc2ceb7127375a91d8d1'
+ 'e9f545c3bcf9c85b45496c281fc6a1b8'
'a94fe6d980f4b810f2e2ae5352084b39'
- '384956b4fd9bf40907856bab0e67b169'
- 'f4ce577e2ab1b6dbf9def46a8ab86e2d'
+ '0d1632ea63d8145c173c6aecf0b007f0'
+ 'ff689f2e9572a78d88384b2e5774f579'
'28f29578e5b3ba84fdf2aa57cf475bcf'
'4a1fda884dcd7d65fb2690fbdbd92a83'
'2b7fe3b57592823a4c7e3ec132dcb7f4'
@@ -134,9 +139,9 @@ md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
'eb879fee9603a05d5420d4ce8ed9e450'
'02c810c2f47b7c4495fdacaf54189473'
'1aac1872bf9569ea58ceb2f6f766a654'
- 'dc48a53d4e5fe27b218657ccc318d07f'
+ '1fb7b4badf30508b0a761a2ae7d7887d'
'4d7164800122243be6513b29c8fc498e'
- 'd14fdc38878c70011754317b0f2ea59e'
+ '0b05329fda4b7c982778c233495a53d9'
'36bdfa8d877cea20ca3870faf08e08d5'
'59d0602bac7e06f11abba1894acc8bb0'
'b12bbf3e028f51b08acef2799a5708bc'
diff --git a/abs/core/LinHES-system/add_storage.py b/abs/core/LinHES-system/add_storage.py
index 2518927..260421f 100755
--- a/abs/core/LinHES-system/add_storage.py
+++ b/abs/core/LinHES-system/add_storage.py
@@ -2,7 +2,7 @@
#add_storage.py used to auto add new storage to MythTV storage groups
#If it's a new disk it will erase the entire disk and reformat.
#
-#Disks that are mounted, in fstab, size < 5000 bytes, optical or
+#Disks that are mounted, in fstab, size < 5000 bytes, optical or
#have already been seen will not be presented as an option.
#
@@ -31,9 +31,11 @@ SG_MAP={
'Music' :'media/music',
'Streaming' :'media/streaming',
'Videos' :'media/video',
+ 'Photographs':'media/photos',
'Banners' :'media/artwork/banners',
'Coverart' :'media/artwork/coverart',
'Fanart' :'media/artwork/fanart',
+ 'MusicArt' :'media/artwork/musicart',
'Screenshots':'media/artwork/screenshots',
'Trailers' :'media/artwork/trailers',
}
@@ -296,7 +298,7 @@ class disk_device:
print " Creating directory structure:"
print " %s" %self.new_mount_point
for y in FS_LIST:
- print " %s" %y
+ print " %s" %y
new_dir="%s/%s" %(self.new_mount_point,y)
try:
os.stat(new_dir)
@@ -351,6 +353,7 @@ class disk_device:
self.config.set('storage','fstype',self.new_fstype)
self.config.set('storage','shareable','True')
self.config.set('storage','mmount',self.mmount)
+ self.config.set('storage','storage_groups',self.dir_sg)
self.config.set('storage','disk_num',self.disk_num)
@@ -364,7 +367,7 @@ class disk_device:
return
def symlink_disk(self):
- print " Creating symlink for disk%s" %self.disk_num
+ print " Creating symlink for disk%s" %self.disk_num
disk_ln="%s/disk%s" %(self.top_mount_dir,self.disk_num)
cmd = "ln -s %s %s" %(self.new_mount_point,disk_ln)
runcmd(cmd)
@@ -479,7 +482,7 @@ def prompt_to_continue(process_list):
if destruction:
print "** WARNING: These disk(s) WILL be partitioned and formatted. **\n ** All content on these disk(s) will be erased. **"
else:
- print " ** These disk(s) will NOT be partitioned and formatted. **"
+ print " ** These disk(s) will NOT be partitioned and formatted. **"
for i in process_list:
print " %s" %(i.get_name())
str1 = raw_input("\n Press Y to add disk(s), any other key to cancel:")
@@ -503,12 +506,12 @@ def prompt_sg(dir_sg):
loop = True
prompt_string='''
MythTV Storage Groups are used for artwork, database backups,
- music, streaming, TV recordings, and videos.
+ photos, music, streaming, TV recordings, and videos.
The content on these storage groups will
only be available while the system is online.
- Enabling MythTV Storage Groups will create the directories
+ Enabling MythTV Storage Groups will create the directories
on the disk(s) and add the paths to the MythTV database.
Enable MythTV Storage Groups (Y/N)?:'''
@@ -551,7 +554,7 @@ def last_disk_num():
return num_list[-1]
#--------------------------------------------
-def main(scan_only, destruction, no_mount, install_call , dir_sg):
+def main(scan_only, destruction, no_mount, install_call, dir_sg):
global bus
bus = dbus.SystemBus()
@@ -742,6 +745,83 @@ def myth_main(no_mount,install_call,dir_sg):
cmd = "systemconfig.py -m fileshare"
runcmd(cmd)
+def reconstruct_storagegroups():
+ print "\nRecreating Storage Groups from contents of /etc/storage.d/\n"
+
+ DB = MythDB()
+ host=gethostname()
+
+ for conf_file in glob.glob('%s/*.conf' %storage_dir):
+ parser = SafeConfigParser()
+ parser.read(conf_file)
+ mount_point = parser.get('storage', 'mountpoint')
+ mmount = parser.getboolean('storage', 'mmount')
+ if not os.path.ismount(mount_point):
+ print "Skipping: " + mount_point + " not mounted"
+ continue
+ try:
+ dir_sg = parser.getboolean('storage', 'storage_groups')
+ except ConfigParser.NoOptionError, err:
+ print "SG not found in conf, get setting from DB"
+ dir_sg = False
+ # Get Storage Group directories from DB
+ recs = DB.getStorageGroup(groupname="Default")
+ for record in recs:
+ if record.dirname.startswith(mount_point):
+ dir_sg = True
+ # Write SG usage to conf
+ parser.set('storage','storage_groups',str(dir_sg))
+ with open(conf_file, 'wb') as conf_file:
+ parser.write(conf_file)
+
+ if dir_sg is True:
+ print "SGs Enabled for: " + mount_point
+ print " Creating directory structure:"
+ print " %s" %mount_point
+ for y in FS_LIST:
+ new_dir="%s/%s" %(mount_point,y)
+ try:
+ os.stat(new_dir)
+ print " %s - exists" %y
+ except:
+ os.makedirs(new_dir)
+ cmd="chown -R mythtv:mythtv /%s" %new_dir
+ runcmd(cmd)
+ cmd="chmod -R 775 /%s" %new_dir
+ runcmd(cmd)
+ print " %s - created" %y
+
+ print " Adding storage groups to DB"
+ if mmount is True:
+ sgweight=99
+ else:
+ sgweight=0
+
+ for key in SG_MAP.iterkeys():
+ gn=key
+ hn=host
+ dn="%s/%s" %(mount_point,SG_MAP[key])
+ with DB as c:
+ try:
+ c.execute("""insert into storagegroup (groupname,hostname,dirname) values (%s,%s,%s)""",(gn,hn,dn))
+ print " Added: %s to storagegroup %s" %(dn,gn)
+ except:
+ print " Skipping: %s exists" %dn
+ if sgweight > 0:
+ try:
+ sgw="SGweightPerDir:%s:%s" %(hn,dn)
+ if DB.settings[hn][sgw] == u'99':
+ print " Skipping: storage group weight DB entry exists"
+ else:
+ c.execute("""insert into settings (value,data,hostname) values (%s,%s,%s)""",(sgw,sgweight,hn))
+ print " Adding storage group weight of %s for %s\n" %(sgweight,gn)
+ except:
+ print " *Error setting storage group weight %s for %s\n" %(sgweight,gn)
+
+ else:
+ print "SGs Disabled for: " + mount_point
+ return
+
class reconstruct_path:
def __init__(self,conf_file):
self.conf_file = conf_file
@@ -841,7 +921,7 @@ class reconstruct_path:
print " Skipping symlink, /myth already exists"
def symlink_disk(self):
- print " Creating symlink for disk%s" %self.disk_num
+ print " Creating symlink for disk%s" %self.disk_num
disk_ln="%s/disk%s" %(self.top_mount_dir,self.disk_num)
cmd = "ln -s %s %s" %(self.mount_point,disk_ln)
runcmd(cmd)
@@ -897,6 +977,7 @@ class reconstruct_path:
self.config.set('storage','fstype',self.fstype)
self.config.set('storage','shareable','True')
self.config.set('storage','mmount',self.myth_mount)
+ self.config.set('storage','storage_groups',self.dir_sg)
self.config.set('storage','disk_num',self.disk_num)
print " %s" %self.conf_file
@@ -935,7 +1016,7 @@ def usage():
Scanned disks are ignored if they are mounted or have been
previously skipped by add_storage.py.
- The file system type for disks added by add_storage.py is
+ The file system type for disks added by add_storage.py is
automatically set to the type selected for the data partition
at install.
@@ -953,9 +1034,10 @@ def usage():
(if user enables MythTV Storage Groups)
Options:
- --add_sg: Create the MythTV Storage Group directories and
+ --add_sg: Create the MythTV Storage Group directories and
database entries for database backups, TV
- recordings, music, streaming, videos and artwork.
+ recordings, photos, music, streaming, videos
+ and artwork.
-h, --help: Show this help message.
--new_init: Erase the list of known disks and rescan.
--no_destruction: Will not partition or format the disk.
@@ -969,6 +1051,9 @@ def usage():
/data/storage/disk# symlink, and mount the disk.
--no_mount is the only option that works with
--reconstruct.
+ --reconstruct_sg: Recreate the MythTV Storage Group directories and
+ database entries if they don't exist.
+ No other options work with --reconstruct_sg.
--report: Scan disks and print new found disks.
'''
print help
@@ -985,6 +1070,7 @@ if __name__ == "__main__":
install_call = False
dir_sg = False
reconstruct = False
+ reconstruct_sg = False
try:
os.remove("/tmp/scan_report")
except:
@@ -1025,9 +1111,14 @@ if __name__ == "__main__":
if "--reconstruct" in sys.argv:
reconstruct = True
+ if "--reconstruct_sg" in sys.argv:
+ reconstruct_sg = True
+
if "--double_myth" in sys.argv:
myth_main(no_mount, install_call, dir_sg)
elif reconstruct == True:
reconstruct_mounts(no_mount)
+ elif reconstruct_sg == True:
+ reconstruct_storagegroups()
else:
- main(scan_only,destruction,no_mount, install_call, dir_sg)
+ main(scan_only, destruction, no_mount, install_call, dir_sg)
diff --git a/abs/core/LinHES-system/autostart.run b/abs/core/LinHES-system/autostart.run
new file mode 100644
index 0000000..278bc2b
--- /dev/null
+++ b/abs/core/LinHES-system/autostart.run
@@ -0,0 +1,7 @@
+#!/bin/bash
+# autostart.run runs after X has started.
+# Put startup commands for scripts and programs in this file.
+# Any files with execute permission in /etc/X11/autostart will also be run
+# when X starts.
+# Scripts and programs that don't require X can be started from
+# /etc/runit/1.local.
diff --git a/abs/core/LinHES-system/balance_storage_groups.py b/abs/core/LinHES-system/balance_storage_groups.py
new file mode 100755
index 0000000..27de6a9
--- /dev/null
+++ b/abs/core/LinHES-system/balance_storage_groups.py
@@ -0,0 +1,153 @@
+#!/usr/bin/python2
+
+import argparse, glob, operator, os, random, shutil, subprocess, sys, signal
+shouldQuit = False
+
+def getFreeSpaceForDir(dir):
+ stats = os.statvfs(dir)
+ return (stats.f_bavail * stats.f_frsize)
+
+def getFreePercentForDir(dir):
+ stats = os.statvfs(dir)
+ total = (stats.f_blocks)
+ avail = (stats.f_bavail)
+ return (total - avail) / float(total)
+
+def getFileSize(fullPath):
+ return os.path.getsize(fullPath)
+
+def sizeof_fmt(num, suffix='B'):
+ for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
+ if abs(num) < 1024.0:
+ return "%3.1f %s%s" % (num, unit, suffix)
+ num /= 1024.0
+ return "%.1f %s%s" % (num, 'Yi', suffix)
+
+def signal_handler(signal, frame):
+ print "\nWill quit when file has been moved.\nMoving File..."
+ global shouldQuit
+ shouldQuit = True
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-c', '--checkonly', action='store_true', help="Check only, don't move any files.")
+ parser.add_argument('-p', '--percent', type=int, default=7, help="The percentage difference between the most full dir and least full dir that will stop balancing.")
+ cmdargs = parser.parse_args()
+
+ SGDIRS = []
+ SGgrp = "Default"
+
+ signal.signal(signal.SIGINT, signal_handler)
+
+ print "\nBalance MythTV Storage Group Directories\nPress Ctrl+C to quit"
+
+ # Get Storage Groups from MythDB
+ try:
+ from MythTV import MythDB
+ mythDB = MythDB()
+ records = mythDB.getStorageGroup()
+ except:
+ print "Couldn't connect to MythTV database."
+ sys.exit(1)
+
+ # Get Storage Group directories
+ for record in records:
+ if record.groupname == SGgrp:
+ dirname = record.dirname
+ SGDIRS.append(dirname)
+
+ # If there are less than 2 directories defined bail as we can't move anything
+ if len(SGDIRS) < 2:
+ print "There are less than 2 directories defined. Exiting."
+ sys.exit(0)
+
+ while not shouldQuit:
+ SGDIRSdata = []
+ print "\n------------------------------------------------"
+ print "'" + SGgrp + "' Storage Group Directories - Percent Used:"
+ # Get percent free and size free
+ for directory in SGDIRS:
+ # Check if SG path exists
+ if not os.path.exists(directory):
+ print " " + directory + " - Not Mounted"
+ continue
+ freePcent = getFreePercentForDir(directory)
+ freeSize = getFreeSpaceForDir(directory)
+ SGDIRSdata.append([directory, freePcent, freeSize])
+ print " %s - %.2f%%" % (directory, freePcent * 100)
+
+ # Sort data on percent free
+ SGDIRSdata = sorted(SGDIRSdata, reverse=True, key=operator.itemgetter(1))
+ #print SGDIRSdata
+
+ # Check if SG has any ts, mpg or nuv files
+ i=0
+ for dir in SGDIRSdata:
+ mostFull = SGDIRSdata[i]
+ i=i+1
+ if len(glob.glob1(mostFull[0],"*.ts")) or len(glob.glob1(mostFull[0],"*.mpg")) or len(glob.glob1(mostFull[0],"*.nuv")):
+ break
+ else:
+ if i == 1:
+ print "------------------------------------------------"
+ print " " + mostFull[0] + " - NO files to move"
+
+ leastFull = SGDIRSdata[-1]
+
+ print "------------------------------------------------"
+ print "Most Used Storage Group Directory with files to move: "
+ print " %s - %.2f%%" % (mostFull[0], mostFull[1] * 100)
+ print "Least Used Storage Group Directory: "
+ print " %s - %.2f%%" % (leastFull[0], leastFull[1] * 100)
+
+ # Check if mostFull and leastFull are within the percent var of each other
+ if mostFull[1] - (float(cmdargs.percent) / 100) < leastFull[1]:
+ print "\nThe most used and least used storage group directories are\nwithin " + str(cmdargs.percent) + "% used of each other. No files will be moved."
+ sys.exit()
+
+ # Get random file from most used dir
+ fileToMove = random.choice([f for f in os.listdir(mostFull[0]) if f.endswith(".ts") or f.endswith(".mpg") or f.endswith(".nuv")])
+ filePathToMove = mostFull[0] + "/" + fileToMove
+
+ # Check that the file isn't too big for least used dir
+ fileSize = getFileSize(filePathToMove)
+ if (fileSize > getFreeSpaceForDir(leastFull[0])):
+ # Too big to move
+ print filePathToMove + " is too big to move to " + leastFull[0]
+ sys.exit()
+
+ print "------------------------------------------------"
+ print "Move File:"
+ print " " + filePathToMove
+ print " Size: " + sizeof_fmt(os.path.getsize(filePathToMove))
+ print "To:"
+ print " " + leastFull[0]
+ print " Available: " + sizeof_fmt(getFreeSpaceForDir(leastFull[0]))
+
+ # Move file
+ if cmdargs.checkonly:
+ print "------------------------------------------------"
+ print"Check Only option was used. No files were moved."
+ shouldQuit = True
+ else:
+ print "------------------------------------------------"
+ print "Checking System Status..."
+ if subprocess.call(["/usr/bin/python2", "/usr/LH/bin/idle.py", "-s"]):
+ print " System is busy. The file will not be moved."
+ sys.exit()
+ print "Moving File..."
+ try:
+ shutil.move(filePathToMove, leastFull[0])
+ # eg. src and dest are the same file
+ except shutil.Error as e:
+ print('Error: %s' % e)
+ except IOError as e:
+ print('Error: %s' % e.strerror)
+
+ # Remove png files
+ print "------------------------------------------------"
+ print "Removing png Files:"
+ pngFiles = glob.glob(filePathToMove + "*.png")
+ for p in pngFiles:
+ os.remove(p)
+ print " " + p
diff --git a/abs/core/LinHES-system/checkXFSfrag.sh b/abs/core/LinHES-system/checkXFSfrag.sh
index 74b73c4..709cdac 100755
--- a/abs/core/LinHES-system/checkXFSfrag.sh
+++ b/abs/core/LinHES-system/checkXFSfrag.sh
@@ -27,10 +27,11 @@
# Original Release: 2011 December 15 (Merry Christmas!)
# DO NOT ALTER HEADER FROM THIS LINE UP.
#
-e='/bin/echo -e' # Use the echo command, not built-in.
+e='/usr/bin/echo -e' # Use the echo command, not built-in.
xfsfsr=/usr/bin/xfs_fsr # Set variable with the path to xfs_fsr.
xfsdb=/usr/bin/xfs_db # Set variable with the path to xfs_db.
-pctmax=15 # Set maxiumum frag percent needed for defrag.
+ionice=/usr/bin/ionice # Set variable with the path to ionice.
+pctmax=12 # Set maxiumum frag percent needed for defrag.
# This is zero here for testing purposes only
# a higher number should be used in production.
array=`df -T|grep xfs|cut -f 1 --delim=" "` # Array of all XFS file systems.
@@ -48,7 +49,7 @@ do
$e "${i} is $percentage% fragmented. Running defragment on ${i}."
# Only uncomment one of the following two lines.
#$xfsfsr -v ${i} # Uncomment for verbose defrag.
- $xfsfsr ${i} # Uncomment for quiet defrag.
+ $ionice -c3 $xfsfsr ${i} # Uncomment for quiet defrag.
else
$e "${i} is $percent2% fragmented and is below the fragmentation threshold of $pctmax%. Skipping."
fi
diff --git a/abs/core/LinHES-system/empty_storage_groups.py b/abs/core/LinHES-system/empty_storage_groups.py
new file mode 100755
index 0000000..63adfe9
--- /dev/null
+++ b/abs/core/LinHES-system/empty_storage_groups.py
@@ -0,0 +1,195 @@
+#!/usr/bin/python2
+
+import argparse, glob, operator, os, random, shutil, subprocess, sys, signal
+shouldQuit = False
+
+def getFreeSpaceForDir(dir):
+ stats = os.statvfs(dir)
+ return (stats.f_bavail * stats.f_frsize)
+
+def getFreePercentForDir(dir):
+ stats = os.statvfs(dir)
+ total = (stats.f_blocks)
+ avail = (stats.f_bavail)
+ return (total - avail) / float(total)
+
+def getFileSize(fullPath):
+ return os.path.getsize(fullPath)
+
+def sizeof_fmt(num, suffix='B'):
+ for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
+ if abs(num) < 1024.0:
+ return "%3.1f %s%s" % (num, unit, suffix)
+ num /= 1024.0
+ return "%.1f %s%s" % (num, 'Yi', suffix)
+
+def signal_handler(signal, frame):
+ print "\nWill quit when file has been moved.\nMoving File..."
+ global shouldQuit
+ shouldQuit = True
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-c', '--checkonly', action='store_true', help="Check only, don't move any files.")
+ cmdargs = parser.parse_args()
+
+ SGs = []
+ SGDIRS = []
+ SGgrp = "Default"
+ SGselectdata = []
+
+ signal.signal(signal.SIGINT, signal_handler)
+
+ print "\nEmpty a MythTV Storage Group Directory\nPress Ctrl+C to quit"
+
+ # Get Storage Groups from MythDB
+ try:
+ from MythTV import MythDB
+ mythDB = MythDB()
+ records = mythDB.getStorageGroup()
+ recs = mythDB.getStorageGroup()
+ except:
+ print "Couldn't connect to MythTV database."
+ sys.exit(1)
+
+ # get list of non duplicate SGs
+ for record in records:
+ SGs.append(record.groupname)
+ SGs=list(set(SGs))
+ # Move Default to top of list
+ if "Default" in SGs:
+ SGs.remove("Default")
+ SGs.insert(0,"Default")
+
+ # ask user which SG to use
+ print "\n------------------------------------------------"
+ print "Storage Groups:"
+ for i,sg in enumerate(SGs):
+ print str(i+1) + ": " + sg
+
+ try:
+ SGselect=raw_input("\nEnter the number of the storage group to use (default 1): ") or 1
+ SGselect=int(SGselect)
+ if SGselect > len(SGs) or SGselect < 1:
+ SGselect=int("e")
+ except ValueError:
+ print "You must enter a number between 1 and " + str(len(SGs)) + ". Exiting."
+ sys.exit(0)
+
+ SGgrp=SGs[SGselect-1]
+
+ # Get Storage Group directories
+ for record in recs:
+ if record.groupname == SGgrp:
+ dirname = record.dirname
+ SGDIRS.append(dirname)
+
+ # If there are less than 2 directories defined bail as we can't move anything
+ if len(SGDIRS) < 2:
+ print "There are less than 2 directories defined. Exiting."
+ sys.exit(0)
+
+ while not shouldQuit:
+ SGDIRSdata = []
+ print "\n------------------------------------------------"
+ print "'" + SGgrp + "' Storage Group Directories - Percent Used:"
+ SGcnt=0
+ # Get percent free and size free
+ for directory in SGDIRS:
+ # Check if SG path exists
+ if not os.path.exists(directory):
+ print " " + directory + " - Not Mounted"
+ continue
+ # Check if SG has data files to move
+ if len(glob.glob1(directory,"*.ts")) or len(glob.glob1(directory,"*.mpg")) or len(glob.glob1(directory,"*.nuv")) or len(glob.glob1(directory,"*.jpg")):
+ freePcent = getFreePercentForDir(directory)
+ freeSize = getFreeSpaceForDir(directory)
+ SGDIRSdata.append([directory, freePcent, freeSize])
+ SGcnt=SGcnt+1
+ print "%s: %s - %.2f%%" % (SGcnt, directory, freePcent * 100)
+ else:
+ # Check if the selected SG dir has no data files exit
+ if SGselectdata and SGselectdata[0] == directory:
+ print "\n'" + SGgrp + "' Storage Group directories have no files to move. Exiting"
+ sys.exit(0)
+
+ # Exit if no SGs with data found
+ if SGcnt is 0:
+ print "\n'" + SGgrp + "' Storage Group directories have no files to move. Exiting."
+ sys.exit(0)
+
+ # Ask user to select which SG to empty if not already selected
+ if not SGselectdata:
+ try:
+ SGDIRselect=int(raw_input("\nEnter the number of the storage group directory to empty: "))
+ if SGDIRselect > SGcnt or SGDIRselect < 1:
+ SGDIRselect=int("e")
+ except ValueError:
+ print "You must enter a number between 1 and %s. Exiting." %SGcnt
+ sys.exit(0)
+
+ SGselectdata=SGDIRSdata[SGDIRselect-1]
+
+ # Sort data on percent free
+ SGDIRSdata = sorted(SGDIRSdata, reverse=True, key=operator.itemgetter(1))
+ leastFull = SGDIRSdata[-1]
+
+ # Make sure leastFull and SGselectdata are not the same dir
+ if leastFull[0] == SGselectdata[0]:
+ leastFull = SGDIRSdata[-2]
+
+ # Get random file from user selected dir
+ fileToMove = random.choice([f for f in os.listdir(SGselectdata[0]) if f.endswith(".ts") or f.endswith(".mpg") or f.endswith(".nuv") or f.endswith(".jpg")])
+ filePathToMove = SGselectdata[0] + "/" + fileToMove
+
+ # Check that the file isn't too big for least used dir
+ fileSize = getFileSize(filePathToMove)
+ if (fileSize > getFreeSpaceForDir(leastFull[0])):
+ # Too big to move
+ print filePathToMove + " is too big to move to " + leastFull[0]
+ sys.exit()
+
+ print "------------------------------------------------"
+ print "Move File:"
+ print " " + filePathToMove
+ print " Size: " + sizeof_fmt(os.path.getsize(filePathToMove))
+ print "To:"
+ print " " + leastFull[0]
+ print " Available: " + sizeof_fmt(getFreeSpaceForDir(leastFull[0]))
+
+ # Move file
+ if cmdargs.checkonly:
+ print "------------------------------------------------"
+ print"Check Only option was used. No files were moved."
+ shouldQuit = True
+ else:
+ print "------------------------------------------------"
+ print "Checking System Status..."
+ if subprocess.call(["/usr/bin/python2", "/usr/LH/bin/idle.py", "-s"]):
+ print " System is busy. The file will not be moved."
+ sys.exit()
+ print "Moving File..."
+ try:
+ shutil.move(filePathToMove, leastFull[0])
+ # eg. src and dest are the same file
+ except shutil.Error as e:
+ a=raw_input("\n%s. Overwrite destination (y/n)? " % e)
+ if a == "y" or a == "Y":
+ os.remove(leastFull[0] + "/" + fileToMove)
+ shutil.move(filePathToMove, leastFull[0])
+ else:
+ b=raw_input("\nRemove %s (y/n)? " % filePathToMove)
+ if b == "y" or b == "Y":
+ os.remove(filePathToMove)
+ # eg. source or destination doesn't exist
+ except IOError as e:
+ print('Error: %s' % e.strerror)
+
+ # Remove png files for Default & LiveTV SGs
+ if SGgrp == "Default" or SGgrp == "LiveTV":
+ print "------------------------------------------------"
+ print "Removing png Files:"
+ pngFiles = glob.glob(filePathToMove + "*.png")
+ for p in pngFiles:
+ os.remove(p)
+ print " " + p
diff --git a/abs/core/LinHES-system/etc_care.cron b/abs/core/LinHES-system/etc_care.cron
index 97e0283..ef405e8 100755
--- a/abs/core/LinHES-system/etc_care.cron
+++ b/abs/core/LinHES-system/etc_care.cron
@@ -4,7 +4,7 @@ MYTH_RUN_STATUS=1
KeepBackups=4
-for f in "/etc/lircd.conf" "/etc/lircrc" "/etc/wol-lircrc" "/etc/remote.run" "/etc/asound.conf"
+for f in "/etc/lircd.conf" "/etc/lircrc" "/etc/lirc/lircd.conf.d/remote_lircd.conf" "/etc/wol-lircrc" "/etc/remote.run" "/etc/asound.conf"
do
NumBackups=`ls -d $f-* | wc -l`
if [[ $NumBackups -gt $KeepBackups ]]
diff --git a/abs/core/LinHES-system/find_orphans.py b/abs/core/LinHES-system/find_orphans.py
index cdc03d4..b1d78de 100644
--- a/abs/core/LinHES-system/find_orphans.py
+++ b/abs/core/LinHES-system/find_orphans.py
@@ -12,7 +12,7 @@ def human_size(s):
while s > 1000:
s /= 1000
o += 1
- return str(round(s,1))+('B ','KB','MB','GB')[o]
+ return str(round(s,1))+('B ','KB','MB','GB','TB')[o]
class File( str ):
def __new__(self, host, group, path, name, size):
@@ -69,8 +69,9 @@ def populate(host=None):
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'):
+ if sg.groupname in ('Videos','Banners','Coverart','Fanart',\
+ 'Music','MusicArt', 'Photographs',\
+ 'Screenshots','Trailers'):
continue
try:
dirs,files,sizes = BE.getSGList(host, sg.groupname, sg.dirname)
@@ -97,7 +98,7 @@ def populate(host=None):
if name in f:
unfiltered.remove(f)
for f in list(unfiltered):
- if not (f.endswith('.mpg') or f.endswith('.nuv')):
+ if not (f.endswith('.mpg') or f.endswith('.nuv') or f.endswith('.ts')):
continue
orphvids.append(f)
unfiltered.remove(f)
@@ -120,7 +121,7 @@ def populate(host=None):
def delete_recs(recs):
printrecs('The following recordings will be deleted', recs)
- print 'Are you sure you want to continue?'
+ print 'Are you sure you want to continue? (yes/no)'
try:
res = raw_input('> ')
while True:
@@ -144,7 +145,7 @@ def delete_recs(recs):
def delete_files(files):
printfiles('The following files will be deleted', files)
- print 'Are you sure you want to continue?'
+ print 'Are you sure you want to continue? (yes/no)'
try:
res = raw_input('> ')
while True:
@@ -190,10 +191,15 @@ def main(host=None):
if len(unfiltered):
opts.append(['Delete other files', delete_files, unfiltered])
opts.append(['Refresh list', None, None])
- print 'Please select from the following'
+ print 'Please select from the following:'
for i, opt in enumerate(opts):
- print ' {0}. {1}'.format(i+1, opt[0])
+ if opt[0] == "Refresh list":
+ print ' R. {1}'.format(i+1, opt[0])
+ refreshNum=i+1
+ else:
+ print ' {0}. {1}'.format(i+1, opt[0])
+ print ' Q. Quit'
try:
inner = True
res = raw_input('> ')
@@ -201,10 +207,15 @@ def main(host=None):
try:
res = int(res)
except:
- res = raw_input('input number. ctrl-c to exit > ')
+ if res == "Q" or res == "q":
+ sys.exit(0)
+ elif res == "R" or res == "r":
+ res = refreshNum
+ else:
+ res = raw_input('Invalid selection > ')
continue
if (res <= 0) or (res > len(opts)):
- res = raw_input('input number within range > ')
+ res = raw_input('Invalid selection > ')
continue
break
opt = opts[res-1]
diff --git a/abs/core/LinHES-system/idle.py b/abs/core/LinHES-system/idle.py
index 4575e7d..05dedac 100755
--- a/abs/core/LinHES-system/idle.py
+++ b/abs/core/LinHES-system/idle.py
@@ -201,6 +201,22 @@ def userlogins_check(cmdargs):
else:
return True
+def sambafiles_check(cmdargs):
+ if (cmdargs.sambafiles):
+ msg(cmdargs," Checking if Samba files are in use...")
+ try:
+ smbstatus=subprocess.check_output(["smbstatus", "-L"])
+ except:
+ smbstatus="No locked files"
+ if "No locked files" in smbstatus:
+ msg(cmdargs," Samba files are NOT in use.")
+ return True
+ else:
+ msg(cmdargs," Samba files are in use.")
+ return False
+ else:
+ return True
+
def mythfe_check(cmdargs,cursor,mythDB):
#checks to see if a frontend is considered idle
# True means FE is idle
@@ -259,6 +275,7 @@ def usage():
determine if it is idle:
- (option -g) users are logged in return busy
ignores mythtv (:0) for busy
+ - (option -f) Samba files are in use return busy
- (option -l) mythshutdown is locked return busy
- (option -d) in a daily wake period or
about to start a daily wake period return busy
@@ -282,7 +299,8 @@ def usage():
def main(args=[False]):
parser = argparse.ArgumentParser()
parser.add_argument('-d', '--daily', action='store_true', help='Include daily wake & about to start wake in system busy. (default: daily wake & about to start wake is system idle)')
- parser.add_argument('-g', '--logins', action='store_true', help='Include user logins in system busy. ignores mythtv (:0) in system busy.')
+ parser.add_argument('-g', '--logins', action='store_true', help='Include user logins in system busy. Ignores mythtv (:0) in system busy.')
+ parser.add_argument('-f', '--sambafiles', action='store_true', help='Include Samba files in use in system busy.')
parser.add_argument('-l', '--lock', action='store_true', help='Include mythshutdown lock in system busy. (default: mythshutdown lock is system idle)')
parser.add_argument('-r', '--runningfe', action='store_true', help='Include running mythfrontends in system busy. (default: running mythfrontends are system idle)')
parser.add_argument('-s', '--silent', action='store_true', help='Run without printing output. Recommended for use in cron jobs or scripts.')
@@ -303,6 +321,11 @@ def main(args=[False]):
else:
idle = False
+ if (idle and sambafiles_check(cmdargs)):
+ idle = True
+ else:
+ idle = False
+
try:
from MythTV import MythDB
mythDB = MythDB()
diff --git a/abs/core/LinHES-system/lh_system_backup_job b/abs/core/LinHES-system/lh_system_backup_job
index ca6800a..00ab5f6 100644
--- a/abs/core/LinHES-system/lh_system_backup_job
+++ b/abs/core/LinHES-system/lh_system_backup_job
@@ -81,6 +81,24 @@ function backup(){
echo "Backup func keys"
cp -rp /etc/pki $BACKUPDIR/$DATE/pki
+ echo "Backup Plex Media Server databases and preferences"
+ if [ -e /data/storage/disk0/media/plex/Plex\ Media\ Server/Plug-in\ Support ]
+ then
+ mkdir $BACKUPDIR/$DATE/plex
+ backup_status_check $?
+ fi
+ if [ -e /data/storage/disk0/media/plex/Plex\ Media\ Server/Plug-in\ Support/Databases ]
+ then
+ cp -rp /data/storage/disk0/media/plex/Plex\ Media\ Server/Plug-in\ Support/Databases $BACKUPDIR/$DATE/plex/Databases
+ backup_status_check $?
+ fi
+ if [ -e /data/storage/disk0/media/plex/Plex\ Media\ Server/Plug-in\ Support/Preferences ]
+ then
+ cp -rp /data/storage/disk0/media/plex/Plex\ Media\ Server/Plug-in\ Support/Preferences $BACKUPDIR/$DATE/plex/Preferences
+ backup_status_check $?
+ fi
+
+ #create default backup_exclude.txt
if [ ! -f $MYTHHOME/backup_config/backup_exclude.txt ]
then
mkdir -p $MYTHHOME/backup_config/
@@ -88,7 +106,7 @@ function backup(){
chmod 777 $MYTHHOME/backup_config/backup_exclude.txt
fi
- for i in ".mythtv/themecache" ".mythtv/remotecache" ".mythtv/Cache-myth*" ".cache" "tmp" ".vnc/*log" ".vnc/*pid"
+ for i in ".mythtv/cache" ".mythtv/themecache" ".mythtv/remotecache" ".mythtv/Cache-myth*" ".cache" "tmp" ".vnc/*log" ".vnc/*pid" ".plexht/userdata/Thumbnails" ".plexht/userdata/ThemeMusicCache" ".kodi/userdata/Thumbnails"
do
grep -qF "$i" $MYTHHOME/backup_config/backup_exclude.txt
rc=$?
@@ -192,11 +210,28 @@ function remote_backup(){
fi
fi
else #do local copy to SECBACKUPLINK
- echo " Remote backup is not enabled, copying backup to $SECBACKUPLINK if it exists"
+ echo " Remote backup is not enabled, copying backup to another drive on this system."
SECBACKUPDISK=`readlink $SECBACKUPLINK`
- SECBACKUP=$SECBACKUPDISK/backup
+
+ if [ -z $SECBACKUPDISK ]
+ then
+ for dir in /data/storage/disk*
+ do
+ if [ $dir == /data/storage/disk0 ]
+ then
+ continue
+ fi
+ TESTDIR=`readlink $dir`
+ if [ -n $TESTDIR ]
+ then
+ SECBACKUPDISK=$TESTDIR
+ break
+ fi
+ done
+ fi
if [ -n "$SECBACKUPDISK" ]; then
+ SECBACKUP=$SECBACKUPDISK/backup
if [ `mountpoint -q -d $SECBACKUPDISK` ]; then
if [ ! -d "$SECBACKUP" ]; then
mkdir -p -m 775 $SECBACKUP
@@ -209,7 +244,7 @@ function remote_backup(){
echo " $SECBACKUPDISK isn't mounted."
fi
else
- echo " Link $SECBACKUPLINK doesn't exist."
+ echo " Could not find another drive on this system."
fi
fi
}
diff --git a/abs/core/LinHES-system/linhes_update.sh b/abs/core/LinHES-system/linhes_update.sh
index d563504..3ac2a56 100644
--- a/abs/core/LinHES-system/linhes_update.sh
+++ b/abs/core/LinHES-system/linhes_update.sh
@@ -9,17 +9,6 @@ usage () {
exit $1
}
-restart_mfe () {
- #check if started from mythfrontend-start and if so just kill mfe
- #otherwise reload mfe
- if [[ `pgrep -fx "/bin/bash /usr/LH/bin/mythfrontend-start"` ]]
- then
- killall mythfrontend
- else
- pkill -USR1 mythfrontend
- fi
-}
-
dsply () {
if grep -q "Updates Available" /usr/share/mythtv/themes/defaultmenu/linhes.xml
then
@@ -28,10 +17,10 @@ dsply () {
msg_client.py --kill
msg_client.py --msg "Updates available!\nGo to the Service Menu to install the updates.|middle"
else
- restart_mfe
+ killall mythfrontend
fi
echo " Updates available!"
- exit
+ exit
else
[ "$1" = false ] && { msg_client.py --msg "Checking for updates...|middle" --timeout 600 --tag "checkUpdates"; }
echo " Checking for updates..."
@@ -39,11 +28,11 @@ dsply () {
}
chck () {
- sudo pacman -Sy
+ sudo pacman -Sy
[ -f /tmp/to_be_upgraded ] && sudo rm /tmp/to_be_upgraded
- sudo pacman -Qu > /tmp/to_be_upgraded
- if [[ ! -s /tmp/to_be_upgraded ]]
- then
+ sudo pacman -Qu > /tmp/to_be_upgraded
+ if [[ ! -s /tmp/to_be_upgraded ]]
+ then
#hide LinHES update message on main menu
echo " Hiding update message in LinHES theme."
sudo sed -i '/LinHES UPDATE MESSAGE/c\ <!--LinHES UPDATE MESSAGE' /usr/share/mythtv/themes/LinHES/menu-ui.xml
@@ -51,33 +40,33 @@ chck () {
if [ "$1" = false ]; then
msg_client.py --clear --tag "checkUpdates"
msg_client.py --kill
- msg_client.py --msg "No updates available.\nReturning to Main Menu.|middle"
+ msg_client.py --msg "No updates available.\nReturning to Main Menu.|middle"
else
- restart_mfe
+ killall mythfrontend
fi
echo " No updates available."
- else
+ else
echo " Update menu to show Updates Available."
- mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp/linhes.xml.tmp
- sed -e '/\#Check/,/\#Check/d' < /tmp/linhes.xml.tmp > /usr/share/mythtv/themes/defaultmenu/linhes.xml
- mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp
- grep -v -e /mythmenu /tmp/linhes.xml > /tmp/linhes.xml.tmp
- echo "<!--#UpdatesAvailable-->" >> /tmp/linhes.xml.tmp
- echo " <button>" >> /tmp/linhes.xml.tmp
- echo " <type>UPGRADE</type>" >> /tmp/linhes.xml.tmp
- echo " <text>Updates Available</text>" >> /tmp/linhes.xml.tmp
- echo " <description>Updates for the LinHES system</description>" >> /tmp/linhes.xml.tmp
- echo " <action>MENU update2.xml</action>" >> /tmp/linhes.xml.tmp
- echo " </button>" >> /tmp/linhes.xml.tmp
- echo "<!--#UpdatesAvailable-->" >> /tmp/linhes.xml.tmp
- echo "</mythmenu>" >> /tmp/linhes.xml.tmp
- mv /tmp/linhes.xml.tmp /usr/share/mythtv/themes/defaultmenu/linhes.xml
+ mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp/linhes.xml.tmp
+ sed -e '/\#Check/,/\#Check/d' < /tmp/linhes.xml.tmp > /usr/share/mythtv/themes/defaultmenu/linhes.xml
+ mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp
+ grep -va '/mythmenu' /tmp/linhes.xml > /tmp/linhes.xml.tmp
+ echo "<!--#UpdatesAvailable-->" >> /tmp/linhes.xml.tmp
+ echo " <button>" >> /tmp/linhes.xml.tmp
+ echo " <type>UPGRADE</type>" >> /tmp/linhes.xml.tmp
+ echo " <text>Updates Available</text>" >> /tmp/linhes.xml.tmp
+ echo " <description>Updates for the LinHES system</description>" >> /tmp/linhes.xml.tmp
+ echo " <action>MENU update2.xml</action>" >> /tmp/linhes.xml.tmp
+ echo " </button>" >> /tmp/linhes.xml.tmp
+ echo "<!--#UpdatesAvailable-->" >> /tmp/linhes.xml.tmp
+ echo "</mythmenu>" >> /tmp/linhes.xml.tmp
+ mv /tmp/linhes.xml.tmp /usr/share/mythtv/themes/defaultmenu/linhes.xml
- echo "<mythmenu name=\"LH_UPDATE\">" > /tmp/update3.xml.tmp
+ echo "<mythmenu name=\"LH_UPDATE\">" > /tmp/update3.xml.tmp
#check for kernel update and warn reboot is required
if grep linux /tmp/to_be_upgraded || grep nvidia /tmp/to_be_upgraded
- then
+ then
echo "" >> /tmp/update3.xml.tmp
echo " <button>" >> /tmp/update3.xml.tmp
echo " <type>UPGRADE</type>" >> /tmp/update3.xml.tmp
@@ -85,10 +74,10 @@ chck () {
echo " <description>Some packages require a reboot</description>" >> /tmp/update3.xml.tmp
echo " <action>NONE</action>" >> /tmp/update3.xml.tmp
echo " </button>" >> /tmp/update3.xml.tmp
- fi
+ fi
#create menu items for each pkg to be upgraded
- while read line; do
+ while read line; do
echo "" >> /tmp/update3.xml.tmp
echo " <button>" >> /tmp/update3.xml.tmp
echo " <type>UPGRADE</type>" >> /tmp/update3.xml.tmp
@@ -104,9 +93,9 @@ chck () {
echo " Showing update message in LinHES theme."
sudo sed -i '/LinHES UPDATE MESSAGE/c\ <!--LinHES UPDATE MESSAGE-->' /usr/share/mythtv/themes/LinHES/menu-ui.xml
- dsply $1
- fi
- }
+ dsply $1
+ fi
+ }
# Command line argument handling
SILENT=false
@@ -123,4 +112,3 @@ shift $(($OPTIND - 1))
dsply $SILENT
chck $SILENT
-#pkill -USR1 mythfrontend
diff --git a/abs/core/LinHES-system/linhes_update2.sh b/abs/core/LinHES-system/linhes_update2.sh
index 5c05c99..6c249d3 100644
--- a/abs/core/LinHES-system/linhes_update2.sh
+++ b/abs/core/LinHES-system/linhes_update2.sh
@@ -4,14 +4,14 @@
if [[ "$1" = "install" ]]
then
msg_client.py --msg "Updating...|middle" --timeout 600 --tag "Updating"
- sudo pacman -Su --force --noconfirm
+ sudo pacman -Su --force --noconfirm
msg_client.py --clear --tag "Updating"
msg_client.py --kill
msg_client.py --msg "Updates complete.\nReturning to Main Menu.|middle"
- if grep linux /tmp/to_be_upgraded || grep nvidia /tmp/to_be_upgraded
- then
+ if grep linux /tmp/to_be_upgraded || grep nvidia /tmp/to_be_upgraded
+ then
msg_client.py --msg "Updates require a reboot.|middle"
- fi
+ fi
else
msg_client.py --msg "Updates canceled.|middle"
fi
@@ -20,32 +20,25 @@ sudo rm -fr /tmp/to_be_upgraded
if grep -q Updates\ Available /usr/share/mythtv/themes/defaultmenu/linhes.xml
then
- mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp/linhes.xml.tmp
- sed -e '/\#UpdatesAv/,/\#UpdatesAv/d' < /tmp/linhes.xml.tmp > /usr/share/mythtv/themes/defaultmenu/linhes.xml
- mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp
- grep -v -e /mythmenu /tmp/linhes.xml > /tmp/linhes.xml.tmp
- echo "<!--#Check for updates-->" >> /tmp/linhes.xml.tmp
- echo " <button>" >> /tmp/linhes.xml.tmp
- echo " <type>UPGRADE</type>" >> /tmp/linhes.xml.tmp
- echo " <text>Update LinHES</text>" >> /tmp/linhes.xml.tmp
- echo " <description>Update the LinHES system</description>" >> /tmp/linhes.xml.tmp
- echo " <action>MENU update.xml</action>" >> /tmp/linhes.xml.tmp
- echo " </button>" >> /tmp/linhes.xml.tmp
- echo "<!--#Check for updates-->" >> /tmp/linhes.xml.tmp
- echo "" >> /tmp/linhes.xml.tmp
- echo "</mythmenu>" >> /tmp/linhes.xml.tmp
- mv /tmp/linhes.xml.tmp /usr/share/mythtv/themes/defaultmenu/linhes.xml
+ mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp/linhes.xml.tmp
+ sed -e '/\#UpdatesAv/,/\#UpdatesAv/d' < /tmp/linhes.xml.tmp > /usr/share/mythtv/themes/defaultmenu/linhes.xml
+ mv /usr/share/mythtv/themes/defaultmenu/linhes.xml /tmp
+ grep -va '/mythmenu' /tmp/linhes.xml > /tmp/linhes.xml.tmp
+ echo "<!--#Check for updates-->" >> /tmp/linhes.xml.tmp
+ echo " <button>" >> /tmp/linhes.xml.tmp
+ echo " <type>UPGRADE</type>" >> /tmp/linhes.xml.tmp
+ echo " <text>Update LinHES</text>" >> /tmp/linhes.xml.tmp
+ echo " <description>Update the LinHES system</description>" >> /tmp/linhes.xml.tmp
+ echo " <action>MENU update.xml</action>" >> /tmp/linhes.xml.tmp
+ echo " </button>" >> /tmp/linhes.xml.tmp
+ echo "<!--#Check for updates-->" >> /tmp/linhes.xml.tmp
+ echo "" >> /tmp/linhes.xml.tmp
+ echo "</mythmenu>" >> /tmp/linhes.xml.tmp
+ mv /tmp/linhes.xml.tmp /usr/share/mythtv/themes/defaultmenu/linhes.xml
fi
#hide LinHES update message on main menu
sudo sed -i '/LinHES UPDATE MESSAGE/c\ <!--LinHES UPDATE MESSAGE' /usr/share/mythtv/themes/LinHES/menu-ui.xml
-#reload theme
-#check if started from mythfrontend-start and if so just kill mfe
-#otherwise reload mfe
-if [[ `pgrep -fx "/bin/bash /usr/LH/bin/mythfrontend-start"` ]]
-then
- killall mythfrontend
-else
- pkill -USR1 mythfrontend
-fi
+#reload mythfrontend
+killall mythfrontend
diff --git a/abs/core/LinHES-system/myth_mtc.cron b/abs/core/LinHES-system/myth_mtc.cron
index d3dc50a..6d70058 100755
--- a/abs/core/LinHES-system/myth_mtc.cron
+++ b/abs/core/LinHES-system/myth_mtc.cron
@@ -1,5 +1,6 @@
#!/bin/bash
MYTH_RUN_STATUS=1
+. /etc/systemconfig
. /etc/profile
date=`date +%Y-%m-%d`
@@ -16,9 +17,10 @@ fi
#check logfile for Finished and if not run myth_mtc.py
if ! grep -q "Finished Maintenance" $logFile
then
- if ! grep -q "Finished Optimize" $logFile
+
+ if ! grep -q "Finished checking size of MythTV home" $logFile
then
- MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py --optimize | $log
+ MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py --check_home | $log
if [ $? = 0 ]
then
echo "" | $log
@@ -28,6 +30,24 @@ then
fi
fi
+ if ! grep -q "Finished Optimize" $logFile
+ then
+ if [ $SystemType = Frontend_only ]
+ then
+ echo "Will not run Optimize on Frontend Only systems." | $log
+ echo "Finished Optimize" | $log
+ else
+ MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py --optimize | $log
+ if [ $? = 0 ]
+ then
+ echo "" | $log
+ else
+ echo "Time Exceeded" | $log
+ exit
+ fi
+ fi
+ fi
+
if ! grep -q "Finished Backup" $logFile && grep -q "Finished Optimize" $logFile
then
MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py --backup | $log
@@ -52,7 +72,7 @@ then
fi
fi
- if grep -q "Finished Optimize" $logFile && grep -q "Finished Backup" $logFile && grep -q "Finished Update" $logFile
+ if grep -q "Finished checking size of MythTV home" $logFile && grep -q "Finished Optimize" $logFile && grep -q "Finished Backup" $logFile && grep -q "Finished Update" $logFile
then
echo "Finished Maintenance" | $log
fi
diff --git a/abs/core/LinHES-system/myth_mtc.py b/abs/core/LinHES-system/myth_mtc.py
index 8a08c05..e62592f 100755
--- a/abs/core/LinHES-system/myth_mtc.py
+++ b/abs/core/LinHES-system/myth_mtc.py
@@ -17,10 +17,35 @@ except:
def get_timestamp():
now = datetime.datetime.now()
-#date = "%s-%s-%s" %(now.year, now.month, now.day)
- date = (now.strftime('%Y-%m-%d %H:%M'))
+ date = (now.strftime('%Y-%m-%d %H:%M'))
return date
+def getFreePercentForDir(dir):
+ stats = os.statvfs(dir)
+ total = (stats.f_blocks)
+ avail = (stats.f_bavail)
+ return (total - avail) / float(total)
+
+def check_home():
+ #get the mythtv home dir
+ sys.path.append('/usr/MythVantage/bin/')
+ config_file = "mv_config"
+ data_config = __import__(config_file, globals(), locals(), [])
+
+ freePcent = getFreePercentForDir(data_config.MYTHHOME)
+ print " Home directory percent used: " + str(freePcent * 100) + "%"
+ if float(freePcent) > .9:
+ print " Home directory is greater than 90% used. Clearing MythTV caches..."
+ cmd = "/usr/bin/rm -rf " + data_config.MYTHHOME + "/.mythtv/{*cache,Cache-*}"
+ subprocess.call(["sh", "-c", cmd])
+ print " Restarting mythfrontend..."
+ subprocess.call(["killall", "mythfrontend"])
+ freePcent = getFreePercentForDir(data_config.MYTHHOME)
+ print " Home directory percent used: " + str(freePcent * 100) + "%"
+ else:
+ print " Home directory is less than 90% used. Not clearing MythTV caches."
+ return 0
+
def optimize():
try:
cursor = mythtv.db.cursor()
@@ -59,8 +84,28 @@ def bail_if_another_is_running():
def run_stuff():
print "\n%s" %get_timestamp()
- if not subprocess.call(["/usr/bin/python2", "/usr/LH/bin/idle.py"]):
- if ("--optimize" in sys.argv) or (len(sys.argv) == 1):
+
+ if (len(sys.argv) == 1) or ("--noidlecheck" in sys.argv) and (len(sys.argv) == 2):
+ runall = True
+ else:
+ runall = False
+
+ if ("--noidlecheck" in sys.argv):
+ print "No system idle check will be done."
+ idle = 0
+ else:
+ idle = subprocess.call(["/usr/bin/python2", "/usr/LH/bin/idle.py"])
+
+ if not idle:
+ if ("--check_home" in sys.argv) or runall:
+ print "\n#######################################"
+ print "\n%s Checking size of MythTV home" %(get_timestamp())
+ if not check_home():
+ print "\nFinished checking size of MythTV home"
+ else:
+ return True
+
+ if ("--optimize" in sys.argv) or runall:
print "\n#######################################"
print "\n%s Running Optimize" %(get_timestamp())
if not optimize():
@@ -68,13 +113,13 @@ def run_stuff():
else:
return True
- if ("--backup" in sys.argv) or (len(sys.argv) == 1):
+ if ("--backup" in sys.argv) or runall:
print "\n#######################################"
print "\n%s Running Backup" %(get_timestamp())
if not os.system('/usr/LH/bin/lh_system_backup_job'):
print "\nFinished Backup"
- if ("--update" in sys.argv) or (len(sys.argv) == 1):
+ if ("--update" in sys.argv) or runall:
print "\n#######################################"
print "\n%s Running System Update" %(get_timestamp())
if not os.system('/usr/LH/bin/lh_system_host_update'):
@@ -96,7 +141,7 @@ while ctin:
if ctin:
print "\n%s Waiting 10 minutes before trying again." %(get_timestamp())
time.sleep(600)
-
+
current_time=time.time()
if (current_time - starttime) > 3000 :
ctin = False
diff --git a/abs/core/LinHES-system/mythvidexport.py b/abs/core/LinHES-system/mythvidexport.py
index 9160f1d..ff2cb35 100755
--- a/abs/core/LinHES-system/mythvidexport.py
+++ b/abs/core/LinHES-system/mythvidexport.py
@@ -97,7 +97,7 @@ class VIDEO:
elif self.db.settings[host]['mythvideo.TVexportfmt']:
self.tfmt = self.db.settings[host]['mythvideo.TVexportfmt']
else:
- self.tfmt = 'Television/%TITLE%/Season %SEASON%/'+\
+ self.tfmt = '/Television/%TITLE%/Season %SEASON%/'+\
'%TITLE% - S%SEASON%E%EPISODEPAD% - %SUBTITLE%'
# Movie Format
@@ -106,7 +106,7 @@ class VIDEO:
elif self.db.settings[host]['mythvideo.MOVIEexportfmt']:
self.mfmt = self.db.settings[host]['mythvideo.MOVIEexportfmt']
else:
- self.mfmt = 'Movies/%TITLE%'
+ self.mfmt = '/Movies/%TITLE%'
# Generic Format
if self.opts.gformat:
@@ -114,7 +114,7 @@ class VIDEO:
elif self.db.settings[host]['mythvideo.GENERICexportfmt']:
self.gfmt = self.db.settings[host]['mythvideo.GENERICexportfmt']
else:
- self.gfmt = 'Videos/%TITLE%'
+ self.gfmt = '/Videos/%TITLE%'
def get_meta(self):
self.vid.hostname = self.db.gethostname()
@@ -230,7 +230,7 @@ class VIDEO:
self.log(MythLog.GENERAL|MythLog.FILE, MythLog.INFO, "Copying myth://%s@%s/%s"\
% (self.rec.storagegroup, self.rec.hostname, self.rec.basename)\
- +" to myth://Videos@%s/%s"\
+ +" to myth://Videos@%s%s"\
% (self.vid.host, self.vid.filename))
srcfp = self.rec.open('r')
dstfp = self.vid.open('w', nooverwrite=True)
@@ -293,9 +293,9 @@ class VIDEO:
def usage_format():
usagestr = """The default strings are:
-Television: Television/%TITLE%/Season %SEASON%/%TITLE% - S%SEASON%E%EPISODEPAD% - %SUBTITLE%
-Movie: Movies/%TITLE%
-Generic: Videos/%TITLE%
+Television: /Television/%TITLE%/Season %SEASON%/%TITLE% - S%SEASON%E%EPISODEPAD% - %SUBTITLE%
+Movie: /Movies/%TITLE%
+Generic: /Videos/%TITLE%
Available strings:
%TITLE%: series title
@@ -324,13 +324,13 @@ def print_format():
host = gethostname()
tfmt = db.settings[host]['mythvideo.TVexportfmt']
if not tfmt:
- tfmt = 'Television/%TITLE%/Season %SEASON%/%TITLE% - S%SEASON%E%EPISODEPAD% - %SUBTITLE%'
+ tfmt = '/Television/%TITLE%/Season %SEASON%/%TITLE% - S%SEASON%E%EPISODEPAD% - %SUBTITLE%'
mfmt = db.settings[host]['mythvideo.MOVIEexportfmt']
if not mfmt:
- mfmt = 'Movies/%TITLE%'
+ mfmt = '/Movies/%TITLE%'
gfmt = db.settings[host]['mythvideo.GENERICexportfmt']
if not gfmt:
- gfmt = 'Videos/%TITLE%'
+ gfmt = '/Videos/%TITLE%'
print "Current output formats:"
print " TV: "+tfmt
print " Movies: "+mfmt
diff --git a/abs/core/LinHES-system/stop_xss.sh b/abs/core/LinHES-system/stop_xss.sh
index b03169b..b73be85 100755
--- a/abs/core/LinHES-system/stop_xss.sh
+++ b/abs/core/LinHES-system/stop_xss.sh
@@ -3,7 +3,7 @@
while [ 1=1 ];
do
- if [ "$(pidof google-chrome)" -o "$(pidof huludesktop)" -o "$(pidof xbmc.bin)" ]
+ if [ "$(pidof google-chrome)" -o "$(pidof huludesktop)" -o "$(pidof kodi.bin)" -o "$(pidof plexhometheater)" ]
then
xscreensaver-command -deactivate
fi
diff --git a/abs/core/LinHES-system/system.install b/abs/core/LinHES-system/system.install
index 6975070..558a52a 100644
--- a/abs/core/LinHES-system/system.install
+++ b/abs/core/LinHES-system/system.install
@@ -22,8 +22,10 @@ post_install() {
# arg 1: the new package version
# arg 2: the old package version
pre_upgrade() {
+ msg_client.py --clear
msg_client.py --kill
sv stop msg_daemon
+ killall -9 msg_daemon.py
}
# arg 1: the new package version
diff --git a/abs/core/acpid/PKGBUILD b/abs/core/acpid/PKGBUILD
index 8cd7875..cb80ca0 100644
--- a/abs/core/acpid/PKGBUILD
+++ b/abs/core/acpid/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 97250 2013-09-15 20:35:17Z seblu $
+# $Id$
# Maintainer: Sébastien Luttringer
# Contributor: xduugu
# Contributor: Manolis Tzanidakis
# Contributor: Jonathan Schmidt <j.schmidt@archlinux.us
pkgname=acpid
-pkgver=2.0.20
+pkgver=2.0.26
pkgrel=1
pkgdesc='A daemon for delivering ACPI power management events with netlink support'
arch=('i686' 'x86_64')
@@ -16,7 +16,6 @@ optdepends=('perl: use perl based examples')
replaces=('acpid2')
backup=('etc/acpi/handler.sh' 'etc/acpi/events/anything')
source=("http://downloads.sourceforge.net/sourceforge/acpid2/$pkgname-$pkgver.tar.xz"
- 'acpid.socket'
'acpid.service'
'anything'
'handler.sh')
@@ -37,7 +36,6 @@ package() {
install -Dm755 handler.sh "$pkgdir/etc/acpi/handler.sh"
# systemd
- install -Dm644 acpid.socket "$pkgdir/usr/lib/systemd/system/acpid.socket"
install -Dm644 acpid.service "$pkgdir/usr/lib/systemd/system/acpid.service"
# fix acpid rights
@@ -45,8 +43,7 @@ package() {
}
# vim:set ts=2 sw=2 et:
-md5sums=('1b740e6419cf45aaeb2bd78d589f27f9'
- 'd11700eb136e0489835ddaf977a7905b'
- '79cc7a9dceacdeffd51f070c2ba5f023'
+md5sums=('f6d772e35ed907f1cc14ad1a546fd473'
+ 'b9a9810eefae2142e20c965c01b410de'
'2d37b98d6e74bab815604b8b48c6cfd4'
'e97277eb1937c7ffe92a95fa60c073e4')
diff --git a/abs/core/acpid/acpid.service b/abs/core/acpid/acpid.service
index 022f72a..f2f5f74 100644
--- a/abs/core/acpid/acpid.service
+++ b/abs/core/acpid/acpid.service
@@ -1,10 +1,9 @@
[Unit]
Description=ACPI event daemon
-Requires=acpid.socket
+Documentation=man:acpid(8)
[Service]
-ExecStart=/usr/bin/acpid -f
+ExecStart=/usr/bin/acpid --foreground --netlink
[Install]
WantedBy=multi-user.target
-Also=acpid.socket
diff --git a/abs/core/acpid/acpid.socket b/abs/core/acpid/acpid.socket
deleted file mode 100644
index 1b23f87..0000000
--- a/abs/core/acpid/acpid.socket
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=ACPID Listen Socket
-
-[Socket]
-ListenStream=/var/run/acpid.socket
-
-[Install]
-WantedBy=sockets.target
diff --git a/abs/core/alsa-lib/PKGBUILD b/abs/core/alsa-lib/PKGBUILD
index d502947..aecef20 100644
--- a/abs/core/alsa-lib/PKGBUILD
+++ b/abs/core/alsa-lib/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=alsa-lib
-pkgver=1.0.28
+pkgver=1.0.29
pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
@@ -23,4 +23,4 @@ package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
}
-md5sums=('c9e21b88a2b3e6e12ea7ba0f3b271fc3')
+md5sums=('de67e0eca72474d6b1121037dafe1024')
diff --git a/abs/core/alsa-plugins/PKGBUILD b/abs/core/alsa-plugins/PKGBUILD
new file mode 100644
index 0000000..42fb370
--- /dev/null
+++ b/abs/core/alsa-plugins/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Daniel Ehlers <danielehlers@mindeye.net>
+
+pkgname=alsa-plugins
+pkgver=1.0.29
+pkgrel=2
+pkgdesc="Extra alsa plugins"
+arch=(i686 x86_64)
+url="http://www.alsa-project.org"
+license=(GPL)
+depends=(alsa-lib)
+makedepends=(ffmpeg)
+optdepends=('ffmpeg: libavcodec resampling plugin, a52 plugin'
+ 'libsamplerate: libsamplerate resampling plugin'
+ 'speex: libspeexdsp resampling plugin')
+source=("ftp://ftp.alsa-project.org/pub/plugins/$pkgname-$pkgver.tar.bz2")
+
+prepare() {
+ cd $pkgname-$pkgver
+ sed -i 's/ && LIBAVCODEC_VERSION_MINOR >= 34//' a52/pcm_a52.c
+}
+
+build() {
+ cd $pkgname-$pkgver
+ CFLAGS+=' -DHAVE_STDINT_H' # We have issue similar to this one https://code.google.com/p/cantata/issues/detail?id=627
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 doc/README* doc/*.txt "$pkgdir/usr/share/doc/$pkgname/"
+}
+md5sums=('a66797b4471e3cbe96575207bfbe252c')
diff --git a/abs/core/alsa-utils/PKGBUILD b/abs/core/alsa-utils/PKGBUILD
index 55a36a3..73fac66 100644
--- a/abs/core/alsa-utils/PKGBUILD
+++ b/abs/core/alsa-utils/PKGBUILD
@@ -3,13 +3,13 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=alsa-utils
-pkgver=1.0.28
+pkgver=1.0.29
pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
url="http://www.alsa-project.org"
#can not use >=$pkgver due to use of letters in alsa-lib update versioning
-depends=("alsa-lib>1.0.24" 'dialog' 'pciutils' 'ncurses' 'psmisc' 'libsamplerate')
+depends=("alsa-lib>1.0.24" 'pciutils' 'ncurses' 'psmisc' 'libsamplerate')
makedepends=('xmlto' 'docbook-xsl')
license=('GPL')
source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2
@@ -38,5 +38,5 @@ package() {
# dir where to save ALSA state
install -d ${pkgdir}/var/lib/alsa
}
-md5sums=('361552d5b1cacd0a1e7ba09e69990211'
+md5sums=('6b289bf874c4c9a63f4b3973093dd404'
'529216f6a46e61a546640e08ea7a0879')
diff --git a/abs/core/archlinux-keyring/PKGBUILD b/abs/core/archlinux-keyring/PKGBUILD
index b0ff4f6..bca238a 100644
--- a/abs/core/archlinux-keyring/PKGBUILD
+++ b/abs/core/archlinux-keyring/PKGBUILD
@@ -1,18 +1,22 @@
-# $Id: PKGBUILD 162172 2012-06-22 16:21:47Z pierre $
+# $Id$
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=archlinux-keyring
-pkgver=20120622
+pkgver=20150605
pkgrel=1
pkgdesc='Arch Linux PGP keyring'
arch=('any')
url='https://projects.archlinux.org/archlinux-keyring.git/'
license=('GPL')
install="${pkgname}.install"
-source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz"
- "ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz.sig")
-md5sums=('8fecc7ec4a9b51e3166b79a90930e7ce'
- 'afa0253f24c6ba3fee22ae6c2150cb6c')
+source=("https://sources.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ "https://sources.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz.sig")
+md5sums=('65f1c23ca17e8c72363d831a352e6fd2'
+ 'SKIP')
+validpgpkeys=(
+ '4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC' # Pierre
+ 'A314827C4E4250A204CE6E13284FC34C8E4B1A25' # Thomas
+ )
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/archlinux-keyring/archlinux-keyring.install b/abs/core/archlinux-keyring/archlinux-keyring.install
index 81726c6..19f594b 100644
--- a/abs/core/archlinux-keyring/archlinux-keyring.install
+++ b/abs/core/archlinux-keyring/archlinux-keyring.install
@@ -1,6 +1,17 @@
post_upgrade() {
if usr/bin/pacman-key -l >/dev/null 2>&1; then
usr/bin/pacman-key --populate archlinux
+
+ # Re-enable key of dwallace
+ # See https://bugs.archlinux.org/task/35478
+ if [ -z "$2" ] || [ "$2" = "20130525-1" ]; then
+ printf 'enable\nquit\n' | LANG=C \
+ gpg --homedir /etc/pacman.d/gnupg \
+ --no-permission-warning --command-fd 0 \
+ --quiet --batch --edit-key \
+ 5559BC1A32B8F76B3FCCD9555FA5E5544F010D48 \
+ 2>/dev/null
+ fi
fi
}
diff --git a/abs/core/atk/PKGBUILD b/abs/core/atk/PKGBUILD
index 3714a1f..ab5503e 100644
--- a/abs/core/atk/PKGBUILD
+++ b/abs/core/atk/PKGBUILD
@@ -2,16 +2,16 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=atk
-pkgver=2.14.0
+pkgver=2.18.0
pkgrel=1
pkgdesc="A library providing a set of interfaces for accessibility"
arch=(i686 x86_64)
license=('LGPL')
depends=('glib2')
-makedepends=('gobject-introspection' 'python2')
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
-url='http://www.gtk.org/'
-sha256sums=('2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad')
+makedepends=('gobject-introspection')
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+url='https://developer.gnome.org/atk/'
+sha256sums=('ce6c48d77bf951083029d5a396dd552d836fff3c1715d3a7022e917e46d0c92b')
build() {
cd "$pkgname-$pkgver"
diff --git a/abs/core/bash/PKGBUILD b/abs/core/bash/PKGBUILD
index fe5282c..cb6847e 100644
--- a/abs/core/bash/PKGBUILD
+++ b/abs/core/bash/PKGBUILD
@@ -5,16 +5,16 @@
pkgname=bash
_basever=4.3
-_patchlevel=027
+_patchlevel=042
pkgver=$_basever.$_patchlevel
-pkgrel=1
+pkgrel=4
pkgdesc='The GNU Bourne Again shell'
arch=('i686' 'x86_64')
license=('GPL')
url='http://www.gnu.org/software/bash/bash.html'
groups=('base')
backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
-depends=('readline>=6.3' 'glibc')
+depends=('readline>=6.3' 'glibc' 'ncurses' 'libncursesw.so')
optdepends=('bash-completion: for tab completion')
provides=('sh')
install=bash.install
@@ -25,7 +25,8 @@ source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
system.bashrc
system.bash_logout
privmode-setuid-fail.patch
- parser-oob-4.2.patch)
+ bash-4.3-old-memleak.patch)
+validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey
if [[ $((10#${_patchlevel})) -gt 0 ]]; then
for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do
@@ -44,8 +45,8 @@ prepare() {
# http://hmarco.org/bugs/bash_4.3-setuid-bug.html (FS#40663)
patch -p0 -i ../privmode-setuid-fail.patch
- # CVE-2014-7169 patches
- patch -p0 -i ../parser-oob-4.2.patch
+ # https://bugs.archlinux.org/task/45891
+ patch -p1 -i ../bash-4.3-old-memleak.patch
}
build() {
@@ -89,7 +90,7 @@ md5sums=('81348932d5da294953e15d4814c74dd1'
'561949793177116b7be29a07c385ba8b'
'472f536d7c9e8250dc4568ec4cfaf294'
'a577d42e38249d298d6a8d4bf2823883'
- '461145288c8ffbf05c0f90554b2aa885'
+ '5bb46160bba51ff904922c6ccfd9c49e'
'1ab682b4e36afa4cf1b426aa7ac81c0d'
'SKIP'
'8fc22cf50ec85da00f6af3d66f7ddc1b'
@@ -143,4 +144,34 @@ md5sums=('81348932d5da294953e15d4814c74dd1'
'922578e2be7ed03729454e92ee8d3f3a'
'SKIP'
'8ff6948b16f2db5c29b1b9ae1085bbe7'
+ 'SKIP'
+ 'dd51fa67913b5dca45a702b672b3323f'
+ 'SKIP'
+ '0729364c977ef4271e9f8dfafadacf67'
+ 'SKIP'
+ 'efb709fdb1368945513de23ccbfae053'
+ 'SKIP'
+ '236df1ac1130a033ed0dbe2d2115f28f'
+ 'SKIP'
+ '2360f7e79cfb28526f80021025ea5909'
+ 'SKIP'
+ 'b551c4ee7b8713759e4143499d0bbd48'
+ 'SKIP'
+ 'c9a56fbe0348e05a886dff97f2872b74'
+ 'SKIP'
+ 'e564e8ab44ed1ca3a4e315a9f6cabdc9'
+ 'SKIP'
+ 'b00ff66c41a7c0f06e191200981980b0'
+ 'SKIP'
+ 'be2a7b05f6ae560313f3c9d5f7127bda'
+ 'SKIP'
+ '61e0522830b24fbe8c0d1b010f132470'
+ 'SKIP'
+ 'a4775487abe958536751c8ce53cdf6f9'
+ 'SKIP'
+ '80d3587c58854e226055ef099ffeb535'
+ 'SKIP'
+ '20bf63eef7cb441c0b1cc49ef3191d03'
+ 'SKIP'
+ '70790646ae61e207c995e44931390e50'
'SKIP')
diff --git a/abs/core/bash/bash-4.3-old-memleak.patch b/abs/core/bash/bash-4.3-old-memleak.patch
new file mode 100644
index 0000000..ff2b665
--- /dev/null
+++ b/abs/core/bash/bash-4.3-old-memleak.patch
@@ -0,0 +1,24 @@
+diff -up bash-4.3/subst.c.old bash-4.3/subst.c
+--- bash-4.3/subst.c.old 2015-08-03 10:32:37.353490080 +0200
++++ bash-4.3/subst.c 2015-08-03 10:33:34.818533408 +0200
+@@ -9492,7 +9492,7 @@ make_internal_declare (word, option)
+ char *word;
+ char *option;
+ {
+- int t;
++ int t, r;
+ WORD_LIST *wl;
+ WORD_DESC *w;
+
+@@ -9504,7 +9504,10 @@ make_internal_declare (word, option)
+ wl = make_word_list (w, (WORD_LIST *)NULL);
+ wl = make_word_list (make_word (option), wl);
+
+- return (declare_builtin (wl));
++ r = declare_builtin (wl);
++
++ dispose_words (wl);
++ return r;
+ }
+ #endif
+
diff --git a/abs/core/bash/parser-oob-4.2.patch b/abs/core/bash/parser-oob-4.2.patch
deleted file mode 100644
index 2ef5c48..0000000
--- a/abs/core/bash/parser-oob-4.2.patch
+++ /dev/null
@@ -1,85 +0,0 @@
---- ../bash-4.2-orig/parse.y 2014-09-25 13:07:59.218209276 +0200
-+++ parse.y 2014-09-25 15:26:52.813159810 +0200
-@@ -264,9 +264,21 @@
-
- /* Variables to manage the task of reading here documents, because we need to
- defer the reading until after a complete command has been collected. */
--static REDIRECT *redir_stack[10];
-+static REDIRECT **redir_stack;
- int need_here_doc;
-
-+/* Pushes REDIR onto redir_stack, resizing it as needed. */
-+static void
-+push_redir_stack (REDIRECT *redir)
-+{
-+ /* Guard against oveflow. */
-+ if (need_here_doc + 1 > INT_MAX / sizeof (*redir_stack))
-+ abort ();
-+ redir_stack = xrealloc (redir_stack,
-+ (need_here_doc + 1) * sizeof (*redir_stack));
-+ redir_stack[need_here_doc++] = redir;
-+}
-+
- /* Where shell input comes from. History expansion is performed on each
- line when the shell is interactive. */
- static char *shell_input_line = (char *)NULL;
-@@ -519,42 +531,42 @@
- source.dest = 0;
- redir.filename = $2;
- $$ = make_redirection (source, r_reading_until, redir, 0);
-- redir_stack[need_here_doc++] = $$;
-+ push_redir_stack ($$);
- }
- | NUMBER LESS_LESS WORD
- {
- source.dest = $1;
- redir.filename = $3;
- $$ = make_redirection (source, r_reading_until, redir, 0);
-- redir_stack[need_here_doc++] = $$;
-+ push_redir_stack ($$);
- }
- | REDIR_WORD LESS_LESS WORD
- {
- source.filename = $1;
- redir.filename = $3;
- $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
-- redir_stack[need_here_doc++] = $$;
-+ push_redir_stack ($$);
- }
- | LESS_LESS_MINUS WORD
- {
- source.dest = 0;
- redir.filename = $2;
- $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
-- redir_stack[need_here_doc++] = $$;
-+ push_redir_stack ($$);
- }
- | NUMBER LESS_LESS_MINUS WORD
- {
- source.dest = $1;
- redir.filename = $3;
- $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
-- redir_stack[need_here_doc++] = $$;
-+ push_redir_stack ($$);
- }
- | REDIR_WORD LESS_LESS_MINUS WORD
- {
- source.filename = $1;
- redir.filename = $3;
- $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
-- redir_stack[need_here_doc++] = $$;
-+ push_redir_stack ($$);
- }
- | LESS_LESS_LESS WORD
- {
-@@ -4757,7 +4769,7 @@
- case CASE:
- case SELECT:
- case FOR:
-- if (word_top < MAX_CASE_NEST)
-+ if (word_top + 1 < MAX_CASE_NEST)
- word_top++;
- word_lineno[word_top] = line_number;
- break;
-
-
diff --git a/abs/core/binutils/PKGBUILD b/abs/core/binutils/PKGBUILD
index 26ba4f9..7a41923 100644
--- a/abs/core/binutils/PKGBUILD
+++ b/abs/core/binutils/PKGBUILD
@@ -4,57 +4,43 @@
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.24
-pkgrel=7
+pkgver=2.26
+pkgrel=3
+_commit=71090e7a
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/binutils/"
license=('GPL')
groups=('base-devel')
-depends=('glibc>=2.20' 'zlib')
+depends=('glibc>=2.23' 'zlib')
+makedepends=('git')
checkdepends=('dejagnu' 'bc')
conflicts=('binutils-multilib')
replaces=('binutils-multilib')
options=('staticlibs' '!distcc' '!ccache')
install=binutils.install
-source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2{,.sig}
- binutils-2.24-lto-testsuite.patch
- binutils-2.24-gold-testsuite-plugin.patch
- binutils-2.24-shared-pie.patch)
-md5sums=('e0f71a7b2ddab0f8612336ac81d9636b'
- 'SKIP'
- 'e68a1f221545f082baa5bd417cd077af'
- 'e46bbb03abaa5db58c12247644dc4857'
- 'ec59461c4febab9cfe1c1ef33326bc50')
-validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93')
+source=(git://sourceware.org/git/binutils-gdb.git#commit=${_commit})
+md5sums=('SKIP')
prepare() {
- cd ${srcdir}/binutils-${pkgver}
+ cd binutils-gdb
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
- # fix lto testsuite with gcc-4.9 - commits b35d44f1 and 37a6ac44
- patch -p1 -i $srcdir/binutils-2.24-lto-testsuite.patch
-
- # fix gold testsuite with gcc-4.9 - commit ae447ddd
- patch -p1 -i $srcdir/binutils-2.24-gold-testsuite-plugin.patch
-
- # fix issues with -static -fPIE -pie - commit 4199e3b8
- patch -p1 -i $srcdir/binutils-2.24-shared-pie.patch
-
mkdir ${srcdir}/binutils-build
}
build() {
- cd ${srcdir}/binutils-build
+ cd binutils-build
- ${srcdir}/binutils-${pkgver}/configure --prefix=/usr \
+ ../binutils-gdb/configure --prefix=/usr \
--with-lib-path=/usr/lib:/usr/local/lib \
--with-bugurl=https://bugs.archlinux.org/ \
--enable-threads --enable-shared --with-pic \
--enable-ld=default --enable-gold --enable-plugins \
- --disable-werror
+ --enable-deterministic-archives \
+ --disable-werror --disable-gdb
# check the host environment and makes sure all the necessary tools are available
make configure-host
@@ -63,7 +49,7 @@ build() {
}
check() {
- cd ${srcdir}/binutils-build
+ cd binutils-build
# unset LDFLAGS as testsuite makes assumptions about which ones are active
# ignore failures in gold testsuite...
@@ -71,13 +57,14 @@ check() {
}
package() {
- cd ${srcdir}/binutils-build
+ cd binutils-build
make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
# Remove unwanted files
rm ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
- rm ${pkgdir}/usr/share/info/{configure,standards}.info
# No shared linking to these files outside binutils
rm ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
+ echo "INPUT ( /usr/lib/libbfd.a -liberty -lz -ldl )" > "$pkgdir"/usr/lib/libbfd.so
+ echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" > "$pkgdir"/usr/lib/libopcodes.so
}
diff --git a/abs/core/binutils/binutils-2.24-gold-testsuite-plugin.patch b/abs/core/binutils/binutils-2.24-gold-testsuite-plugin.patch
deleted file mode 100644
index 9f5acad..0000000
--- a/abs/core/binutils/binutils-2.24-gold-testsuite-plugin.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-diff --git a/gold/configure b/gold/configure
-index 2257324..f61307b 100755
---- a/gold/configure
-+++ b/gold/configure
-@@ -594,10 +594,12 @@ LTLIBOBJS
- MAINT
- MAINTAINER_MODE_FALSE
- MAINTAINER_MODE_TRUE
--HAVE_PUBNAMES_FALSE
--HAVE_PUBNAMES_TRUE
- DLOPEN_LIBS
- CXXCPP
-+HAVE_NO_USE_LINKER_PLUGIN_FALSE
-+HAVE_NO_USE_LINKER_PLUGIN_TRUE
-+HAVE_PUBNAMES_FALSE
-+HAVE_PUBNAMES_TRUE
- HAVE_ZLIB_FALSE
- HAVE_ZLIB_TRUE
- LIBOBJS
-@@ -6991,6 +6993,50 @@ cat >>confdefs.h <<_ACEOF
- _ACEOF
-
-
-+save_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -Werror -gpubnames"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+int i;
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ have_pubnames=yes
-+else
-+ have_pubnames=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+CFLAGS="$save_CFLAGS"
-+ if test "$have_pubnames" = "yes"; then
-+ HAVE_PUBNAMES_TRUE=
-+ HAVE_PUBNAMES_FALSE='#'
-+else
-+ HAVE_PUBNAMES_TRUE='#'
-+ HAVE_PUBNAMES_FALSE=
-+fi
-+
-+
-+save_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -Werror -fno-use-linker-plugin"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+int i;
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ have_no_use_linker_plugin=yes
-+else
-+ have_no_use_linker_plugin=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+CFLAGS="$save_CFLAGS"
-+ if test "$have_no_use_linker_plugin" = "yes"; then
-+ HAVE_NO_USE_LINKER_PLUGIN_TRUE=
-+ HAVE_NO_USE_LINKER_PLUGIN_FALSE='#'
-+else
-+ HAVE_NO_USE_LINKER_PLUGIN_TRUE='#'
-+ HAVE_NO_USE_LINKER_PLUGIN_FALSE=
-+fi
-+
-+
- ac_ext=cpp
- ac_cpp='$CXXCPP $CPPFLAGS'
- ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -7515,28 +7561,6 @@ $as_echo "#define HAVE_STAT_ST_MTIM 1" >>confdefs.h
-
- fi
-
--save_CXXFLAGS="$CXXFLAGS"
--CXXFLAGS="$CXXFLAGS -Werror -gpubnames"
--cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--int i;
--_ACEOF
--if ac_fn_cxx_try_compile "$LINENO"; then :
-- have_pubnames=yes
--else
-- have_pubnames=no
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--CXXFLAGS="$save_CXXFLAGS"
-- if test "$have_pubnames" = "yes"; then
-- HAVE_PUBNAMES_TRUE=
-- HAVE_PUBNAMES_FALSE='#'
--else
-- HAVE_PUBNAMES_TRUE='#'
-- HAVE_PUBNAMES_FALSE=
--fi
--
--
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -7837,6 +7861,10 @@ if test -z "${HAVE_PUBNAMES_TRUE}" && test -z "${HAVE_PUBNAMES_FALSE}"; then
- as_fn_error "conditional \"HAVE_PUBNAMES\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
-+if test -z "${HAVE_NO_USE_LINKER_PLUGIN_TRUE}" && test -z "${HAVE_NO_USE_LINKER_PLUGIN_FALSE}"; then
-+ as_fn_error "conditional \"HAVE_NO_USE_LINKER_PLUGIN\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
-+fi
- if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
-diff --git a/gold/configure.ac b/gold/configure.ac
-index 803cf46..7ad7302 100644
---- a/gold/configure.ac
-+++ b/gold/configure.ac
-@@ -520,6 +520,25 @@ dnl multiple declarations of functions like basename when compiling
- dnl with C++.
- AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strverscmp])
-
-+dnl Check if gcc supports the -gpubnames option.
-+dnl Use -Werror in case of compilers that make unknown -g options warnings.
-+dnl They would pass the test here, but fail in actual use when $WARN_CFLAGS
-+dnl gets set later by default Autoconf magic to include -Werror. (We are
-+dnl assuming here that there is no compiler that groks -gpubnames
-+dnl but does not grok -Werror.)
-+save_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -Werror -gpubnames"
-+AC_COMPILE_IFELSE([int i;], [have_pubnames=yes], [have_pubnames=no])
-+CFLAGS="$save_CFLAGS"
-+AM_CONDITIONAL(HAVE_PUBNAMES, test "$have_pubnames" = "yes")
-+
-+dnl Check if gcc supports the -fno-use-linker-plugin option.
-+save_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -Werror -fno-use-linker-plugin"
-+AC_COMPILE_IFELSE([int i;], [have_no_use_linker_plugin=yes], [have_no_use_linker_plugin=no])
-+CFLAGS="$save_CFLAGS"
-+AM_CONDITIONAL(HAVE_NO_USE_LINKER_PLUGIN, test "$have_no_use_linker_plugin" = "yes")
-+
- AC_LANG_PUSH(C++)
-
- AC_CHECK_HEADERS(unordered_set unordered_map)
-@@ -601,18 +620,6 @@ if test "$gold_cv_stat_st_mtim" = "yes"; then
- [Define if struct stat has a field st_mtim with timespec for mtime])
- fi
-
--dnl Check if gcc supports the -gpubnames option.
--dnl Use -Werror in case of compilers that make unknown -g options warnings.
--dnl They would pass the test here, but fail in actual use when $WARN_CFLAGS
--dnl gets set later by default Autoconf magic to include -Werror. (We are
--dnl assuming here that there is no compiler that groks -gpubnames
--dnl but does not grok -Werror.)
--save_CXXFLAGS="$CXXFLAGS"
--CXXFLAGS="$CXXFLAGS -Werror -gpubnames"
--AC_COMPILE_IFELSE([int i;], [have_pubnames=yes], [have_pubnames=no])
--CXXFLAGS="$save_CXXFLAGS"
--AM_CONDITIONAL(HAVE_PUBNAMES, test "$have_pubnames" = "yes")
--
- AC_LANG_POP(C++)
-
- AC_CHECK_HEADERS(locale.h)
-diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
-index aa41290..52cc05e 100644
---- a/gold/testsuite/Makefile.am
-+++ b/gold/testsuite/Makefile.am
-@@ -19,18 +19,25 @@ AM_CPPFLAGS = \
- -DLOCALEDIR="\"$(datadir)/locale\"" \
- @INCINTL@
-
-+# Some versions of GCC now automatically enable linker plugins,
-+# but we want to run our tests without GCC's plugins.
-+if HAVE_NO_USE_LINKER_PLUGIN
-+OPT_NO_PLUGINS = -fno-use-linker-plugin
-+endif
-+
- # COMPILE1, LINK1, CXXCOMPILE1, CXXLINK1 are renamed from COMPILE, LINK,
- # CXXCOMPILE and CXXLINK generated by automake 1.11.1. FIXME: they should
- # be updated if they are different from automake used by gold.
- COMPILE1 = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
--LINK1 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+LINK1 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
-+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
- CXXCOMPILE1 = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
--CXXLINK1 = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-- -o $@
-+CXXLINK1 = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(OPT_NO_PLUGINS) \
-+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
-
--# Strip out -Wp,-D_FORTIFY_SOURCE=, which is rrelevant for the gold
-+# Strip out -Wp,-D_FORTIFY_SOURCE=, which is irrelevant for the gold
- # testsuite and incompatible with -O0 used in gold tests, from
- # COMPILE, LINK, CXXCOMPILE and CXXLINK.
- COMPILE = `echo $(COMPILE1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9[0-9]]*//'`
-diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
-index 60c2c10..da0a338 100644
---- a/gold/testsuite/Makefile.in
-+++ b/gold/testsuite/Makefile.in
-@@ -2096,21 +2096,27 @@ AM_CPPFLAGS = \
- @INCINTL@
-
-
-+# Some versions of GCC now automatically enable linker plugins,
-+# but we want to run our tests without GCC's plugins.
-+@HAVE_NO_USE_LINKER_PLUGIN_TRUE@OPT_NO_PLUGINS = -fno-use-linker-plugin
-+
- # COMPILE1, LINK1, CXXCOMPILE1, CXXLINK1 are renamed from COMPILE, LINK,
- # CXXCOMPILE and CXXLINK generated by automake 1.11.1. FIXME: they should
- # be updated if they are different from automake used by gold.
- COMPILE1 = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-
--LINK1 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+LINK1 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
-+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+
- CXXCOMPILE1 = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-
--CXXLINK1 = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-- -o $@
-+CXXLINK1 = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(OPT_NO_PLUGINS) \
-+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
-
-
--# Strip out -Wp,-D_FORTIFY_SOURCE=, which is rrelevant for the gold
-+# Strip out -Wp,-D_FORTIFY_SOURCE=, which is irrelevant for the gold
- # testsuite and incompatible with -O0 used in gold tests, from
- # COMPILE, LINK, CXXCOMPILE and CXXLINK.
- COMPILE = `echo $(COMPILE1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9[0-9]]*//'`
diff --git a/abs/core/binutils/binutils-2.24-lto-testsuite.patch b/abs/core/binutils/binutils-2.24-lto-testsuite.patch
deleted file mode 100644
index 0f34726..0000000
--- a/abs/core/binutils/binutils-2.24-lto-testsuite.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-index c5249f0..69946de 100644
---- a/ld/testsuite/ld-plugin/lto.exp
-+++ b/ld/testsuite/ld-plugin/lto.exp
-@@ -57,7 +57,7 @@ set lto_link_tests {
- "" "-O2"
- {lto-3c.c} {} "libdummy.a"}
- {"Build liblto-3.a"
-- "" "-flto"
-+ "" "-flto -ffat-lto-objects"
- {lto-3b.c} {} "liblto-3.a"}
- {"Build libdummy.a 5a"
- "" "-flto"
-@@ -111,7 +111,7 @@ set lto_link_tests {
- "" ""
- {pr12758a.s} {} "libdummy.a"}
- {"Build libpr12758.a"
-- "" "-flto -O2"
-+ "" "-flto -O2 -ffat-lto-objects"
- {pr12758b.c} {} "libpr12758.a"}
- {"PR ld/12758"
- "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12758a.o -Wl,--start-group tmpdir/libpr12758.a -Wl,--end-group" ""
-@@ -120,13 +120,13 @@ set lto_link_tests {
- "" ""
- {pr12760a.c} {} "libdummy.a"}
- {"Build libpr12760.a"
-- "" "-flto -O2"
-+ "" "-flto -O2 -ffat-lto-objects"
- {pr12760b.c} {} "libpr12760.a"}
- {"PR ld/12760"
- "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12760a.o -Wl,--start-group tmpdir/libpr12760.a -Wl,--end-group" ""
- {dummy.c} {} "pr12760.exe" "c" "warning: Bad bar"}
- {"Build libpr13183.a"
-- "-T" "-flto -O2"
-+ "-T" "-flto -O2 -ffat-lto-objects"
- {pr13183a.c} {} "libpr13183.a"}
- {"Build libdummy.a PR ld/13183"
- "" "-flto -O2"
-diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
-index 8df42ae..175449a 100644
---- a/ld/testsuite/lib/ld-lib.exp
-+++ b/ld/testsuite/lib/ld-lib.exp
-@@ -1643,7 +1643,7 @@ proc check_lto_available { } {
- set f [open $src "w"]
- puts $f ""
- close $f
-- set status [remote_exec host $CC "-shared -B[pwd]/tmpdir/ld/ -flto -fuse-linker-plugin $src -o $output"]
-+ set status [remote_exec host $CC "-shared -B[pwd]/tmpdir/ld/ -flto -ffat-lto-objects -fuse-linker-plugin $src -o $output"]
- if { [lindex $status 0] == 0 } {
- set lto_available_saved 1
- } else {
-diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
-index b14f13c..765d85f 100644
---- a/ld/testsuite/ld-plugin/lto.exp
-+++ b/ld/testsuite/ld-plugin/lto.exp
-@@ -324,7 +324,20 @@ if { [is_elf_format] && [check_lto_shared_available] } {
-
- set testname "Build liblto-11.a"
- remote_file host delete "tmpdir/liblto-11.a"
--set catch_output [run_host_cmd "$ar" "rc tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
-+set plugin_names {
-+ liblto_plugin.so
-+ liblto_plugin-0.dll
-+ cyglto_plugin-0.dll
-+}
-+set plug_opt ""
-+foreach plug $plugin_names {
-+ set plug_so [run_host_cmd $CC "--print-prog-name $plug"]
-+ if { $plug_so ne $plug } then {
-+ set plug_opt "--plugin $plug_so"
-+ break
-+ }
-+}
-+set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
- if {![string match "" $catch_output]} {
- unresolved $testname
- restore_notify
-
-
diff --git a/abs/core/binutils/binutils-2.24-shared-pie.patch b/abs/core/binutils/binutils-2.24-shared-pie.patch
deleted file mode 100644
index d40aa47..0000000
--- a/abs/core/binutils/binutils-2.24-shared-pie.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
-index 9a2fe89..13f86f0 100644
---- a/ld/emultempl/elf32.em
-+++ b/ld/emultempl/elf32.em
-@@ -1480,6 +1480,8 @@ gld${EMULATION_NAME}_before_allocation (void)
- const char *rpath;
- asection *sinterp;
- bfd *abfd;
-+ struct elf_link_hash_entry *ehdr_start = NULL;
-+ struct bfd_link_hash_entry ehdr_start_save;
-
- if (is_elf_hash_table (link_info.hash))
- {
-@@ -1504,6 +1506,16 @@ gld${EMULATION_NAME}_before_allocation (void)
- _bfd_elf_link_hash_hide_symbol (&link_info, h, TRUE);
- if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL)
- h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
-+ /* Don't leave the symbol undefined. Undefined hidden
-+ symbols typically won't have dynamic relocations, but
-+ we most likely will need dynamic relocations for
-+ __ehdr_start if we are building a PIE or shared
-+ library. */
-+ ehdr_start = h;
-+ ehdr_start_save = h->root;
-+ h->root.type = bfd_link_hash_defined;
-+ h->root.u.def.section = bfd_abs_section_ptr;
-+ h->root.u.def.value = 0;
- }
- }
-
-@@ -1620,6 +1632,14 @@ ${ELF_INTERPRETER_SET_DEFAULT}
-
- if (!bfd_elf_size_dynsym_hash_dynstr (link_info.output_bfd, &link_info))
- einfo ("%P%F: failed to set dynamic section sizes: %E\n");
-+
-+ if (ehdr_start != NULL)
-+ {
-+ /* If we twiddled __ehdr_start to defined earlier, put it back
-+ as it was. */
-+ ehdr_start->root.type = ehdr_start_save.type;
-+ ehdr_start->root.u = ehdr_start_save.u;
-+ }
- }
-
- EOF
-diff --git a/ld/testsuite/ld-elf/ehdr_start-shared.d b/ld/testsuite/ld-elf/ehdr_start-shared.d
-new file mode 100644
-index 0000000..c17516a
---- /dev/null
-+++ b/ld/testsuite/ld-elf/ehdr_start-shared.d
-@@ -0,0 +1,9 @@
-+#source: ehdr_start.s
-+#ld: -e _start -shared
-+#nm: -n
-+#target: *-*-linux* *-*-gnu* *-*-nacl*
-+#xfail: cris*-*-* frv-*-*
-+
-+#...
-+[0-9a-f]*000 [Adrt] __ehdr_start
-+#pass
-diff --git a/ld/testsuite/ld-elf/ehdr_start-userdef.d b/ld/testsuite/ld-elf/ehdr_start-userdef.d
-index 2a88e98..b58ae3f 100644
---- a/ld/testsuite/ld-elf/ehdr_start-userdef.d
-+++ b/ld/testsuite/ld-elf/ehdr_start-userdef.d
-@@ -2,6 +2,7 @@
- #ld: -e _start -T ehdr_start-userdef.t
- #readelf: -Ws
- #target: *-*-linux* *-*-gnu* *-*-nacl*
-+#xfail: frv-*-*
-
- #...
- Symbol table '\.symtab' contains [0-9]+ entries:
-diff --git a/ld/testsuite/ld-elf/ehdr_start-weak.d b/ld/testsuite/ld-elf/ehdr_start-weak.d
-index 8bd9035..24ae34c 100644
---- a/ld/testsuite/ld-elf/ehdr_start-weak.d
-+++ b/ld/testsuite/ld-elf/ehdr_start-weak.d
-@@ -2,6 +2,7 @@
- #ld: -e _start -T ehdr_start-missing.t
- #nm: -n
- #target: *-*-linux* *-*-gnu* *-*-nacl*
-+#xfail: frv-*-*
-
- #...
- \s+[wU] __ehdr_start
-diff --git a/ld/testsuite/ld-elf/ehdr_start.d b/ld/testsuite/ld-elf/ehdr_start.d
-index 52e5b54..d538b66 100644
---- a/ld/testsuite/ld-elf/ehdr_start.d
-+++ b/ld/testsuite/ld-elf/ehdr_start.d
-@@ -2,6 +2,7 @@
- #ld: -e _start
- #nm: -n
- #target: *-*-linux* *-*-gnu* *-*-nacl*
-+#xfail: frv-*-*
-
- #...
- [0-9a-f]*000 [Adrt] __ehdr_start
---
-1.7.1
-
diff --git a/abs/core/binutils/binutils-e9c1bdad.patch b/abs/core/binutils/binutils-e9c1bdad.patch
new file mode 100644
index 0000000..6ef9f52
--- /dev/null
+++ b/abs/core/binutils/binutils-e9c1bdad.patch
@@ -0,0 +1,78 @@
+diff --git a/gold/layout.cc b/gold/layout.cc
+index bcdaac8..7836640 100644
+--- a/gold/layout.cc
++++ b/gold/layout.cc
+@@ -4873,7 +4873,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
+ flags |= elfcpp::DF_STATIC_TLS;
+ if (parameters->options().origin())
+ flags |= elfcpp::DF_ORIGIN;
+- if (parameters->options().Bsymbolic())
++ if (parameters->options().Bsymbolic()
++ && !parameters->options().have_dynamic_list())
+ {
+ flags |= elfcpp::DF_SYMBOLIC;
+ // Add DT_SYMBOLIC for compatibility with older loaders.
+diff --git a/gold/options.cc b/gold/options.cc
+index 7eb8f27..7f1f69e 100644
+--- a/gold/options.cc
++++ b/gold/options.cc
+@@ -1200,13 +1200,6 @@ General_options::finalize()
+ // in the path, as appropriate.
+ this->add_sysroot();
+
+- // --dynamic-list overrides -Bsymbolic and -Bsymbolic-functions.
+- if (this->have_dynamic_list())
+- {
+- this->set_Bsymbolic(false);
+- this->set_Bsymbolic_functions(false);
+- }
+-
+ // Now that we've normalized the options, check for contradictory ones.
+ if (this->shared() && this->is_static())
+ gold_fatal(_("-shared and -static are incompatible"));
+diff --git a/gold/symtab.h b/gold/symtab.h
+index aa0cb68..9413360 100644
+--- a/gold/symtab.h
++++ b/gold/symtab.h
+@@ -604,10 +604,8 @@ class Symbol
+ if (parameters->options().in_dynamic_list(this->name()))
+ return true;
+
+- // If the user used -Bsymbolic or provided a --dynamic-list script,
+- // then nothing (else) is preemptible.
+- if (parameters->options().Bsymbolic()
+- || parameters->options().have_dynamic_list())
++ // If the user used -Bsymbolic, then nothing (else) is preemptible.
++ if (parameters->options().Bsymbolic())
+ return false;
+
+ // If the user used -Bsymbolic-functions, then functions are not
+diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
+index f767c21..7b73f9d 100644
+--- a/gold/testsuite/Makefile.am
++++ b/gold/testsuite/Makefile.am
+@@ -1518,7 +1518,7 @@ dynamic_list_lib1.o: dynamic_list_lib1.cc
+ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+ dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
+- $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
++ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
+ dynamic_list_lib2.o: dynamic_list_lib2.cc
+ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
+index 217e472..b4ae3fd 100644
+--- a/gold/testsuite/Makefile.in
++++ b/gold/testsuite/Makefile.in
+@@ -5319,7 +5319,7 @@ uninstall-am:
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
+-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
++@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+--
+1.9.4
+
diff --git a/abs/core/btrfs-progs/PKGBUILD b/abs/core/btrfs-progs/PKGBUILD
index 47d6884..06a6603 100644
--- a/abs/core/btrfs-progs/PKGBUILD
+++ b/abs/core/btrfs-progs/PKGBUILD
@@ -1,47 +1,60 @@
-# $Id: PKGBUILD 202441 2013-12-21 23:13:17Z tomegun $
-# Maintainer: Tom Gundersen <teg@jklm.no>
+# $Id$
+# Maintainer: Sébastien "Seblu" Luttringer <seblu@archlinux.org>
+# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=btrfs-progs
-pkgver=3.12
+pkgver=4.4
pkgrel=1
-pkgdesc="btrfs filesystem utilities"
-arch=(i686 x86_64)
-depends=('glibc' 'e2fsprogs' 'lzo2')
-makedepends=('git')
-url="http://btrfs.wiki.kernel.org/"
+pkgdesc='Btrfs filesystem utilities'
+arch=('i686' 'x86_64')
+depends=('glibc' 'libutil-linux' 'e2fsprogs' 'lzo' 'zlib')
+makedepends=('git' 'asciidoc' 'xmlto')
+url='http://btrfs.wiki.kernel.org/'
replaces=('btrfs-progs-unstable')
conflicts=('btrfs-progs-unstable')
provides=('btrfs-progs-unstable')
license=('GPL2')
-source=("git://git.kernel.org/pub/scm/linux/kernel/git/mason/${pkgname}.git#tag=v${pkgver}"
- initcpio-install-btrfs
- initcpio-hook-btrfs)
+source=("git://git.kernel.org/pub/scm/linux/kernel/git/kdave/$pkgname.git#tag=v$pkgver"
+ 'initcpio-install-btrfs'
+ 'initcpio-hook-btrfs'
+ 'btrfs-scrub@.service'
+ 'btrfs-scrub@.timer')
install=btrfs-progs.install
options=(!staticlibs)
+md5sums=('SKIP'
+ '7241ba3a4286d08da0d50b7176941112'
+ 'b09688a915a0ec8f40e2f5aacbabc9ad'
+ '794b867e09451284c545bae112aa0cfd'
+ 'a290e0ab88b7b4675cd20f5a2befc8cb')
build() {
- cd $pkgname
- make CFLAGS="$CFLAGS"
- make CFLAGS="$CFLAGS" btrfs-select-super
+ cd $pkgname
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname
+ ./btrfs filesystem show
}
package() {
- cd $pkgname
+ cd $pkgname
+ make prefix="$pkgdir"/usr install
- make prefix=$pkgdir/usr install
- install -Dm755 btrfs-select-super $pkgdir/usr/bin
+ # install bash completion (FS#44618)
+ install -Dm644 btrfs-completion "$pkgdir/usr/share/bash-completion/completions/btrfs"
- # fix manpage
- mkdir -p $pkgdir/usr/share/
- mv $pkgdir/usr/man $pkgdir/usr/share/man
+ # install mkinitcpio hooks
+ cd "$srcdir"
+ install -Dm644 initcpio-install-btrfs "$pkgdir/usr/lib/initcpio/install/btrfs"
+ install -Dm644 initcpio-hook-btrfs "$pkgdir/usr/lib/initcpio/hooks/btrfs"
- # install mkinitcpio hooks
- install -Dm644 "$srcdir/initcpio-install-btrfs" \
- "$pkgdir/usr/lib/initcpio/install/btrfs"
- install -Dm644 "$srcdir/initcpio-hook-btrfs" \
- "$pkgdir/usr/lib/initcpio/hooks/btrfs"
+ # install scrub service/timer
+ install -Dm644 btrfs-scrub@.service "$pkgdir/usr/lib/systemd/system/btrfs-scrub@.service"
+ install -Dm644 btrfs-scrub@.timer "$pkgdir/usr/lib/systemd/system/btrfs-scrub@.timer"
}
-md5sums=('SKIP'
- '7241ba3a4286d08da0d50b7176941112'
- 'b09688a915a0ec8f40e2f5aacbabc9ad')
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/btrfs-progs/btrfs-progs.install b/abs/core/btrfs-progs/btrfs-progs.install
index d6c0698..1e75f02 100644
--- a/abs/core/btrfs-progs/btrfs-progs.install
+++ b/abs/core/btrfs-progs/btrfs-progs.install
@@ -1,8 +1,14 @@
#!/bin/sh
+## arg 1: the new package version
+## arg 2: the old package version
post_upgrade() {
- if [ "$(vercmp 0.19.20121005 "$2")" -eq 1 ]; then
- echo "btrfs multi-device support now relies on linux 3.6 or later"
+ if (( "$(vercmp "$2" 0.19.20121005)" < 0 )); then
+ echo 'btrfs multi-device support now relies on linux 3.6 or later'
+ elif (( "$(vercmp "$2" 4.3.1-2)" < 0 )); then
+ echo 'btrfs-scrub@.timer instance names must not be prefix by dash anymore'
+ echo 'use btrfs-scrub@-.timer to scrub / monthly'
+ echo ' btrfs-scrub@home.timer to scrub /home monthly.'
fi
}
diff --git a/abs/core/btrfs-progs/btrfs-scrub@.service b/abs/core/btrfs-progs/btrfs-scrub@.service
new file mode 100644
index 0000000..9b83ded
--- /dev/null
+++ b/abs/core/btrfs-progs/btrfs-scrub@.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Btrfs scrub on %f
+
+[Service]
+Nice=19
+IOSchedulingClass=idle
+ExecStart=/usr/bin/btrfs scrub start -B %f
diff --git a/abs/core/btrfs-progs/btrfs-scrub@.timer b/abs/core/btrfs-progs/btrfs-scrub@.timer
new file mode 100644
index 0000000..c4d8730
--- /dev/null
+++ b/abs/core/btrfs-progs/btrfs-scrub@.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Monthly Btrfs scrub on %I
+
+[Timer]
+OnCalendar=monthly
+AccuracySec=1d
+Persistent=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/ca-certificates/PKGBUILD b/abs/core/ca-certificates/PKGBUILD
index a5edf22..f377a79 100644
--- a/abs/core/ca-certificates/PKGBUILD
+++ b/abs/core/ca-certificates/PKGBUILD
@@ -1,52 +1,45 @@
# $Id$
-# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgbase=ca-certificates
pkgname=(ca-certificates-utils ca-certificates)
-pkgver=20140923
-pkgrel=2
+pkgver=20150402
+pkgrel=1
pkgdesc='Common CA certificates'
arch=('any')
url='http://pkgs.fedoraproject.org/cgit/ca-certificates.git'
license=('GPL2')
-depends=('sh' 'p11-kit')
-makedepends=('asciidoc')
-_commit=f81c301
-source=("update-ca-trust::$url/plain/update-ca-trust?id=$_commit"
- "update-ca-trust.8.txt::$url/plain/update-ca-trust.8.txt?id=$_commit")
-sha256sums=('75ef2f4b0fddd2ca3c69b234a6abb66fd732e4af96814b65dcedb0dd52018381'
- 'd31ac2bb5f1941aea0ac1e51861af7be224b6bb85820e30bb30793112aa785ba')
-
-_confdir=/etc/$pkgbase
-_datadir=/usr/share/$pkgbase
-
-prepare() {
- sed -i "s:/etc/pki/ca-trust:${_confdir}:g" update-ca-trust
+makedepends=('asciidoc' 'p11-kit')
+source=(update-ca-trust update-ca-trust.8.txt)
+sha256sums=('746d2cce8ec107fa3b7aaa246d69a7e238c3d2ac5cd82c5aeed996fe9cb0a874'
+ '38c10446738c1e99bc95e42fe844a9e95ea106795059fa769f3b4ba82b395929')
+
+build() {
+ asciidoc.py -v -d manpage -b docbook update-ca-trust.8.txt
+ xsltproc --nonet -o update-ca-trust.8 /etc/asciidoc/docbook-xsl/manpage.xsl update-ca-trust.8.xml
}
package_ca-certificates-utils() {
pkgdesc+=" (utilities)"
+ depends=('bash' 'coreutils' 'findutils' 'p11-kit>=0.23.1')
install=ca-certificates-utils.install
provides=(ca-certificates ca-certificates-java)
conflicts=(ca-certificates-java)
replaces=(ca-certificates-java)
- asciidoc.py -v -d manpage -b docbook update-ca-trust.8.txt
- xsltproc --nonet -o update-ca-trust.8 /etc/asciidoc/docbook-xsl/manpage.xsl update-ca-trust.8.xml
-
install -D update-ca-trust "${pkgdir}/usr/bin/update-ca-trust"
install -Dm644 update-ca-trust.8 "${pkgdir}/usr/share/man/man8/update-ca-trust.8"
- install -d "${pkgdir}"{${_confdir},${_datadir}}/trust-source/{anchors,blacklist}
+ # Trust source directories
+ install -d "${pkgdir}"/{etc,usr/share}/${pkgbase}/trust-source/{anchors,blacklist}
- _extractdir="${pkgdir}${_confdir}/extracted"
- _ssldir="${pkgdir}/etc/ssl"
+ # Directories used by update-ca-trust (aka "trust extract-compat")
+ install -d "${pkgdir}"/etc/{ssl/certs/java,${pkgbase}/extracted}
- install -d "${_ssldir}/certs/java" "${_extractdir}"/{openssl,pem,java}
- ln -sr "${_extractdir}/openssl/ca-bundle.trust.crt" "${_ssldir}/certs/ca-bundle.trust.crt"
- ln -sr "${_extractdir}/pem/tls-ca-bundle.pem" "${_ssldir}/certs/ca-bundle.crt"
- ln -sr "${_extractdir}/pem/tls-ca-bundle.pem" "${_ssldir}/cert.pem"
- ln -sr "${_extractdir}/java/cacerts" "${_ssldir}/certs/java/cacerts"
+ # Compatibility link for OpenSSL using /etc/ssl as CAdir
+ # Used in preference to the individual links in /etc/ssl/certs
+ ln -s ../${pkgbase}/extracted/tls-ca-bundle.pem "${pkgdir}/etc/ssl/cert.pem"
}
package_ca-certificates() {
@@ -54,4 +47,4 @@ package_ca-certificates() {
depends=(ca-certificates-{mozilla,cacert})
}
-# vim:set noet ts=8 sw=8:
+# vim:set noet ts=8 sw=8 sts=0:
diff --git a/abs/core/ca-certificates/ca-certificates-utils.install b/abs/core/ca-certificates/ca-certificates-utils.install
index bf18c7f..8120878 100644
--- a/abs/core/ca-certificates/ca-certificates-utils.install
+++ b/abs/core/ca-certificates/ca-certificates-utils.install
@@ -2,28 +2,43 @@ export LC_ALL=C
post_install() {
usr/bin/update-ca-trust
-}
-pre_upgrade() {
- if (( $(vercmp $2 20140923-2) < 0 )); then
- find /etc/ssl/certs -type l -print | while read symlink; do
- case $(readlink $symlink) in
- /usr/share/ca-certificates*) rm -f $symlink;;
- esac
- done
- find /etc/ssl/certs -type l -print | while read symlink; do
- test -f $symlink || rm -f $symlink
- done
- rm -f /etc/ssl/certs/ca-certificates.crt
- fi
+ # This should be a normally packaged file, but that would
+ # require user intervention at upgrade
+ ln -srf etc/ca-certificates/extracted/tls-ca-bundle.pem \
+ etc/ssl/certs/ca-certificates.crt
}
post_upgrade() {
usr/bin/update-ca-trust
+
+ if (( $(vercmp $2 20140923-7.1) < 0 )); then
+ cat <<MSG
+ The way local CA certificates are handled has changed.
+ If you have added any certificates manually:
+
+ 1. Move certificates from /usr/local/share/ca-certificates/
+ to /etc/ca-certificates/trust-source/anchors/
+ 2. Do the same with root certificates added to /etc/ssl/certs/
+ 3. Instead of \`update-ca-certificates\`, run \`trust extract-compat\`
+
+ Also see \`man 8 update-ca-trust\` and \`trust --help\`.
+MSG
+ fi
+
+ if (( $(vercmp $2 20150402) < 0 )); then
+ ln -srf etc/ca-certificates/extracted/tls-ca-bundle.pem \
+ etc/ssl/certs/ca-certificates.crt
+
+ # Moved to etc/ca-certificates/extracted
+ rm -f etc/ssl/certs/ca-bundle.trust.crt
+ fi
}
pre_remove() {
usr/bin/update-ca-trust
+
+ rm -f etc/ssl/certs/{ca-certificates.crt,java/cacerts}
}
-# vim:set noet ts=8 sw=8:
+# vim:set noet ts=8 sw=8 sts=0:
diff --git a/abs/core/ca-certificates/update-ca-trust b/abs/core/ca-certificates/update-ca-trust
new file mode 100644
index 0000000..9a97e34
--- /dev/null
+++ b/abs/core/ca-certificates/update-ca-trust
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# At this time, while this script is trivial, we ignore any parameters given.
+# However, for backwards compatibility reasons, future versions of this script must
+# support the syntax "update-ca-trust extract" trigger the generation of output
+# files in $DEST.
+
+DEST=/etc/ca-certificates/extracted
+
+# The directory-format extractors remove all files in the target directory, but not directories or files therein
+trust extract --overwrite --format=pem-directory-hash --filter=ca-anchors --purpose server-auth $DEST/cadir
+trust extract --overwrite --format=pem-bundle --filter=ca-anchors --purpose server-auth $DEST/tls-ca-bundle.pem
+trust extract --overwrite --format=pem-bundle --filter=ca-anchors --purpose email $DEST/email-ca-bundle.pem
+trust extract --overwrite --format=pem-bundle --filter=ca-anchors --purpose code-signing $DEST/objsign-ca-bundle.pem
+trust extract --overwrite --format=openssl-bundle --filter=certificates $DEST/ca-bundle.trust.crt
+
+# We don't want to have to remove everything from the certs directory but neither
+# do we want to leave stale certs around, so symlink it all from somewhere else
+for f in $DEST/cadir/*; do
+ ln -fsr -t /etc/ssl/certs "$f"
+done
+
+# Now find and remove all broken symlinks
+find -L /etc/ssl/certs -maxdepth 1 -type l -delete
+
+# Java bundle
+trust extract --overwrite --format=java-cacerts --filter=ca-anchors --purpose server-auth /etc/ssl/certs/java/cacerts
diff --git a/abs/core/ca-certificates/update-ca-trust.8.txt b/abs/core/ca-certificates/update-ca-trust.8.txt
new file mode 100644
index 0000000..67e2ba3
--- /dev/null
+++ b/abs/core/ca-certificates/update-ca-trust.8.txt
@@ -0,0 +1,265 @@
+////
+Copyright (C) 2013 Red Hat, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+////
+
+
+update-ca-trust(8)
+==================
+:doctype: manpage
+:man source: update-ca-trust
+
+
+NAME
+----
+update-ca-trust - manage consolidated and dynamic configuration of CA
+certificates and associated trust
+
+
+SYNOPSIS
+--------
+*update-ca-trust* ['COMMAND']
+
+
+DESCRIPTION
+-----------
+update-ca-trust(8) is used to manage a consolidated and dynamic configuration
+feature of Certificate Authority (CA) certificates and associated trust.
+
+The feature is available for new applications that read the
+consolidated configuration files found in the /etc/ssl/certs or /etc/ca-certificates/extracted directories
+or that load the PKCS#11 module p11-kit-trust.so
+
+Parts of the new feature are also provided in a way to make it useful
+for legacy applications.
+
+Many legacy applications expect CA certificates and trust configuration
+in a fixed location, contained in files with particular path and name,
+or by referring to a classic PKCS#11 trust module provided by the
+NSS cryptographic library.
+
+The dynamic configuration feature provides functionally compatible replacements
+for classic configuration files and for the classic NSS trust module named libnssckbi.
+
+In order to enable legacy applications, that read the classic files or
+access the classic module, to make use of the new consolidated and dynamic configuration
+feature, some classic filenames have been changed to symbolic links.
+The symbolic links refer to dynamically created and consolidated
+output stored below the /etc/ca-certificates/extracted directory hierarchy.
+
+The output is produced using the 'update-ca-trust' command (without parameters),
+or using the 'update-ca-trust extract' command.
+In order to produce the output, a flexible set of source configuration
+is read, as described in section <<sourceconf,SOURCE CONFIGURATION>>.
+
+In addition, the classic PKCS#11 module
+is replaced with a new PKCS#11 module (p11-kit-trust.so) that dynamically
+reads the same source configuration.
+
+
+[[sourceconf]]
+SOURCE CONFIGURATION
+--------------------
+The dynamic configuration feature uses several source directories that
+will be scanned for any number of source files. *It is important to select
+the correct subdirectory for adding files, as the subdirectory defines how
+contained certificates will be trusted or distrusted, and which file formats are read.*
+
+Files in subdirectories below the directory hierarchy /usr/share/ca-certificates/trust-source/ contain CA certificates and
+trust settings in the PEM file format. The trust settings found here will be
+interpreted with a *low priority*.
+
+Files in subdirectories below the directory hierarchy /etc/ca-certificates/trust-source/ contain CA certificates and
+trust settings in the PEM file format. The trust settings found here will be
+interpreted with a *high priority*.
+
+.You may use the following rules of thumb to decide, whether your configuration files should be added to the /etc or rather to the /usr directory hierarchy:
+* If you are manually adding a configuration file to a system, you probably
+want it to override any other default configuration, and you most likely should
+add it to the respective subdirectory in the /etc hierarchy.
+* If you are creating a package that provides additional root CA certificates,
+that is intended for distribution to several computer systems, but you still
+want to allow the administrator to override your list, then your package should
+add your files to the respective subdirectory in the /usr hierarchy.
+* If you are creating a package that is supposed to override the default system
+trust settings, that is intended for distribution to several computer systems, then your package should install the files to the respective
+subdirectory in the /etc hierarchy.
+
+.*QUICK HELP 1*: To add a certificate in the simple PEM or DER file formats to the list of CAs trusted on the system:
+* add it as a new file to directory /etc/ca-certificates/trust-source/anchors/
+* run 'update-ca-trust extract'
+
+.*QUICK HELP 2*: If your certificate is in the extended BEGIN TRUSTED file format (which may contain distrust/blacklist trust flags, or trust flags for usages other than TLS) then:
+* add it as a new file to directory /etc/ca-certificates/trust-source/
+* run 'update-ca-trust extract'
+
+.In order to offer simplicity and flexibility, the way certificate files are treated depends on the subdirectory they are installed to.
+* simple trust anchors subdirectory: /usr/share/ca-certificates/trust-source/anchors/ or /etc/ca-certificates/trust-source/anchors/
+* simple blacklist (distrust) subdirectory: /usr/share/ca-certificates/trust-source/blacklist/ or /etc/ca-certificates/trust-source/blacklist/
+* extended format directory: /usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/
+
+.In the main directories /usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ you may install one or multiple files in the following file formats:
+* certificate files that include trust flags,
+ in the BEGIN/END TRUSTED CERTIFICATE file format
+ (any file name), which have been created using the openssl x509 tool
+ and the -addreject -addtrust options.
+ Bundle files with multiple certificates are supported.
+* files in the p11-kit file format using the .p11-kit file name
+ extension, which can (e.g.) be used to distrust certificates
+ based on serial number and issuer name, without having the
+ full certificate available.
+ (This is currently an undocumented format, to be extended later.
+ For examples of the supported formats, see the files
+ shipped with the ca-certificates-mozilla package.)
+* certificate files without trust flags in either the DER file format or in
+ the PEM (BEGIN/END CERTIFICATE) file format (any file name). Such files
+ will be added with neutral trust, neither trusted nor distrusted.
+ They will simply be known to the system, which might be helpful to
+ assist cryptographic software in constructing chains of certificates.
+ (If you want a CA certificate in these file formats to be trusted, you
+ should remove it from this directory and move it to the
+ ./anchors subdirectory instead.)
+
+In the anchors subdirectories /usr/share/ca-certificates/trust-source/anchors/ or /etc/ca-certificates/trust-source/anchors/
+you may install one or multiple certificates in either the DER file
+format or in the PEM (BEGIN/END CERTIFICATE) file format.
+Each certificate will be treated as *trusted* for all purposes.
+
+In the blacklist subdirectories /usr/share/ca-certificates/trust-source/blacklist/ or /etc/ca-certificates/trust-source/blacklist/
+you may install one or multiple certificates in either the DER file
+format or in the PEM (BEGIN/END CERTIFICATE) file format.
+Each certificate will be treated as *distrusted* for all purposes.
+
+Please refer to the x509(1) manual page for the documentation of the
+BEGIN/END CERTIFICATE and BEGIN/END TRUSTED CERTIFICATE file formats.
+
+Applications that rely on a static file for a list of trusted CAs
+may load one of the files found in the /etc/ssl/certs or /etc/ca-certificates/extracted
+directory. After modifying any file in the
+/usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/
+directories or in any of their subdirectories, or after adding a file,
+it is necessary to run the 'update-ca-trust extract' command,
+in order to update the consolidated files in /etc/ssl/certs or /etc/ca-certificates/extracted/ .
+
+Applications that load the classic PKCS#11 module using filename libnssckbi.so
+(which has been converted into a symbolic link pointing to the new module)
+and any application capable of
+loading PKCS#11 modules and loading p11-kit-trust.so, will benefit from
+the dynamically merged set of certificates and trust information stored in the
+/usr/share/ca-certificates/trust-source/ and /etc/ca-certificates/trust-source/ directories.
+
+
+[[extractconf]]
+EXTRACTED CONFIGURATION
+-----------------------
+The directories /etc/ssl/certs and /etc/ca-certificates/extracted/ contains generated CA certificate
+bundle files which are created and updated, based on the <<sourceconf,SOURCE CONFIGURATION>>
+by running the 'update-ca-trust extract' command.
+
+If your application isn't able to load the PKCS#11 module p11-kit-trust.so,
+then you can use these files in your application to load a list of global
+root CA certificates.
+
+Please never manually edit the files stored in these directories,
+because your changes will be lost and the files automatically overwritten,
+each time the 'update-ca-trust extract' command gets executed.
+
+In order to install new trusted or distrusted certificates,
+please rather install them in the respective subdirectory below the
+/usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/
+directories, as described in the <<sourceconf,SOURCE CONFIGURATION>> section.
+
+The directory /etc/ssl/certs contains a OpenSSL-cadir-style hash farm.
+Distrust information cannot be represented in this format,
+and distrusted certificates are missing from these files.
+
+The directory /etc/ssl/certs/java contains
+a CA certificate bundle in the java keystore file format.
+Distrust information cannot be represented in this file format,
+and distrusted certificates are missing from these files.
+File cacerts contains CA certificates trusted for TLS server authentication.
+
+The directory /etc/ca-certificates/extracted contains
+CA certificate bundle files in the simple BEGIN/END CERTIFICATE file format,
+as decribed in the x509(1) manual page.
+Distrust information cannot be represented in this file format,
+and distrusted certificates are missing from these files.
+File tls-ca-bundle.pem contains CA certificates
+trusted for TLS server authentication.
+File email-ca-bundle.pem contains CA certificates
+trusted for E-Mail protection.
+File objsign-ca-bundle.pem contains CA certificates
+trusted for code signing.
+File ca-bundle.trust.crt contains certificates in the extended
+BEGIN/END TRUSTED CERTIFICATE file format, as described in the x509(1) manual page.
+This bundle contains the full set of all trusted
+and distrusted certificates, including the associated trust flags.
+
+
+COMMANDS
+--------
+(absent/empty command)::
+ Same as the *extract* command described below. (However, the command may
+ print fewer warnings, as this command is being run during package
+ installation, where non-fatal status output is undesired.)
+
+*extract*::
+ Instruct update-ca-trust to scan the <<sourceconf,SOURCE CONFIGURATION>> and produce
+ updated versions of the consolidated configuration files stored below
+ the /etc/ssl/certs and /etc/ca-certificates/extracted directory
+ hierarchies.
+
+FILES
+-----
+/usr/share/ca-certificates/trust-source::
+ Contains multiple, low priority source configuration files as explained in section <<sourceconf,SOURCE CONFIGURATION>>. Please pay attention to the specific meanings of the respective subdirectories.
+
+/etc/ca-certificates/trust-source::
+ Contains multiple, high priority source configuration files as explained in section <<sourceconf,SOURCE CONFIGURATION>>. Please pay attention to the specific meanings of the respective subdirectories.
+
+/etc/ca-certificates/extracted::
+ Contains consolidated and automatically generated configuration files for consumption by applications,
+ which are created using the 'update-ca-trust extract' command. Don't edit files in this directory, because they will be overwritten.
+ See section <<extractconf,EXTRACTED CONFIGURATION>> for additional details.
+
+/etc/ca-certificates/extracted/tls-ca-bundle.pem::
+ Contains a list of CA certificates trusted for TLS server authentication, in the simple BEGIN/END CERTIFICATE file format, without distrust information.
+
+/etc/ca-certificates/extracted/email-ca-bundle.pem::
+ Contains a list of CA certificates trusted for E-Mail protection, in the simple BEGIN/END CERTIFICATE file format, without distrust information.
+
+/etc/ca-certificates/extracted/objsign-ca-bundle.pem::
+ Contains a list of CA certificates trusted for code signing, in the simple BEGIN/END CERTIFICATE file format, without distrust information.
+
+/etc/ca-certificates/extracted/ca-bundle.trust.crt::
+ Contains a list of CA certificates in the extended BEGIN/END TRUSTED CERTIFICATE file format, which includes trust (and/or distrust) flags specific to certificate usage.
+
+/etc/ca-certificates/extracted/cadir::
+ Contains individual CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information.
+ Also includes the necessary hash symlinks expected by OpenSSL.
+
+/etc/ssl/certs::
+ Classic directory, contains symlinks into /etc/ca-certificates/extracted/cadir which are maintained by the update-ca-trust command.
+
+/etc/ssl/certs/ca-certificates.crt::
+ Classic filename, a symlink to /etc/ca-certificates/extracted/tls-ca-bundle.pem.
+
+/etc/ssl/cert.pem::
+ Classic filename, a symlink to /etc/ca-certificates/extracted/tls-ca-bundle.pem.
+
+/etc/ssl/java/cacerts::
+ Classic filename, contains a list of CA certificates trusted for TLS server authentication usage, in the Java keystore file format, without distrust information.
+ This file is consolidated output created by the update-ca-trust command.
+
+AUTHOR
+------
+Written by Kai Engert and Stef Walter.
diff --git a/abs/core/cairo/PKGBUILD b/abs/core/cairo/PKGBUILD
index 94177ea..4fd5cfe 100644
--- a/abs/core/cairo/PKGBUILD
+++ b/abs/core/cairo/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Brice Carpentier <brice@daknet.org>
pkgname=cairo
-pkgver=1.14.0
+pkgver=1.14.6
pkgrel=2
pkgdesc="Cairo vector graphics library"
arch=(i686 x86_64)
@@ -16,17 +16,8 @@ makedepends=('mesa-libgl' 'librsvg' 'gtk2' 'poppler-glib' 'libspectre' 'gtk-doc'
#optdepends=('xcb-util: for XCB backend') # really needed?
provides=('cairo-xcb')
replaces=('cairo-xcb')
-source=(http://cairographics.org/releases/cairo-$pkgver.tar.xz
- git_fixes.diff)
-sha1sums=('53cf589b983412ea7f78feee2e1ba9cea6e3ebae'
- '0ebac538dfa510e8e3f07ba71a49dabc627b08ff')
-
-prepare() {
- cd $pkgname-$pkgver
- # fix some segfaults: https://bugs.freedesktop.org/show_bug.cgi?id=85151
- # https://bugs.archlinux.org/task/42596
- patch -Np1 -i ${srcdir}/git_fixes.diff
-}
+source=(http://cairographics.org/releases/cairo-$pkgver.tar.xz)
+sha1sums=('0a59324e6cbe031b5b898ff8b9e2ffceb9d114f5')
build() {
cd $pkgname-$pkgver
@@ -42,7 +33,7 @@ build() {
--enable-ps \
--enable-pdf \
--enable-gobject \
- --enable-gtk-doc
+ --enable-gtk-doc
#--disable-xlib-xcb \
#--enable-test-surfaces \ takes ages
diff --git a/abs/core/cairo/git_fixes.diff b/abs/core/cairo/git_fixes.diff
deleted file mode 100644
index 8f751ce..0000000
--- a/abs/core/cairo/git_fixes.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-From 2de69581c28bf115852037ca41eba13cb7335976 Mon Sep 17 00:00:00 2001
-From: Massimo Valentini <mvalentini@src.gnome.org>
-Date: Sun, 19 Oct 2014 09:19:10 +0200
-Subject: tor-scan-converter: can't do_fullrow when intersection in row +
- 0.5subrow
-
-the active edges list must be left sorted at the next possible use
-and since full_row does not deal with intersections it is not usable
-when there is an intersection in the top half of the next row first
-subrow
-
-Reported-and-tested-by: Matthew Leach
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85151
-Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/src/cairo-tor-scan-converter.c b/src/cairo-tor-scan-converter.c
-index 4adcafb..14922d0 100644
---- a/src/cairo-tor-scan-converter.c
-+++ b/src/cairo-tor-scan-converter.c
-@@ -1167,8 +1167,8 @@ can_do_full_row (struct active_list *active)
-
- if (e->dy) {
- struct quorem x = e->x;
-- x.quo += e->dxdy_full.quo - e->dxdy.quo/2;
-- x.rem += e->dxdy_full.rem - e->dxdy.rem/2;
-+ x.quo += e->dxdy_full.quo;
-+ x.rem += e->dxdy_full.rem;
- if (x.rem < 0) {
- x.quo--;
- x.rem += e->dy;
---
-cgit v0.10.2
-
-
diff --git a/abs/core/certmaster/PKGBUILD b/abs/core/certmaster/PKGBUILD
index 85cb0f1..0b8458b 100644
--- a/abs/core/certmaster/PKGBUILD
+++ b/abs/core/certmaster/PKGBUILD
@@ -1,10 +1,10 @@
pkgname=certmaster
pkgver=0.28
-pkgrel=4
+pkgrel=5
pkgdesc="certmaster"
url="https://fedorahosted.org/certmaster/ "
license="gpl"
-depends=('pyopenssl')
+depends=('python2-pyopenssl')
makedepends=()
conflicts=()
replaces=()
@@ -18,10 +18,11 @@ arch=('i686' 'x86_64')
build() {
cd $srcdir/$pkgname-${pkgver}
python setup.py build
- python setup.py install --prefix=$pkgdir/usr
}
package() {
+ cd $srcdir/$pkgname-${pkgver}
+ python setup.py install --prefix=$pkgdir/usr
cd $srcdir
install -m755 -D minion.conf $pkgdir/etc/certmaster/minion.conf
install -m755 -D certmaster.conf $pkgdir/etc/certmaster/certmaster.conf
@@ -30,6 +31,7 @@ package() {
cd $pkgdir
find $pkgdir/usr/bin/* -exec sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' {} \;
find $pkgdir/ -name "*.pyc" -print | xargs rm -f
+ find $pkgdir/usr/lib/* -exec sed -i 's|SSLv3_METHOD|TLSv1_2_METHOD|' {} \;
}
md5sums=('f5acc9ff1efa34971296e26d794c5b35'
'953ff601e5381b457383e7a3c4928192'
diff --git a/abs/core/certmaster/certmaster.install b/abs/core/certmaster/certmaster.install
index b30f7ee..d22b6d7 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/LH/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/ceton_infinitv/PKGBUILD b/abs/core/ceton_infinitv/PKGBUILD
index ee86b84..1fb66a2 100755
--- a/abs/core/ceton_infinitv/PKGBUILD
+++ b/abs/core/ceton_infinitv/PKGBUILD
@@ -1,19 +1,21 @@
# Maintainer: Cecil Watson<knoppmyth@gmail.com>
pkgname=ceton_infinitv
-_kernver=3.18.4-1-ARCH
-_extramods="extramodules-3.18-ARCH"
-pkgver=2013_0326_2226
-pkgrel=8
+#_kernver=`uname -r`
+_kernver=4.4.8-1-ARCH
+_extramods="extramodules-4.4-ARCH"
+pkgver=2013.0326.2226
+pkgrel=14
usb_pkgver=0.1.0
+pci_pkgver=`echo $pkgver | tr . _`
pkgdesc="Drivers for Ceton InfiniTV4 - pci/usb "
arch=('i686' 'x86_64')
license=('GPL2')
url="http://cetoncorp.com/infinitv_support/linux_drivers"
-depends=('linux>=3.18' 'linux<3.19' 'libgusb' 'libnl1' 'ctntad')
+depends=('linux>=4.4' 'linux<4.5' 'libgusb' 'libnl1' 'ctntad')
makedepends=(linux-headers)
install=ceton.install
-source=("http://cetoncorp.com/downloads/ceton_infinitv_linux_driver_$pkgver.tar.gz"
+source=("http://cetoncorp.com/downloads/ceton_infinitv_linux_driver_$pci_pkgver.tar.gz"
"98-ctn91xx.rules"
"http://cetoncorp.com/downloads/infinitv-usbd-$usb_pkgver.tar.gz"
"ceton_usb_init.sh" "ifctn.sh"
@@ -26,13 +28,15 @@ build() {
patch -p1 -i $srcdir/no-date-time-warn.patch
make KERNEL_VERSION=$_kernver
- cd $startdir/src/infinitv-usbd-$usb_pkgver
+ cd $srcdir/infinitv-usbd-$usb_pkgver
LDFLAGS="/usr/lib/libgthread-2.0.so" ./configure --prefix=/usr
make
- make DESTDIR=${pkgdir} install
}
package() {
+ cd $srcdir/infinitv-usbd-$usb_pkgver
+ make DESTDIR=${pkgdir} install
+
install -Dm644 ${srcdir}/ceton_infinitv_linux_driver/ctn91xx.ko ${pkgdir}/usr/lib/modules/$_extramods/ctn91xx.ko
gzip -9 ${pkgdir}/usr/lib/modules/$_extramods/ctn91xx.ko
install -Dm644 ${srcdir}/98-ctn91xx.rules ${pkgdir}/etc/udev/rules.d/98-ctn91xx.rules
diff --git a/abs/core/cmake/PKGBUILD b/abs/core/cmake/PKGBUILD
index eb20157..e56b6e0 100644
--- a/abs/core/cmake/PKGBUILD
+++ b/abs/core/cmake/PKGBUILD
@@ -1,31 +1,34 @@
-# $Id: PKGBUILD 200685 2013-12-02 11:59:05Z svenstaro $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=cmake
-pkgver=2.8.12.1
+pkgver=3.4.1
pkgrel=3
-pkgdesc="A cross-platform open-source make system"
+pkgdesc='A cross-platform open-source make system'
arch=('i686' 'x86_64')
url="http://www.cmake.org/"
license=('custom')
-depends=('curl' 'libarchive' 'shared-mime-info')
-makedepends=('qt' 'emacs')
-optdepends=('qt: cmake-gui')
+depends=('curl' 'libarchive' 'shared-mime-info' 'jsoncpp')
+makedepends=('qt5-base' 'python2-sphinx' 'emacs')
+optdepends=('qt5-base: cmake-gui'
+ 'libxkbcommon-x11: cmake-gui')
install="${pkgname}.install"
-source=("http://www.cmake.org/files/v2.8/${pkgname}-${pkgver}.tar.gz"
- "findfreetype.patch")
-md5sums=('9d38cd4e2c94c3cea97d0e2924814acc'
- '90321de1d9d46cd8d6609d0509dbd7b0')
+source=("http://www.cmake.org/files/v${pkgver%.*}/${pkgname}-${pkgver}.tar.gz")
+md5sums=('73acda0d33be9b2729af99893d99a012')
-build() {
+prepare() {
cd ${pkgname}-${pkgver}
+}
- patch -Np1 < ${srcdir}/findfreetype.patch
+build() {
+ cd ${pkgname}-${pkgver}
./bootstrap --prefix=/usr \
--mandir=/share/man \
--docdir=/share/doc/cmake \
+ --sphinx-man \
--system-libs \
--qt-gui \
--parallel=$(/usr/bin/getconf _NPROCESSORS_ONLN)
@@ -37,12 +40,19 @@ package() {
make DESTDIR="${pkgdir}" install
vimpath="${pkgdir}/usr/share/vim/vimfiles"
- install -Dm644 Docs/cmake-indent.vim "${vimpath}"/indent/cmake-indent.vim
- install -Dm644 Docs/cmake-syntax.vim "${vimpath}"/syntax/cmake-syntax.vim
-
- install -Dm644 Docs/cmake-mode.el \
- "${pkgdir}"/usr/share/emacs/site-lisp/cmake-mode.el
- emacs -batch -f batch-byte-compile "${pkgdir}"/usr/share/emacs/site-lisp/cmake-mode.el
+ install -d "${vimpath}"/{help,indent,syntax}
+ ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/cmake-help.vim \
+ "${vimpath}"/help/
+ ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/cmake-indent.vim \
+ "${vimpath}"/indent/
+ ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/cmake-syntax.vim \
+ "${vimpath}"/syntax/
+
+ install -d "${pkgdir}"/usr/share/emacs/site-lisp/
+ emacs -batch -f batch-byte-compile \
+ "${pkgdir}"/usr/share/cmake-${pkgver%.*}/editors/emacs/cmake-mode.el
+ ln -s /usr/share/cmake-${pkgver%.*}/editors/emacs/cmake-mode.el \
+ "${pkgdir}"/usr/share/emacs/site-lisp/
install -Dm644 Copyright.txt \
"${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
diff --git a/abs/core/cmake/__changelog b/abs/core/cmake/__changelog
new file mode 100644
index 0000000..1f97308
--- /dev/null
+++ b/abs/core/cmake/__changelog
@@ -0,0 +1 @@
+PKGBUILD: change dep python-sphinx to python2-sphinx
diff --git a/abs/core/cmake/findfreetype.patch b/abs/core/cmake/findfreetype.patch
deleted file mode 100644
index 454b591..0000000
--- a/abs/core/cmake/findfreetype.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
-index 179dc00..0f5a2b4 100644
---- a/Modules/FindFreetype.cmake
-+++ b/Modules/FindFreetype.cmake
-@@ -62,10 +62,10 @@ find_path(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
- ENV GTKMM_BASEPATH
- [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
-- PATH_SUFFIXES include/freetype2 include
-+ PATH_SUFFIXES include/freetype2 include/freetype include
- )
-
--find_path(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
-+find_path(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h
- HINTS
- ENV FREETYPE_DIR
- PATHS
-@@ -76,7 +76,7 @@ find_path(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
- ENV GTKMM_BASEPATH
- [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
-- PATH_SUFFIXES include/freetype2 include
-+ PATH_SUFFIXES include/freetype2 include/freetype include include/freetype2/freetype
- )
-
- find_library(FREETYPE_LIBRARY
diff --git a/abs/core/cmake/rebuild.list b/abs/core/cmake/rebuild.list
new file mode 100644
index 0000000..a433213
--- /dev/null
+++ b/abs/core/cmake/rebuild.list
@@ -0,0 +1,4 @@
+quazip
+gluon
+sfml
+wt
diff --git a/abs/core/confuse/PKGBUILD b/abs/core/confuse/PKGBUILD
index 2d7f3d7..dcb7056 100644
--- a/abs/core/confuse/PKGBUILD
+++ b/abs/core/confuse/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 64161 2012-02-09 16:35:50Z ttopper $
+# $Id$
# Contributor : Ionut Biru <ibiru@archlinux.org>
# Contributor: Roman Kyrylych <roman@archlinux.org>
# Contributor: Alexander Mieland (dma147) <dma147@linux-stats.org>
@@ -6,14 +6,14 @@
pkgname=confuse
pkgver=2.7
-pkgrel=2
+pkgrel=3
pkgdesc="C-library for parsing configuration files"
arch=('i686' 'x86_64')
url="http://www.nongnu.org/confuse"
license=('LGPL')
depends=('glibc')
source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-options=('!libtool' '!emptydirs')
+options=('!emptydirs')
md5sums=('45932fdeeccbb9ef4228f1c1a25e9c8f')
build() {
diff --git a/abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch b/abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch
deleted file mode 100644
index 1f276b4..0000000
--- a/abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From d0294ff3b90430750a631556277c75f1a555dd44 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu, 3 Apr 2014 09:48:22 -0700
-Subject: [PATCH] cp: don't reserve a device number
-
-* src/copy.c (copy_internal): Replace dev_t arg DEVICE with struct
-stat pointer arg PARENT. All callers changed. This removes an
-unwarranted assumption that dev_t values of 0 cannot occur in file
-systems. See: http://bugs.gnu.org/17179
----
- src/copy.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/src/copy.c b/src/copy.c
-index 781cc1e..d471a77 100644
---- a/src/copy.c
-+++ b/src/copy.c
-@@ -117,7 +117,7 @@ struct dir_list
- #define DEST_INFO_INITIAL_CAPACITY 61
-
- static bool copy_internal (char const *src_name, char const *dst_name,
-- bool new_dst, dev_t device,
-+ bool new_dst, struct stat const *parent,
- struct dir_list *ancestors,
- const struct cp_options *x,
- bool command_line_arg,
-@@ -621,7 +621,7 @@ copy_dir (char const *src_name_in, char const *dst_name_in, bool new_dst,
- char *dst_name = file_name_concat (dst_name_in, namep, NULL);
- bool first_dir_created = *first_dir_created_per_command_line_arg;
-
-- ok &= copy_internal (src_name, dst_name, new_dst, src_sb->st_dev,
-+ ok &= copy_internal (src_name, dst_name, new_dst, src_sb,
- ancestors, &non_command_line_options, false,
- &first_dir_created,
- &local_copy_into_self, NULL);
-@@ -1725,9 +1725,8 @@ should_dereference (const struct cp_options *x, bool command_line_arg)
- /* Copy the file SRC_NAME to the file DST_NAME. The files may be of
- any type. NEW_DST should be true if the file DST_NAME cannot
- exist because its parent directory was just created; NEW_DST should
-- be false if DST_NAME might already exist. DEVICE is the device
-- number of the parent directory, or 0 if the parent of this file is
-- not known. ANCESTORS points to a linked, null terminated list of
-+ be false if DST_NAME might already exist. A nonnull PARENT describes the
-+ parent directory. ANCESTORS points to a linked, null terminated list of
- devices and inodes of parent directories of SRC_NAME. COMMAND_LINE_ARG
- is true iff SRC_NAME was specified on the command line.
- FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG is both input and output.
-@@ -1737,7 +1736,7 @@ should_dereference (const struct cp_options *x, bool command_line_arg)
- static bool
- copy_internal (char const *src_name, char const *dst_name,
- bool new_dst,
-- dev_t device,
-+ struct stat const *parent,
- struct dir_list *ancestors,
- const struct cp_options *x,
- bool command_line_arg,
-@@ -2434,7 +2433,7 @@ copy_internal (char const *src_name, char const *dst_name,
- }
-
- /* Decide whether to copy the contents of the directory. */
-- if (x->one_file_system && device != 0 && device != src_sb.st_dev)
-+ if (x->one_file_system && parent && parent->st_dev != src_sb.st_dev)
- {
- /* Here, we are crossing a file system boundary and cp's -x option
- is in effect: so don't copy the contents of this directory. */
-@@ -2827,7 +2826,7 @@ copy (char const *src_name, char const *dst_name,
- top_level_dst_name = dst_name;
-
- bool first_dir_created_per_command_line_arg = false;
-- return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL,
-+ return copy_internal (src_name, dst_name, nonexistent_dst, NULL, NULL,
- options, true,
- &first_dir_created_per_command_line_arg,
- copy_into_self, rename_succeeded);
---
-1.9.1
-
diff --git a/abs/core/coreutils/PKGBUILD b/abs/core/coreutils/PKGBUILD
index f10a12e..6762512 100644
--- a/abs/core/coreutils/PKGBUILD
+++ b/abs/core/coreutils/PKGBUILD
@@ -1,31 +1,36 @@
# $Id$
-# Maintainer: Sébastien "Seblu" Luttringer
-# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Maintainer: Sébastien "Seblu" Luttringer
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=coreutils
-pkgver=8.23
+pkgver=8.24
pkgrel=1
pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system'
arch=('i686' 'x86_64')
license=('GPL3')
url='http://www.gnu.org/software/coreutils'
groups=('base')
-depends=('glibc' 'pam' 'acl' 'gmp' 'libcap' 'openssl')
+depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl')
install=$pkgname.install
source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
-md5sums=('abed135279f87ad6762ce57ff6d89c41'
+validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady
+md5sums=('40efdbce865d2458d8da0a9dcee7c16c'
'SKIP')
-#prepare() {
-# cd $pkgname-$pkgver
-#}
+prepare() {
+ local _p
+ for _p in *.patch; do
+ [[ -e $_p ]] || continue
+ msg2 "Applying $_p"
+ patch -p1 -d $pkgname-$pkgver < "$_p"
+ done
+}
build() {
cd $pkgname-$pkgver
- FORCE_UNSAFE_CONFIGURE=1
- export FORCE_UNSAFE_CONFIGURE
+ export FORCE_UNSAFE_CONFIGURE=1
./configure \
--prefix=/usr \
--libexecdir=/usr/lib \
@@ -36,7 +41,7 @@ build() {
check() {
cd $pkgname-$pkgver
- make RUN_EXPENSIVE_TESTS=yes check
+ make check
}
package() {
diff --git a/abs/core/coreutils/__changelog b/abs/core/coreutils/__changelog
new file mode 100644
index 0000000..9164f37
--- /dev/null
+++ b/abs/core/coreutils/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: add export FORCE_UNSAFE_CONFIGURE=1
+
diff --git a/abs/core/cryptsetup/PKGBUILD b/abs/core/cryptsetup/PKGBUILD
index 8ea5bfa..238fff9 100644
--- a/abs/core/cryptsetup/PKGBUILD
+++ b/abs/core/cryptsetup/PKGBUILD
@@ -1,24 +1,35 @@
-# $Id: PKGBUILD 202619 2013-12-22 13:44:39Z thomas $
+# $Id$
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=cryptsetup
-pkgver=1.6.3
+pkgver=1.7.0
pkgrel=1
pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt"
arch=(i686 x86_64)
license=('GPL')
url="http://code.google.com/p/cryptsetup/"
groups=('base')
-depends=('device-mapper' 'libgcrypt' 'popt' 'util-linux')
+depends=('device-mapper' 'libgcrypt' 'popt' 'libutil-linux')
+makedepends=('util-linux')
options=('!emptydirs')
-source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2
- http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2.asc
+source=(https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/${pkgname}-${pkgver}.tar.xz
+ https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/${pkgname}-${pkgver}.tar.sign
encrypt_hook
encrypt_install
sd-encrypt)
+validpgpkeys=('2A2918243FDE46648D0686F9D9B0577BD93E98FC') # Milan Broz <gmazyland@gmail.com>
+sha256sums=('075524a7cc0db36d12119fa79116750accb1c6c8825d5faa2534b74b8ce3d148'
+ 'SKIP'
+ '4406f8dc83f4f1b408e49d557515f721d91b358355c71fbe51f74ab27e5c84ff'
+ 'cfe465bdad3d958bb2332a05e04f2e1e884422a5714dfd1a0a3b9b74bf7dc6ae'
+ 'd442304e6a78b3513ebc53be3fe2f1276a7df470c8da701b3ece971d59979bdd')
+
+#prepare() {
+# cd "${srcdir}"/$pkgname-${pkgver}
+#}
build() {
cd "${srcdir}"/$pkgname-${pkgver}
- ./configure --prefix=/usr --disable-static --enable-cryptsetup-reencrypt
+ ./configure --prefix=/usr --sbindir=/usr/bin --disable-static --enable-cryptsetup-reencrypt
make
}
@@ -29,13 +40,4 @@ package() {
install -D -m644 "${srcdir}"/encrypt_hook "${pkgdir}"/usr/lib/initcpio/hooks/encrypt
install -D -m644 "${srcdir}"/encrypt_install "${pkgdir}"/usr/lib/initcpio/install/encrypt
install -D -m644 "${srcdir}"/sd-encrypt "${pkgdir}"/usr/lib/initcpio/install/sd-encrypt
-
- # usrmove
- cd "$pkgdir"/usr
- mv sbin bin
}
-md5sums=('a7aeb549a543eeac433eadfb6bc67837'
- 'SKIP'
- 'c279d86d6dc18322c054d2272ebb9e90'
- '21c45f9cab3e0b5165f68358884fbd0f'
- '6cf7e170ecd13e42fe829209628fdb4d')
diff --git a/abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch b/abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch
deleted file mode 100644
index f3428c7..0000000
--- a/abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 4e1ece2e44f432c2614f2090155c0aaf2226ea80 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B6rn=20Stenberg?= <bjorn@haxx.se>
-Date: Sat, 28 Dec 2013 13:42:57 +0100
-Subject: [PATCH] connect: Try all addresses in first connection attempt
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes a bug when all addresses in the first family fail immediately, due
-to "Network unreachable" for example, curl would hang and never try the
-next address family.
-
-Iterate through all address families when to trying establish the first
-connection attempt.
-
-Bug: http://curl.haxx.se/bug/view.cgi?id=1315
-Reported-by: Michal Górny and Anthony G. Basile
----
- lib/connect.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/lib/connect.c b/lib/connect.c
-index 4b6ee00..588ac28 100644
---- a/lib/connect.c
-+++ b/lib/connect.c
-@@ -1104,12 +1104,12 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* context */
- conn->tempaddr[0]->ai_next == NULL ? timeout_ms : timeout_ms / 2;
-
- /* start connecting to first IP */
-- res = singleipconnect(conn, conn->tempaddr[0], &(conn->tempsock[0]));
-- while(res != CURLE_OK &&
-- conn->tempaddr[0] &&
-- conn->tempaddr[0]->ai_next &&
-- conn->tempsock[0] == CURL_SOCKET_BAD)
-- res = trynextip(conn, FIRSTSOCKET, 0);
-+ while(conn->tempaddr[0]) {
-+ res = singleipconnect(conn, conn->tempaddr[0], &(conn->tempsock[0]));
-+ if(res == CURLE_OK)
-+ break;
-+ conn->tempaddr[0] = conn->tempaddr[0]->ai_next;
-+ }
-
- if(conn->tempsock[0] == CURL_SOCKET_BAD)
- return res;
---
-1.8.5.2
-
diff --git a/abs/core/curl/PKGBUILD b/abs/core/curl/PKGBUILD
index 29d6892..212a08a 100644
--- a/abs/core/curl/PKGBUILD
+++ b/abs/core/curl/PKGBUILD
@@ -6,18 +6,18 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=curl
-pkgver=7.39.0
-pkgrel=1
+pkgver=7.47.1
+pkgrel=2
pkgdesc="An URL retrieval utility and library"
arch=('i686' 'x86_64')
url="http://curl.haxx.se"
license=('MIT')
-depends=('ca-certificates' 'krb5' 'libssh2' 'libidn' 'openssl' 'zlib')
+depends=('ca-certificates' 'krb5' 'libidn' 'libssh2' 'openssl' 'zlib')
provides=('libcurl.so')
options=('strip' 'debug')
source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
curlbuild.h)
-md5sums=('88c5650122873712296d4b1db3f12e6c'
+md5sums=('3f9d1be7bf33ca4b8c8602820525302b'
'SKIP'
'751bd433ede935c8fae727377625a8ae')
validpgpkeys=('914C533DF9B2ADA2204F586D78E11C6B279D5C91') # Daniel Stenberg
diff --git a/abs/core/dbus/30-dbus b/abs/core/dbus/30-dbus
deleted file mode 100644
index 42b3a5f..0000000
--- a/abs/core/dbus/30-dbus
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-# launches a session dbus instance
-if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && type dbus-launch >/dev/null; then
- eval $(dbus-launch --sh-syntax --exit-with-session)
-fi
diff --git a/abs/core/dbus/PKGBUILD b/abs/core/dbus/PKGBUILD
index e554405..ddc3ebf 100644
--- a/abs/core/dbus/PKGBUILD
+++ b/abs/core/dbus/PKGBUILD
@@ -5,19 +5,22 @@
pkgbase=dbus
pkgname=('dbus' 'libdbus')
-pkgver=1.8.12
-pkgrel=2
+pkgver=1.10.6
+pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
arch=(i686 x86_64)
license=('GPL' 'custom')
makedepends=('libx11' 'systemd' 'xmlto' 'docbook-xsl')
-source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz{,.asc}
- 30-dbus)
-md5sums=('0ca23fc84c09cb3d29b9c27811ff4475'
- 'SKIP'
- '3314d727fa57fc443fce25b5cbeebbcc')
-validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90')
+source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz{,.asc})
+md5sums=('26d0cf3a1c9782cb0e342101f0450440'
+ 'SKIP')
+validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90' # Simon McVittie <simon.mcvittie@collabora.co.uk>
+ '3C8672A0F49637FE064AC30F52A43A1E4B77B059') # Simon McVittie <simon.mcvittie@collabora.co.uk>
+
+prepare() {
+ cd dbus-$pkgver
+}
build() {
cd dbus-$pkgver
@@ -26,11 +29,11 @@ build() {
--with-system-pid-file=/run/dbus/pid \
--with-system-socket=/run/dbus/system_bus_socket \
--with-console-auth-dir=/run/console/ \
- --enable-inotify --disable-dnotify \
+ --enable-inotify \
--disable-verbose-mode --disable-static \
--disable-tests --disable-asserts \
--with-systemdsystemunitdir=/usr/lib/systemd/system \
- --enable-systemd
+ --enable-systemd --enable-user-session
make
}
@@ -48,16 +51,15 @@ package_dbus(){
make DESTDIR="$pkgdir" install
- rm -rf "${pkgdir}/var/run"
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
+ rm -r "${pkgdir}/var/run"
+ rm -r "${pkgdir}/usr/lib/pkgconfig"
- install -Dm755 ../30-dbus "$pkgdir/etc/X11/xinit/xinitrc.d/30-dbus"
install -Dm644 COPYING "$pkgdir/usr/share/licenses/dbus/COPYING"
}
package_libdbus(){
pkgdesc="DBus library"
- depends=('glibc')
+ depends=('libsystemd')
cd dbus-$pkgver
make DESTDIR="$pkgdir" -C dbus install
diff --git a/abs/core/dhcpcd/0001-Set-hostname-via-proc-if-file-is-available.patch b/abs/core/dhcpcd/0001-Set-hostname-via-proc-if-file-is-available.patch
deleted file mode 100644
index 4420d0b..0000000
--- a/abs/core/dhcpcd/0001-Set-hostname-via-proc-if-file-is-available.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From d345b36b483fec8fb2def5f3acdc2d3c5faa94eb Mon Sep 17 00:00:00 2001
-From: Dan McGee <dan@archlinux.org>
-Date: Sun, 19 Jun 2011 16:04:25 -0500
-Subject: [PATCH] Set hostname via /proc if file is available
-
-On Linux, the hostname can be set via this file if available, precluding
-the need for a `hostname` binary.
-
-Signed-off-by: Dan McGee <dan@archlinux.org>
----
- dhcpcd-hooks/30-hostname | 6 +++++-
- 1 files changed, 5 insertions(+), 1 deletions(-)
-
-diff --git a/dhcpcd-hooks/30-hostname b/dhcpcd-hooks/30-hostname
-index 65d1a13..af94262 100644
---- a/dhcpcd-hooks/30-hostname
-+++ b/dhcpcd-hooks/30-hostname
-@@ -21,7 +21,11 @@ need_hostname()
- try_hostname()
- {
- if valid_domainname "$1"; then
-- hostname "$1"
-+ if [ -w /proc/sys/kernel/hostname ]; then
-+ echo "$1" > /proc/sys/kernel/hostname
-+ else
-+ hostname "$1"
-+ fi
- else
- syslog err "Invalid hostname: $1"
- fi
---
-1.7.5.4
-
diff --git a/abs/core/dhcpcd/0001-set-MTU-via-sysfs-if-file-is-available.patch b/abs/core/dhcpcd/0001-set-MTU-via-sysfs-if-file-is-available.patch
deleted file mode 100644
index 7e78ecd..0000000
--- a/abs/core/dhcpcd/0001-set-MTU-via-sysfs-if-file-is-available.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 950c00d1b183796034d227ef47a90eb248d79b72 Mon Sep 17 00:00:00 2001
-From: Dave Reisner <d@falconindy.com>
-Date: Tue, 21 Jun 2011 09:32:47 -0400
-Subject: [PATCH] set MTU via sysfs if file is available
-
-On Linux, a network interface's MTU can be set by writing to
-/sys/class/net/$interface/mtu, which removes the dependency on ifconfig.
-
-Signed-off-by: Dave Reisner <d@falconindy.com>
----
- dhcpcd-hooks/10-mtu | 4 ++--
- dhcpcd-run-hooks.in | 11 +++++++++++
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/dhcpcd-hooks/10-mtu b/dhcpcd-hooks/10-mtu
-index 639697c..8763930 100644
---- a/dhcpcd-hooks/10-mtu
-+++ b/dhcpcd-hooks/10-mtu
-@@ -7,7 +7,7 @@ if [ "$reason" = PREINIT -a -e "$mtu_dir/$interface" ]; then
- elif [ -n "$new_interface_mtu" ] && $if_up; then
- # The smalled MTU dhcpcd can work with is 576
- if [ "$new_interface_mtu" -ge 576 ]; then
-- if ifconfig "$interface" mtu "$new_interface_mtu"; then
-+ if set_mtu "$interface" "$new_interface_mtu"; then
- syslog info "$interface: MTU set to $new_interface_mtu"
- # Save the MTU so we can restore it later
- if [ ! -e "$mtu_dir/$interface" ]; then
-@@ -21,7 +21,7 @@ elif [ -e "$mtu_dir/$interface" ]; then
- # No MTU in this state, so restore the prior MTU
- mtu=$(cat "$mtu_dir/$interface")
- syslog info "$interface: MTU restored to $mtu"
-- ifconfig "$interface" mtu "$mtu"
-+ set_mtu "$interface" "$mtu"
- rm "$mtu_dir/$interface"
- fi
- fi
-diff --git a/dhcpcd-run-hooks.in b/dhcpcd-run-hooks.in
-index 0e60338..843f3ca 100644
---- a/dhcpcd-run-hooks.in
-+++ b/dhcpcd-run-hooks.in
-@@ -215,6 +215,17 @@ service_condcommand()
- service_exists $1 && service_status $1 && service_cmd $1 $2
- }
-
-+# Set MTU for an interface
-+set_mtu() {
-+ local interface=$1 mtu=$2
-+
-+ if [ -e /sys/class/net/$interface/mtu ]; then
-+ echo "$mtu" > /sys/class/net/$interface/mtu
-+ else
-+ ifconfig "$interface" mtu "$mtu"
-+ fi
-+}
-+
- # We source each script into this one so that scripts run earlier can
- # remove variables from the environment so later scripts don't see them.
- # Thus, the user can create their dhcpcd.enter/exit-hook script to configure
---
-1.7.5.4
-
diff --git a/abs/core/dhcpcd/PKGBUILD b/abs/core/dhcpcd/PKGBUILD
index 81ea3be..e3a3708 100644
--- a/abs/core/dhcpcd/PKGBUILD
+++ b/abs/core/dhcpcd/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 199762 2013-11-15 21:24:38Z ronald $
+# $Id$
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Tom Killian <tom.archlinux.org>
# Contributor: Judd Vinet <jvinet.zeroflux.org>
pkgname=dhcpcd
-pkgver=6.1.0
-pkgrel=4
+pkgver=6.9.0
+pkgrel=1
pkgdesc="RFC2131 compliant DHCP client daemon"
url="http://roy.marples.name/projects/dhcpcd/"
arch=('i686' 'x86_64')
@@ -17,46 +17,50 @@ backup=('etc/dhcpcd.conf')
options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory
source=("http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2"
'dhcpcd_.service'
- 'dhcpcd.service'
- 'dhcpcd.conf.d' )
+ 'dhcpcd.service'
+ 'dhcpcd.conf.d')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
# configure variables
- ./configure \
+ ./configure \
--sbindir=/usr/bin \
--libexecdir=/usr/lib/dhcpcd \
--libdir=/usr/lib \
--dbdir=/var/lib/dhcpcd \
--rundir=/run
-
-
# Build
make
}
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make test
+}
+
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
# Install Configuration File used in /etc/rc.d/network
install -D -m644 ../dhcpcd.conf.d $pkgdir/etc/conf.d/$pkgname
# Install License
- install -d $pkgdir/usr/share/licenses/$pkgname
+ install -d "$pkgdir/usr/share/licenses/$pkgname"
sed 26q "$srcdir/$pkgname-$pkgver/control.h" \
>>"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# Set Options in /etc/dhcpcd.conf
- echo noipv4ll >> ${pkgdir}/etc/dhcpcd.conf # Disable ip4vall
+ echo noipv4ll >> "${pkgdir}/etc/dhcpcd.conf" # Disable ip4vall
# install systemd files
- install -Dm644 ${srcdir}/dhcpcd_.service ${pkgdir}/usr/lib/systemd/system/dhcpcd@.service
- install -Dm644 ${srcdir}/dhcpcd.service ${pkgdir}/usr/lib/systemd/system/dhcpcd.service # FS#31543
+ install -Dm644 "${srcdir}/dhcpcd_.service" "${pkgdir}/usr/lib/systemd/system/dhcpcd@.service"
+ install -Dm644 "${srcdir}/dhcpcd.service" "${pkgdir}/usr/lib/systemd/system/dhcpcd.service" # FS#31543
}
-md5sums=('6070040c57492925af9ac6aed980de2a'
+md5sums=('374fcac1877078a2fc0ef8cd1617a869'
'98cfea55077ba1680c2e902d669585b3'
- '75bd063ad699609eb84f09b843f0971f'
+ '85056d566b3119c02017cfcff768f710'
'1579b1b17306570078d2d4edfc867983')
diff --git a/abs/core/dhcpcd/__changelog b/abs/core/dhcpcd/__changelog
index 0004c0c..24efa35 100644
--- a/abs/core/dhcpcd/__changelog
+++ b/abs/core/dhcpcd/__changelog
@@ -1,4 +1,4 @@
-Added to dhcpcd.conf.d
-DHCPCD_ARGS="-t 30 -h $HOSTNAME"
-
-Added libdir=/usr/lib because /lib conflicts with filesystem pkg
+Added dhcpcd.conf.d
+ DHCPCD_ARGS="-t 30 -h $HOSTNAME"
+PKGBUILD: add dhcpcd.conf.d
+PKGBUILD: add libdir=/usr/lib because /lib conflicts with filesystem pkg
diff --git a/abs/core/dhcpcd/dhcpcd.service b/abs/core/dhcpcd/dhcpcd.service
index 489023d..e7dc289 100644
--- a/abs/core/dhcpcd/dhcpcd.service
+++ b/abs/core/dhcpcd/dhcpcd.service
@@ -6,8 +6,8 @@ Before=network.target
[Service]
Type=forking
PIDFile=/run/dhcpcd.pid
-ExecStart=/bin/dhcpcd -q -b
-ExecStop=/bin/dhcpcd -x
+ExecStart=/usr/bin/dhcpcd -q -b
+ExecStop=/usr/bin/dhcpcd -x
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/dhcpcd/remove_ifconfig.patch b/abs/core/dhcpcd/remove_ifconfig.patch
deleted file mode 100644
index 5bcc4a6..0000000
--- a/abs/core/dhcpcd/remove_ifconfig.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- dhcpcd-hooks/10-mtu.orig 2011-11-04 07:45:46.477712667 +0100
-+++ dhcpcd-hooks/10-mtu 2011-11-04 07:46:38.964379550 +0100
-@@ -7,7 +7,7 @@
- elif [ -n "$new_interface_mtu" ] && $if_up; then
- # The smalled MTU dhcpcd can work with is 576
- if [ "$new_interface_mtu" -ge 576 ]; then
-- if ifconfig "$interface" mtu "$new_interface_mtu"; then
-+ if ip link set "$interface" mtu "$new_interface_mtu"; then
- syslog info "$interface: MTU set to $new_interface_mtu"
- # Save the MTU so we can restore it later
- if [ ! -e "$mtu_dir/$interface" ]; then
-@@ -21,7 +21,7 @@
- # No MTU in this state, so restore the prior MTU
- mtu=$(cat "$mtu_dir/$interface")
- syslog info "$interface: MTU restored to $mtu"
-- ifconfig "$interface" mtu "$mtu"
-+ ip link set "$interface" mtu "$new_interface_mtu"
- rm "$mtu_dir/$interface"
- fi
- fi
diff --git a/abs/core/diffutils/PKGBUILD b/abs/core/diffutils/PKGBUILD
index ca871aa..944753f 100644
--- a/abs/core/diffutils/PKGBUILD
+++ b/abs/core/diffutils/PKGBUILD
@@ -1,33 +1,37 @@
-# $Id: PKGBUILD 137084 2011-09-06 04:35:05Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Mainainer: Sébastien Luttringer <seblu@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=diffutils
-pkgver=3.2
-pkgrel=1
-pkgdesc="Utility programs used for creating patch files"
+pkgver=3.3
+pkgrel=2
+pkgdesc='Utility programs used for creating patch files'
arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/diffutils"
+url='http://www.gnu.org/software/diffutils'
license=('GPL3')
groups=('base')
-depends=('glibc' 'sh')
+depends=('glibc' 'bash')
install=diffutils.install
-source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz)
-md5sums=('26ff64c332429c830c154be46b393382')
+validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering
+source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
+md5sums=('99180208ec2a82ce71f55b0d7389f1b3'
+ '203a2f2101dfcc09cdac655be353fd78')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- sed -i '/gets is a security hole/d' lib/stdio.in.h
+ cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
check() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd $pkgname-$pkgver
make check
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR="${pkgdir}" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/diffutils/__changelog b/abs/core/diffutils/__changelog
deleted file mode 100644
index f7bfd9a..0000000
--- a/abs/core/diffutils/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-sed -i '/gets is a security hole/d' lib/stdio.in.h
diff --git a/abs/core/dvb-firmware/PKGBUILD b/abs/core/dvb-firmware/PKGBUILD
index 244f247..ce109ae 100644
--- a/abs/core/dvb-firmware/PKGBUILD
+++ b/abs/core/dvb-firmware/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=dvb-firmware
pkgver=1
-pkgrel=22
+pkgrel=23
pkgdesc="Firmware for DVB cards"
replaces=('hd3000firmware')
arch=('i686' 'x86_64')
diff --git a/abs/core/dvb-firmware/dvb-fw/v4l-cx23885-enc.fw b/abs/core/dvb-firmware/dvb-fw/v4l-cx23885-enc.fw
new file mode 100644
index 0000000..25a2915
--- /dev/null
+++ b/abs/core/dvb-firmware/dvb-fw/v4l-cx23885-enc.fw
Binary files differ
diff --git a/abs/core/e16_theme_settings/PKGBUILD b/abs/core/e16_theme_settings/PKGBUILD
index c6cd7a9..0c32c32 100644
--- a/abs/core/e16_theme_settings/PKGBUILD
+++ b/abs/core/e16_theme_settings/PKGBUILD
@@ -1,19 +1,19 @@
pkgname=e16_theme_settings
-pkgver=8.1
-pkgrel=2
+pkgver=8.4
+pkgrel=3
pkgdesc="Default settings for e16"
-depends=('enlightenment')
+depends=('enlightenment' 'ttf-overlock')
source=()
arch=('i686' 'x86_64')
groups=(alt_wm)
install=e16.install
configdir=/usr/share/wm_data
-backup=('usr/share/wm_data/e16_config_dir/e_config--0.0.cfg')
package() {
- echo $startdir
- mkdir -p $pkgdir/$configdir
- rsync -arp --exclude=.svn $startdir/e16_config_dir $pkgdir/$configdir
- echo "all done"
+ echo $startdir
+ mkdir -p $pkgdir/$configdir
+ rsync -arp --exclude=.svn $startdir/e16_config_dir $pkgdir/$configdir
+ chmod -R 777 $pkgdir/$configdir/*
+ echo "all done"
}
md5sums=()
diff --git a/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg
index 5031dba..1d3d66a 100644
--- a/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg
+++ b/abs/core/e16_theme_settings/e16_config_dir/e_config--0.0.cfg
@@ -28,7 +28,7 @@ desktops.slidespeed = 500
desktops.areas_nx = 2
desktops.areas_ny = 1
desktops.areas_wraparound = 0
-desktops.edge_flip_mode = 1
+desktops.edge_flip_mode = 0
desktops.edge_flip_resistance = 25
effects.ripples.enabled = 0
effects.waves.enabled = 0
@@ -77,6 +77,8 @@ misc.dock.dirmode = 3
misc.dock.startx = 0
misc.dock.starty = 0
misc.hints.set_xroot_info_on_root_window = 0
+misc.log.difftime = 0
+misc.log.dest = 0
misc.magwin.zoom_res = 4
misc.movres.mode_move = 0
misc.movres.mode_resize = 2
@@ -133,7 +135,6 @@ misc.testing.no_sync_mask = 0
misc.autosave = 1
misc.memory_paranoia = 1
misc.save_under = 0
-misc.difftime = 0
pagers.enable = 0
pagers.zoom = 1
pagers.title = 1
@@ -151,17 +152,6 @@ theme.font_cfg =
tooltips.enable = 0
tooltips.showroottooltip = 0
tooltips.delay = 1500
-transparency.alpha = 0
-transparency.menu = 1
-transparency.menu_item = 1
-transparency.tooltip = 2
-transparency.widget = 1
-transparency.hilight = 0
-transparency.border = 1
-transparency.iconbox = 1
-transparency.dialog = 1
-transparency.pager = 1
-transparency.warplist = 1
warplist.enable = 1
warplist.showsticky = 1
warplist.showshaded = 1
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg
index 7d5bebc..d57f452 100644
--- a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.cfg
@@ -5,17 +5,16 @@ __E_CFG_VERSION 1
$Id: fonts.theme.cfg 47 2009-04-13 18:57:37Z don $ */
__FONTS __BGN
- font-border "VeraBd/18"
- font-coords "VeraBd/17"
- font-dialog "Vera/18"
- font-dialog-hilite "VeraBd/18"
- font-epplet "Vera/16"
- font-epplet-large "Vera/20"
- font-epplet-medium "Vera/18"
- font-epplet-small "Vera/16"
- font-focus "VeraBd/18"
- font-init "VeraBd/19"
- font-menu "Vera/18"
- font-tooltip "Vera/17"
+ font-border "Overlock-Bold/16"
+ font-coords "Overlock-Bold/17"
+ font-dialog "Overlock-Regular/18"
+ font-dialog-hilite "Overlock-Bold/18"
+ font-epplet "Overlock-Regular/16"
+ font-epplet-large "Overlock-Regular/20"
+ font-epplet-medium "Overlock-Regular/18"
+ font-epplet-small "Overlock-Regular/16"
+ font-focus "Overlock-Bold/18"
+ font-init "Overlock-Bold/19"
+ font-menu "Overlock-Regular/16"
+ font-tooltip "Overlock-Regular/17"
__END
-
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg
index 7d5bebc..d57f452 100644
--- a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg
@@ -5,17 +5,16 @@ __E_CFG_VERSION 1
$Id: fonts.theme.cfg 47 2009-04-13 18:57:37Z don $ */
__FONTS __BGN
- font-border "VeraBd/18"
- font-coords "VeraBd/17"
- font-dialog "Vera/18"
- font-dialog-hilite "VeraBd/18"
- font-epplet "Vera/16"
- font-epplet-large "Vera/20"
- font-epplet-medium "Vera/18"
- font-epplet-small "Vera/16"
- font-focus "VeraBd/18"
- font-init "VeraBd/19"
- font-menu "Vera/18"
- font-tooltip "Vera/17"
+ font-border "Overlock-Bold/16"
+ font-coords "Overlock-Bold/17"
+ font-dialog "Overlock-Regular/18"
+ font-dialog-hilite "Overlock-Bold/18"
+ font-epplet "Overlock-Regular/16"
+ font-epplet-large "Overlock-Regular/20"
+ font-epplet-medium "Overlock-Regular/18"
+ font-epplet-small "Overlock-Regular/16"
+ font-focus "Overlock-Bold/18"
+ font-init "Overlock-Bold/19"
+ font-menu "Overlock-Regular/16"
+ font-tooltip "Overlock-Regular/17"
__END
-
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Bold.ttf b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Bold.ttf
new file mode 120000
index 0000000..ede4578
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Bold.ttf
@@ -0,0 +1 @@
+../../../../../fonts/TTF/Overlock-Bold.ttf \ No newline at end of file
diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Regular.ttf b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Regular.ttf
new file mode 120000
index 0000000..6e45825
--- /dev/null
+++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/ttfonts/Overlock-Regular.ttf
@@ -0,0 +1 @@
+../../../../../fonts/TTF/Overlock-Regular.ttf \ No newline at end of file
diff --git a/abs/core/elfutils/CVE-2014-0172.patch b/abs/core/elfutils/CVE-2014-0172.patch
deleted file mode 100644
index 5f9541d..0000000
--- a/abs/core/elfutils/CVE-2014-0172.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 7f1eec317db79627b473c5b149a22a1b20d1f68f Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mjw@redhat.com>
-Date: Wed, 9 Apr 2014 11:33:23 +0200
-Subject: [PATCH] CVE-2014-0172 Check for overflow before calling malloc to
- uncompress data.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1085663
-
-Reported-by: Florian Weimer <fweimer@redhat.com>
-Signed-off-by: Mark Wielaard <mjw@redhat.com>
-diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
-index 79daeac..34ea373 100644
---- a/libdw/dwarf_begin_elf.c
-+++ b/libdw/dwarf_begin_elf.c
-@@ -1,5 +1,5 @@
- /* Create descriptor from ELF descriptor for processing file.
-- Copyright (C) 2002-2011 Red Hat, Inc.
-+ Copyright (C) 2002-2011, 2014 Red Hat, Inc.
- This file is part of elfutils.
- Written by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
- memcpy (&size, data->d_buf + 4, sizeof size);
- size = be64toh (size);
-
-+ /* Check for unsigned overflow so malloc always allocated
-+ enough memory for both the Elf_Data header and the
-+ uncompressed section data. */
-+ if (unlikely (sizeof (Elf_Data) + size < size))
-+ break;
-+
- Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
- if (unlikely (zdata == NULL))
- break;
---
-1.9.2
-
diff --git a/abs/core/elfutils/PKGBUILD b/abs/core/elfutils/PKGBUILD
index 6a7485d..059bdae 100644
--- a/abs/core/elfutils/PKGBUILD
+++ b/abs/core/elfutils/PKGBUILD
@@ -1,54 +1,50 @@
# $Id$
-# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu>
-pkgname=elfutils
-pkgver=0.158
-pkgrel=2
-pkgdesc="Libraries and utilities to handle ELF object files and DWARF debugging information"
+pkgbase=elfutils
+pkgname=(elfutils libelf)
+pkgver=0.165
+pkgrel=1
+pkgdesc="Utilities to handle ELF object files and DWARF debugging information"
arch=('i686' 'x86_64')
url="https://fedorahosted.org/elfutils/"
license=('LGPL3' 'GPL' 'GPL3')
depends=('gcc-libs' 'zlib' 'bzip2' 'xz')
-provides=('libelf')
-replaces=('libelf')
-conflicts=('libelf')
-source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig}
- fix-run-backtrace-native-core-test.patch
- CVE-2014-0172.patch)
options=('staticlibs')
-sha1sums=('09adbbf0f3a35bb1bcb77c2eaa40de8d3443af4d'
- 'SKIP'
- '8ecef640f3d1229cdf45ffda016a69848c18e61b'
- '3e776c07d6ca2c7604a384d266f79c3ece1fb179')
-
-prepare() {
- cd ${pkgname}-${pkgver}
-
- patch -Np1 -i ../fix-run-backtrace-native-core-test.patch
- # merged upstream
- patch -Np1 -i ../CVE-2014-0172.patch
-}
+source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig})
+sha1sums=('b994f2f31e6638415d7f8a3c0c7e04e6bc4ca4a9'
+ 'SKIP')
+validpgpkeys=('47CC0331081B8BC6D0FD4DA08370665B57816A6A') # Mark J. Wielaard <mark@klomp.org>
build() {
- cd ${pkgname}-${pkgver}
+ cd ${pkgbase}-${pkgver}
CFLAGS+=" -g" # required for test-suite success
- ./configure --prefix=/usr --program-prefix="eu-"
+ ./configure --prefix=/usr --program-prefix="eu-" --enable-deterministic-archives
make
}
check() {
- cd ${pkgname}-${pkgver}
+ cd ${pkgbase}-${pkgver}
make check
}
-package() {
- cd ${pkgname}-${pkgver}
+package_elfutils() {
+ depends=("libelf=$pkgver-$pkgrel")
+
+ cd ${pkgbase}-${pkgver}
make DESTDIR="${pkgdir}" install
-
- rm "${pkgdir}"/usr/lib/lib{asm,dw,elf}.a
+
+ mkdir "${srcdir}"/libelf
+ mv "${pkgdir}"/usr/{lib,include} "${srcdir}/libelf"
+}
+
+package_libelf() {
+ pkgdesc="Libraries to handle ELF object files and DWARF debugging information"
+ mv libelf "${pkgdir}/usr"
}
diff --git a/abs/core/elfutils/fix-run-backtrace-native-core-test.patch b/abs/core/elfutils/fix-run-backtrace-native-core-test.patch
deleted file mode 100644
index 5088ea5..0000000
--- a/abs/core/elfutils/fix-run-backtrace-native-core-test.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From e922ec4e3bcd7c164a9ce424accac4394e7d5afd Mon Sep 17 00:00:00 2001
-From: Matthias Klose <doko@ubuntu.com>
-Date: Tue, 07 Jan 2014 09:25:29 +0000
-Subject: tests: backtrace-subr.sh (check_native_core) should check core file name.
-
-Needed when /proc/sys/kernel/core_uses_pid is set to 0. Try to rename
-the core file, and if it does still fail, skip the test.
-
-Signed-off-by: Mark Wielaard <mjw@redhat.com>
----
-diff --git a/tests/ChangeLog b/tests/ChangeLog
-index 63b7bed..7e9dcf4 100644
---- a/tests/ChangeLog
-+++ b/tests/ChangeLog
-@@ -1,3 +1,9 @@
-+2014-01-07 Matthias Klose <doko@ubuntu.com>
-+
-+ * backtrace-subr.sh (check_native_core): Check to see if core file
-+ was created without ".PID" extension, if so mv core to core.PID.
-+ Skip test if no core file was created or could be found.
-+
- 2014-01-04 Mark Wielaard <mjw@redhat.com>
-
- * backtrace-data.c (main): Don't assert if raise returns.
-diff --git a/tests/backtrace-subr.sh b/tests/backtrace-subr.sh
-index e7ece91..62b873c 100644
---- a/tests/backtrace-subr.sh
-+++ b/tests/backtrace-subr.sh
-@@ -111,6 +111,11 @@ check_native_core()
-
- # Skip the test if we cannot adjust core ulimit.
- core="core.`ulimit -c unlimited || exit 77; set +ex; testrun ${abs_builddir}/$child --gencore; true`"
-+ # see if /proc/sys/kernel/core_uses_pid is set to 0
-+ if [ -f core ]; then
-+ mv core "$core"
-+ fi
-+ if [ ! -f "$core" ]; then exit 77; fi
-
- if [ "x$SAVED_VALGRIND_CMD" != "x" ]; then
- VALGRIND_CMD="$SAVED_VALGRIND_CMD"
---
-cgit v0.9.2
-
diff --git a/abs/core/ffmpeg/0001-libx265-Support-API-version-9.patch b/abs/core/ffmpeg/0001-libx265-Support-API-version-9.patch
deleted file mode 100644
index 3b6a6e2..0000000
--- a/abs/core/ffmpeg/0001-libx265-Support-API-version-9.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From d67dbfa7c195fabce706ca03c439419450f9bd8a Mon Sep 17 00:00:00 2001
-From: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-Date: Thu, 6 Mar 2014 20:01:17 +0000
-Subject: [PATCH] libx265: Support API version 9
-
-Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
----
- configure | 4 ++--
- libavcodec/libx265.c | 10 +++++-----
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/configure b/configure
-index d3f5f33..4d7382a 100755
---- a/configure
-+++ b/configure
-@@ -3980,8 +3980,8 @@ enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 &
- { check_cpp_condition x264.h "X264_BUILD >= 118" ||
- die "ERROR: libx264 version must be >= 0.118."; }
- enabled libx265 && require_pkg_config x265 x265.h x265_encoder_encode &&
-- { check_cpp_condition x265.h "X265_BUILD >= 7" ||
-- die "ERROR: libx265 version must be >= 7."; }
-+ { check_cpp_condition x265.h "X265_BUILD >= 9" ||
-+ die "ERROR: libx265 version must be >= 9."; }
- enabled libxavs && require libxavs xavs.h xavs_encoder_encode -lxavs
- enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
- enabled openssl && { check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||
-diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
-index 961fc74..a6e4193 100644
---- a/libavcodec/libx265.c
-+++ b/libavcodec/libx265.c
-@@ -121,11 +121,11 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
- av_reduce(&sar_num, &sar_den,
- avctx->sample_aspect_ratio.num,
- avctx->sample_aspect_ratio.den, 4096);
-- ctx->params->bEnableVuiParametersPresentFlag = 1;
-- ctx->params->bEnableAspectRatioIdc = 1;
-- ctx->params->aspectRatioIdc = 255;
-- ctx->params->sarWidth = sar_num;
-- ctx->params->sarHeight = sar_den;
-+ ctx->params->vui.bEnableVuiParametersPresentFlag = 1;
-+ ctx->params->vui.bEnableAspectRatioIdc = 1;
-+ ctx->params->vui.aspectRatioIdc = 255;
-+ ctx->params->vui.sarWidth = sar_num;
-+ ctx->params->vui.sarHeight = sar_den;
-
- if (x265_max_bit_depth == 8)
- ctx->params->internalBitDepth = 8;
---
-1.7.10.4
-
diff --git a/abs/core/ffmpeg/PKGBUILD b/abs/core/ffmpeg/PKGBUILD
index 115ddfb..8f3e9d7 100644
--- a/abs/core/ffmpeg/PKGBUILD
+++ b/abs/core/ffmpeg/PKGBUILD
@@ -1,33 +1,39 @@
# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
-# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg
-pkgver=2.4.3
-pkgrel=1
+pkgver=2.8.5
+pkgrel=2
epoch=1
-pkgdesc='Complete and free Internet live audio and video broadcasting solution'
+pkgdesc='Complete solution to record, convert and stream audio and video'
arch=('i686' 'x86_64')
url='http://ffmpeg.org/'
-license=('GPL')
-depends=(
- 'alsa-lib' 'bzip2' 'fontconfig' 'gnutls' 'gsm' 'lame' 'libass' 'libvdpau'
- 'libbluray' 'libmodplug' 'libtheora' 'libva' 'libvorbis' 'libvpx'
- 'opencore-amr' 'openjpeg' 'opus' 'rtmpdump' 'schroedinger' 'sdl' 'speex'
- 'v4l-utils' 'libx264' 'xvidcore' 'zlib' 'x265' 'fribidi'
-)
-makedepends=('libvdpau' 'yasm')
-source=(http://ffmpeg.org/releases/$pkgname-$pkgver.tar.bz2{,.asc})
-md5sums=('8da635baff57d7ab704b1daca5a99b47'
- 'SKIP')
+license=('GPL3')
+depends=('alsa-lib' 'bzip2' 'fontconfig' 'fribidi' 'gnutls' 'gsm' 'lame'
+ 'libass' 'libbluray' 'libmodplug' 'libsoxr' 'libssh'
+ 'libtheora' 'libva' 'libvdpau' 'libwebp' 'opencore-amr' 'openjpeg'
+ 'opus' 'schroedinger' 'sdl' 'speex' 'v4l-utils' 'xvidcore' 'zlib'
+ 'libdcadec.so' 'libvidstab.so' 'libvorbis.so' 'libvorbisenc.so'
+ 'libvpx.so' 'libx264.so' 'libx265.so')
+makedepends=('hardening-wrapper' 'ladspa' 'libvdpau' 'yasm')
+optdepends=('ladspa: LADSPA filters')
+provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
+ 'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so'
+ 'libswscale.so')
+source=(http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.bz2{,.asc})
+validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
+sha256sums=('3b6d9951533323ee64a21d0aa7667a780b3470bfe4e0fb7c1b33307ce290615a'
+ 'SKIP')
build() {
- cd $pkgname-$pkgver
+ cd ffmpeg-${pkgver}
./configure \
- --prefix=/usr \
+ --prefix='/usr' \
--disable-debug \
--disable-static \
--disable-stripping \
@@ -36,8 +42,10 @@ build() {
--enable-fontconfig \
--enable-gnutls \
--enable-gpl \
+ --enable-ladspa \
--enable-libass \
--enable-libbluray \
+ --enable-libdcadec \
--enable-libfreetype \
--enable-libfribidi \
--enable-libgsm \
@@ -48,22 +56,22 @@ build() {
--enable-libopenjpeg \
--enable-libopus \
--disable-libpulse \
- --enable-librtmp \
--enable-libschroedinger \
+ --enable-libsoxr \
--enable-libspeex \
+ --enable-libssh \
--enable-libtheora \
--enable-libv4l2 \
+ --enable-libvidstab \
--enable-libvorbis \
--enable-libvpx \
+ --enable-libwebp \
--enable-libx264 \
--enable-libx265 \
--enable-libxvid \
- --enable-runtime-cpudetect \
--enable-shared \
- --enable-swresample \
- --enable-vdpau \
--enable-version3 \
- --enable-x11grab \
+ --enable-x11grab
make
make tools/qt-faststart
@@ -71,7 +79,10 @@ build() {
}
package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install install-man
- install -Dm755 tools/qt-faststart "$pkgdir"/usr/bin/qt-faststart
+ cd ffmpeg-${pkgver}
+
+ make DESTDIR="${pkgdir}" install install-man
+ install -Dm 755 tools/qt-faststart "${pkgdir}"/usr/bin/
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/file/001-fix-bug-with-long-options.patch b/abs/core/file/001-fix-bug-with-long-options.patch
new file mode 100644
index 0000000..2637f17
--- /dev/null
+++ b/abs/core/file/001-fix-bug-with-long-options.patch
@@ -0,0 +1,109 @@
+From 21f9d5f0e0340ada998f7f9d316368c7167a4afa Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Thu, 11 Jun 2015 12:52:32 +0000
+Subject: [PATCH] Fix bug with long options and explicitly number them to avoid
+ this in the future.
+
+---
+ src/file.c | 45 +++++++++++++++++++++++----------------------
+ src/file_opts.h | 10 +++++-----
+ 2 files changed, 28 insertions(+), 27 deletions(-)
+
+diff --git a/src/file.c b/src/file.c
+index f60dde0..c700f66 100644
+--- a/src/file.c
++++ b/src/file.c
+@@ -89,10 +89,15 @@ private int /* Global command-line options */
+
+ private const char *separator = ":"; /* Default field separator */
+ private const struct option long_options[] = {
++#define OPT_HELP 1
++#define OPT_APPLE 2
++#define OPT_EXTENSIONS 3
++#define OPT_MIME_TYPE 4
++#define OPT_MIME_ENCODING 5
+ #define OPT(shortname, longname, opt, doc) \
+ {longname, opt, NULL, shortname},
+-#define OPT_LONGONLY(longname, opt, doc) \
+- {longname, opt, NULL, 0},
++#define OPT_LONGONLY(longname, opt, doc, id) \
++ {longname, opt, NULL, id},
+ #include "file_opts.h"
+ #undef OPT
+ #undef OPT_LONGONLY
+@@ -182,24 +187,20 @@ main(int argc, char *argv[])
+ while ((c = getopt_long(argc, argv, OPTSTRING, long_options,
+ &longindex)) != -1)
+ switch (c) {
+- case 0 :
+- switch (longindex) {
+- case 0:
+- help();
+- break;
+- case 10:
+- flags |= MAGIC_APPLE;
+- break;
+- case 11:
+- flags |= MAGIC_EXTENSION;
+- break;
+- case 12:
+- flags |= MAGIC_MIME_TYPE;
+- break;
+- case 13:
+- flags |= MAGIC_MIME_ENCODING;
+- break;
+- }
++ case OPT_HELP:
++ help();
++ break;
++ case OPT_APPLE:
++ flags |= MAGIC_APPLE;
++ break;
++ case OPT_EXTENSIONS:
++ flags |= MAGIC_EXTENSION;
++ break;
++ case OPT_MIME_TYPE:
++ flags |= MAGIC_MIME_TYPE;
++ break;
++ case OPT_MIME_ENCODING:
++ flags |= MAGIC_MIME_ENCODING;
+ break;
+ case '0':
+ nulsep = 1;
+@@ -595,7 +596,7 @@ help(void)
+ #define OPT(shortname, longname, opt, doc) \
+ fprintf(stdout, " -%c, --" longname, shortname), \
+ docprint(doc);
+-#define OPT_LONGONLY(longname, opt, doc) \
++#define OPT_LONGONLY(longname, opt, doc, id) \
+ fprintf(stdout, " --" longname), \
+ docprint(doc);
+ #include "file_opts.h"
+diff --git a/src/file_opts.h b/src/file_opts.h
+index 036505f..2e30d06 100644
+--- a/src/file_opts.h
++++ b/src/file_opts.h
+@@ -12,7 +12,7 @@
+ * switch statement!
+ */
+
+-OPT_LONGONLY("help", 0, " display this help and exit\n")
++OPT_LONGONLY("help", 0, " display this help and exit\n", OPT_HELP)
+ OPT('v', "version", 0, " output version information and exit\n")
+ OPT('m', "magic-file", 1, " LIST use LIST as a colon-separated list of magic\n"
+ " number files\n")
+@@ -29,10 +29,10 @@ OPT('f', "files-from", 1, " FILE read the filenames to be examined from FIL
+ OPT('F', "separator", 1, " STRING use string as separator instead of `:'\n")
+ OPT('i', "mime", 0, " output MIME type strings (--mime-type and\n"
+ " --mime-encoding)\n")
+-OPT_LONGONLY("apple", 0, " output the Apple CREATOR/TYPE\n")
+-OPT_LONGONLY("extension", 0, " output a slash-separated list of extnsions\n")
+-OPT_LONGONLY("mime-type", 0, " output the MIME type\n")
+-OPT_LONGONLY("mime-encoding", 0, " output the MIME encoding\n")
++OPT_LONGONLY("apple", 0, " output the Apple CREATOR/TYPE\n", OPT_APPLE)
++OPT_LONGONLY("extension", 0, " output a slash-separated list of extensions\n", OPT_EXTENSIONS)
++OPT_LONGONLY("mime-type", 0, " output the MIME type\n", OPT_MIME_TYPE)
++OPT_LONGONLY("mime-encoding", 0, " output the MIME encoding\n", OPT_MIME_ENCODING)
+ OPT('k', "keep-going", 0, " don't stop at the first match\n")
+ OPT('l', "list", 0, " list magic strength\n")
+ #ifdef S_IFLNK
diff --git a/abs/core/file/PKGBUILD b/abs/core/file/PKGBUILD
index f182038..805200e 100644
--- a/abs/core/file/PKGBUILD
+++ b/abs/core/file/PKGBUILD
@@ -1,34 +1,42 @@
-# $Id: PKGBUILD 150976 2012-02-24 12:10:49Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=file
-pkgver=5.11
-pkgrel=1
-pkgdesc="File type identification utility"
+pkgver=5.23
+pkgrel=2
+pkgdesc='File type identification utility'
arch=('i686' 'x86_64')
license=('custom')
-groups=('base')
-url="http://www.darwinsys.com/file/"
+groups=('base' 'base-devel')
+url='http://www.darwinsys.com/file/'
depends=('glibc' 'zlib')
-options=('!libtool')
-source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('16a407bd66d6c7a832f3a5c0d609c27b')
+source=("ftp://ftp.astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz"
+ '001-fix-bug-with-long-options.patch')
+md5sums=('61db35209ce71a6d576392ce6e1d2f80'
+ '4138dd409ad6d67ee35a61cf3c71b0fe')
+
+prepare() {
+ patch -p1 -d $pkgname-$pkgver < '001-fix-bug-with-long-options.patch'
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- sed -i 's#\$(datadir)/misc#\$(datadir)#' configure
-
+ cd $pkgname-$pkgver
./configure --prefix=/usr --datadir=/usr/share/file
- make
+ make
}
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
- make DESTDIR=${pkgdir} install
- install -dm755 ${pkgdir}/usr/share/misc
- ln -s ../file/magic.mgc ${pkgdir}/usr/share/misc
-
- install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ rmdir "$pkgdir/usr/share/man/man5"
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/filesystem/PKGBUILD b/abs/core/filesystem/PKGBUILD
index 7b0ca08..0dec23d 100644
--- a/abs/core/filesystem/PKGBUILD
+++ b/abs/core/filesystem/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 187026 2013-06-03 11:15:07Z allan $
+# $Id$
# Maintainer: Tom Gundersen <teg@jklm.no>
pkgname=filesystem
-pkgver=2013.05
-pkgrel=4
+pkgver=2015.02
+pkgrel=1
pkgdesc='Base filesystem'
arch=('i686' 'x86_64')
license=('GPL')
@@ -20,8 +20,36 @@ source=('group' 'issue' 'nsswitch.conf' 'securetty' 'host.conf' 'ld.so.conf'
'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first' 'archlinux.7.txt'
'locale.sh')
+lint() {
+ # ensure that passwd is sync'd to shadow and group is sync'd to gshadow.
+ local r=0
+
+ local passwd shadow group gshadow
+
+ for f in passwd shadow group gshadow; do
+ mapfile -t "$f" < <(cut -d: -f1 "$f" | sort)
+ done
+
+ # we can cheat and do simple string comparison only because we can make some
+ # assumptions about the data in these files
+ if [[ ${passwd[*]} != "${shadow[*]}" ]]; then
+ error 'passwd is not in sync with shadow!'
+ r=1
+ fi
+
+ if [[ ${group[*]} != "${gshadow[*]}" ]]; then
+ error 'group is not in sync with gshadow!'
+ r=1
+ fi
+
+ return $r
+}
+
build() {
cd ${srcdir}
+
+ lint
+
a2x -d manpage -f manpage archlinux.7.txt
}
@@ -43,7 +71,7 @@ package() {
# setup /etc
install -d etc/{ld.so.conf.d,skel,profile.d}
- for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf os-release passwd resolv.conf securetty shells profile; do
+ for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf passwd resolv.conf securetty shells profile; do
install -m644 ${srcdir}/${f} etc/
done
ln -s /proc/self/mounts etc/mtab
@@ -53,9 +81,10 @@ package() {
touch etc/arch-release
install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf
install -m755 ${srcdir}/locale.sh etc/profile.d/locale.sh
+ install -Dm644 "$srcdir"/os-release "$pkgdir"/usr/lib/os-release
# setup /var
- for d in cache/man local opt log/old lib/misc empty; do
+ for d in cache local opt log/old lib/misc empty; do
install -d -m755 var/${d}
done
install -d -m1777 var/{tmp,spool/mail}
@@ -65,9 +94,9 @@ package() {
ln -s ../run var/run
ln -s ../run/lock var/lock
-
- #setup /usr hierarchy
-
+ #
+ # setup /usr hierarchy
+ #
for d in bin include lib share/misc src; do
install -d -m755 usr/${d}
done
@@ -79,17 +108,17 @@ package() {
# add lib symlinks
#
ln -s usr/lib ${pkgdir}/lib
- [[ ${CARCH} = "x86_64" ]] && (
+ [[ ${CARCH} = "x86_64" ]] && (
ln -s usr/lib ${pkgdir}/lib64
ln -s lib ${pkgdir}/usr/lib64
)
-# #
-# # add bin symlinks
-# #
- ln -s usr/bin ${pkgdir}/bin
- ln -s usr/bin ${pkgdir}/sbin
- ln -s bin ${pkgdir}/usr/sbin
+ #
+ # add bin symlinks
+ #
+ ln -s usr/bin ${pkgdir}/bin
+ ln -s usr/bin ${pkgdir}/sbin
+ ln -s bin ${pkgdir}/usr/sbin
#
# install archlinux(7) manpage
@@ -104,23 +133,23 @@ package() {
done
ln -s ../man usr/local/share/man
}
-md5sums=('7b8e40f8f793e60f471511641bb1c9f2'
+md5sums=('4d7417d2bf8872665c0907f09ae37c34'
'7813c481156f6b280a3ba91fc6236368'
'9e4533df61f0c82d6b2e2371f7376282'
'4c4540eeb748bf1f71d631b8c1dcf0b3'
'f28150d4c0b22a017be51b9f7f9977ed'
'6e488ffecc8ba142c0cf7e2d7aeb832e'
- '1cfd310dff0804a7d21958487c32a3b1'
- '2ef2429c2c98d0883906aa6f5363be80'
+ 'a998d1e6c7cc5791a7f4a2b49b2d10ce'
+ '1ec1b16e2a71fad63ab8f147069a5d97'
'693c97f2c9a519bb97a17008e92c2b74'
- '1745349eb24ed21b4cfaa6f423bddb76'
+ 'f0a5071f50d8864d2810c44e23eb00cc'
'7bc65f234dfb6abf24e7c3b03e86f4ff'
'd41d8cd98f00b204e9800998ecf8427e'
'3d96b9f0f4ea7b583261682a20283c46'
'6f48288b6fcaf0065fcb7b0e525413e0'
'22518e922891f9359f971f4f5b4e793c'
- 'f45389e116ab0b9e9968287617d27c7d'
+ '69e460404f45bdb7288d1de662e56dd9'
'0b6f835598c7640184e476057b3c7722'
'a8a962370cd0128465d514e6a1f74130'
'2e193c4a37245f2323ebe87f1a673563'
- '3807d07215d9116331fe1cf8feeaa0f8')
+ '71ed98c52e11ada1f936ac8cb14eecd9')
diff --git a/abs/core/filesystem/crypttab b/abs/core/filesystem/crypttab
index 195945a..087d09e 100644
--- a/abs/core/filesystem/crypttab
+++ b/abs/core/filesystem/crypttab
@@ -9,9 +9,9 @@
# NOTE: Do not list your root (/) partition here, it must be set up
# beforehand by the initramfs (/etc/mkinitcpio.conf).
-# <name> <device> <password> <options>
-# home /dev/hda4 /etc/mypassword1
-# data1 /dev/hda3 /etc/mypassword2
-# data2 /dev/hda5 /etc/cryptfs.key
-# swap /dev/hdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
-# vol /dev/hdb7 none
+# <name> <device> <password> <options>
+# home UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37 /etc/mypassword1
+# data1 /dev/sda3 /etc/mypassword2
+# data2 /dev/sda5 /etc/cryptfs.key
+# swap /dev/sdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
+# vol /dev/sdb7 none
diff --git a/abs/core/filesystem/filesystem.install b/abs/core/filesystem/filesystem.install
index c043744..9793ad2 100644
--- a/abs/core/filesystem/filesystem.install
+++ b/abs/core/filesystem/filesystem.install
@@ -1,14 +1,14 @@
# args: <group> [options]
_addgroup() {
- if ! getent group "$1" >/dev/null; then
- groupadd "$@" >/dev/null
+ if ! getent group "$1" >/dev/null && groupadd "$@" >/dev/null; then
+ need_group_update=1
fi
}
# args: <group> [options]
_adduser() {
- if ! getent passwd "$1" >/dev/null; then
- useradd "$@" >/dev/null
+ if ! getent passwd "$1" >/dev/null && useradd "$@" >/dev/null; then
+ need_passwd_update=1
fi
}
@@ -24,22 +24,38 @@ post_upgrade() {
_addgroup network -g 90
_addgroup games -g 50
_addgroup uucp -g 14
+ _addgroup proc -g 26
_addgroup http -g 33
- _adduser http -u 33 -d /srv/http -g http -s /bin/false
+ _adduser http -u 33 -d /srv/http -g http -s /usr/bin/nologin
_addgroup scanner -g 96
_addgroup rfkill -g 24
_addgroup lock -g 54
_addgroup uuidd -g 68
- _adduser uuidd -u 68 -d / -g uuidd -s /sbin/nologin
+ _adduser uuidd -u 68 -d / -g uuidd -s /usr/bin/nologin
_addgroup dbus -g 81
- _adduser dbus -u 81 -d / -g dbus -s /sbin/nologin
+ _adduser dbus -u 81 -d / -g dbus -s /usr/bin/nologin
+ _addgroup input -g 97
_addgroup systemd-journal -g 190
+ _addgroup systemd-journal-gateway -g 191
+ _adduser systemd-journal-gateway -u 191 -g 191 -d / -s /usr/bin/nologin
+ _addgroup systemd-timesync -g 192
+ _adduser systemd-timesync -u 192 -g 192 -d / -s /usr/bin/nologin
+ _addgroup systemd-network -g 193
+ _adduser systemd-network -u 193 -g 193 -d / -s /usr/bin/nologin
+ _addgroup systemd-bus-proxy -g 194
+ _adduser systemd-bus-proxy -u 194 -g 194 -d / -s /usr/bin/nologin
+ _addgroup systemd-resolve -g 195
+ _adduser systemd-resolve -u 195 -g 195 -d / -s /usr/bin/nologin
- # sync gshadow to group (fixes FS#19869)
- if ! grep -q '^lock:' etc/gshadow; then
+ # update shadow files if needed
+ if (( need_group_update )); then
grpconv >/dev/null
fi
+ if (( need_passwd_update )); then
+ pwconv >/dev/null
+ fi
+
if ! grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then
echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
fi
diff --git a/abs/core/filesystem/group b/abs/core/filesystem/group
index 6c91b29..f922ead 100644
--- a/abs/core/filesystem/group
+++ b/abs/core/filesystem/group
@@ -17,6 +17,7 @@ utmp:x:20:
locate:x:21:
rfkill:x:24:
smmsp:x:25:
+proc:x:26:
http:x:33:
games:x:50:
lock:x:54:
@@ -29,7 +30,13 @@ optical:x:93:
floppy:x:94:
storage:x:95:
scanner:x:96:
+input:x:97:
power:x:98:
nobody:x:99:
users:x:100:
systemd-journal:x:190:
+systemd-journal-gateway:x:191:
+systemd-timesync:x:192:
+systemd-network:x:193:
+systemd-bus-proxy:x:194:
+systemd-resolve:x:195:
diff --git a/abs/core/filesystem/gshadow b/abs/core/filesystem/gshadow
index fb475bf..b89cf77 100644
--- a/abs/core/filesystem/gshadow
+++ b/abs/core/filesystem/gshadow
@@ -17,6 +17,7 @@ utmp:x::
locate:::
rfkill:x::
smmsp:::
+proc:::
http:::
games:::
lock:::
@@ -29,7 +30,13 @@ optical:::
floppy:x::
storage:x::
scanner:x::
+input:x::
power:x::
nobody:::
users:::
-systemd-journal:x::
+systemd-journal:::
+systemd-journal-gateway:::
+systemd-timesync:::
+systemd-network:::
+systemd-bus-proxy:::
+systemd-resolve:::
diff --git a/abs/core/filesystem/locale.sh b/abs/core/filesystem/locale.sh
index 5fd4174..11b7dc9 100644
--- a/abs/core/filesystem/locale.sh
+++ b/abs/core/filesystem/locale.sh
@@ -1,19 +1,17 @@
#!/bin/sh
-unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES \
- LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
-
-if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
- . "$XDG_CONFIG_HOME/locale.conf"
-elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
- . "$HOME/.config/locale.conf"
-elif [ -r /etc/locale.conf ]; then
- . /etc/locale.conf
-elif [ -r /etc/rc.conf ]; then
- LANG=$(. /etc/rc.conf 2>/dev/null; echo "$LOCALE")
+if [ -z "$LANG" ]; then
+ if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
+ . "$XDG_CONFIG_HOME/locale.conf"
+ elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then
+ . "$HOME/.config/locale.conf"
+ elif [ -r /etc/locale.conf ]; then
+ . /etc/locale.conf
+ fi
fi
-export LANG="${LANG:-C}"
+LANG=${LANG:-C}
+export LANG
[ -n "$LC_CTYPE" ] && export LC_CTYPE
[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
[ -n "$LC_TIME" ] && export LC_TIME
diff --git a/abs/core/filesystem/passwd b/abs/core/filesystem/passwd
index 671fc48..b3e79eb 100644
--- a/abs/core/filesystem/passwd
+++ b/abs/core/filesystem/passwd
@@ -1,9 +1,14 @@
root:x:0:0:root:/root:/bin/bash
-bin:x:1:1:bin:/bin:/bin/false
-daemon:x:2:2:daemon:/sbin:/bin/false
-mail:x:8:12:mail:/var/spool/mail:/bin/false
-ftp:x:14:11:ftp:/srv/ftp:/bin/false
-http:x:33:33:http:/srv/http:/bin/false
-uuidd:x:68:68:uuidd:/:/sbin/nologin
-dbus:x:81:81:dbus:/:/sbin/nologin
-nobody:x:99:99:nobody:/:/bin/false
+bin:x:1:1:bin:/bin:/usr/bin/nologin
+daemon:x:2:2:daemon:/:/usr/bin/nologin
+mail:x:8:12:mail:/var/spool/mail:/usr/bin/nologin
+ftp:x:14:11:ftp:/srv/ftp:/usr/bin/nologin
+http:x:33:33:http:/srv/http:/usr/bin/nologin
+uuidd:x:68:68:uuidd:/:/usr/bin/nologin
+dbus:x:81:81:dbus:/:/usr/bin/nologin
+nobody:x:99:99:nobody:/:/usr/bin/nologin
+systemd-journal-gateway:x:191:191:systemd-journal-gateway:/:/usr/bin/nologin
+systemd-timesync:x:192:192:systemd-timesync:/:/usr/bin/nologin
+systemd-network:x:193:193:systemd-network:/:/usr/bin/nologin
+systemd-bus-proxy:x:194:194:systemd-bus-proxy:/:/usr/bin/nologin
+systemd-resolve:x:195:195:systemd-resolve:/:/usr/bin/nologin
diff --git a/abs/core/filesystem/shadow b/abs/core/filesystem/shadow
index 39ebb13..4c6e3d1 100644
--- a/abs/core/filesystem/shadow
+++ b/abs/core/filesystem/shadow
@@ -7,3 +7,8 @@ http:x:14871::::::
uuidd:x:14871::::::
dbus:x:14871::::::
nobody:x:14871::::::
+systemd-journal-gateway:x:14871::::::
+systemd-timesync:x:14871::::::
+systemd-network:x:14871::::::
+systemd-bus-proxy:x:14871::::::
+systemd-resolve:x:14871::::::
diff --git a/abs/core/fontconfig/0001-Revert-Bug-73291-poppler-does-not-show-fl-ligature.patch b/abs/core/fontconfig/0001-Revert-Bug-73291-poppler-does-not-show-fl-ligature.patch
new file mode 100644
index 0000000..8c1e55d
--- /dev/null
+++ b/abs/core/fontconfig/0001-Revert-Bug-73291-poppler-does-not-show-fl-ligature.patch
@@ -0,0 +1,43 @@
+From e7121de237a1873c3241a5b8451e7d00a3d41524 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Fri, 3 Oct 2014 12:26:42 +0900
+Subject: Revert "Bug 73291 - poppler does not show fl ligature"
+
+This reverts commit c6aa4d4bfcbed14f39d070fe7ef90a4b74642ee7.
+
+This issue has been fixed in poppler and we no longer need to patch it out in fontconfig.
+
+diff --git a/conf.d/30-metric-aliases.conf b/conf.d/30-metric-aliases.conf
+index 08c8ba3..49a9602 100644
+--- a/conf.d/30-metric-aliases.conf
++++ b/conf.d/30-metric-aliases.conf
+@@ -77,15 +77,12 @@ but in an order preferring similar designs first. We do this in three steps:
+ </default>
+ </alias>
+
+-<!--
+- Due to Bug#73291, commented out those lines until the broken font are fixed.
+ <alias binding="same">
+ <family>TeX Gyre Termes</family>
+ <default>
+ <family>Times</family>
+ </default>
+ </alias>
+--->
+
+ <alias binding="same">
+ <family>Nimbus Mono L</family>
+@@ -418,10 +415,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <alias binding="same">
+ <family>Times</family>
+ <accept>
+-<!--
+- Due to Bug#73291, commented out this line until the broken font are fixed.
+ <family>TeX Gyre Termes</family>
+--->
+ <family>Nimbus Roman No9 L</family>
+ </accept>
+ </alias>
+--
+cgit v0.10.2
+
diff --git a/abs/core/fontconfig/0002-Update-aliases-for-new-URW-fonts.patch b/abs/core/fontconfig/0002-Update-aliases-for-new-URW-fonts.patch
new file mode 100644
index 0000000..58df7ea
--- /dev/null
+++ b/abs/core/fontconfig/0002-Update-aliases-for-new-URW-fonts.patch
@@ -0,0 +1,308 @@
+From b732bf057f4b3ec3bac539803005e9c42d056b2a Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Thu, 6 Nov 2014 13:15:09 +0900
+Subject: Update aliases for new URW fonts
+
+Patch from Tom Yan
+
+https://bugs.freedesktop.org/show_bug.cgi?id=85225
+
+diff --git a/conf.d/30-metric-aliases.conf b/conf.d/30-metric-aliases.conf
+index 49a9602..cd1e924 100644
+--- a/conf.d/30-metric-aliases.conf
++++ b/conf.d/30-metric-aliases.conf
+@@ -6,17 +6,17 @@
+
+ Alias similar/metric-compatible families from various sources:
+
+-PostScript fonts: URW fonts: GUST fonts: Windows fonts:
+-====================== ==================== ================= ==================
+-Helvetica Nimbus Sans L TeX Gyre Heros
+-Helvetica Condensed TeX Gyre Heros Cn
+-Times Nimbus Roman No9 L TeX Gyre Termes
+-Courier Nimbus Mono L TeX Gyre Cursor
+-ITC Avant Garde Gothic URW Gothic L TeX Gyre Adventor
+-ITC Bookman URW Bookman L TeX Gyre Bonum Bookman Old Style
+-ITC Zapf Chancery URW Chancery L TeX Gyre Chorus
+-Palatino URW Palladio L TeX Gyre Pagella Palatino Linotype
+-New Century Schoolbook Century Schoolbook L TeX Gyre Schola Century Schoolbook
++PostScript fonts: URW fonts: GUST fonts: Windows fonts:
++====================== ====================== ================= ==================
++Helvetica Nimbus Sans TeX Gyre Heros
++Helvetica Condensed Nimbus Sans Narrow TeX Gyre Heros Cn
++Times Nimbus Roman TeX Gyre Termes
++Courier Nimbus Mono TeX Gyre Cursor
++ITC Avant Garde Gothic URW Gothic TeX Gyre Adventor
++ITC Bookman Bookman URW TeX Gyre Bonum Bookman Old Style
++ITC Zapf Chancery Chancery URW TeX Gyre Chorus
++Palatino Palladio URW TeX Gyre Pagella Palatino Linotype
++New Century Schoolbook Century SchoolBook URW TeX Gyre Schola Century Schoolbook
+
+ Microsoft fonts: Liberation fonts: Google CrOS core fonts: StarOffice fonts: AMT fonts:
+ ================ ====================== ======================= ================= ==============
+@@ -57,6 +57,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Nimbus Sans</family>
++ <default>
++ <family>Helvetica</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Heros</family>
+ <default>
+ <family>Helvetica</family>
+@@ -64,6 +71,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Nimbus Sans Narrow</family>
++ <default>
++ <family>Helvetica Condensed</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Heros Cn</family>
+ <default>
+ <family>Helvetica Condensed</family>
+@@ -78,6 +92,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Nimbus Roman</family>
++ <default>
++ <family>Times</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Termes</family>
+ <default>
+ <family>Times</family>
+@@ -92,6 +113,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Nimbus Mono</family>
++ <default>
++ <family>Courier</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Cursor</family>
+ <default>
+ <family>Courier</family>
+@@ -113,6 +141,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>URW Gothic</family>
++ <default>
++ <family>ITC Avant Garde Gothic</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Adventor</family>
+ <default>
+ <family>ITC Avant Garde Gothic</family>
+@@ -134,6 +169,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Bookman URW</family>
++ <default>
++ <family>ITC Bookman</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Bonum</family>
+ <default>
+ <family>ITC Bookman</family>
+@@ -162,6 +204,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Chancery URW</family>
++ <default>
++ <family>ITC Zapf Chancery</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Chorus</family>
+ <default>
+ <family>ITC Zapf Chancery</family>
+@@ -176,6 +225,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Palladio URW</family>
++ <default>
++ <family>Palatino</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Pagella</family>
+ <default>
+ <family>Palatino</family>
+@@ -197,6 +253,13 @@ but in an order preferring similar designs first. We do this in three steps:
+ </alias>
+
+ <alias binding="same">
++ <family>Century SchoolBook URW</family>
++ <default>
++ <family>New Century Schoolbook</family>
++ </default>
++ </alias>
++
++ <alias binding="same">
+ <family>TeX Gyre Schola</family>
+ <default>
+ <family>New Century Schoolbook</family>
+@@ -401,6 +464,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <family>Helvetica</family>
+ <accept>
+ <family>TeX Gyre Heros</family>
++ <family>Nimbus Sans</family>
+ <family>Nimbus Sans L</family>
+ </accept>
+ </alias>
+@@ -409,6 +473,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <family>Helvetica Condensed</family>
+ <accept>
+ <family>TeX Gyre Heros Cn</family>
++ <family>Nimbus Sans Narrow</family>
+ </accept>
+ </alias>
+
+@@ -416,6 +481,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <family>Times</family>
+ <accept>
+ <family>TeX Gyre Termes</family>
++ <family>Nimbus Roman</family>
+ <family>Nimbus Roman No9 L</family>
+ </accept>
+ </alias>
+@@ -424,6 +490,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <family>Courier</family>
+ <accept>
+ <family>TeX Gyre Cursor</family>
++ <family>Nimbus Mono</family>
+ <family>Nimbus Mono L</family>
+ </accept>
+ </alias>
+@@ -432,6 +499,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <family>ITC Avant Garde Gothic</family>
+ <accept>
+ <family>TeX Gyre Adventor</family>
++ <family>URW Gothic</family>
+ <family>URW Gothic L</family>
+ </accept>
+ </alias>
+@@ -441,6 +509,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <accept>
+ <family>Bookman Old Style</family>
+ <family>TeX Gyre Bonum</family>
++ <family>Bookman URW</family>
+ <family>URW Bookman L</family>
+ </accept>
+ </alias>
+@@ -449,6 +518,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <family>ITC Zapf Chancery</family>
+ <accept>
+ <family>TeX Gyre Chorus</family>
++ <family>Chancery URW</family>
+ <family>URW Chancery L</family>
+ </accept>
+ </alias>
+@@ -458,6 +528,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <accept>
+ <family>Palatino Linotype</family>
+ <family>TeX Gyre Pagella</family>
++ <family>Palladio URW</family>
+ <family>URW Palladio L</family>
+ </accept>
+ </alias>
+@@ -467,6 +538,7 @@ but in an order preferring similar designs first. We do this in three steps:
+ <accept>
+ <family>Century Schoolbook</family>
+ <family>TeX Gyre Schola</family>
++ <family>Century SchoolBook URW</family>
+ <family>Century Schoolbook L</family>
+ </accept>
+ </alias>
+diff --git a/conf.d/45-latin.conf b/conf.d/45-latin.conf
+index 996fb81..72490f3 100644
+--- a/conf.d/45-latin.conf
++++ b/conf.d/45-latin.conf
+@@ -34,6 +34,10 @@
+ <default><family>serif</family></default>
+ </alias>
+ <alias>
++ <family>Nimbus Roman</family>
++ <default><family>serif</family></default>
++ </alias>
++ <alias>
+ <family>Luxi Serif</family>
+ <default><family>serif</family></default>
+ </alias>
+@@ -97,6 +101,10 @@
+ <default><family>sans-serif</family></default>
+ </alias>
+ <alias>
++ <family>Nimbus Sans</family>
++ <default><family>sans-serif</family></default>
++ </alias>
++ <alias>
+ <family>Luxi Sans</family>
+ <default><family>sans-serif</family></default>
+ </alias>
+@@ -151,6 +159,10 @@
+ <family>Nimbus Mono L</family>
+ <default><family>monospace</family></default>
+ </alias>
++ <alias>
++ <family>Nimbus Mono</family>
++ <default><family>monospace</family></default>
++ </alias>
+ <!--
+ Fantasy faces
+ -->
+diff --git a/conf.d/60-latin.conf b/conf.d/60-latin.conf
+index 2107e31..35600ea 100644
+--- a/conf.d/60-latin.conf
++++ b/conf.d/60-latin.conf
+@@ -10,6 +10,7 @@
+ <family>Thorndale AMT</family>
+ <family>Luxi Serif</family>
+ <family>Nimbus Roman No9 L</family>
++ <family>Nimbus Roman</family>
+ <family>Times</family>
+ </prefer>
+ </alias>
+@@ -23,6 +24,7 @@
+ <family>Albany AMT</family>
+ <family>Luxi Sans</family>
+ <family>Nimbus Sans L</family>
++ <family>Nimbus Sans</family>
+ <family>Helvetica</family>
+ <family>Lucida Sans Unicode</family>
+ <family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
+@@ -40,6 +42,7 @@
+ <family>Cumberland AMT</family>
+ <family>Luxi Mono</family>
+ <family>Nimbus Mono L</family>
++ <family>Nimbus Mono</family>
+ <family>Courier</family>
+ </prefer>
+ </alias>
+--
+cgit v0.10.2
+
diff --git a/abs/core/fontconfig/29-replace-bitmap-fonts.conf b/abs/core/fontconfig/29-replace-bitmap-fonts.conf
deleted file mode 100644
index 7ac4483..0000000
--- a/abs/core/fontconfig/29-replace-bitmap-fonts.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-<fontconfig>
- <!-- Replace generic bitmap font names by generic font families.
- These font-families will get replaced by other rules and
- default to scaled ones. -->
- <match target="pattern" name="family">
- <test name="family" qual="any">
- <string>Helvetica</string>
- </test>
- <edit mode="assign" name="family">
- <string>Arial</string>
- <string>Liberation Sans</string>
- <string>sans-serif</string>
- </edit>
- </match>
- <match target="pattern" name="family">
- <test name="family" qual="any">
- <string>Courier</string>
- </test>
- <edit mode="assign" name="family">
- <string>Courier New</string>
- <string>Liberation Mono</string>
- <string>monospace</string>
- </edit>
- </match>
- <match target="pattern" name="family">
- <test name="family" qual="any">
- <string>Times</string>
- </test>
- <edit mode="assign" name="family">
- <string>Times New Roman</string>
- <string>Liberation Serif</string>
- <string>serif</string>
- </edit>
- </match>
-</fontconfig>
diff --git a/abs/core/fontconfig/PKGBUILD b/abs/core/fontconfig/PKGBUILD
index 2919bb1..9f1fe17 100644
--- a/abs/core/fontconfig/PKGBUILD
+++ b/abs/core/fontconfig/PKGBUILD
@@ -3,19 +3,31 @@
pkgname=fontconfig
pkgver=2.11.1
-pkgrel=1
+pkgrel=2
pkgdesc="A library for configuring and customizing font access"
arch=(i686 x86_64)
url="http://www.fontconfig.org/release/"
license=('custom')
depends=('expat' 'freetype2')
install=fontconfig.install
-source=(http://www.fontconfig.org/release/$pkgname-$pkgver.tar.bz2)
-sha256sums=('dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99')
+source=(http://www.fontconfig.org/release/$pkgname-$pkgver.tar.bz2
+ 0001-Revert-Bug-73291-poppler-does-not-show-fl-ligature.patch
+ 0002-Update-aliases-for-new-URW-fonts.patch)
+sha256sums=('dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99'
+ '657d180d9d78555df4f1b81871ba9c1c7c6056c83455514950d064fdfae4646b'
+ '1194d1b92d228d8ed705f5502fdf4fcfad5a794f388bcb4928074df4c34a1bfb')
# a nice page to test font matching:
# http://zipcon.net/~swhite/docs/computers/browsers/fonttest.html
+prepare() {
+ cd $pkgname-$pkgver
+
+ # Upstream patches implementing FS#45928
+ patch -p1 -i ../0001-Revert-Bug-73291-poppler-does-not-show-fl-ligature.patch
+ patch -p1 -i ../0002-Update-aliases-for-new-URW-fonts.patch
+}
+
build() {
cd $pkgname-$pkgver
diff --git a/abs/core/fontconfig/fontconfig.install b/abs/core/fontconfig/fontconfig.install
index 3a0ca57..961bba5 100644
--- a/abs/core/fontconfig/fontconfig.install
+++ b/abs/core/fontconfig/fontconfig.install
@@ -19,6 +19,7 @@ post_install() {
_EOF
echo -n "updating font cache... "
+ # a full forced directory scan is required here
/usr/bin/fc-cache -f
echo "done."
}
diff --git a/abs/core/fontsproto/PKGBUILD b/abs/core/fontsproto/PKGBUILD
index c4ddc51..91c1ff9 100644
--- a/abs/core/fontsproto/PKGBUILD
+++ b/abs/core/fontsproto/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 154134 2012-03-23 17:17:02Z andyrtr $
+# $Id$
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fontsproto
-pkgver=2.1.2
+pkgver=2.1.3
pkgrel=1
pkgdesc="X11 font extension wire protocol"
arch=('any')
@@ -10,7 +10,7 @@ url="http://xorg.freedesktop.org/"
license=('custom')
makedepends=('xorg-util-macros')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('538f0880faa6981cb1a348ced93dc715c42840f7')
+sha256sums=('259046b0dd9130825c4a4c479ba3591d6d0f17a33f54e294b56478729a6e5ab8')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/fping/PKGBUILD b/abs/core/fping/PKGBUILD
index cc3f56b..ae32976 100644
--- a/abs/core/fping/PKGBUILD
+++ b/abs/core/fping/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 200236 2013-11-23 17:36:41Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=fping
-pkgver=3.8
-pkgrel=3
+pkgver=3.10
+pkgrel=1
pkgdesc="A utility to ping multiple hosts at once"
arch=('i686' 'x86_64')
url="http://www.fping.org/"
license=('custom')
depends=('glibc')
source=("http://www.fping.org/dist/${pkgname}-${pkgver}.tar.gz")
-md5sums=('1e36467cc96a4ca959925ac167ea19af')
+md5sums=('6a0ddecb671df1d580d20c0dd1095773')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/abs/core/fping/fping-3.8-2.src.tar.gz b/abs/core/fping/fping-3.8-2.src.tar.gz
deleted file mode 120000
index 9cbf1dd..0000000
--- a/abs/core/fping/fping-3.8-2.src.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/data/pkg_repo/src_packages/fping-3.8-2.src.tar.gz \ No newline at end of file
diff --git a/abs/core/fribidi/PKGBUILD b/abs/core/fribidi/PKGBUILD
index 55cebf7..1a955d4 100644
--- a/abs/core/fribidi/PKGBUILD
+++ b/abs/core/fribidi/PKGBUILD
@@ -1,27 +1,28 @@
-# $Id: PKGBUILD 137683 2011-09-10 12:05:16Z pierre $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Nezmer <Nezmer@gmail.com>
pkgname=fribidi
-pkgver=0.19.2
-pkgrel=2
+pkgver=0.19.7
+pkgrel=1
pkgdesc="A Free Implementation of the Unicode Bidirectional Algorithm"
arch=('i686' 'x86_64')
license=('LGPL')
url="http://fribidi.org"
-depends=('glibc')
-options=('!libtool')
-source=("http://fribidi.org/download/${pkgname}-${pkgver}.tar.gz")
-md5sums=('626db17d2d99b43615ad9d12500f568a')
+depends=('glib2')
+source=("http://fribidi.org/download/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('6c7e7cfdd39c908f7ac619351c1c5c23')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr
+
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/gawk/PKGBUILD b/abs/core/gawk/PKGBUILD
index e2a39ed..071d2ec 100644
--- a/abs/core/gawk/PKGBUILD
+++ b/abs/core/gawk/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 197682 2013-10-28 10:54:43Z tpowa $
+# $Id$
# Maintainer:
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=gawk
-pkgver=4.1.0
-pkgrel=2
+pkgver=4.1.3
+pkgrel=1
pkgdesc="GNU version of awk"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/gawk/"
@@ -14,6 +14,9 @@ depends=('sh' 'glibc' 'mpfr')
provides=('awk')
install=gawk.install
source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig})
+md5sums=('55d37f4069502677f25d1340df8eec97'
+ 'SKIP')
+validpgpkeys=('D1967C63788713177D861ED7DF597815937EC0D2') # Arnold Robbins
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -34,5 +37,3 @@ package() {
#ln -sf /usr/bin/gawk ${pkgdir}/bin/
#ln -sf gawk ${pkgdir}/bin/awk
}
-md5sums=('13e02513105417818a31ef375f9f9f42'
- 'SKIP')
diff --git a/abs/core/gcc/PKGBUILD b/abs/core/gcc/PKGBUILD
new file mode 100644
index 0000000..b32797b
--- /dev/null
+++ b/abs/core/gcc/PKGBUILD
@@ -0,0 +1,325 @@
+# $Id$
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: libtool requires rebuilt with each new gcc version
+
+pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
+pkgver=5.3.0
+_pkgver=5
+_islver=0.15
+pkgrel=5
+_snapshot=5-20160209
+pkgdesc="The GNU Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils>=2.26' 'libmpc' 'gcc-ada' 'doxygen')
+checkdepends=('dejagnu' 'inetutils')
+options=('!emptydirs')
+source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
+ http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+ Unlink-the-response-file.patch)
+md5sums=('499161c65b639aa5c12a14944582b7ec'
+ '8428efbbc6f6e2810ce5c1ba73ecf98c'
+ '1f4d4ef71004261376d26d5ba6a84499')
+
+if [ -n "${_snapshot}" ]; then
+ _basedir=gcc-${_snapshot}
+else
+ _basedir=gcc-${pkgver}
+fi
+
+_libdir="usr/lib/gcc/$CHOST/$pkgver"
+
+prepare() {
+ cd ${srcdir}/${_basedir}
+
+ # link isl for in-tree build
+ ln -s ../isl-${_islver} isl
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ # Arch Linux installs x86_64 libraries /lib
+ [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+
+ # https://bugs.archlinux.org/task/47874 - commit f591a95d
+ patch -p1 -i $srcdir/Unlink-the-response-file.patch
+
+ mkdir ${srcdir}/gcc-build
+}
+
+build() {
+ cd ${srcdir}/gcc-build
+
+ # using -pipe causes spurious test-suite failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
+ CFLAGS=${CFLAGS/-pipe/}
+ CXXFLAGS=${CXXFLAGS/-pipe/}
+
+ ${srcdir}/${_basedir}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
+ --enable-shared --enable-threads=posix --enable-libmpx \
+ --with-system-zlib --with-isl --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --disable-libstdcxx-pch --disable-libssp \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --enable-lto --enable-plugin --enable-install-libiberty \
+ --with-linker-hash-style=gnu --enable-gnu-indirect-function \
+ --disable-multilib --disable-werror \
+ --enable-checking=release
+
+ make
+
+ # make documentation
+ make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
+}
+
+check() {
+ cd ${srcdir}/gcc-build
+
+ # increase stack size to prevent test failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+ ulimit -s 32768
+
+ # do not abort on error as some are "expected"
+ make -k check || true
+ ${srcdir}/${_basedir}/contrib/test_summary
+}
+
+package_gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC"
+ groups=('base')
+ depends=('glibc>=2.23')
+ options=('!emptydirs' '!strip')
+ install=gcc-libs.install
+
+ cd ${srcdir}/gcc-build
+
+ make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ rm ${pkgdir}/${_libdir}/libgcc_eh.a
+
+ for lib in libatomic \
+ libcilkrts \
+ libgfortran \
+ libgo \
+ libgomp \
+ libitm \
+ libquadmath \
+ libsanitizer/{a,l,ub}san \
+ libstdc++-v3/src \
+ libvtv; do
+ make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+
+ [[ $CARCH == "x86_64" ]] && \
+ make -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+
+ make -C $CHOST/libobjc DESTDIR=${pkgdir} install-libs
+
+ make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+
+ make -C $CHOST/libmpx DESTDIR=${pkgdir} install
+ rm ${pkgdir}/usr/lib/libmpx.spec
+
+ for lib in libgomp \
+ libitm \
+ libquadmath; do
+ make -C $CHOST/$lib DESTDIR=${pkgdir} install-info
+ done
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc()
+{
+ pkgdesc="The GNU Compiler Collection - C and C++ frontends"
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.26' 'libmpc')
+ groups=('base-devel')
+ options=('staticlibs')
+ install=gcc.install
+
+ cd ${srcdir}/gcc-build
+
+ make -C gcc DESTDIR=${pkgdir} install-driver install-cpp install-gcc-ar \
+ c++.install-common install-headers install-plugin install-lto-wrapper
+
+ install -m755 -t $pkgdir/usr/bin/ gcc/gcov{,-tool}
+ install -m755 -t $pkgdir/${_libdir}/ gcc/{cc1,cc1plus,collect2,lto1}
+
+ make -C $CHOST/libgcc DESTDIR=${pkgdir} install
+ rm ${pkgdir}/usr/lib/libgcc_s.so*
+
+ make -C $CHOST/libstdc++-v3/src DESTDIR=${pkgdir} install
+ make -C $CHOST/libstdc++-v3/include DESTDIR=${pkgdir} install
+ make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install
+ make -C $CHOST/libstdc++-v3/python DESTDIR=${pkgdir} install
+
+ make DESTDIR=${pkgdir} install-libcc1
+ install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
+ mv $pkgdir/usr/lib/libstdc++.so.6.*-gdb.py \
+ $pkgdir/usr/share/gdb/auto-load/usr/lib/
+ rm ${pkgdir}/usr/lib/libstdc++.so*
+
+ make DESTDIR=${pkgdir} install-fixincludes
+ make -C gcc DESTDIR=${pkgdir} install-mkheaders
+
+ make -C lto-plugin DESTDIR=${pkgdir} install
+ install -dm755 ${pkgdir}/usr/lib/bfd-plugins/
+ ln -s /usr/lib/gcc/$CHOST/${pkgver}/liblto_plugin.so \
+ ${pkgdir}/usr/lib/bfd-plugins/
+
+ make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
+ install-nodist_cilkincludeHEADERS
+ make -C $CHOST/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
+ install-nodist_libsubincludeHEADERS
+ make -C $CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS
+ make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS
+ make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+
+ make -C libiberty DESTDIR=${pkgdir} install
+ # install PIC version of libiberty
+ install -m644 ${srcdir}/gcc-build/libiberty/pic/libiberty.a ${pkgdir}/usr/lib
+
+ make -C gcc DESTDIR=${pkgdir} install-man install-info
+ rm ${pkgdir}/usr/share/man/man1/{gccgo,gfortran}.1
+ rm ${pkgdir}/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
+
+ make -C libcpp DESTDIR=${pkgdir} install
+ make -C gcc DESTDIR=${pkgdir} install-po
+
+ # many packages expect this symlink
+ ln -s gcc ${pkgdir}/usr/bin/cc
+
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
+ # install the libstdc++ man pages
+ make -C $CHOST/libstdc++-v3/doc DESTDIR=$pkgdir doc-install-man
+
+ # Install Runtime Library Exception
+ install -d ${pkgdir}/usr/share/licenses/gcc/
+ ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc/
+}
+
+package_gcc-fortran()
+{
+ pkgdesc="Fortran front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ options=('!emptydirs')
+ install=gcc-fortran.install
+
+ cd ${srcdir}/gcc-build
+ make -C $CHOST/libgfortran DESTDIR=$pkgdir install-{caf,my}execlibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+ make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/${_libdir}/f951
+
+ ln -s gfortran ${pkgdir}/usr/bin/f95
+
+ # Install Runtime Library Exception
+ install -d ${pkgdir}/usr/share/licenses/gcc-fortran/
+ ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-fortran/
+}
+
+package_gcc-objc()
+{
+ pkgdesc="Objective-C front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+
+ cd ${srcdir}/gcc-build
+ make DESTDIR=$pkgdir -C $CHOST/libobjc install-headers
+ install -dm755 $pkgdir/${_libdir}
+ install -m755 gcc/cc1obj{,plus} $pkgdir/${_libdir}/
+
+ # Install Runtime Library Exception
+ install -d ${pkgdir}/usr/share/licenses/gcc-objc/
+ ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-objc/
+}
+
+package_gcc-ada()
+{
+ pkgdesc="Ada front-end for GCC (GNAT)"
+ depends=("gcc=$pkgver-$pkgrel")
+ options=('staticlibs' '!emptydirs')
+ install=gcc-ada.install
+
+ cd ${srcdir}/gcc-build/gcc
+ make DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/${_libdir}
+
+ ln -s gcc ${pkgdir}/usr/bin/gnatgcc
+
+ # insist on dynamic linking, but keep static libraries because gnatmake complains
+ mv ${pkgdir}/${_libdir}/adalib/libgna{rl,t}-${_pkgver}.so ${pkgdir}/usr/lib
+ ln -s libgnarl-${_pkgver}.so ${pkgdir}/usr/lib/libgnarl.so
+ ln -s libgnat-${_pkgver}.so ${pkgdir}/usr/lib/libgnat.so
+ rm ${pkgdir}/${_libdir}/adalib/libgna{rl,t}.so
+
+ # Install Runtime Library Exception
+ install -d ${pkgdir}/usr/share/licenses/gcc-ada/
+ ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-ada/
+}
+
+package_gcc-go()
+{
+ pkgdesc="Go front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ conflicts=('go')
+ options=('!emptydirs')
+ install=gcc-go.install
+
+ cd ${srcdir}/gcc-build
+ make -C $CHOST/libgo DESTDIR=$pkgdir install-exec-am
+ rm ${pkgdir}/usr/lib/libgo.so*
+ make -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
+ install -Dm755 gcc/go1 $pkgdir/${_libdir}/go1
+
+ make DESTDIR=${pkgdir} install-gotools
+
+ # Install Runtime Library Exception
+ install -d ${pkgdir}/usr/share/licenses/gcc-go/
+ ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-go/
+}
diff --git a/abs/core/gcc/Unlink-the-response-file.patch b/abs/core/gcc/Unlink-the-response-file.patch
new file mode 100644
index 0000000..55c95a7
--- /dev/null
+++ b/abs/core/gcc/Unlink-the-response-file.patch
@@ -0,0 +1,54 @@
+From f591a95d1532ac7791c146a8e55ba3a32b3e476f Mon Sep 17 00:00:00 2001
+From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 23 Jun 2015 20:48:07 +0000
+Subject: [PATCH] * collect-utils.c (collect_wait): Unlink the
+ response file here instead of... (do_wait): ...here.
+ (utils_cleanup): ...and here.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224858 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog | 7 +++++++
+ gcc/collect-utils.c | 14 ++++++--------
+ 2 files changed, 13 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/collect-utils.c b/gcc/collect-utils.c
+index 6bbe9eb..517a075 100644
+--- a/gcc/collect-utils.c
++++ b/gcc/collect-utils.c
+@@ -68,6 +68,12 @@ collect_wait (const char *prog, struct pex_obj *pex)
+ fatal_error (input_location, "can't get program status: %m");
+ pex_free (pex);
+
++ if (response_file && !save_temps)
++ {
++ unlink (response_file);
++ response_file = NULL;
++ }
++
+ if (status)
+ {
+ if (WIFSIGNALED (status))
+@@ -90,12 +96,6 @@ do_wait (const char *prog, struct pex_obj *pex)
+ int ret = collect_wait (prog, pex);
+ if (ret != 0)
+ fatal_error (input_location, "%s returned %d exit status", prog, ret);
+-
+- if (response_file && !save_temps)
+- {
+- unlink (response_file);
+- response_file = NULL;
+- }
+ }
+
+
+@@ -224,7 +224,5 @@ utils_cleanup (bool from_signal)
+ calls to maybe_unlink fails. */
+ cleanup_done = true;
+
+- if (response_file)
+- maybe_unlink (response_file);
+ tool_cleanup (from_signal);
+ }
+--
+2.7.1
+
diff --git a/abs/core/gcc/gcc-ada.install b/abs/core/gcc/gcc-ada.install
new file mode 100644
index 0000000..df0553a
--- /dev/null
+++ b/abs/core/gcc/gcc-ada.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/gcc/gcc-fortran.install b/abs/core/gcc/gcc-fortran.install
new file mode 100644
index 0000000..b15d89a
--- /dev/null
+++ b/abs/core/gcc/gcc-fortran.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
diff --git a/abs/core/gcc/gcc-go.install b/abs/core/gcc/gcc-go.install
new file mode 100644
index 0000000..7dc50de
--- /dev/null
+++ b/abs/core/gcc/gcc-go.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gccgo.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/gcc/gcc-libs.install b/abs/core/gcc/gcc-libs.install
new file mode 100644
index 0000000..23553b8
--- /dev/null
+++ b/abs/core/gcc/gcc-libs.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+filelist=(libgomp.info libquadmath.info)
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/gcc/gcc.install b/abs/core/gcc/gcc.install
new file mode 100644
index 0000000..3407a5e
--- /dev/null
+++ b/abs/core/gcc/gcc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/gettext/PKGBUILD b/abs/core/gettext/PKGBUILD
index 8b915e5..87bcf54 100644
--- a/abs/core/gettext/PKGBUILD
+++ b/abs/core/gettext/PKGBUILD
@@ -1,34 +1,35 @@
-# $Id: PKGBUILD 142112 2011-11-05 10:14:09Z tpowa $
+# $Id$
# Maintainer:
pkgname=gettext
-pkgver=0.18.1.1
-pkgrel=4
+pkgver=0.19.5
+pkgrel=1
pkgdesc="GNU internationalization library"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/gettext/"
license=('GPL')
-groups=('base')
-depends=('gcc-libs' 'acl' 'sh' 'glib2')
-optdepends=('cvs: for autopoint tool')
-options=(!libtool !docs)
+groups=('base' 'base-devel')
+depends=('gcc-libs' 'acl' 'sh' 'glib2' 'libunistring')
+optdepends=('git: for autopoint infrastructure updates')
+options=(!docs)
install=gettext.install
-source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz)
-md5sums=('3dd55b952826d2b32f51308f2f91aa89')
+source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz{,.sig})
+validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- sed -i -e 's/libexpat.so.0/libexpat.so.1/' gettext-tools/src/x-glade.c
- ./configure --prefix=/usr --enable-csharp
+ ./configure --prefix=/usr
make
}
-#check() {
-# cd "${srcdir}/${pkgname}-${pkgver}"
-# make check
-#}
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make -j1 -k check
+}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
+md5sums=('0f3c108d64e8dcd9e6fbdff4ca722feb'
+ 'SKIP')
diff --git a/abs/core/ghostscript/PKGBUILD b/abs/core/ghostscript/PKGBUILD
index f27e992..42dada7 100644
--- a/abs/core/ghostscript/PKGBUILD
+++ b/abs/core/ghostscript/PKGBUILD
@@ -4,28 +4,41 @@
### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###
pkgname=ghostscript
-pkgver=9.15
-pkgrel=1
+pkgver=9.18
+pkgrel=6
pkgdesc="An interpreter for the PostScript language"
arch=('i686' 'x86_64')
license=('AGPL' 'custom')
depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg'
'libtiff>=4.0.0' 'lcms2' 'dbus' 'libpaper')
-makedepends=('gtk3' 'gnutls')
+makedepends=('gtk3' 'gnutls' 'hardening-wrapper')
optdepends=('texlive-core: needed for dvipdf'
'gtk3: needed for gsx')
url="http://www.ghostscript.com/"
source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2
- ghostscript-sys-zlib.patch)
+ ghostscript-sys-zlib.patch
+ bug_696246.diff
+ add_gserrors_h.diff
+ fix_check_for_using_shared_freetype_lib.diff)
#options=('!makeflags')
# http://downloads.ghostscript.com/public/SHA1SUMS
-sha1sums=('19f01538d33b9623bc6653d96ea4ec891f14a9d3'
- 'e054caf753df4d67221b29a2eac66130653f7556')
+sha1sums=('388fea50a38e422a4c6ff27c184491bf5ecb96e1'
+ 'e054caf753df4d67221b29a2eac66130653f7556'
+ 'f259eaac3beb0ec346bb2d4d2455e4e3baddecd4'
+ 'ca686fed1af36d1f9fa866b47ff129c71d6a19ff'
+ '8258043b111832fe52989ccb00d6d87285fcad81')
prepare() {
cd ghostscript-${pkgver}
# fix build with system zlib
patch -Np1 -i ${srcdir}/ghostscript-sys-zlib.patch
+ # fix http://bugs.ghostscript.com/show_bug.cgi?id=696246 - FS#46637, FS#46734?
+ patch -Np1 -i ${srcdir}/bug_696246.diff
+ # add a missing header; FS#46928
+ patch -Np1 -i ${srcdir}/add_gserrors_h.diff
+ # fix use system freetype - FS#46744
+ # http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d28536e4518716fdfe974e580194c8f57871d
+ patch -Np1 -i ${srcdir}/fix_check_for_using_shared_freetype_lib.diff
}
build() {
diff --git a/abs/core/ghostscript/add_gserrors_h.diff b/abs/core/ghostscript/add_gserrors_h.diff
new file mode 100644
index 0000000..c34e486
--- /dev/null
+++ b/abs/core/ghostscript/add_gserrors_h.diff
@@ -0,0 +1,43 @@
+From feafe5e540a0545ec5d28f3f66bb542056bba495 Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Fri, 23 Oct 2015 10:16:11 +0100
+Subject: [PATCH] Bug 696301: add gserrors.h to the installed files
+
+for the so-install target.
+
+Also remove a spurious (copy'n'paste error) comment.
+
+No cluster differences
+---
+ base/gserrors.h | 2 +-
+ base/unix-dll.mak | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/base/gserrors.h b/base/gserrors.h
+index 5f18081..cdebb38 100644
+--- a/base/gserrors.h
++++ b/base/gserrors.h
+@@ -25,7 +25,7 @@
+ /* We don't use a typedef internally to avoid a lot of casting. */
+
+ enum gs_error_type {
+- gs_error_ok = 0, /* unknown error */
++ gs_error_ok = 0,
+ gs_error_unknownerror = -1, /* unknown error */
+ gs_error_dictfull = -2,
+ gs_error_dictstackoverflow = -3,
+diff --git a/base/unix-dll.mak b/base/unix-dll.mak
+index 7b67aa1..73b4fa9 100644
+--- a/base/unix-dll.mak
++++ b/base/unix-dll.mak
+@@ -186,6 +186,7 @@ install-so-subtarget: so-subtarget
+ ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
+ $(INSTALL_DATA) $(PSSRC)iapi.h $(DESTDIR)$(gsincludedir)iapi.h
+ $(INSTALL_DATA) $(PSSRC)ierrors.h $(DESTDIR)$(gsincludedir)ierrors.h
++ $(INSTALL_DATA) $(GLSRC)gserrors.h $(DESTDIR)$(gsincludedir)gserrors.h
+ $(INSTALL_DATA) $(DEVSRC)gdevdsp.h $(DESTDIR)$(gsincludedir)gdevdsp.h
+
+ soinstall:
+--
+2.5.1
+
diff --git a/abs/core/ghostscript/bug_696246.diff b/abs/core/ghostscript/bug_696246.diff
new file mode 100644
index 0000000..4719eb5
--- /dev/null
+++ b/abs/core/ghostscript/bug_696246.diff
@@ -0,0 +1,203 @@
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Fri, 9 Oct 2015 09:54:10 +0000 (+0100)
+Subject: Bug 696246: devijs account for device sublassing.
+X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=b68e05c3
+
+Bug 696246: devijs account for device sublassing.
+
+The IJS device wasn't coping with the possibility it had been subclassed.
+
+No cluster differences
+---
+
+diff --git a/devices/gdevijs.c b/devices/gdevijs.c
+index 5520716..a2e21ea 100644
+--- a/devices/gdevijs.c
++++ b/devices/gdevijs.c
+@@ -827,6 +827,10 @@ gsijs_open(gx_device *dev)
+ if (code < 0)
+ return code;
+
++ while (dev->child)
++ dev = dev->child;
++ ijsdev = (gx_device_ijs *)dev;
++
+ if (use_outputfd) {
+ /* Note: dup() may not be portable to all interesting IJS
+ platforms. In that case, this branch should be #ifdef'ed out.
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Fri, 9 Oct 2015 11:54:44 +0000 (+0100)
+Subject: Bug 696246: patch the memory manager fields for sublassed devices.
+X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=95553954
+
+Bug 696246: patch the memory manager fields for sublassed devices.
+
+When we subclass a device, we were patching the "visible" type field - that is,
+the one referenced directly in the device structure. We were not patching
+the type information in the memory object header so, in particular, the
+garbage collector could end up calling the wrong methods for the subclassed
+device.
+
+No cluster differences.
+---
+
+diff --git a/base/gdevdflt.c b/base/gdevdflt.c
+index 5768937..305f89d 100644
+--- a/base/gdevdflt.c
++++ b/base/gdevdflt.c
+@@ -17,6 +17,8 @@
+ #include "math_.h"
+ #include "memory_.h"
+ #include "gx.h"
++#include "gsstruct.h"
++#include "gxobj.h"
+ #include "gserrors.h"
+ #include "gsropt.h"
+ #include "gxcomp.h"
+@@ -26,6 +28,7 @@
+ #include "gstrans.h" /* For gs_pdf14trans_t */
+ #include "gxistate.h" /* for gs_image_state_s */
+
++
+ /* defined in gsdpram.c */
+ int gx_default_get_param(gx_device *dev, char *Param, void *list);
+
+@@ -1294,6 +1297,11 @@ int gx_device_subclass(gx_device *dev_to_subclass, gx_device *new_prototype, uns
+ ptr1 = ((char *)new_prototype) + sizeof(gx_device);
+ memcpy(ptr, ptr1, new_prototype->params_size - sizeof(gx_device));
+
++ /* We have to patch up the "type" parameters that the memory manage/garbage
++ * collector will use, as well.
++ */
++ (((obj_header_t *)dev_to_subclass) - 1)->o_type = new_prototype->stype;
++
+ /* If the original device's stype structure was dynamically allocated, we need
+ * to 'fixup' the contents, it's procs need to point to the new device's procs
+ * for instance.
+diff --git a/base/lib.mak b/base/lib.mak
+index de78333..09b70e5 100644
+--- a/base/lib.mak
++++ b/base/lib.mak
+@@ -1210,7 +1210,7 @@ $(GLOBJ)gdevdsha.$(OBJ) : $(GLSRC)gdevdsha.c $(AK) $(gx_h)\
+
+ $(GLOBJ)gdevdflt.$(OBJ) : $(GLSRC)gdevdflt.c $(AK) $(gx_h)\
+ $(gserrors_h) $(gsropt_h) $(gxcomp_h) $(gxdevice_h) $(gxdevsop_h) $(math__h)\
+- $(MAKEDIRS)
++ $(gsstruct_h) $(gxobj_h) $(MAKEDIRS)
+ $(GLCC) $(GLO_)gdevdflt.$(OBJ) $(C_) $(GLSRC)gdevdflt.c
+
+ $(GLOBJ)gdevdgbr.$(OBJ) : $(GLSRC)gdevdgbr.c $(AK) $(gx_h)\
+From 007bd77d08d800e6b07274d62e3c91be7c4a3f47 Mon Sep 17 00:00:00 2001
+From: Ken Sharp <ken.sharp@artifex.com>
+Date: Mon, 12 Oct 2015 16:36:11 +0100
+Subject: [PATCH] Guard against NULL 'base' for non-clist devices
+
+Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
+
+This is actually for the plib device. This device is currently (this will
+change in the next commit) set to BandingAuto, despite the fact that the
+device only works in banding mode.
+
+This can lead to use arriving in gdev_mem_open_scan_lines with all of
+mdev->bitmap_memory, mdev->line_pointers_memory and mdev->base being set to
+NULL. The code didn't check and assumed that mdev->base was valid, which
+led to a later seg fault.
+
+Here we just check to make sure it isn't NULL and return an error if it is.
+This doesn't prevent the possibility of garbage uninitialised values, but
+there's not much we can do to check that at this stage, devices are supposed
+to be initialised to 0 so this 'shouldn't' happen.
+
+No differences expected.
+---
+ base/gdevmem.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/base/gdevmem.c b/base/gdevmem.c
+index 3019451f..507fa19 100644
+--- a/base/gdevmem.c
++++ b/base/gdevmem.c
+@@ -471,6 +471,9 @@ gdev_mem_open_scan_lines(gx_device_memory *mdev, int setup_height)
+ line_pointers_adjacent = false;
+ }
+ if (line_pointers_adjacent) {
++ if (mdev->base == 0)
++ return_error(gs_error_rangecheck);
++
+ gdev_mem_bits_size(mdev, mdev->width, mdev->height, &size);
+ mdev->line_ptrs = (byte **)(mdev->base + size);
+ }
+--
+2.5.1
+
+From 1bdbe4f87dc57648821e613ebcc591b84e8b35b3 Mon Sep 17 00:00:00 2001
+From: Ken Sharp <ken.sharp@artifex.com>
+Date: Mon, 12 Oct 2015 16:38:09 +0100
+Subject: [PATCH] Ensure plib devices always use the clist
+
+Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
+
+the plib* class of devices only work if clist is present, but previously
+they left the banding_type set to 'auto', which meant that under some
+conditions we did not use the clist, leading to a seg fault.
+
+This commit simply forces banding_type to be 'BandingAlways'.
+
+No differences expected.
+---
+ devices/gdevplib.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/devices/gdevplib.c b/devices/gdevplib.c
+index 51bd7ea..87c6f46 100644
+--- a/devices/gdevplib.c
++++ b/devices/gdevplib.c
+@@ -691,6 +691,8 @@ plib_open(gx_device * pdev)
+ bdev->printer_procs.buf_procs.size_buf_device = plib_size_buf_device;
+ pdev->is_planar = 1;
+
++ bdev->space_params.banding_type = BandingAlways;
++
+ /* You might expect us to call gdev_prn_open_planar rather than
+ * gdev_prn_open, but if we do that, it overwrites the 2 function
+ * pointers we've just overwritten! */
+--
+2.5.1
+
+From 5571ddfa377c5d7d98f55af40e693814ac287ae4 Mon Sep 17 00:00:00 2001
+From: Ken Sharp <ken.sharp@artifex.com>
+Date: Mon, 12 Oct 2015 16:40:10 +0100
+Subject: [PATCH] prevent rinkj device crash when misconfigured (no SetupFile)
+
+Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
+
+The rinkj device requires a SetupFile to be given as a device parameter,
+however it doesn't actually check to see if one is given, and just tries
+to open the filename, with a predictable crash when none is given.
+
+Here we check the filename and attempt to ensure it is both present and
+minimally valid.
+
+No differences expected.
+---
+ devices/gdevrinkj.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/devices/gdevrinkj.c b/devices/gdevrinkj.c
+index f55bc60..12c396a 100644
+--- a/devices/gdevrinkj.c
++++ b/devices/gdevrinkj.c
+@@ -1193,6 +1193,10 @@ rinkj_print_page(gx_device_printer *pdev, FILE *file)
+ int code = 0;
+ RinkjDevice *cmyk_dev;
+
++ if (rdev->setup_fn == 0 || rdev->setup_fn[0] == 0) {
++ emprintf(rdev->memory, "Error, SetupFile not defined, output aborted\n");
++ return 0;
++ }
+ cmyk_dev = rinkj_init(rdev, file);
+ if (cmyk_dev == 0)
+ return gs_note_error(gs_error_ioerror);
+--
+2.5.1
+
diff --git a/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff b/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff
new file mode 100644
index 0000000..b5b7b9b
--- /dev/null
+++ b/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff
@@ -0,0 +1,30 @@
+From 8f5d28536e4518716fdfe974e580194c8f57871d Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Thu, 7 Jan 2016 09:03:10 +0000
+Subject: [PATCH] Bug 696281: fix check for using shared freetype lib
+
+When I changed the initial value of the Freetype source path variable (to reduce
+the risk of header search path problems), I neglected to fix the logic for
+falling back to the system's libfreetype2.
+
+Credit to Rodrigo Rivas Costa for spotting the problem.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0c97fcc..f533e46 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -811,7 +811,7 @@ if test x"$enable_fapi" != xno; then
+ fi
+ done
+
+- if test -z $FTSRCDIR; then
++ if test x"$FTSRCDIR" = x"src"; then
+ AC_MSG_RESULT([no])
+ if test "x$PKGCONFIG" != x; then
+ AC_MSG_CHECKING(for system freetype2 >= 2.4.2 with pkg-config)
+--
+2.6.3
+
diff --git a/abs/core/glib2/PKGBUILD b/abs/core/glib2/PKGBUILD
index ee1ccf0..3498bde 100644
--- a/abs/core/glib2/PKGBUILD
+++ b/abs/core/glib2/PKGBUILD
@@ -3,20 +3,22 @@
pkgbase=glib2
pkgname=(glib2 glib2-docs)
-pkgver=2.42.1
-pkgrel=1
+pkgver=2.46.2
+pkgrel=2
pkgdesc="Common C routines used by GTK+ and other libs"
url="http://www.gtk.org/"
arch=(i686 x86_64)
-makedepends=('pkg-config' 'python2' 'libxslt' 'docbook-xml' 'pcre' 'libffi' 'elfutils')
+makedepends=('pkg-config' 'python2' 'libxslt' 'docbook-xml' 'pcre' 'libffi' 'libelf')
source=(http://ftp.gnome.org/pub/GNOME/sources/glib/${pkgver:0:4}/glib-$pkgver.tar.xz
- revert-warn-glib-compile-schemas.patch)
-sha256sums=('8f3f0865280e45b8ce840e176ef83bcfd511148918cc8d39df2ee89b67dcf89a'
- '049240975cd2f1c88fbe7deb28af14d4ec7d2640495f7ca8980d873bb710cc97')
+ revert-warn-glib-compile-schemas.patch memleak.patch)
+sha256sums=('5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db'
+ '049240975cd2f1c88fbe7deb28af14d4ec7d2640495f7ca8980d873bb710cc97'
+ '8337eeba4a32133d41575c8338fca32ac6a867e6e4a4e021355fcdeb606420a6')
prepare() {
cd glib-$pkgver
patch -Rp1 -i ../revert-warn-glib-compile-schemas.patch
+ patch -Np1 -i ../memleak.patch
}
build() {
@@ -36,7 +38,7 @@ check() {
package_glib2() {
depends=('pcre' 'libffi')
optdepends=('python2: for gdbus-codegen and gtester-report'
- 'elfutils: gresource inspection tool')
+ 'libelf: gresource inspection tool')
options=('!docs' '!emptydirs')
license=('LGPL')
diff --git a/abs/core/glib2/memleak.patch b/abs/core/glib2/memleak.patch
new file mode 100644
index 0000000..2b927a1
--- /dev/null
+++ b/abs/core/glib2/memleak.patch
@@ -0,0 +1,25 @@
+From db641e32920ee8b553ab6f2d318aafa156e4390c Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos@foutrelis.com>
+Date: Wed, 25 Nov 2015 23:29:18 +0200
+Subject: GDBusProxy: Fix a memory leak during initialization
+
+https://bugzilla.gnome.org/show_bug.cgi?id=758641
+---
+ gio/gdbusproxy.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gio/gdbusproxy.c b/gio/gdbusproxy.c
+index 52a22fb..7b1140f 100644
+--- a/gio/gdbusproxy.c
++++ b/gio/gdbusproxy.c
+@@ -1720,6 +1720,7 @@ async_initable_init_second_finish (GAsyncInitable *initable,
+ if (result != NULL)
+ {
+ process_get_all_reply (proxy, result);
++ g_variant_unref (result);
+ }
+
+ proxy->priv->initialized = TRUE;
+--
+cgit v0.11.2
+
diff --git a/abs/core/glibc/PKGBUILD b/abs/core/glibc/PKGBUILD
new file mode 100644
index 0000000..980bf41
--- /dev/null
+++ b/abs/core/glibc/PKGBUILD
@@ -0,0 +1,137 @@
+# $Id$
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: valgrind requires rebuilt with each major glibc version
+
+pkgname=glibc
+pkgver=2.23
+pkgrel=1
+_commit=e742928c
+pkgdesc="GNU C Library"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL' 'LGPL')
+groups=('base')
+depends=('linux-api-headers>=4.1' 'tzdata' 'filesystem')
+makedepends=('gcc>=5.2' 'git')
+backup=(etc/gai.conf
+ etc/locale.gen
+ etc/nscd.conf)
+options=('!strip' 'staticlibs')
+install=glibc.install
+source=(git://sourceware.org/git/glibc.git#commit=${_commit}
+ locale.gen.txt
+ locale-gen)
+md5sums=('SKIP'
+ '07ac979b6ab5eeb778d55f041529d623'
+ '476e9113489f93b348b21e144b6a8fcf')
+
+prepare() {
+ mkdir glibc-build
+}
+
+build() {
+ cd glibc-build
+
+ if [[ ${CARCH} = "i686" ]]; then
+ # Hack to fix NPTL issues with Xen, only required on 32bit platforms
+ # TODO: make separate glibc-xen package for i686
+ export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
+ fi
+
+ echo "slibdir=/usr/lib" >> configparms
+ echo "rtlddir=/usr/lib" >> configparms
+ echo "sbindir=/usr/bin" >> configparms
+ echo "rootsbindir=/usr/bin" >> configparms
+
+ # remove hardening options for building libraries
+ CFLAGS=${CFLAGS/-fstack-protector-strong/}
+ CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
+
+ ../${pkgname}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --with-headers=/usr/include \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-add-ons \
+ --enable-obsolete-rpc \
+ --enable-kernel=2.6.32 \
+ --enable-bind-now --disable-profile \
+ --enable-stackguard-randomization \
+ --enable-lock-elision \
+ --enable-multi-arch \
+ --disable-werror
+
+ # build libraries with hardening disabled
+ echo "build-programs=no" >> configparms
+ make
+
+ # re-enable hardening for programs
+ sed -i "/build-programs=/s#no#yes#" configparms
+ echo "CC += -fstack-protector-strong -D_FORTIFY_SOURCE=2" >> configparms
+ echo "CXX += -fstack-protector-strong -D_FORTIFY_SOURCE=2" >> configparms
+ make
+
+ # remove harding in preparation to run test-suite
+ sed -i '/FORTIFY/d' configparms
+}
+
+check() {
+ cd glibc-build
+
+ # some failures are "expected"
+ make check || true
+}
+
+package() {
+ cd glibc-build
+
+ install -dm755 ${pkgdir}/etc
+ touch ${pkgdir}/etc/ld.so.conf
+
+ make install_root=${pkgdir} install
+
+ rm -f ${pkgdir}/etc/ld.so.{cache,conf}
+
+ install -dm755 ${pkgdir}/usr/lib/{locale,systemd/system,tmpfiles.d}
+
+ install -m644 ${srcdir}/${pkgname}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
+ install -m644 ${srcdir}/${pkgname}/nscd/nscd.service ${pkgdir}/usr/lib/systemd/system
+ install -m644 ${srcdir}/${pkgname}/nscd/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf
+
+ install -m644 ${srcdir}/${pkgname}/posix/gai.conf ${pkgdir}/etc/gai.conf
+
+ install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/bin
+
+ # create /etc/locale.gen
+ install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
+ sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \
+ ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
+
+ # Do not strip the following files for improved debugging support
+ # ("improved" as in not breaking gdb and valgrind...):
+ # ld-${pkgver}.so
+ # libc-${pkgver}.so
+ # libpthread-${pkgver}.so
+ # libthread_db-1.0.so
+
+ cd $pkgdir
+ strip $STRIP_BINARIES usr/bin/{gencat,getconf,getent,iconv,iconvconfig} \
+ usr/bin/{ldconfig,locale,localedef,nscd,makedb} \
+ usr/bin/{pcprofiledump,pldd,rpcgen,sln,sprof} \
+ usr/lib/getconf/*
+ if [[ $CARCH = "i686" ]]; then
+ strip $STRIP_BINARIES usr/bin/lddlibc4
+ fi
+
+ strip $STRIP_STATIC usr/lib/*.a
+
+ strip $STRIP_SHARED usr/lib/lib{anl,BrokenLocale,cidn,crypt}-*.so \
+ usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
+ usr/lib/lib{dl,m,nsl,resolv,rt,util}-*.so \
+ usr/lib/lib{memusage,pcprofile,SegFault}.so \
+ usr/lib/{audit,gconv}/*.so || true
+ if [[ $CARCH = "x86_64" ]]; then
+ strip $STRIP_SHARED usr/lib/libmvec-*.so
+ fi
+}
diff --git a/abs/core/glibc/glibc-2.22-CVE-2015-7547.patch b/abs/core/glibc/glibc-2.22-CVE-2015-7547.patch
new file mode 100644
index 0000000..525ee49
--- /dev/null
+++ b/abs/core/glibc/glibc-2.22-CVE-2015-7547.patch
@@ -0,0 +1,572 @@
+CVE-2015-7547
+
+2016-02-15 Carlos O'Donell <carlos@redhat.com>
+
+ [BZ #18665]
+ * resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Always set
+ *herrno_p.
+ (gaih_getanswer): Document functional behviour. Return tryagain
+ if any result is tryagain.
+ * resolv/res_query.c (__libc_res_nsearch): Set buffer size to zero
+ when freed.
+ * resolv/res_send.c: Add copyright text.
+ (__libc_res_nsend): Document that MAXPACKET is expected.
+ (send_vc): Document. Remove buffer reuse.
+ (send_dg): Document. Remove buffer reuse. Set *thisanssizp to set the
+ size of the buffer. Add Dprint for truncated UDP buffer.
+
+diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
+index a255d5e..47cfe27 100644
+--- a/resolv/nss_dns/dns-host.c
++++ b/resolv/nss_dns/dns-host.c
+@@ -1031,7 +1031,10 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
+ int h_namelen = 0;
+
+ if (ancount == 0)
+- return NSS_STATUS_NOTFOUND;
++ {
++ *h_errnop = HOST_NOT_FOUND;
++ return NSS_STATUS_NOTFOUND;
++ }
+
+ while (ancount-- > 0 && cp < end_of_message && had_error == 0)
+ {
+@@ -1208,7 +1211,14 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
+ /* Special case here: if the resolver sent a result but it only
+ contains a CNAME while we are looking for a T_A or T_AAAA record,
+ we fail with NOTFOUND instead of TRYAGAIN. */
+- return canon == NULL ? NSS_STATUS_TRYAGAIN : NSS_STATUS_NOTFOUND;
++ if (canon != NULL)
++ {
++ *h_errnop = HOST_NOT_FOUND;
++ return NSS_STATUS_NOTFOUND;
++ }
++
++ *h_errnop = NETDB_INTERNAL;
++ return NSS_STATUS_TRYAGAIN;
+ }
+
+
+@@ -1222,11 +1232,101 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
+
+ enum nss_status status = NSS_STATUS_NOTFOUND;
+
++ /* Combining the NSS status of two distinct queries requires some
++ compromise and attention to symmetry (A or AAAA queries can be
++ returned in any order). What follows is a breakdown of how this
++ code is expected to work and why. We discuss only SUCCESS,
++ TRYAGAIN, NOTFOUND and UNAVAIL, since they are the only returns
++ that apply (though RETURN and MERGE exist). We make a distinction
++ between TRYAGAIN (recoverable) and TRYAGAIN' (not-recoverable).
++ A recoverable TRYAGAIN is almost always due to buffer size issues
++ and returns ERANGE in errno and the caller is expected to retry
++ with a larger buffer.
++
++ Lastly, you may be tempted to make significant changes to the
++ conditions in this code to bring about symmetry between responses.
++ Please don't change anything without due consideration for
++ expected application behaviour. Some of the synthesized responses
++ aren't very well thought out and sometimes appear to imply that
++ IPv4 responses are always answer 1, and IPv6 responses are always
++ answer 2, but that's not true (see the implemetnation of send_dg
++ and send_vc to see response can arrive in any order, particlarly
++ for UDP). However, we expect it holds roughly enough of the time
++ that this code works, but certainly needs to be fixed to make this
++ a more robust implementation.
++
++ ----------------------------------------------
++ | Answer 1 Status / | Synthesized | Reason |
++ | Answer 2 Status | Status | |
++ |--------------------------------------------|
++ | SUCCESS/SUCCESS | SUCCESS | [1] |
++ | SUCCESS/TRYAGAIN | TRYAGAIN | [5] |
++ | SUCCESS/TRYAGAIN' | SUCCESS | [1] |
++ | SUCCESS/NOTFOUND | SUCCESS | [1] |
++ | SUCCESS/UNAVAIL | SUCCESS | [1] |
++ | TRYAGAIN/SUCCESS | TRYAGAIN | [2] |
++ | TRYAGAIN/TRYAGAIN | TRYAGAIN | [2] |
++ | TRYAGAIN/TRYAGAIN' | TRYAGAIN | [2] |
++ | TRYAGAIN/NOTFOUND | TRYAGAIN | [2] |
++ | TRYAGAIN/UNAVAIL | TRYAGAIN | [2] |
++ | TRYAGAIN'/SUCCESS | SUCCESS | [3] |
++ | TRYAGAIN'/TRYAGAIN | TRYAGAIN | [3] |
++ | TRYAGAIN'/TRYAGAIN' | TRYAGAIN' | [3] |
++ | TRYAGAIN'/NOTFOUND | TRYAGAIN' | [3] |
++ | TRYAGAIN'/UNAVAIL | UNAVAIL | [3] |
++ | NOTFOUND/SUCCESS | SUCCESS | [3] |
++ | NOTFOUND/TRYAGAIN | TRYAGAIN | [3] |
++ | NOTFOUND/TRYAGAIN' | TRYAGAIN' | [3] |
++ | NOTFOUND/NOTFOUND | NOTFOUND | [3] |
++ | NOTFOUND/UNAVAIL | UNAVAIL | [3] |
++ | UNAVAIL/SUCCESS | UNAVAIL | [4] |
++ | UNAVAIL/TRYAGAIN | UNAVAIL | [4] |
++ | UNAVAIL/TRYAGAIN' | UNAVAIL | [4] |
++ | UNAVAIL/NOTFOUND | UNAVAIL | [4] |
++ | UNAVAIL/UNAVAIL | UNAVAIL | [4] |
++ ----------------------------------------------
++
++ [1] If the first response is a success we return success.
++ This ignores the state of the second answer and in fact
++ incorrectly sets errno and h_errno to that of the second
++ answer. However because the response is a success we ignore
++ *errnop and *h_errnop (though that means you touched errno on
++ success). We are being conservative here and returning the
++ likely IPv4 response in the first answer as a success.
++
++ [2] If the first response is a recoverable TRYAGAIN we return
++ that instead of looking at the second response. The
++ expectation here is that we have failed to get an IPv4 response
++ and should retry both queries.
++
++ [3] If the first response was not a SUCCESS and the second
++ response is not NOTFOUND (had a SUCCESS, need to TRYAGAIN,
++ or failed entirely e.g. TRYAGAIN' and UNAVAIL) then use the
++ result from the second response, otherwise the first responses
++ status is used. Again we have some odd side-effects when the
++ second response is NOTFOUND because we overwrite *errnop and
++ *h_errnop that means that a first answer of NOTFOUND might see
++ its *errnop and *h_errnop values altered. Whether it matters
++ in practice that a first response NOTFOUND has the wrong
++ *errnop and *h_errnop is undecided.
++
++ [4] If the first response is UNAVAIL we return that instead of
++ looking at the second response. The expectation here is that
++ it will have failed similarly e.g. configuration failure.
++
++ [5] Testing this code is complicated by the fact that truncated
++ second response buffers might be returned as SUCCESS if the
++ first answer is a SUCCESS. To fix this we add symmetry to
++ TRYAGAIN with the second response. If the second response
++ is a recoverable error we now return TRYAGIN even if the first
++ response was SUCCESS. */
++
+ if (anslen1 > 0)
+ status = gaih_getanswer_slice(answer1, anslen1, qname,
+ &pat, &buffer, &buflen,
+ errnop, h_errnop, ttlp,
+ &first);
++
+ if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND
+ || (status == NSS_STATUS_TRYAGAIN
+ /* We want to look at the second answer in case of an
+@@ -1242,8 +1342,15 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
+ &pat, &buffer, &buflen,
+ errnop, h_errnop, ttlp,
+ &first);
++ /* Use the second response status in some cases. */
+ if (status != NSS_STATUS_SUCCESS && status2 != NSS_STATUS_NOTFOUND)
+ status = status2;
++ /* Do not return a truncated second response (unless it was
++ unavoidable e.g. unrecoverable TRYAGAIN). */
++ if (status == NSS_STATUS_SUCCESS
++ && (status2 == NSS_STATUS_TRYAGAIN
++ && *errnop == ERANGE && *h_errnop != NO_RECOVERY))
++ status = NSS_STATUS_TRYAGAIN;
+ }
+
+ return status;
+diff --git a/resolv/res_query.c b/resolv/res_query.c
+index 4a9b3b3..95470a9 100644
+--- a/resolv/res_query.c
++++ b/resolv/res_query.c
+@@ -396,6 +396,7 @@ __libc_res_nsearch(res_state statp,
+ {
+ free (*answerp2);
+ *answerp2 = NULL;
++ *nanswerp2 = 0;
+ *answerp2_malloced = 0;
+ }
+ }
+@@ -447,6 +448,7 @@ __libc_res_nsearch(res_state statp,
+ {
+ free (*answerp2);
+ *answerp2 = NULL;
++ *nanswerp2 = 0;
+ *answerp2_malloced = 0;
+ }
+
+@@ -521,6 +523,7 @@ __libc_res_nsearch(res_state statp,
+ {
+ free (*answerp2);
+ *answerp2 = NULL;
++ *nanswerp2 = 0;
+ *answerp2_malloced = 0;
+ }
+ if (saved_herrno != -1)
+diff --git a/resolv/res_send.c b/resolv/res_send.c
+index a968b95..21843f1 100644
+--- a/resolv/res_send.c
++++ b/resolv/res_send.c
+@@ -1,3 +1,20 @@
++/* Copyright (C) 2016 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
+ /*
+ * Copyright (c) 1985, 1989, 1993
+ * The Regents of the University of California. All rights reserved.
+@@ -355,6 +372,8 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
+ #ifdef USE_HOOKS
+ if (__glibc_unlikely (statp->qhook || statp->rhook)) {
+ if (anssiz < MAXPACKET && ansp) {
++ /* Always allocate MAXPACKET, callers expect
++ this specific size. */
+ u_char *buf = malloc (MAXPACKET);
+ if (buf == NULL)
+ return (-1);
+@@ -630,6 +649,77 @@ get_nsaddr (res_state statp, int n)
+ return (struct sockaddr *) (void *) &statp->nsaddr_list[n];
+ }
+
++/* The send_vc function is responsible for sending a DNS query over TCP
++ to the nameserver numbered NS from the res_state STATP i.e.
++ EXT(statp).nssocks[ns]. The function supports sending both IPv4 and
++ IPv6 queries at the same serially on the same socket.
++
++ Please note that for TCP there is no way to disable sending both
++ queries, unlike UDP, which honours RES_SNGLKUP and RES_SNGLKUPREOP
++ and sends the queries serially and waits for the result after each
++ sent query. This implemetnation should be corrected to honour these
++ options.
++
++ Please also note that for TCP we send both queries over the same
++ socket one after another. This technically violates best practice
++ since the server is allowed to read the first query, respond, and
++ then close the socket (to service another client). If the server
++ does this, then the remaining second query in the socket data buffer
++ will cause the server to send the client an RST which will arrive
++ asynchronously and the client's OS will likely tear down the socket
++ receive buffer resulting in a potentially short read and lost
++ response data. This will force the client to retry the query again,
++ and this process may repeat until all servers and connection resets
++ are exhausted and then the query will fail. It's not known if this
++ happens with any frequency in real DNS server implementations. This
++ implementation should be corrected to use two sockets by default for
++ parallel queries.
++
++ The query stored in BUF of BUFLEN length is sent first followed by
++ the query stored in BUF2 of BUFLEN2 length. Queries are sent
++ serially on the same socket.
++
++ Answers to the query are stored firstly in *ANSP up to a max of
++ *ANSSIZP bytes. If more than *ANSSIZP bytes are needed and ANSCP
++ is non-NULL (to indicate that modifying the answer buffer is allowed)
++ then malloc is used to allocate a new response buffer and ANSCP and
++ ANSP will both point to the new buffer. If more than *ANSSIZP bytes
++ are needed but ANSCP is NULL, then as much of the response as
++ possible is read into the buffer, but the results will be truncated.
++ When truncation happens because of a small answer buffer the DNS
++ packets header feild TC will bet set to 1, indicating a truncated
++ message and the rest of the socket data will be read and discarded.
++
++ Answers to the query are stored secondly in *ANSP2 up to a max of
++ *ANSSIZP2 bytes, with the actual response length stored in
++ *RESPLEN2. If more than *ANSSIZP bytes are needed and ANSP2
++ is non-NULL (required for a second query) then malloc is used to
++ allocate a new response buffer, *ANSSIZP2 is set to the new buffer
++ size and *ANSP2_MALLOCED is set to 1.
++
++ The ANSP2_MALLOCED argument will eventually be removed as the
++ change in buffer pointer can be used to detect the buffer has
++ changed and that the caller should use free on the new buffer.
++
++ Note that the answers may arrive in any order from the server and
++ therefore the first and second answer buffers may not correspond to
++ the first and second queries.
++
++ It is not supported to call this function with a non-NULL ANSP2
++ but a NULL ANSCP. Put another way, you can call send_vc with a
++ single unmodifiable buffer or two modifiable buffers, but no other
++ combination is supported.
++
++ It is the caller's responsibility to free the malloc allocated
++ buffers by detecting that the pointers have changed from their
++ original values i.e. *ANSCP or *ANSP2 has changed.
++
++ If errors are encountered then *TERRNO is set to an appropriate
++ errno value and a zero result is returned for a recoverable error,
++ and a less-than zero result is returned for a non-recoverable error.
++
++ If no errors are encountered then *TERRNO is left unmodified and
++ a the length of the first response in bytes is returned. */
+ static int
+ send_vc(res_state statp,
+ const u_char *buf, int buflen, const u_char *buf2, int buflen2,
+@@ -639,11 +729,7 @@ send_vc(res_state statp,
+ {
+ const HEADER *hp = (HEADER *) buf;
+ const HEADER *hp2 = (HEADER *) buf2;
+- u_char *ans = *ansp;
+- int orig_anssizp = *anssizp;
+- // XXX REMOVE
+- // int anssiz = *anssizp;
+- HEADER *anhp = (HEADER *) ans;
++ HEADER *anhp = (HEADER *) *ansp;
+ struct sockaddr *nsap = get_nsaddr (statp, ns);
+ int truncating, connreset, n;
+ /* On some architectures compiler might emit a warning indicating
+@@ -731,6 +817,8 @@ send_vc(res_state statp,
+ * Receive length & response
+ */
+ int recvresp1 = 0;
++ /* Skip the second response if there is no second query.
++ To do that we mark the second response as received. */
+ int recvresp2 = buf2 == NULL;
+ uint16_t rlen16;
+ read_len:
+@@ -767,40 +855,14 @@ send_vc(res_state statp,
+ u_char **thisansp;
+ int *thisresplenp;
+ if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
++ /* We have not received any responses
++ yet or we only have one response to
++ receive. */
+ thisanssizp = anssizp;
+ thisansp = anscp ?: ansp;
+ assert (anscp != NULL || ansp2 == NULL);
+ thisresplenp = &resplen;
+ } else {
+- if (*anssizp != MAXPACKET) {
+- /* No buffer allocated for the first
+- reply. We can try to use the rest
+- of the user-provided buffer. */
+-#if __GNUC_PREREQ (4, 7)
+- DIAG_PUSH_NEEDS_COMMENT;
+- DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
+-#endif
+-#if _STRING_ARCH_unaligned
+- *anssizp2 = orig_anssizp - resplen;
+- *ansp2 = *ansp + resplen;
+-#else
+- int aligned_resplen
+- = ((resplen + __alignof__ (HEADER) - 1)
+- & ~(__alignof__ (HEADER) - 1));
+- *anssizp2 = orig_anssizp - aligned_resplen;
+- *ansp2 = *ansp + aligned_resplen;
+-#endif
+-#if __GNUC_PREREQ (4, 7)
+- DIAG_POP_NEEDS_COMMENT;
+-#endif
+- } else {
+- /* The first reply did not fit into the
+- user-provided buffer. Maybe the second
+- answer will. */
+- *anssizp2 = orig_anssizp;
+- *ansp2 = *ansp;
+- }
+-
+ thisanssizp = anssizp2;
+ thisansp = ansp2;
+ thisresplenp = resplen2;
+@@ -804,10 +870,14 @@ send_vc(res_state statp,
+ anhp = (HEADER *) *thisansp;
+
+ *thisresplenp = rlen;
+- if (rlen > *thisanssizp) {
+- /* Yes, we test ANSCP here. If we have two buffers
+- both will be allocatable. */
+- if (__glibc_likely (anscp != NULL)) {
++ /* Is the answer buffer too small? */
++ if (*thisanssizp < rlen) {
++ /* If the current buffer is not the the static
++ user-supplied buffer then we can reallocate
++ it. */
++ if (thisansp != NULL && thisansp != ansp) {
++ /* Always allocate MAXPACKET, callers expect
++ this specific size. */
+ u_char *newp = malloc (MAXPACKET);
+ if (newp == NULL) {
+ *terrno = ENOMEM;
+@@ -819,6 +889,9 @@ send_vc(res_state statp,
+ if (thisansp == ansp2)
+ *ansp2_malloced = 1;
+ anhp = (HEADER *) newp;
++ /* A uint16_t can't be larger than MAXPACKET
++ thus it's safe to allocate MAXPACKET but
++ read RLEN bytes instead. */
+ len = rlen;
+ } else {
+ Dprint(statp->options & RES_DEBUG,
+@@ -948,6 +1021,66 @@ reopen (res_state statp, int *terrno, int ns)
+ return 1;
+ }
+
++/* The send_dg function is responsible for sending a DNS query over UDP
++ to the nameserver numbered NS from the res_state STATP i.e.
++ EXT(statp).nssocks[ns]. The function supports IPv4 and IPv6 queries
++ along with the ability to send the query in parallel for both stacks
++ (default) or serially (RES_SINGLKUP). It also supports serial lookup
++ with a close and reopen of the socket used to talk to the server
++ (RES_SNGLKUPREOP) to work around broken name servers.
++
++ The query stored in BUF of BUFLEN length is sent first followed by
++ the query stored in BUF2 of BUFLEN2 length. Queries are sent
++ in parallel (default) or serially (RES_SINGLKUP or RES_SNGLKUPREOP).
++
++ Answers to the query are stored firstly in *ANSP up to a max of
++ *ANSSIZP bytes. If more than *ANSSIZP bytes are needed and ANSCP
++ is non-NULL (to indicate that modifying the answer buffer is allowed)
++ then malloc is used to allocate a new response buffer and ANSCP and
++ ANSP will both point to the new buffer. If more than *ANSSIZP bytes
++ are needed but ANSCP is NULL, then as much of the response as
++ possible is read into the buffer, but the results will be truncated.
++ When truncation happens because of a small answer buffer the DNS
++ packets header feild TC will bet set to 1, indicating a truncated
++ message, while the rest of the UDP packet is discarded.
++
++ Answers to the query are stored secondly in *ANSP2 up to a max of
++ *ANSSIZP2 bytes, with the actual response length stored in
++ *RESPLEN2. If more than *ANSSIZP bytes are needed and ANSP2
++ is non-NULL (required for a second query) then malloc is used to
++ allocate a new response buffer, *ANSSIZP2 is set to the new buffer
++ size and *ANSP2_MALLOCED is set to 1.
++
++ The ANSP2_MALLOCED argument will eventually be removed as the
++ change in buffer pointer can be used to detect the buffer has
++ changed and that the caller should use free on the new buffer.
++
++ Note that the answers may arrive in any order from the server and
++ therefore the first and second answer buffers may not correspond to
++ the first and second queries.
++
++ It is not supported to call this function with a non-NULL ANSP2
++ but a NULL ANSCP. Put another way, you can call send_vc with a
++ single unmodifiable buffer or two modifiable buffers, but no other
++ combination is supported.
++
++ It is the caller's responsibility to free the malloc allocated
++ buffers by detecting that the pointers have changed from their
++ original values i.e. *ANSCP or *ANSP2 has changed.
++
++ If an answer is truncated because of UDP datagram DNS limits then
++ *V_CIRCUIT is set to 1 and the return value non-zero to indicate to
++ the caller to retry with TCP. The value *GOTSOMEWHERE is set to 1
++ if any progress was made reading a response from the nameserver and
++ is used by the caller to distinguish between ECONNREFUSED and
++ ETIMEDOUT (the latter if *GOTSOMEWHERE is 1).
++
++ If errors are encountered then *TERRNO is set to an appropriate
++ errno value and a zero result is returned for a recoverable error,
++ and a less-than zero result is returned for a non-recoverable error.
++
++ If no errors are encountered then *TERRNO is left unmodified and
++ a the length of the first response in bytes is returned. */
+ static int
+ send_dg(res_state statp,
+ const u_char *buf, int buflen, const u_char *buf2, int buflen2,
+@@ -957,8 +1090,6 @@ send_dg(res_state statp,
+ {
+ const HEADER *hp = (HEADER *) buf;
+ const HEADER *hp2 = (HEADER *) buf2;
+- u_char *ans = *ansp;
+- int orig_anssizp = *anssizp;
+ struct timespec now, timeout, finish;
+ struct pollfd pfd[1];
+ int ptimeout;
+@@ -991,6 +1122,8 @@ send_dg(res_state statp,
+ int need_recompute = 0;
+ int nwritten = 0;
+ int recvresp1 = 0;
++ /* Skip the second response if there is no second query.
++ To do that we mark the second response as received. */
+ int recvresp2 = buf2 == NULL;
+ pfd[0].fd = EXT(statp).nssocks[ns];
+ pfd[0].events = POLLOUT;
+@@ -1154,55 +1287,56 @@ send_dg(res_state statp,
+ int *thisresplenp;
+
+ if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
++ /* We have not received any responses
++ yet or we only have one response to
++ receive. */
+ thisanssizp = anssizp;
+ thisansp = anscp ?: ansp;
+ assert (anscp != NULL || ansp2 == NULL);
+ thisresplenp = &resplen;
+ } else {
+- if (*anssizp != MAXPACKET) {
+- /* No buffer allocated for the first
+- reply. We can try to use the rest
+- of the user-provided buffer. */
+-#if _STRING_ARCH_unaligned
+- *anssizp2 = orig_anssizp - resplen;
+- *ansp2 = *ansp + resplen;
+-#else
+- int aligned_resplen
+- = ((resplen + __alignof__ (HEADER) - 1)
+- & ~(__alignof__ (HEADER) - 1));
+- *anssizp2 = orig_anssizp - aligned_resplen;
+- *ansp2 = *ansp + aligned_resplen;
+-#endif
+- } else {
+- /* The first reply did not fit into the
+- user-provided buffer. Maybe the second
+- answer will. */
+- *anssizp2 = orig_anssizp;
+- *ansp2 = *ansp;
+- }
+-
+ thisanssizp = anssizp2;
+ thisansp = ansp2;
+ thisresplenp = resplen2;
+ }
+
+ if (*thisanssizp < MAXPACKET
+- /* Yes, we test ANSCP here. If we have two buffers
+- both will be allocatable. */
+- && anscp
++ /* If the current buffer is not the the static
++ user-supplied buffer then we can reallocate
++ it. */
++ && (thisansp != NULL && thisansp != ansp)
+ #ifdef FIONREAD
++ /* Is the size too small? */
+ && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0
+ || *thisanssizp < *thisresplenp)
+ #endif
+ ) {
++ /* Always allocate MAXPACKET, callers expect
++ this specific size. */
+ u_char *newp = malloc (MAXPACKET);
+ if (newp != NULL) {
+- *anssizp = MAXPACKET;
+- *thisansp = ans = newp;
++ *thisanssizp = MAXPACKET;
++ *thisansp = newp;
+ if (thisansp == ansp2)
+ *ansp2_malloced = 1;
+ }
+ }
++ /* We could end up with truncation if anscp was NULL
++ (not allowed to change caller's buffer) and the
++ response buffer size is too small. This isn't a
++ reliable way to detect truncation because the ioctl
++ may be an inaccurate report of the UDP message size.
++ Therefore we use this only to issue debug output.
++ To do truncation accurately with UDP we need
++ MSG_TRUNC which is only available on Linux. We
++ can abstract out the Linux-specific feature in the
++ future to detect truncation. */
++ if (__glibc_unlikely (*thisanssizp < *thisresplenp)) {
++ Dprint(statp->options & RES_DEBUG,
++ (stdout, ";; response may be truncated (UDP)\n")
++ );
++ }
++
+ HEADER *anhp = (HEADER *) *thisansp;
+ socklen_t fromlen = sizeof(struct sockaddr_in6);
+ assert (sizeof(from) <= fromlen);
+
diff --git a/abs/core/glibc/glibc-2.22-roundup.patch b/abs/core/glibc/glibc-2.22-roundup.patch
new file mode 100644
index 0000000..d820315
--- /dev/null
+++ b/abs/core/glibc/glibc-2.22-roundup.patch
@@ -0,0 +1,2747 @@
+diff --git a/ChangeLog b/ChangeLog
+index cb9124e..376355f 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,300 @@
++2016-02-12 Florian Weimer <fweimer@redhat.com>
++
++ * misc/bug18240.c (do_test): Set RLIMIT_AS.
++
++2016-01-27 Paul Eggert <eggert@cs.ucla.edu>
++
++ [BZ #18240]
++ * misc/hsearch_r.c (isprime, __hcreate_r): Protect against
++ unsigned int wraparound.
++
++2016-01-27 Florian Weimer <fweimer@redhat.com>
++
++ [BZ #18240]
++ * misc/bug18240.c: New test.
++ * misc/Makefile (tests): Add it.
++
++2015-08-25 Ondřej Bílka <neleai@seznam.cz>
++
++ [BZ #18240]
++ * misc/hsearch_r.c (__hcreate_r): Handle overflow.
++
++2015-10-27 Ludovic Courtès <ludo@gnu.org>
++
++ * locale/loadlocale.c (_nl_intern_locale_data): Change assertion
++ on CNT to a conditional jump to 'puntdata'.
++
++2015-08-18 Alan Modra <amodra@gmail.com>
++
++ [BZ #18421]
++ * sysdeps/hppa/start.S [SHARED]: Use .section .data.rel.ro and define
++ .Lp__global.
++ (_start): Load %dp via .Lp__global.
++ [!SHARED]: Use .section .rodata.
++
++2015-08-09 John David Anglin <danglin@gcc.gnu.org>
++
++ [BZ #18480]
++ * sysdeps/unix/sysv/linux/hppa/sysdep.h (LOAD_ARGS_0, LOAD_ARGS_1,
++ LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4, LOAD_ARGS_5, LOAD_ARGS_6):
++ Define.
++ (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4,
++ LOAD_REGS_5, LOAD_REGS_6): Update.
++ (INTERNAL_SYSCALL): Update using new LOAD defines.
++ (INTERNAL_SYSCALL_NCS): Likewise.
++ * sysdeps/unix/sysv/linux/hppa/syscall.c (syscall): Likewise.
++
++2015-09-26 Paul Pluzhnikov <ppluzhnikov@google.com>
++
++ [BZ #18985]
++ * time/strftime_l.c (a_wkday, f_wkday, a_month, f_month): Range check.
++ (__strftime_internal): Likewise.
++ * time/tst-strftime.c (do_bz18985): New test.
++ (do_test): Call it.
++
++2015-08-08 Paul Pluzhnikov <ppluzhnikov@google.com>
++
++ [BZ #17905]
++ * catgets/Makefile (tst-catgets-mem): New test.
++ * catgets/catgets.c (catopen): Don't use unbounded alloca.
++ * catgets/open_catalog.c (__open_catalog): Likewise.
++ * catgets/tst-catgets.c (do_bz17905): Test unbounded alloca.
++
++2015-12-31 Aurelien Jarno <aurelien@aurel32.net>
++
++ * sysdeps/unix/sysv/linux/alpha/libc.abilist [GLIBC_2.22]: Move
++ to keep the file sorted.
++ * sysdeps/unix/sysv/linux/hppa/libc.abilist [GLIBC_2.22]: Likewise.
++
++2015-12-17 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
++
++ [BZ #19174]
++ * sysdeps/powerpc/nptl/elide.h (__elide_lock): Fix usage of
++ .skip_lock_out_of_tbegin_retries.
++ * sysdeps/unix/sysv/linux/powerpc/elision-lock.c
++ (__lll_lock_elision): Likewise, and respect a value of
++ try_tbegin <= 0.
++
++2015-11-20 Roland McGrath <roland@hack.frob.com>
++
++ * sysdeps/nacl/dl-map-segments.h (_dl_map_segments): Use
++ __glibc_likely instead of __builtin_expect. After falling back to
++ dyncode_create in a non-ET_DYN case, use the allocate_code_data
++ system interface to register the code pages as occupied.
++
++2015-11-14 H.J. Lu <hongjiu.lu@intel.com>
++
++ * config.make.in (have-glob-dat-reloc): New.
++ * configure.ac (libc_cv_has_glob_dat): New. Set to yes if
++ target supports GLOB_DAT relocaton. AC_SUBST.
++ * configure: Regenerated.
++ * elf/Makefile (tests): Add tst-prelink.
++ (tests-special): Add $(objpfx)tst-prelink-cmp.out.
++ (tst-prelink-ENV): New.
++ ($(objpfx)tst-prelink-conflict.out): Likewise.
++ ($(objpfx)tst-prelink-cmp.out): Likewise.
++ * sysdeps/x86/tst-prelink.c: Moved to ...
++ * elf/tst-prelink.c: Here.
++ * sysdeps/x86/tst-prelink.exp: Moved to ...
++ * elf/tst-prelink.exp: Here.
++ * sysdeps/x86/Makefile (tests): Don't add tst-prelink.
++ (tst-prelink-ENV): Removed.
++ ($(objpfx)tst-prelink-conflict.out): Likewise.
++ ($(objpfx)tst-prelink-cmp.out): Likewise.
++ (tests-special): Don't add $(objpfx)tst-prelink-cmp.out.
++
++2015-11-10 Roland McGrath <roland@hack.frob.com>
++
++ * elf/dl-load.c (open_verify): Take new argument FD.
++ Skip __open call if passed FD is not -1.
++ (_dl_map_object, open_path): Update callers.
++ * elf/dl-sysdep-open.h: New file.
++ * elf/dl-load.c: Include it.
++ (_dl_map_object): Try _dl_sysdep_open_object before ldconfig cache.
++ * sysdeps/nacl/dl-sysdep.c (_dl_sysdep_open_object): New function.
++ * sysdeps/nacl/dl-sysdep-open.h: New file.
++ * sysdeps/nacl/nacl-interface-list.h: Move nacl_irt_resource_open
++ from libc to rtld.
++
++2015-11-10 H.J. Lu <hongjiu.lu@intel.com>
++
++ [BZ #19178]
++ * sysdeps/x86/Makefile (tests): Add tst-prelink.
++ (tst-prelink-ENV): New.
++ ($(objpfx)tst-prelink-conflict.out): Likewise.
++ ($(objpfx)tst-prelink-cmp.out): Likewise.
++ (tests-special): Add $(objpfx)tst-prelink-cmp.out.
++ * sysdeps/x86/tst-prelink.c: New file.
++ * sysdeps/x86/tst-prelink.exp: Likewise.
++
++2015-11-07 H.J. Lu <hongjiu.lu@intel.com>
++
++ [BZ #19178]
++ * elf/dl-lookup.c (RTYPE_CLASS_VALID): New.
++ (RTYPE_CLASS_PLT): Likewise.
++ (RTYPE_CLASS_COPY): Likewise.
++ (RTYPE_CLASS_TLS): Likewise.
++ (_dl_debug_bindings): Use RTYPE_CLASS_TLS and RTYPE_CLASS_VALID
++ to set relocation type class for DL_DEBUG_PRELINK. Keep only
++ ELF_RTYPE_CLASS_PLT and ELF_RTYPE_CLASS_COPY bits for
++ DL_DEBUG_PRELINK.
++
++2015-10-20 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
++
++ [BZ #18743]
++ * sysdeps/powerpc/nptl/elide.h (__elide_lock): Move most of this
++ code to...
++ (ELIDE_LOCK): ...here.
++ (__get_new_count): New function with part of the code from
++ __elide_lock that updates the value of adapt_count after a
++ transaction abort.
++ (__elided_trylock): Moved this code to...
++ (ELIDE_TRYLOCK): ...here.
++
++2015-10-06 Florian Weimer <fweimer@redhat.com>
++
++ [BZ #19018]
++ * stdlib/cxa_thread_atexit_impl.c (__cxa_thread_atexit_impl):
++ Mangle function pointer before storing it.
++ (__call_tls_dtors): Demangle function pointer before calling it.
++
++2015-10-15 Florian Weimer <fweimer@redhat.com>
++
++ [BZ #18928]
++ * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove
++ _dl_pointer_guard member.
++ * elf/rtld.c (_rtld_global_ro): Remove _dl_pointer_guard
++ initializer.
++ (security_init): Always set up pointer guard.
++ (process_envvars): Do not process LD_POINTER_GUARD.
++
++2015-10-09 Carlos O'Donell <carlos@redhat.com>
++
++ [BZ #18589]
++ * string/bug-strcoll2.c: Adjust copyright, and remove contributed by.
++ * string/Makefile ($(objpfx)bug-strcoll2.out): Depend on
++ $(gen-locales).
++
++2015-10-08 Carlos O'Donell <carlos@redhat.com>
++
++ [BZ #18589]
++ * string/Makefile (tests): Add bug-strcoll2.
++ (LOCALES): Add cs_CZ.UTF-8.
++
++2015-09-28 Martin Sebor <msebor@redhat.com>
++
++ [BZ #18969]
++ * string/Makefile (LOCALES): Define.
++ (gen-locales.mk): Include.
++ (test-strcasecmp.out, test-strncasecmp.out, tst-strxfrm.out)
++ (tst-strxfrm2.out): Add deppendency on $(gen-locales).
++ * string/tst-strxfrm2.c (do_test): Print the name of the locale
++ on setlocale failure.
++
++2015-10-08 Carlos O'Donell <carlos@redhat.com>
++
++ [BZ #18589]
++ * string/bug-strcoll2.c: New file.
++ * locale/categories.def: Revert commit
++ f13c2a8dff2329c6692a80176262ceaaf8a6f74e.
++ * locale/langinfo.h: Likewise.
++ * locale/localeinfo.h: Likewise.
++ * locale/C-collate.c: Likewise.
++ * programs/ld-collate.c (collate_output): Likewise.
++ * string/strcoll_l.c (STRDIFF): Likewise.
++ (STRCOLL): Likewise.
++ * wcsmbs/wcscoll_l.c: Likewise.
++
++2015-09-15 Roland McGrath <roland@hack.frob.com>
++
++ * misc/sys/param.h [!MAXHOSTNAMELEN && HOST_NAME_MAX]
++ (MAXHOSTNAMELEN): Define it to HOST_NAME_MAX.
++
++2015-09-11 Roland McGrath <roland@hack.frob.com>
++
++ * sysdeps/nacl/Makefile [$(subdir) = misc] (sysdep_headers):
++ Use 'override' keyword to freeze the value here, preventing
++ the addition of sys/mtio.h by sysdeps/gnu/Makefile.
++
++2015-09-04 Roland McGrath <roland@hack.frob.com>
++
++ [BZ #18921]
++ * sysdeps/posix/opendir.c (need_isdir_precheck) [O_DIRECTORY]:
++ Fix inverted sense of test of 'o_directory_works' value.
++ Reported by Pádraig Brady <P@draigBrady.com>, diagnosed by
++ Bernhard Voelker <mail@bernhard-voelker.de>.
++
++2015-08-31 Brett Neumeier <brett@neumeier.us>
++
++ [BZ #18870]
++ * sysdeps/sparc/sparc32/sem_open.c: Add missing #include
++
++2015-08-28 Mike Frysinger <vapier@gentoo.org>
++
++ [BZ #18887]
++ * misc/Makefile (tests): Add tst-mntent-blank-corrupt and
++ tst-mntent-blank-passno.
++ * misc/mntent_r.c (__getmntent_r): Do not read past buffer[0].
++ * misc/tst-mntent-blank-corrupt.c: New test.
++ * misc/tst-mntent-blank-passno.c: New test ripped from ...
++ * misc/tst-mntent.c (do_test): ... here.
++
++2015-08-25 Roland McGrath <roland@hack.frob.com>
++
++ * sysdeps/nacl/start.c (_start): Call __nacl_main instead of main
++ if the weak reference is not null.
++
++2015-08-19 Andrew Senkevich <andrew.senkevich@intel.com>
++
++ [BZ #18796]
++ * scripts/test-installation.pl: Don't add -lmvec to build options
++ if libmvec wasn't built.
++ * NEWS: Mention this fix.
++
++2015-08-10 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
++
++ [BZ #18778]
++ * elf/Makefile (tests): Add Add tst-nodelete2.
++ (modules-names): Add tst-nodelete2mod.
++ (tst-nodelete2mod.so-no-z-defs): New.
++ ($(objpfx)tst-nodelete2): Likewise.
++ ($(objpfx)tst-nodelete2.out): Likewise.
++ (LDFLAGS-tst-nodelete2): Likewise.
++ * elf/dl-close.c (_dl_close_worker): Move DF_1_NODELETE clearing
++ out of loop through all loaded libraries.
++ * elf/tst-nodelete2.c: New file.
++ * elf/tst-nodelete2mod.c: Likewise.
++
++2015-08-10 Andreas Schwab <schwab@suse.de>
++
++ [BZ #18781]
++ * sysdeps/unix/sysv/linux/openat.c (__OPENAT) [MORE_OFLAGS]: Add
++ MORE_OFLAGS to oflag.
++ * io/test-lfs.c (do_test): Test openat64.
++
++2015-08-08 John David Anglin <danglin@gcc.gnu.org>
++
++ [BZ #18787]
++ * sysdeps/unix/sysv/linux/hppa/bits/atomic.h (_LWS_CLOBBER): Revise
++ clobber registers.
++ (atomic_compare_and_exchange_val_acq): Use register asms to assign
++ operand registers. Use register %r20 for EAGAIN and EDEADLOCK checks.
++ Cast return to __typeof (oldval).
++
++2015-08-08 Mike Frysinger <vapier@gentoo.org>
++
++ * sysdeps/unix/sysv/linux/microblaze/sysdep.h: Wrap the whole file
++ in _LINUX_MICROBLAZE_SYSDEP_H defines. Include sysdeps/unix/sysdep.h
++ and delete sys/syscall.h include.
++
++2015-08-07 Mike Frysinger <vapier@gentoo.org>
++
++ * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Add rtld_hidden_def.
++
++2015-08-05 Zack Weinberg <zackw@panix.com>
++
++ * misc/regexp.h: Update comments.
++
+ 2015-08-05 Carlos O'Donell <carlos@systemhalted.org>
+
+ * version.h (RELEASE): Set to "stable".
+diff --git a/NEWS b/NEWS
+index 4c31de7..7c4fbc6 100644
+--- a/NEWS
++++ b/NEWS
+@@ -5,6 +5,16 @@ See the end for copying conditions.
+ Please send GNU C library bug reports via <http://sourceware.org/bugzilla/>
+ using `glibc' in the "product" field.
+
++Version 2.22.1
++
++* The following bugs are resolved with this release:
++
++ 17905, 18420, 18421, 18480, 18589, 18743, 18778, 18781, 18787, 18796,
++ 18870, 18887, 18921, 18928, 18969, 18985, 19018, 19174, 19178.
++
++* The LD_POINTER_GUARD environment variable can no longer be used to
++ disable the pointer guard feature. It is always enabled.
++
+ Version 2.22
+
+ * The following bugs are resolved with this release:
+@@ -84,7 +94,7 @@ Version 2.22
+ release. Use of this header will trigger a deprecation warning.
+ Application developers should update their code to use <regex.h> instead.
+
+- This header was formerly part of SUSv2, but was deprecated in 1997 and
++ This header was formerly part of SUS, but was deprecated in 1994 and
+ removed from the standard in 2001. Also, the glibc implementation
+ leaks memory. See BZ#18681 for more details.
+
+diff --git a/catgets/Makefile b/catgets/Makefile
+index 4624a88..56de38b 100644
+--- a/catgets/Makefile
++++ b/catgets/Makefile
+@@ -34,6 +34,7 @@ test-srcs = test-gencat
+ ifeq ($(run-built-tests),yes)
+ tests-special += $(objpfx)de/libc.cat $(objpfx)test1.cat $(objpfx)test2.cat \
+ $(objpfx)sample.SJIS.cat $(objpfx)test-gencat.out
++tests-special += $(objpfx)tst-catgets-mem.out
+ endif
+
+ gencat-modules = xmalloc
+@@ -50,9 +51,11 @@ catgets-CPPFLAGS := -DNLSPATH='"$(msgcatdir)/%L/%N:$(msgcatdir)/%L/LC_MESSAGES/%
+
+ generated += de.msg test1.cat test1.h test2.cat test2.h sample.SJIS.cat \
+ test-gencat.h
++generated += tst-catgets.mtrace tst-catgets-mem.out
++
+ generated-dirs += de
+
+-tst-catgets-ENV = NLSPATH="$(objpfx)%l/%N.cat" LANG=de
++tst-catgets-ENV = NLSPATH="$(objpfx)%l/%N.cat" LANG=de MALLOC_TRACE=$(objpfx)tst-catgets.mtrace
+
+ ifeq ($(run-built-tests),yes)
+ # This test just checks whether the program produces any error or not.
+@@ -86,4 +89,8 @@ $(objpfx)test-gencat.out: test-gencat.sh $(objpfx)test-gencat \
+ $(objpfx)sample.SJIS.cat: sample.SJIS $(objpfx)gencat
+ $(built-program-cmd) -H $(objpfx)test-gencat.h < $(word 1,$^) > $@; \
+ $(evaluate-test)
++
++$(objpfx)tst-catgets-mem.out: $(objpfx)tst-catgets.out
++ $(common-objpfx)malloc/mtrace $(objpfx)tst-catgets.mtrace > $@; \
++ $(evaluate-test)
+ endif
+diff --git a/catgets/catgets.c b/catgets/catgets.c
+index cf93d56..4be452d 100644
+--- a/catgets/catgets.c
++++ b/catgets/catgets.c
+@@ -16,7 +16,6 @@
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+-#include <alloca.h>
+ #include <errno.h>
+ #include <locale.h>
+ #include <nl_types.h>
+@@ -35,6 +34,7 @@ catopen (const char *cat_name, int flag)
+ __nl_catd result;
+ const char *env_var = NULL;
+ const char *nlspath = NULL;
++ char *tmp = NULL;
+
+ if (strchr (cat_name, '/') == NULL)
+ {
+@@ -54,7 +54,10 @@ catopen (const char *cat_name, int flag)
+ {
+ /* Append the system dependent directory. */
+ size_t len = strlen (nlspath) + 1 + sizeof NLSPATH;
+- char *tmp = alloca (len);
++ tmp = malloc (len);
++
++ if (__glibc_unlikely (tmp == NULL))
++ return (nl_catd) -1;
+
+ __stpcpy (__stpcpy (__stpcpy (tmp, nlspath), ":"), NLSPATH);
+ nlspath = tmp;
+@@ -65,16 +68,18 @@ catopen (const char *cat_name, int flag)
+
+ result = (__nl_catd) malloc (sizeof (*result));
+ if (result == NULL)
+- /* We cannot get enough memory. */
+- return (nl_catd) -1;
+-
+- if (__open_catalog (cat_name, nlspath, env_var, result) != 0)
++ {
++ /* We cannot get enough memory. */
++ result = (nl_catd) -1;
++ }
++ else if (__open_catalog (cat_name, nlspath, env_var, result) != 0)
+ {
+ /* Couldn't open the file. */
+ free ((void *) result);
+- return (nl_catd) -1;
++ result = (nl_catd) -1;
+ }
+
++ free (tmp);
+ return (nl_catd) result;
+ }
+
+diff --git a/catgets/open_catalog.c b/catgets/open_catalog.c
+index e069416..9f4d776 100644
+--- a/catgets/open_catalog.c
++++ b/catgets/open_catalog.c
+@@ -47,6 +47,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
+ size_t tab_size;
+ const char *lastp;
+ int result = -1;
++ char *buf = NULL;
+
+ if (strchr (cat_name, '/') != NULL || nlspath == NULL)
+ fd = open_not_cancel_2 (cat_name, O_RDONLY);
+@@ -57,23 +58,23 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
+ if (__glibc_unlikely (bufact + (n) >= bufmax)) \
+ { \
+ char *old_buf = buf; \
+- bufmax += 256 + (n); \
+- buf = (char *) alloca (bufmax); \
+- memcpy (buf, old_buf, bufact); \
++ bufmax += (bufmax < 256 + (n)) ? 256 + (n) : bufmax; \
++ buf = realloc (buf, bufmax); \
++ if (__glibc_unlikely (buf == NULL)) \
++ { \
++ free (old_buf); \
++ return -1; \
++ } \
+ }
+
+ /* The RUN_NLSPATH variable contains a colon separated list of
+ descriptions where we expect to find catalogs. We have to
+ recognize certain % substitutions and stop when we found the
+ first existing file. */
+- char *buf;
+ size_t bufact;
+- size_t bufmax;
++ size_t bufmax = 0;
+ size_t len;
+
+- buf = NULL;
+- bufmax = 0;
+-
+ fd = -1;
+ while (*run_nlspath != '\0')
+ {
+@@ -188,7 +189,10 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
+
+ /* Avoid dealing with directories and block devices */
+ if (__builtin_expect (fd, 0) < 0)
+- return -1;
++ {
++ free (buf);
++ return -1;
++ }
+
+ if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) < 0)
+ goto close_unlock_return;
+@@ -325,6 +329,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
+ /* Release the lock again. */
+ close_unlock_return:
+ close_not_cancel_no_status (fd);
++ free (buf);
+
+ return result;
+ }
+diff --git a/catgets/tst-catgets.c b/catgets/tst-catgets.c
+index a0a4089..0886938 100644
+--- a/catgets/tst-catgets.c
++++ b/catgets/tst-catgets.c
+@@ -1,7 +1,10 @@
++#include <assert.h>
+ #include <mcheck.h>
+ #include <nl_types.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
++#include <sys/resource.h>
+
+
+ static const char *msgs[] =
+@@ -12,6 +15,33 @@ static const char *msgs[] =
+ };
+ #define nmsgs (sizeof (msgs) / sizeof (msgs[0]))
+
++
++/* Test for unbounded alloca. */
++static int
++do_bz17905 (void)
++{
++ char *buf;
++ struct rlimit rl;
++ nl_catd result;
++
++ const int sz = 1024 * 1024;
++
++ getrlimit (RLIMIT_STACK, &rl);
++ rl.rlim_cur = sz;
++ setrlimit (RLIMIT_STACK, &rl);
++
++ buf = malloc (sz + 1);
++ memset (buf, 'A', sz);
++ buf[sz] = '\0';
++ setenv ("NLSPATH", buf, 1);
++
++ result = catopen (buf, NL_CAT_LOCALE);
++ assert (result == (nl_catd) -1);
++
++ free (buf);
++ return 0;
++}
++
+ #define ROUNDS 5
+
+ static int
+@@ -62,6 +92,7 @@ do_test (void)
+ }
+ }
+
++ result += do_bz17905 ();
+ return result;
+ }
+
+diff --git a/config.make.in b/config.make.in
+index a9f5696..46cd9bb 100644
+--- a/config.make.in
++++ b/config.make.in
+@@ -51,6 +51,7 @@ have-z-combreloc = @libc_cv_z_combreloc@
+ have-z-execstack = @libc_cv_z_execstack@
+ have-Bgroup = @libc_cv_Bgroup@
+ have-protected-data = @libc_cv_protected_data@
++have-glob-dat-reloc = @libc_cv_has_glob_dat@
+ with-fp = @with_fp@
+ old-glibc-headers = @old_glibc_headers@
+ unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
+diff --git a/configure b/configure
+index 45cc7cb..4f87b31 100755
+--- a/configure
++++ b/configure
+@@ -628,6 +628,7 @@ gnu89_inline
+ libc_cv_ssp
+ fno_unit_at_a_time
+ libc_cv_output_format
++libc_cv_has_glob_dat
+ libc_cv_hashstyle
+ libc_cv_fpie
+ libc_cv_z_execstack
+@@ -6335,6 +6336,39 @@ $as_echo "$libc_cv_use_default_link" >&6; }
+ use_default_link=$libc_cv_use_default_link
+ fi
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5
++$as_echo_n "checking for GLOB_DAT reloc... " >&6; }
++if ${libc_cv_has_glob_dat+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat > conftest.c <<EOF
++extern int mumble;
++int foo (void) { return mumble; }
++EOF
++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
++ -fPIC -shared -o conftest.so conftest.c
++ -nostdlib -nostartfiles
++ 1>&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; }
++then
++ if $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then
++ libc_cv_has_glob_dat=yes
++ else
++ libc_cv_has_glob_dat=no
++ fi
++else
++ libc_cv_has_glob_dat=no
++fi
++rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_has_glob_dat" >&5
++$as_echo "$libc_cv_has_glob_dat" >&6; }
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5
+ $as_echo_n "checking linker output format... " >&6; }
+ if ${libc_cv_output_format+:} false; then :
+diff --git a/configure.ac b/configure.ac
+index 7e9383a..8be612d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1535,6 +1535,29 @@ $ac_try"
+ use_default_link=$libc_cv_use_default_link
+ fi
+
++AC_CACHE_CHECK(for GLOB_DAT reloc,
++ libc_cv_has_glob_dat, [dnl
++cat > conftest.c <<EOF
++extern int mumble;
++int foo (void) { return mumble; }
++EOF
++if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
++ -fPIC -shared -o conftest.so conftest.c
++ -nostdlib -nostartfiles
++ 1>&AS_MESSAGE_LOG_FD])
++then
++dnl look for GLOB_DAT relocation.
++ if $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then
++ libc_cv_has_glob_dat=yes
++ else
++ libc_cv_has_glob_dat=no
++ fi
++else
++ libc_cv_has_glob_dat=no
++fi
++rm -f conftest*])
++AC_SUBST(libc_cv_has_glob_dat)
++
+ AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl
+ if libc_cv_output_format=`
+ ${CC-cc} -nostartfiles -nostdlib -Wl,--print-output-format 2>&AS_MESSAGE_LOG_FD`
+diff --git a/elf/Makefile b/elf/Makefile
+index 4ceeaf8..a2c43bc 100644
+--- a/elf/Makefile
++++ b/elf/Makefile
+@@ -148,7 +148,8 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
+ tst-unique1 tst-unique2 $(if $(CXX),tst-unique3 tst-unique4 \
+ tst-nodelete) \
+ tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \
+- tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened
++ tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \
++ tst-nodelete2
+ # reldep9
+ ifeq ($(build-hardcoded-path-in-tests),yes)
+ tests += tst-dlopen-aout
+@@ -218,7 +219,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
+ tst-initorder2d \
+ tst-relsort1mod1 tst-relsort1mod2 tst-array2dep \
+ tst-array5dep tst-null-argv-lib \
+- tst-tlsalign-lib tst-nodelete-opened-lib
++ tst-tlsalign-lib tst-nodelete-opened-lib tst-nodelete2mod
+ ifeq (yes,$(have-protected-data))
+ modules-names += tst-protected1moda tst-protected1modb
+ tests += tst-protected1a tst-protected1b
+@@ -292,6 +293,13 @@ check-abi: $(objpfx)check-abi-ld.out
+ tests-special += $(objpfx)check-abi-ld.out
+ update-abi: update-abi-ld
+
++ifeq ($(have-glob-dat-reloc),yes)
++tests += tst-prelink
++ifeq ($(run-built-tests),yes)
++tests-special += $(objpfx)tst-prelink-cmp.out
++endif
++endif
++
+ include ../Rules
+
+ ifeq (yes,$(build-shared))
+@@ -594,6 +602,7 @@ tst-auditmod9b.so-no-z-defs = yes
+ tst-nodelete-uniquemod.so-no-z-defs = yes
+ tst-nodelete-rtldmod.so-no-z-defs = yes
+ tst-nodelete-zmod.so-no-z-defs = yes
++tst-nodelete2mod.so-no-z-defs = yes
+
+ ifeq ($(build-shared),yes)
+ # Build all the modules even when not actually running test programs.
+@@ -1164,6 +1173,11 @@ $(objpfx)tst-nodelete.out: $(objpfx)tst-nodelete-uniquemod.so \
+ LDFLAGS-tst-nodelete = -rdynamic
+ LDFLAGS-tst-nodelete-zmod.so = -Wl,--enable-new-dtags,-z,nodelete
+
++$(objpfx)tst-nodelete2: $(libdl)
++$(objpfx)tst-nodelete2.out: $(objpfx)tst-nodelete2mod.so
++
++LDFLAGS-tst-nodelete2 = -rdynamic
++
+ $(objpfx)tst-initorder-cmp.out: tst-initorder.exp $(objpfx)tst-initorder.out
+ cmp $^ > $@; \
+ $(evaluate-test)
+@@ -1205,3 +1219,13 @@ $(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
+ $(objpfx)tst-unused-dep-cmp.out: $(objpfx)tst-unused-dep.out
+ cmp $< /dev/null > $@; \
+ $(evaluate-test)
++
++tst-prelink-ENV = LD_TRACE_PRELINKING=1
++
++$(objpfx)tst-prelink-conflict.out: $(objpfx)tst-prelink.out
++ grep stdout $< | grep conflict | $(AWK) '{ print $$10, $$11 }' > $@
++
++$(objpfx)tst-prelink-cmp.out: tst-prelink.exp \
++ $(objpfx)tst-prelink-conflict.out
++ cmp $^ > $@; \
++ $(evaluate-test)
+diff --git a/elf/dl-close.c b/elf/dl-close.c
+index 9105277..c897247 100644
+--- a/elf/dl-close.c
++++ b/elf/dl-close.c
+@@ -144,6 +144,14 @@ _dl_close_worker (struct link_map *map, bool force)
+ char done[nloaded];
+ struct link_map *maps[nloaded];
+
++ /* Clear DF_1_NODELETE to force object deletion. We don't need to touch
++ l_tls_dtor_count because forced object deletion only happens when an
++ error occurs during object load. Destructor registration for TLS
++ non-POD objects should not have happened till then for this
++ object. */
++ if (force)
++ map->l_flags_1 &= ~DF_1_NODELETE;
++
+ /* Run over the list and assign indexes to the link maps and enter
+ them into the MAPS array. */
+ int idx = 0;
+@@ -153,13 +161,6 @@ _dl_close_worker (struct link_map *map, bool force)
+ maps[idx] = l;
+ ++idx;
+
+- /* Clear DF_1_NODELETE to force object deletion. We don't need to touch
+- l_tls_dtor_count because forced object deletion only happens when an
+- error occurs during object load. Destructor registration for TLS
+- non-POD objects should not have happened till then for this
+- object. */
+- if (force)
+- l->l_flags_1 &= ~DF_1_NODELETE;
+ }
+ assert (idx == nloaded);
+
+diff --git a/elf/dl-load.c b/elf/dl-load.c
+index 0c052e4..7e6f4c5 100644
+--- a/elf/dl-load.c
++++ b/elf/dl-load.c
+@@ -42,6 +42,7 @@
+ #include <dl-map-segments.h>
+ #include <dl-unmap-segments.h>
+ #include <dl-machine-reject-phdr.h>
++#include <dl-sysdep-open.h>
+
+
+ #include <endian.h>
+@@ -1471,9 +1472,13 @@ print_search_path (struct r_search_path_elem **list,
+ ignore only ELF files for other architectures. Non-ELF files and
+ ELF files with different header information cause fatal errors since
+ this could mean there is something wrong in the installation and the
+- user might want to know about this. */
++ user might want to know about this.
++
++ If FD is not -1, then the file is already open and FD refers to it.
++ In that case, FD is consumed for both successful and error returns. */
+ static int
+-open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
++open_verify (const char *name, int fd,
++ struct filebuf *fbp, struct link_map *loader,
+ int whatcode, int mode, bool *found_other_class, bool free_name)
+ {
+ /* This is the expected ELF header. */
+@@ -1514,6 +1519,7 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
+ if (__glibc_unlikely (GLRO(dl_naudit) > 0) && whatcode != 0
+ && loader->l_auditing == 0)
+ {
++ const char *original_name = name;
+ struct audit_ifaces *afct = GLRO(dl_audit);
+ for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt)
+ {
+@@ -1528,11 +1534,21 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
+
+ afct = afct->next;
+ }
++
++ if (fd != -1 && name != original_name && strcmp (name, original_name))
++ {
++ /* An audit library changed what we're supposed to open,
++ so FD no longer matches it. */
++ __close (fd);
++ fd = -1;
++ }
+ }
+ #endif
+
+- /* Open the file. We always open files read-only. */
+- int fd = __open (name, O_RDONLY | O_CLOEXEC);
++ if (fd == -1)
++ /* Open the file. We always open files read-only. */
++ fd = __open (name, O_RDONLY | O_CLOEXEC);
++
+ if (fd != -1)
+ {
+ ElfW(Ehdr) *ehdr;
+@@ -1801,7 +1817,7 @@ open_path (const char *name, size_t namelen, int mode,
+ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
+ _dl_debug_printf (" trying file=%s\n", buf);
+
+- fd = open_verify (buf, fbp, loader, whatcode, mode,
++ fd = open_verify (buf, -1, fbp, loader, whatcode, mode,
+ found_other_class, false);
+ if (this_dir->status[cnt] == unknown)
+ {
+@@ -2041,6 +2057,20 @@ _dl_map_object (struct link_map *loader, const char *name,
+ &loader->l_runpath_dirs, &realname, &fb, loader,
+ LA_SER_RUNPATH, &found_other_class);
+
++ if (fd == -1)
++ {
++ realname = _dl_sysdep_open_object (name, namelen, &fd);
++ if (realname != NULL)
++ {
++ fd = open_verify (realname, fd,
++ &fb, loader ?: GL(dl_ns)[nsid]._ns_loaded,
++ LA_SER_CONFIG, mode, &found_other_class,
++ false);
++ if (fd == -1)
++ free (realname);
++ }
++ }
++
+ #ifdef USE_LDCONFIG
+ if (fd == -1
+ && (__glibc_likely ((mode & __RTLD_SECURE) == 0)
+@@ -2086,7 +2116,7 @@ _dl_map_object (struct link_map *loader, const char *name,
+
+ if (cached != NULL)
+ {
+- fd = open_verify (cached,
++ fd = open_verify (cached, -1,
+ &fb, loader ?: GL(dl_ns)[nsid]._ns_loaded,
+ LA_SER_CONFIG, mode, &found_other_class,
+ false);
+@@ -2121,7 +2151,7 @@ _dl_map_object (struct link_map *loader, const char *name,
+ fd = -1;
+ else
+ {
+- fd = open_verify (realname, &fb,
++ fd = open_verify (realname, -1, &fb,
+ loader ?: GL(dl_ns)[nsid]._ns_loaded, 0, mode,
+ &found_other_class, true);
+ if (__glibc_unlikely (fd == -1))
+diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
+index 11cb44b..acf5280 100644
+--- a/elf/dl-lookup.c
++++ b/elf/dl-lookup.c
+@@ -1016,6 +1016,18 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map,
+ #ifdef SHARED
+ if (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)
+ {
++/* ELF_RTYPE_CLASS_XXX must match RTYPE_CLASS_XXX used by prelink with
++ LD_TRACE_PRELINKING. */
++#define RTYPE_CLASS_VALID 8
++#define RTYPE_CLASS_PLT (8|1)
++#define RTYPE_CLASS_COPY (8|2)
++#define RTYPE_CLASS_TLS (8|4)
++#if ELF_RTYPE_CLASS_PLT != 0 && ELF_RTYPE_CLASS_PLT != 1
++# error ELF_RTYPE_CLASS_PLT must be 0 or 1!
++#endif
++#if ELF_RTYPE_CLASS_COPY != 0 && ELF_RTYPE_CLASS_COPY != 2
++# error ELF_RTYPE_CLASS_COPY must be 0 or 2!
++#endif
+ int conflict = 0;
+ struct sym_val val = { NULL, NULL };
+
+@@ -1071,12 +1083,17 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map,
+
+ if (value->s)
+ {
++ /* Keep only ELF_RTYPE_CLASS_PLT and ELF_RTYPE_CLASS_COPY
++ bits since since prelink only uses them. */
++ type_class &= ELF_RTYPE_CLASS_PLT | ELF_RTYPE_CLASS_COPY;
+ if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info)
+ == STT_TLS))
+- type_class = 4;
++ /* Clear the RTYPE_CLASS_VALID bit in RTYPE_CLASS_TLS. */
++ type_class = RTYPE_CLASS_TLS & ~RTYPE_CLASS_VALID;
+ else if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info)
+ == STT_GNU_IFUNC))
+- type_class |= 8;
++ /* Set the RTYPE_CLASS_VALID bit. */
++ type_class |= RTYPE_CLASS_VALID;
+ }
+
+ if (conflict
+diff --git a/elf/dl-sysdep-open.h b/elf/dl-sysdep-open.h
+new file mode 100644
+index 0000000..a63d9f5
+--- /dev/null
++++ b/elf/dl-sysdep-open.h
+@@ -0,0 +1,45 @@
++/* System-specific call to open a shared object by name. Stub version.
++ Copyright (C) 2015 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#ifndef _DL_SYSDEP_OPEN_H
++#define _DL_SYSDEP_OPEN_H 1
++
++#include <assert.h>
++#include <stddef.h>
++
++/* NAME is a name without slashes, as it appears in a DT_NEEDED entry
++ or a dlopen call's argument or suchlike. NAMELEN is (strlen (NAME) + 1).
++
++ Find NAME in an OS-dependent fashion, and return its "real" name.
++ Optionally fill in *FD with a file descriptor open on that file (or
++ else leave its initial value of -1). The return value is a new
++ malloc'd string, which will be free'd by the caller. If NAME is
++ resolved to an actual file that can be opened, then the return
++ value should name that file (and if *FD was not set, then a normal
++ __open call on that string will be made). If *FD was set by some
++ other means than a normal open and there is no "real" name to use,
++ then __strdup (NAME) is fine (modulo error checking). */
++
++static inline char *
++_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
++{
++ assert (*fd == -1);
++ return NULL;
++}
++
++#endif /* dl-sysdep-open.h */
+diff --git a/elf/rtld.c b/elf/rtld.c
+index 69873c2..07e741c 100644
+--- a/elf/rtld.c
++++ b/elf/rtld.c
+@@ -162,7 +162,6 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
+ ._dl_hwcap_mask = HWCAP_IMPORTANT,
+ ._dl_lazy = 1,
+ ._dl_fpu_control = _FPU_DEFAULT,
+- ._dl_pointer_guard = 1,
+ ._dl_pagesize = EXEC_PAGESIZE,
+ ._dl_inhibit_cache = 0,
+
+@@ -709,15 +708,12 @@ security_init (void)
+ #endif
+
+ /* Set up the pointer guard as well, if necessary. */
+- if (GLRO(dl_pointer_guard))
+- {
+- uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random,
+- stack_chk_guard);
++ uintptr_t pointer_chk_guard
++ = _dl_setup_pointer_guard (_dl_random, stack_chk_guard);
+ #ifdef THREAD_SET_POINTER_GUARD
+- THREAD_SET_POINTER_GUARD (pointer_chk_guard);
++ THREAD_SET_POINTER_GUARD (pointer_chk_guard);
+ #endif
+- __pointer_chk_guard_local = pointer_chk_guard;
+- }
++ __pointer_chk_guard_local = pointer_chk_guard;
+
+ /* We do not need the _dl_random value anymore. The less
+ information we leave behind, the better, so clear the
+@@ -2471,9 +2467,6 @@ process_envvars (enum mode *modep)
+ GLRO(dl_use_load_bias) = envline[14] == '1' ? -1 : 0;
+ break;
+ }
+-
+- if (memcmp (envline, "POINTER_GUARD", 13) == 0)
+- GLRO(dl_pointer_guard) = envline[14] != '0';
+ break;
+
+ case 14:
+diff --git a/elf/tst-nodelete2.c b/elf/tst-nodelete2.c
+new file mode 100644
+index 0000000..388e8af
+--- /dev/null
++++ b/elf/tst-nodelete2.c
+@@ -0,0 +1,37 @@
++#include "../dlfcn/dlfcn.h"
++#include <stdio.h>
++#include <stdlib.h>
++#include <gnu/lib-names.h>
++
++static int
++do_test (void)
++{
++ int result = 0;
++
++ printf ("\nOpening pthread library.\n");
++ void *pthread = dlopen (LIBPTHREAD_SO, RTLD_LAZY);
++
++ /* This is a test for correct DF_1_NODELETE clearing when dlopen failure
++ happens. We should clear DF_1_NODELETE for failed library only, because
++ doing this for others (e.g. libpthread) might cause them to be unloaded,
++ that may lead to some global references (e.g. __rtld_lock_unlock) to be
++ broken. The dlopen should fail because of undefined symbols in shared
++ library, that cause DF_1_NODELETE to be cleared. For libpthread, this
++ flag should be set, because if not, SIGSEGV will happen in dlclose. */
++ if (dlopen ("tst-nodelete2mod.so", RTLD_NOW) != NULL)
++ {
++ printf ("Unique symbols test failed\n");
++ result = 1;
++ }
++
++ if (pthread)
++ dlclose (pthread);
++
++ if (result == 0)
++ printf ("SUCCESS\n");
++
++ return result;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/elf/tst-nodelete2mod.c b/elf/tst-nodelete2mod.c
+new file mode 100644
+index 0000000..e88c756
+--- /dev/null
++++ b/elf/tst-nodelete2mod.c
+@@ -0,0 +1,7 @@
++/* Undefined symbol. */
++extern int not_exist (void);
++
++int foo (void)
++{
++ return not_exist ();
++}
+diff --git a/elf/tst-prelink.c b/elf/tst-prelink.c
+new file mode 100644
+index 0000000..ab61c4e
+--- /dev/null
++++ b/elf/tst-prelink.c
+@@ -0,0 +1,30 @@
++/* Test the output from the environment variable, LD_TRACE_PRELINKING,
++ for prelink.
++ Copyright (C) 2015 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <stdio.h>
++
++static int
++do_test (void)
++{
++ fprintf (stdout, "hello\n");
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/elf/tst-prelink.exp b/elf/tst-prelink.exp
+new file mode 100644
+index 0000000..b35b4c9
+--- /dev/null
++++ b/elf/tst-prelink.exp
+@@ -0,0 +1 @@
++/0 stdout
+diff --git a/elf/tst-znodelete-zlib.cc b/elf/tst-znodelete-zlib.cc
+deleted file mode 100644
+index 1e8f368..0000000
+--- a/elf/tst-znodelete-zlib.cc
++++ /dev/null
+@@ -1,6 +0,0 @@
+-extern int not_exist (void);
+-
+-int foo (void)
+-{
+- return not_exist ();
+-}
+diff --git a/io/test-lfs.c b/io/test-lfs.c
+index 539c2a2..b6ebae4 100644
+--- a/io/test-lfs.c
++++ b/io/test-lfs.c
+@@ -144,7 +144,7 @@ test_ftello (void)
+ int
+ do_test (int argc, char *argv[])
+ {
+- int ret;
++ int ret, fd2;
+ struct stat64 statbuf;
+
+ ret = lseek64 (fd, TWO_GB+100, SEEK_SET);
+@@ -195,6 +195,25 @@ do_test (int argc, char *argv[])
+ error (EXIT_FAILURE, 0, "stat reported size %lld instead of %lld.",
+ (long long int) statbuf.st_size, (TWO_GB + 100 + 5));
+
++ fd2 = openat64 (AT_FDCWD, name, O_RDWR);
++ if (fd2 == -1)
++ {
++ if (errno == ENOSYS)
++ {
++ /* Silently ignore this test. */
++ error (0, 0, "openat64 is not supported");
++ }
++ else
++ error (EXIT_FAILURE, errno, "openat64 failed to open big file");
++ }
++ else
++ {
++ ret = close (fd2);
++
++ if (ret == -1)
++ error (EXIT_FAILURE, errno, "error closing file");
++ }
++
+ test_ftello ();
+
+ return 0;
+diff --git a/locale/C-collate.c b/locale/C-collate.c
+index d7f3c55..06dfdfa 100644
+--- a/locale/C-collate.c
++++ b/locale/C-collate.c
+@@ -144,8 +144,6 @@ const struct __locale_data _nl_C_LC_COLLATE attribute_hidden =
+ /* _NL_COLLATE_COLLSEQWC */
+ { .string = (const char *) collseqwc },
+ /* _NL_COLLATE_CODESET */
+- { .string = _nl_C_codeset },
+- /* _NL_COLLATE_ENCODING_TYPE */
+- { .word = __cet_8bit }
++ { .string = _nl_C_codeset }
+ }
+ };
+diff --git a/locale/categories.def b/locale/categories.def
+index 045489d..a8dda53 100644
+--- a/locale/categories.def
++++ b/locale/categories.def
+@@ -58,7 +58,6 @@ DEFINE_CATEGORY
+ DEFINE_ELEMENT (_NL_COLLATE_COLLSEQMB, "collate-collseqmb", std, wstring)
+ DEFINE_ELEMENT (_NL_COLLATE_COLLSEQWC, "collate-collseqwc", std, wstring)
+ DEFINE_ELEMENT (_NL_COLLATE_CODESET, "collate-codeset", std, string)
+- DEFINE_ELEMENT (_NL_COLLATE_ENCODING_TYPE, "collate-encoding-type", std, word)
+ ), NO_POSTLOAD)
+
+
+diff --git a/locale/langinfo.h b/locale/langinfo.h
+index ffc5c7f..a565d9d 100644
+--- a/locale/langinfo.h
++++ b/locale/langinfo.h
+@@ -255,7 +255,6 @@ enum
+ _NL_COLLATE_COLLSEQMB,
+ _NL_COLLATE_COLLSEQWC,
+ _NL_COLLATE_CODESET,
+- _NL_COLLATE_ENCODING_TYPE,
+ _NL_NUM_LC_COLLATE,
+
+ /* LC_CTYPE category: character classification.
+diff --git a/locale/loadlocale.c b/locale/loadlocale.c
+index fdba6e9..dcbb833 100644
+--- a/locale/loadlocale.c
++++ b/locale/loadlocale.c
+@@ -121,9 +121,10 @@ _nl_intern_locale_data (int category, const void *data, size_t datasize)
+ switch (category)
+ {
+ #define CATTEST(cat) \
+- case LC_##cat: \
+- assert (cnt < (sizeof (_nl_value_type_LC_##cat) \
+- / sizeof (_nl_value_type_LC_##cat[0]))); \
++ case LC_##cat: \
++ if (cnt >= (sizeof (_nl_value_type_LC_##cat) \
++ / sizeof (_nl_value_type_LC_##cat[0]))) \
++ goto puntdata; \
+ break
+ CATTEST (NUMERIC);
+ CATTEST (TIME);
+diff --git a/locale/localeinfo.h b/locale/localeinfo.h
+index bdab9fe..1d2ee00 100644
+--- a/locale/localeinfo.h
++++ b/locale/localeinfo.h
+@@ -110,14 +110,6 @@ enum coll_sort_rule
+ sort_mask
+ };
+
+-/* Collation encoding type. */
+-enum collation_encoding_type
+-{
+- __cet_other,
+- __cet_8bit,
+- __cet_utf8
+-};
+-
+ /* We can map the types of the entries into a few categories. */
+ enum value_type
+ {
+diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
+index a39a94f..dc0fe30 100644
+--- a/locale/programs/ld-collate.c
++++ b/locale/programs/ld-collate.c
+@@ -32,7 +32,6 @@
+ #include "linereader.h"
+ #include "locfile.h"
+ #include "elem-hash.h"
+-#include "../localeinfo.h"
+
+ /* Uncomment the following line in the production version. */
+ /* #define NDEBUG 1 */
+@@ -2131,8 +2130,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
+ /* The words have to be handled specially. */
+ if (idx == _NL_ITEM_INDEX (_NL_COLLATE_SYMB_HASH_SIZEMB))
+ add_locale_uint32 (&file, 0);
+- else if (idx == _NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE))
+- add_locale_uint32 (&file, __cet_other);
+ else
+ add_locale_empty (&file);
+ }
+@@ -2496,12 +2493,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
+ add_locale_raw_data (&file, collate->mbseqorder, 256);
+ add_locale_collseq_table (&file, &collate->wcseqorder);
+ add_locale_string (&file, charmap->code_set_name);
+- if (strcmp (charmap->code_set_name, "UTF-8") == 0)
+- add_locale_uint32 (&file, __cet_utf8);
+- else if (charmap->mb_cur_max == 1)
+- add_locale_uint32 (&file, __cet_8bit);
+- else
+- add_locale_uint32 (&file, __cet_other);
+ write_locale_data (output_path, LC_COLLATE, "LC_COLLATE", &file);
+
+ obstack_free (&weightpool, NULL);
+diff --git a/misc/Makefile b/misc/Makefile
+index aecb0da..12055ce 100644
+--- a/misc/Makefile
++++ b/misc/Makefile
+@@ -76,7 +76,8 @@ install-lib := libg.a
+ gpl2lgpl := error.c error.h
+
+ tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
+- tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1
++ tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1 \
++ tst-mntent-blank-corrupt tst-mntent-blank-passno bug18240
+ ifeq ($(run-built-tests),yes)
+ tests-special += $(objpfx)tst-error1-mem.out
+ endif
+diff --git a/misc/bug18240.c b/misc/bug18240.c
+new file mode 100644
+index 0000000..773586e
+--- /dev/null
++++ b/misc/bug18240.c
+@@ -0,0 +1,97 @@
++/* Test integer wraparound in hcreate.
++ Copyright (C) 2016 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <errno.h>
++#include <limits.h>
++#include <search.h>
++#include <stdbool.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <sys/resource.h>
++
++static void
++test_size (size_t size)
++{
++ int res = hcreate (size);
++ if (res == 0)
++ {
++ if (errno == ENOMEM)
++ return;
++ printf ("error: hcreate (%zu): %m\n", size);
++ exit (1);
++ }
++ char *keys[100];
++ for (int i = 0; i < 100; ++i)
++ {
++ if (asprintf (keys + i, "%d", i) < 0)
++ {
++ printf ("error: asprintf: %m\n");
++ exit (1);
++ }
++ ENTRY e = { keys[i], (char *) "value" };
++ if (hsearch (e, ENTER) == NULL)
++ {
++ printf ("error: hsearch (\"%s\"): %m\n", keys[i]);
++ exit (1);
++ }
++ }
++ hdestroy ();
++
++ for (int i = 0; i < 100; ++i)
++ free (keys[i]);
++}
++
++static int
++do_test (void)
++{
++ /* Limit the size of the process, so that memory allocation will
++ fail without impacting the entire system. */
++ {
++ struct rlimit limit;
++ if (getrlimit (RLIMIT_AS, &limit) != 0)
++ {
++ printf ("getrlimit (RLIMIT_AS) failed: %m\n");
++ return 1;
++ }
++ long target = 100 * 1024 * 1024;
++ if (limit.rlim_cur == RLIM_INFINITY || limit.rlim_cur > target)
++ {
++ limit.rlim_cur = target;
++ if (setrlimit (RLIMIT_AS, &limit) != 0)
++ {
++ printf ("setrlimit (RLIMIT_AS) failed: %m\n");
++ return 1;
++ }
++ }
++ }
++
++ test_size (500);
++ test_size (-1);
++ test_size (-3);
++ test_size (INT_MAX - 2);
++ test_size (INT_MAX - 1);
++ test_size (INT_MAX);
++ test_size (((unsigned) INT_MAX) + 1);
++ test_size (UINT_MAX - 2);
++ test_size (UINT_MAX - 1);
++ test_size (UINT_MAX);
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/misc/hsearch_r.c b/misc/hsearch_r.c
+index 9f55e84..661f0f6 100644
+--- a/misc/hsearch_r.c
++++ b/misc/hsearch_r.c
+@@ -19,7 +19,7 @@
+ #include <errno.h>
+ #include <malloc.h>
+ #include <string.h>
+-
++#include <stdint.h>
+ #include <search.h>
+
+ /* [Aho,Sethi,Ullman] Compilers: Principles, Techniques and Tools, 1986
+@@ -46,15 +46,12 @@ static int
+ isprime (unsigned int number)
+ {
+ /* no even number will be passed */
+- unsigned int div = 3;
+-
+- while (div * div < number && number % div != 0)
+- div += 2;
+-
+- return number % div != 0;
++ for (unsigned int div = 3; div <= number / div; div += 2)
++ if (number % div == 0)
++ return 0;
++ return 1;
+ }
+
+-
+ /* Before using the hash table we must allocate memory for it.
+ Test for an existing table are done. We allocate one element
+ more as the found prime number says. This is done for more effective
+@@ -81,10 +78,19 @@ __hcreate_r (nel, htab)
+ use will not work. */
+ if (nel < 3)
+ nel = 3;
+- /* Change nel to the first prime number not smaller as nel. */
+- nel |= 1; /* make odd */
+- while (!isprime (nel))
+- nel += 2;
++
++ /* Change nel to the first prime number in the range [nel, UINT_MAX - 2],
++ The '- 2' means 'nel += 2' cannot overflow. */
++ for (nel |= 1; ; nel += 2)
++ {
++ if (UINT_MAX - 2 < nel)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++ if (isprime (nel))
++ break;
++ }
+
+ htab->size = nel;
+ htab->filled = 0;
+diff --git a/misc/mntent_r.c b/misc/mntent_r.c
+index 6159873..4f26998 100644
+--- a/misc/mntent_r.c
++++ b/misc/mntent_r.c
+@@ -136,7 +136,9 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
+ end_ptr = strchr (buffer, '\n');
+ if (end_ptr != NULL) /* chop newline */
+ {
+- while (end_ptr[-1] == ' ' || end_ptr[-1] == '\t')
++ /* Do not walk past the start of buffer if it's all whitespace. */
++ while (end_ptr != buffer
++ && (end_ptr[-1] == ' ' || end_ptr[-1] == '\t'))
+ end_ptr--;
+ *end_ptr = '\0';
+ }
+diff --git a/misc/regexp.h b/misc/regexp.h
+index 3460989..42394f7 100644
+--- a/misc/regexp.h
++++ b/misc/regexp.h
+@@ -19,10 +19,11 @@
+ #ifndef _REGEXP_H
+ #define _REGEXP_H 1
+
+-/* The contents of this header file were standardized in the
+- Single Unix Specification, Version 2 (1997) but marked as
+- LEGACY; new applications were already being encouraged to
+- use <regex.h> instead. POSIX.1-2001 removed this header.
++/* The contents of this header file were originally standardized in
++ the Single Unix Specification, Issue 3 (1992). In Issue 4 (1994)
++ the header was marked as TO BE WITHDRAWN, and new applications
++ were encouraged to use <regex.h> instead. It was officially
++ withdrawn from the standard in Issue 6 (aka POSIX.1-2001).
+
+ This header is provided only for backward compatibility.
+ It will be removed in the next release of the GNU C Library.
+diff --git a/misc/sys/param.h b/misc/sys/param.h
+index 62b7ed2..1908b93 100644
+--- a/misc/sys/param.h
++++ b/misc/sys/param.h
+@@ -50,6 +50,9 @@
+ #if !defined NOFILE && defined OPEN_MAX
+ # define NOFILE OPEN_MAX
+ #endif
++#if !defined MAXHOSTNAMELEN && defined HOST_NAME_MAX
++# define MAXHOSTNAMELEN HOST_NAME_MAX
++#endif
+ #ifndef NCARGS
+ # ifdef ARG_MAX
+ # define NCARGS ARG_MAX
+diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c
+new file mode 100644
+index 0000000..92266a3
+--- /dev/null
++++ b/misc/tst-mntent-blank-corrupt.c
+@@ -0,0 +1,45 @@
++/* Make sure blank lines does not cause memory corruption BZ #18887.
++
++ Copyright (C) 2009-2015 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <mntent.h>
++#include <stdio.h>
++#include <string.h>
++
++/* Make sure blank lines don't trigger memory corruption. This doesn't happen
++ for all targets though, so it's a best effort test BZ #18887. */
++static int
++do_test (void)
++{
++ FILE *fp;
++
++ fp = tmpfile ();
++ fputs ("\n \n/foo\\040dir /bar\\040dir auto bind \t \n", fp);
++ rewind (fp);
++
++ /* The corruption happens here ... */
++ getmntent (fp);
++ /* ... but trigers here. */
++ endmntent (fp);
++
++ /* If the test failed, we would crash, and not hit this point. */
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/misc/tst-mntent-blank-passno.c b/misc/tst-mntent-blank-passno.c
+new file mode 100644
+index 0000000..fc04291
+--- /dev/null
++++ b/misc/tst-mntent-blank-passno.c
+@@ -0,0 +1,53 @@
++/* Make sure trailing whitespace is handled properly BZ #17273.
++
++ Copyright (C) 2009-2015 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <mntent.h>
++#include <stdio.h>
++#include <string.h>
++
++/* Check entries to make sure trailing whitespace is ignored and we return the
++ correct passno value BZ #17273. */
++static int
++do_test (void)
++{
++ int result = 0;
++ FILE *fp;
++ struct mntent *mnt;
++
++ fp = tmpfile ();
++ fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
++ rewind (fp);
++
++ mnt = getmntent (fp);
++ if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
++ || strcmp (mnt->mnt_dir, "/bar dir") != 0
++ || strcmp (mnt->mnt_type, "auto") != 0
++ || strcmp (mnt->mnt_opts, "bind") != 0
++ || mnt->mnt_freq != 0
++ || mnt->mnt_passno != 0)
++ {
++ puts ("Error while reading entry with trailing whitespaces");
++ result = 1;
++ }
++
++ return result;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/misc/tst-mntent.c b/misc/tst-mntent.c
+index 876c89f..820b354 100644
+--- a/misc/tst-mntent.c
++++ b/misc/tst-mntent.c
+@@ -73,26 +73,6 @@ main (int argc, char *argv[])
+ puts ("Error while reading written entry back in");
+ result = 1;
+ }
+-
+- /* Part III: Entry with whitespaces at the end of a line. */
+- rewind (fp);
+-
+- fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
+-
+- rewind (fp);
+-
+- mnt = getmntent (fp);
+-
+- if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
+- || strcmp (mnt->mnt_dir, "/bar dir") != 0
+- || strcmp (mnt->mnt_type, "auto") != 0
+- || strcmp (mnt->mnt_opts, "bind") != 0
+- || mnt->mnt_freq != 0
+- || mnt->mnt_passno != 0)
+- {
+- puts ("Error while reading entry with trailing whitespaces");
+- result = 1;
+- }
+ }
+
+ return result;
+diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl
+index cac1562..79b2b3e 100755
+--- a/scripts/test-installation.pl
++++ b/scripts/test-installation.pl
+@@ -80,16 +80,25 @@ arglist: while (@ARGV) {
+ # We expect none or one argument.
+ if ($#ARGV == -1) {
+ $soversions="soversions.mk";
++ $config="config.make";
+ } elsif ($#ARGV == 0) {
+ if (-d $ARGV[0]) {
+ $soversions = "$ARGV[0]/soversions.mk";
++ $config = "$ARGV[0]/config.make";
+ } else {
+- $soversions = $ARGV[0];
++ $soversions = $dir = $ARGV[0];
++ $dir =~ s!/?[^/]*/*$!!;
++ $config = $dir . "/config.make";
+ }
+ } else {
+ die "Wrong number of arguments.";
+ }
+
++if (system ("grep -q \"build-mathvec = yes\" $config") == 0) {
++ $build_mathvec = 1;
++} else {
++ $build_mathvec = 0;
++}
+
+ # Read names and versions of all shared libraries that are part of
+ # glibc
+@@ -111,6 +120,8 @@ while (<SOVERSIONS>) {
+ # - libthread_db since it contains unresolved references
+ # - it's just a test NSS module
+ # - We don't provide the libgcc so we don't test it
++ # - libmvec if it wasn't built
++ next if ($build_mathvec == 0 && $name eq "mvec");
+ if ($name ne "nss_ldap" && $name ne "db1"
+ && !($name =~/^nss1_/) && $name ne "thread_db"
+ && $name ne "nss_test1" && $name ne "libgcc_s") {
+diff --git a/stdlib/cxa_thread_atexit_impl.c b/stdlib/cxa_thread_atexit_impl.c
+index 2d5d56a..5717f09 100644
+--- a/stdlib/cxa_thread_atexit_impl.c
++++ b/stdlib/cxa_thread_atexit_impl.c
+@@ -98,6 +98,10 @@ static __thread struct link_map *lm_cache;
+ int
+ __cxa_thread_atexit_impl (dtor_func func, void *obj, void *dso_symbol)
+ {
++#ifdef PTR_MANGLE
++ PTR_MANGLE (func);
++#endif
++
+ /* Prepend. */
+ struct dtor_list *new = calloc (1, sizeof (struct dtor_list));
+ new->func = func;
+@@ -142,9 +146,13 @@ __call_tls_dtors (void)
+ while (tls_dtor_list)
+ {
+ struct dtor_list *cur = tls_dtor_list;
++ dtor_func func = cur->func;
++#ifdef PTR_DEMANGLE
++ PTR_DEMANGLE (func);
++#endif
+
+ tls_dtor_list = tls_dtor_list->next;
+- cur->func (cur->obj);
++ func (cur->obj);
+
+ /* Ensure that the MAP dereference happens before
+ l_tls_dtor_count decrement. That way, we protect this access from a
+diff --git a/string/Makefile b/string/Makefile
+index 8424a61..ebe9354 100644
+--- a/string/Makefile
++++ b/string/Makefile
+@@ -54,7 +54,7 @@ tests := tester inl-tester noinl-tester testcopy test-ffs \
+ tst-strtok tst-strxfrm bug-strcoll1 tst-strfry \
+ bug-strtok1 $(addprefix test-,$(strop-tests)) \
+ bug-envz1 tst-strxfrm2 tst-endian tst-svc2 \
+- tst-strtok_r
++ tst-strtok_r bug-strcoll2
+
+ xtests = tst-strcoll-overflow
+
+@@ -75,4 +75,17 @@ ifeq ($(run-built-tests),yes)
+ $(objpfx)tst-svc-cmp.out: tst-svc.expect $(objpfx)tst-svc.out
+ cmp $^ > $@; \
+ $(evaluate-test)
++
++LOCALES := de_DE.UTF-8 en_US.ISO-8859-1 en_US.UTF-8 \
++ tr_TR.ISO-8859-9 tr_TR.UTF-8 cs_CZ.UTF-8 \
++ da_DK.ISO-8859-1
++include ../gen-locales.mk
++
++$(objpfx)test-strcasecmp.out: $(gen-locales)
++$(objpfx)test-strncasecmp.out: $(gen-locales)
++$(objpfx)tst-strxfrm.out: $(gen-locales)
++$(objpfx)tst-strxfrm2.out: $(gen-locales)
++# bug-strcoll2 needs cs_CZ.UTF-8 and da_DK.ISO-8859-1.
++$(objpfx)bug-strcoll2.out: $(gen-locales)
++
+ endif
+diff --git a/string/bug-strcoll2.c b/string/bug-strcoll2.c
+new file mode 100644
+index 0000000..72a9ff2
+--- /dev/null
++++ b/string/bug-strcoll2.c
+@@ -0,0 +1,92 @@
++/* Bug 18589: sort-test.sh fails at random.
++ Copyright (C) 2015 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <stdio.h>
++#include <string.h>
++#include <locale.h>
++
++/* An incorrect strcoll optimization resulted in incorrect
++ results from strcoll for cs_CZ and da_DK. */
++
++int
++test_cs_CZ (void)
++{
++ const char t1[] = "config";
++ const char t2[] = "choose";
++ if (setlocale (LC_ALL, "cs_CZ.UTF-8") == NULL)
++ {
++ perror ("setlocale");
++ return 1;
++ }
++ /* In Czech the digraph ch sorts after c, therefore we expect
++ config to sort before choose. */
++ int a = strcoll (t1, t2);
++ int b = strcoll (t2, t1);
++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a);
++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b);
++ if (a < 0 && b > 0)
++ {
++ puts ("PASS: config < choose");
++ return 0;
++ }
++ else
++ {
++ puts ("FAIL: Wrong sorting in cs_CZ.UTF-8.");
++ return 1;
++ }
++}
++
++int
++test_da_DK (void)
++{
++ const char t1[] = "AS";
++ const char t2[] = "AA";
++ if (setlocale (LC_ALL, "da_DK.ISO-8859-1") == NULL)
++ {
++ perror ("setlocale");
++ return 1;
++ }
++ /* AA should be treated as the last letter of the Danish alphabet,
++ hence sorting after AS. */
++ int a = strcoll (t1, t2);
++ int b = strcoll (t2, t1);
++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a);
++ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b);
++ if (a < 0 && b > 0)
++ {
++ puts ("PASS: AS < AA");
++ return 0;
++ }
++ else
++ {
++ puts ("FAIL: Wrong sorting in da_DK.ISO-8859-1");
++ return 1;
++ }
++}
++
++static int
++do_test (void)
++{
++ int err = 0;
++ err |= test_cs_CZ ();
++ err |= test_da_DK ();
++ return err;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/string/strcoll_l.c b/string/strcoll_l.c
+index 8f1225f..35bc0e4 100644
+--- a/string/strcoll_l.c
++++ b/string/strcoll_l.c
+@@ -29,7 +29,6 @@
+ # define STRING_TYPE char
+ # define USTRING_TYPE unsigned char
+ # define STRCOLL __strcoll_l
+-# define STRDIFF __strdiff
+ # define STRCMP strcmp
+ # define WEIGHT_H "../locale/weight.h"
+ # define SUFFIX MB
+@@ -42,20 +41,6 @@
+ #include "../locale/localeinfo.h"
+ #include WEIGHT_H
+
+-#define MASK_UTF8_7BIT (1 << 7)
+-#define MASK_UTF8_START (3 << 6)
+-
+-size_t
+-STRDIFF (const STRING_TYPE *s, const STRING_TYPE *t)
+-{
+- size_t n;
+-
+- for (n = 0; *s != '\0' && *s++ == *t++; ++n)
+- continue;
+-
+- return n;
+-}
+-
+ /* Track status while looking for sequences in a string. */
+ typedef struct
+ {
+@@ -269,29 +254,9 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l)
+ const USTRING_TYPE *extra;
+ const int32_t *indirect;
+
+- /* In case there is no locale specific sort order (C / POSIX). */
+ if (nrules == 0)
+ return STRCMP (s1, s2);
+
+- /* Fast forward to the position of the first difference. Needs to be
+- encoding aware as the byte-by-byte comparison can stop in the middle
+- of a char sequence for multibyte encodings like UTF-8. */
+- uint_fast32_t encoding =
+- current->values[_NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE)].word;
+- if (encoding != __cet_other)
+- {
+- size_t diff = STRDIFF (s1, s2);
+- if (diff > 0)
+- {
+- if (encoding == __cet_utf8 && (*(s1 + diff) & MASK_UTF8_7BIT) != 0)
+- do
+- diff--;
+- while (diff > 0 && (*(s1 + diff) & MASK_UTF8_START) != MASK_UTF8_START);
+- s1 += diff;
+- s2 += diff;
+- }
+- }
+-
+ /* Catch empty strings. */
+ if (__glibc_unlikely (*s1 == '\0') || __glibc_unlikely (*s2 == '\0'))
+ return (*s1 != '\0') - (*s2 != '\0');
+@@ -358,8 +323,7 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l)
+ byte-level comparison to ensure that we don't waste time
+ going through multiple passes for totally equal strings
+ before proceeding to subsequent passes. */
+- if (pass == 0 && encoding == __cet_other &&
+- STRCMP (s1, s2) == 0)
++ if (pass == 0 && STRCMP (s1, s2) == 0)
+ return result;
+ else
+ break;
+diff --git a/string/tst-strxfrm2.c b/string/tst-strxfrm2.c
+index d5a1115..bea5aa2 100644
+--- a/string/tst-strxfrm2.c
++++ b/string/tst-strxfrm2.c
+@@ -5,6 +5,8 @@
+ static int
+ do_test (void)
+ {
++ static const char test_locale[] = "de_DE.UTF-8";
++
+ int res = 0;
+
+ char buf[20];
+@@ -38,9 +40,9 @@ do_test (void)
+ res = 1;
+ }
+
+- if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL)
++ if (setlocale (LC_ALL, test_locale) == NULL)
+ {
+- puts ("setlocale failed");
++ printf ("cannot set locale \"%s\"\n", test_locale);
+ res = 1;
+ }
+ else
+diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
+index 7a0fe8d..78e3a97 100644
+--- a/sysdeps/generic/ldsodefs.h
++++ b/sysdeps/generic/ldsodefs.h
+@@ -592,9 +592,6 @@ struct rtld_global_ro
+ /* List of auditing interfaces. */
+ struct audit_ifaces *_dl_audit;
+ unsigned int _dl_naudit;
+-
+- /* 0 if internal pointer values should not be guarded, 1 if they should. */
+- EXTERN int _dl_pointer_guard;
+ };
+ # define __rtld_global_attribute__
+ # if IS_IN (rtld)
+diff --git a/sysdeps/hppa/dl-symaddr.c b/sysdeps/hppa/dl-symaddr.c
+index b707c19..89d8baf 100644
+--- a/sysdeps/hppa/dl-symaddr.c
++++ b/sysdeps/hppa/dl-symaddr.c
+@@ -33,3 +33,4 @@ _dl_symbol_address (struct link_map *map, const ElfW(Sym) *ref)
+ else
+ return (void *) value;
+ }
++rtld_hidden_def (_dl_symbol_address)
+diff --git a/sysdeps/hppa/start.S b/sysdeps/hppa/start.S
+index 64d8c3e..cc4f243 100644
+--- a/sysdeps/hppa/start.S
++++ b/sysdeps/hppa/start.S
+@@ -42,7 +42,11 @@
+ /* Have the linker create plabel words so we get PLABEL32
+ relocs and not 21/14. The use of 21/14 relocs is only
+ supported in the latest dynamic linker. */
+- .section .rodata
++#ifdef SHARED
++ .section .data.rel.ro,"aw",@progbits
++#else
++ .section .rodata,"a",@progbits
++#endif
+ .align 4
+ .Lpmain:
+ .word P%main
+@@ -52,6 +56,10 @@
+ .word P%__libc_csu_fini
+ .Lp__libc_csu_init:
+ .word P%__libc_csu_init
++#ifdef SHARED
++.Lp__global:
++ .word $global$
++#endif
+
+ .text
+ .align 4
+@@ -122,10 +130,14 @@ _start:
+ /* void *stack_end (7th argument) */
+ stw %sp, -60(%sp)
+
++#ifdef SHARED
++ addil LT'.Lp__global, %r19
++ ldw RT'.Lp__global(%r1), %dp
++#else
+ /* load global */
+ ldil L%$global$, %dp
+ ldo R%$global$(%dp), %dp
+-
++#endif
+ bl __libc_start_main,%r2
+ nop
+ /* die horribly if it returned (it shouldn't) */
+diff --git a/sysdeps/nacl/Makefile b/sysdeps/nacl/Makefile
+index 6749a44..1748886 100644
+--- a/sysdeps/nacl/Makefile
++++ b/sysdeps/nacl/Makefile
+@@ -132,4 +132,13 @@ ifeq ($(subdir),misc)
+ # sysdeps/.../linux/ directories, but it's still a sysdeps decision to
+ # install it.
+ sysdep_headers += bits/mman-linux.h
++
++# This defeats sysdeps/gnu/Makefile's addition of sys/mtio.h, which
++# we do not want. This is a total kludge, but it seems no worse for
++# now than making the sysdeps/gnu/Makefile code conditional on a
++# variable we set here. If some sysdeps/.../Makefile that is later
++# in the list than sysdeps/gnu needed to add to sysdep_headers, this
++# would break it. But sysdeps/gnu is close to last in the list and
++# this coming up seems unlikely.
++override sysdep_headers := $(sysdep_headers)
+ endif
+diff --git a/sysdeps/nacl/dl-map-segments.h b/sysdeps/nacl/dl-map-segments.h
+index f305da3..f2d5d84 100644
+--- a/sysdeps/nacl/dl-map-segments.h
++++ b/sysdeps/nacl/dl-map-segments.h
+@@ -53,7 +53,7 @@ _dl_map_segments (struct link_map *l, int fd,
+ const size_t maplength, bool has_holes,
+ struct link_map *loader)
+ {
+- if (__builtin_expect (type, ET_DYN) == ET_DYN)
++ if (__glibc_likely (type == ET_DYN))
+ {
+ /* This is a position-independent shared object. Let the system
+ choose where to place it.
+@@ -165,6 +165,32 @@ _dl_map_segments (struct link_map *l, int fd,
+ errno = error;
+ return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
+ }
++ if (__glibc_unlikely (type != ET_DYN))
++ {
++ /* A successful PROT_EXEC mmap would have implicitly
++ updated the bookkeeping so that a future
++ allocate_code_data call would know that this range
++ of the address space is already occupied. That
++ doesn't happen implicitly with dyncode_create, so
++ it's necessary to do an explicit call to update the
++ bookkeeping. */
++ uintptr_t allocated_address;
++ error = __nacl_irt_code_data_alloc.allocate_code_data
++ (l->l_addr + c->mapstart, len, 0, 0, &allocated_address);
++ if (__glibc_unlikely (error))
++ {
++ errno = error;
++ return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
++ }
++ if (__glibc_unlikely
++ (allocated_address != l->l_addr + c->mapstart))
++ {
++ /* This is not a very helpful error for this case,
++ but there isn't really anything better to use. */
++ errno = ENOMEM;
++ return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
++ }
++ }
+ }
+ else
+ {
+diff --git a/sysdeps/nacl/dl-sysdep-open.h b/sysdeps/nacl/dl-sysdep-open.h
+new file mode 100644
+index 0000000..38b0f9e
+--- /dev/null
++++ b/sysdeps/nacl/dl-sysdep-open.h
+@@ -0,0 +1,40 @@
++/* System-specific call to open a shared object by name. NaCl version.
++ Copyright (C) 2015 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#ifndef _DL_SYSDEP_OPEN_H
++#define _DL_SYSDEP_OPEN_H 1
++
++#include <stddef.h>
++
++/* NAME is a name without slashes, as it appears in a DT_NEEDED entry
++ or a dlopen call's argument or suchlike. NAMELEN is (strlen (NAME) + 1).
++
++ Find NAME in an OS-dependent fashion, and return its "real" name.
++ Optionally fill in *FD with a file descriptor open on that file (or
++ else leave its initial value of -1). The return value is a new
++ malloc'd string, which will be free'd by the caller. If NAME is
++ resolved to an actual file that can be opened, then the return
++ value should name that file (and if *FD was not set, then a normal
++ __open call on that string will be made). If *FD was set by some
++ other means than a normal open and there is no "real" name to use,
++ then __strdup (NAME) is fine (modulo error checking). */
++
++extern char *_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
++ internal_function attribute_hidden;
++
++#endif /* dl-sysdep-open.h */
+diff --git a/sysdeps/nacl/dl-sysdep.c b/sysdeps/nacl/dl-sysdep.c
+index 3e902c2..3a04aa1 100644
+--- a/sysdeps/nacl/dl-sysdep.c
++++ b/sysdeps/nacl/dl-sysdep.c
+@@ -87,3 +87,26 @@ _dl_start_user (void (*user_entry) (uint32_t info[]), uint32_t info[])
+ #endif /* SHARED */
+
+ #include <elf/dl-sysdep.c>
++
++#include <dl-sysdep-open.h>
++#include <nacl-interfaces.h>
++#include <assert.h>
++#include <string.h>
++#include <unistd.h>
++
++char *
++internal_function
++_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
++{
++ int error = __nacl_irt_resource_open.open_resource (name, fd);
++ if (error)
++ return NULL;
++ assert (*fd != -1);
++ char *realname = __strdup (name);
++ if (__glibc_unlikely (realname == NULL))
++ {
++ __close (*fd);
++ *fd = -1;
++ }
++ return realname;
++}
+diff --git a/sysdeps/nacl/nacl-interface-list.h b/sysdeps/nacl/nacl-interface-list.h
+index cb33751..c68faed 100644
+--- a/sysdeps/nacl/nacl-interface-list.h
++++ b/sysdeps/nacl/nacl-interface-list.h
+@@ -28,7 +28,7 @@ NACL_MANDATORY_INTERFACE (rtld,
+ NACL_IRT_FUTEX_v0_1, nacl_irt_futex)
+ NACL_MANDATORY_INTERFACE (rtld,
+ NACL_IRT_TLS_v0_1, nacl_irt_tls)
+-NACL_MANDATORY_INTERFACE (libc,
++NACL_MANDATORY_INTERFACE (rtld,
+ NACL_IRT_RESOURCE_OPEN_v0_1, nacl_irt_resource_open)
+ NACL_MANDATORY_INTERFACE (rtld,
+ NACL_IRT_CODE_DATA_ALLOC_v0_1,
+diff --git a/sysdeps/nacl/start.c b/sysdeps/nacl/start.c
+index a4b6dd3..8e8bc1a 100644
+--- a/sysdeps/nacl/start.c
++++ b/sysdeps/nacl/start.c
+@@ -44,6 +44,10 @@
+ /* The application defines this, of course. */
+ extern int main (int argc, char **argv, char **envp);
+
++/* But maybe it defines this too, in which case it takes precedence. */
++extern int __nacl_main (int argc, char **argv, char **envp)
++ __attribute__ ((weak));
++
+ /* These are defined in libc. */
+ extern int __libc_csu_init (int argc, char **argv, char **envp);
+ extern void __libc_csu_fini (void);
+@@ -59,7 +63,7 @@ _start (uint32_t info[])
+ {
+ /* The generic code actually assumes that envp follows argv. */
+
+- __libc_start_main (&main,
++ __libc_start_main (&__nacl_main ?: &main,
+ nacl_startup_argc (info),
+ nacl_startup_argv (info),
+ nacl_startup_auxv (info),
+diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c
+index 6509f5c..9edf056 100644
+--- a/sysdeps/posix/opendir.c
++++ b/sysdeps/posix/opendir.c
+@@ -105,7 +105,7 @@ need_isdir_precheck (void)
+ tryopen_o_directory ();
+
+ /* We can skip the expensive `stat' call if O_DIRECTORY works. */
+- return o_directory_works > 0;
++ return o_directory_works < 0;
+ #endif
+ return true;
+ }
+diff --git a/sysdeps/powerpc/nptl/elide.h b/sysdeps/powerpc/nptl/elide.h
+index 389f5a5..2e1e443 100644
+--- a/sysdeps/powerpc/nptl/elide.h
++++ b/sysdeps/powerpc/nptl/elide.h
+@@ -23,67 +23,78 @@
+ # include <htm.h>
+ # include <elision-conf.h>
+
+-/* Returns true if the lock defined by is_lock_free as elided.
+- ADAPT_COUNT is a pointer to per-lock state variable. */
+-
++/* Get the new value of adapt_count according to the elision
++ configurations. Returns true if the system should retry again or false
++ otherwise. */
+ static inline bool
+-__elide_lock (uint8_t *adapt_count, int is_lock_free)
++__get_new_count (uint8_t *adapt_count, int attempt)
+ {
+- if (*adapt_count > 0)
++ /* A persistent failure indicates that a retry will probably
++ result in another failure. Use normal locking now and
++ for the next couple of calls. */
++ if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
+ {
+- (*adapt_count)--;
++ if (__elision_aconf.skip_lock_internal_abort > 0)
++ *adapt_count = __elision_aconf.skip_lock_internal_abort;
+ return false;
+ }
+-
+- for (int i = __elision_aconf.try_tbegin; i > 0; i--)
+- {
+- if (__builtin_tbegin (0))
+- {
+- if (is_lock_free)
+- return true;
+- /* Lock was busy. */
+- __builtin_tabort (_ABORT_LOCK_BUSY);
+- }
+- else
+- {
+- /* A persistent failure indicates that a retry will probably
+- result in another failure. Use normal locking now and
+- for the next couple of calls. */
+- if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
+- {
+- if (__elision_aconf.skip_lock_internal_abort > 0)
+- *adapt_count = __elision_aconf.skip_lock_internal_abort;
+- break;
+- }
+- /* Same logic as above, but for a number of temporary failures in a
+- a row. */
+- else if (__elision_aconf.skip_lock_out_of_tbegin_retries > 0
+- && __elision_aconf.try_tbegin > 0)
+- *adapt_count = __elision_aconf.skip_lock_out_of_tbegin_retries;
+- }
+- }
+-
+- return false;
++ /* Same logic as above, but for a number of temporary failures in a
++ a row. */
++ else if (attempt <= 1 && __elision_aconf.skip_lock_out_of_tbegin_retries > 0
++ && __elision_aconf.try_tbegin > 0)
++ *adapt_count = __elision_aconf.skip_lock_out_of_tbegin_retries;
++ return true;
+ }
+
+-# define ELIDE_LOCK(adapt_count, is_lock_free) \
+- __elide_lock (&(adapt_count), is_lock_free)
+-
+-
+-static inline bool
+-__elide_trylock (uint8_t *adapt_count, int is_lock_free, int write)
+-{
+- if (__elision_aconf.try_tbegin > 0)
+- {
+- if (write)
+- __builtin_tabort (_ABORT_NESTED_TRYLOCK);
+- return __elide_lock (adapt_count, is_lock_free);
+- }
+- return false;
+-}
++/* CONCURRENCY NOTES:
++
++ The evaluation of the macro expression is_lock_free encompasses one or
++ more loads from memory locations that are concurrently modified by other
++ threads. For lock elision to work, this evaluation and the rest of the
++ critical section protected by the lock must be atomic because an
++ execution with lock elision must be equivalent to an execution in which
++ the lock would have been actually acquired and released. Therefore, we
++ evaluate is_lock_free inside of the transaction that represents the
++ critical section for which we want to use lock elision, which ensures
++ the atomicity that we require. */
++
++/* Returns 0 if the lock defined by is_lock_free was elided.
++ ADAPT_COUNT is a per-lock state variable. */
++# define ELIDE_LOCK(adapt_count, is_lock_free) \
++ ({ \
++ int ret = 0; \
++ if (adapt_count > 0) \
++ (adapt_count)--; \
++ else \
++ for (int i = __elision_aconf.try_tbegin; i > 0; i--) \
++ { \
++ if (__builtin_tbegin (0)) \
++ { \
++ if (is_lock_free) \
++ { \
++ ret = 1; \
++ break; \
++ } \
++ __builtin_tabort (_ABORT_LOCK_BUSY); \
++ } \
++ else \
++ if (!__get_new_count (&adapt_count,i)) \
++ break; \
++ } \
++ ret; \
++ })
+
+ # define ELIDE_TRYLOCK(adapt_count, is_lock_free, write) \
+- __elide_trylock (&(adapt_count), is_lock_free, write)
++ ({ \
++ int ret = 0; \
++ if (__elision_aconf.try_tbegin > 0) \
++ { \
++ if (write) \
++ __builtin_tabort (_ABORT_NESTED_TRYLOCK); \
++ ret = ELIDE_LOCK (adapt_count, is_lock_free); \
++ } \
++ ret; \
++ })
+
+
+ static inline bool
+diff --git a/sysdeps/sparc/sparc32/sem_open.c b/sysdeps/sparc/sparc32/sem_open.c
+index 16cb9ad..59df2d7 100644
+--- a/sysdeps/sparc/sparc32/sem_open.c
++++ b/sysdeps/sparc/sparc32/sem_open.c
+@@ -29,6 +29,7 @@
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+ #include "semaphoreP.h"
++#include <futex-internal.h>
+ #include <shm-directory.h>
+
+
+diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
+index 58c8b32..aa20e22 100644
+--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
++++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
+@@ -1822,9 +1822,6 @@ GLIBC_2.17
+ GLIBC_2.18
+ GLIBC_2.18 A
+ __cxa_thread_atexit_impl F
+-GLIBC_2.22
+- GLIBC_2.22 A
+- fmemopen F
+ GLIBC_2.2
+ GLIBC_2.2 A
+ _IO_adjust_wcolumn F
+@@ -2015,6 +2012,9 @@ GLIBC_2.2.4
+ GLIBC_2.2.6
+ GLIBC_2.2.6 A
+ __nanosleep F
++GLIBC_2.22
++ GLIBC_2.22 A
++ fmemopen F
+ GLIBC_2.3
+ GLIBC_2.3 A
+ __ctype_b_loc F
+diff --git a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
+index abde83e..6e73504 100644
+--- a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
++++ b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
+@@ -56,42 +56,41 @@ typedef uintmax_t uatomic_max_t;
+ #define _LWS "0xb0"
+ #define _LWS_CAS "0"
+ /* Note r31 is the link register. */
+-#define _LWS_CLOBBER "r1", "r26", "r25", "r24", "r23", "r22", "r21", "r20", "r28", "r31", "memory"
++#define _LWS_CLOBBER "r1", "r23", "r22", "r20", "r31", "memory"
+ /* String constant for -EAGAIN. */
+ #define _ASM_EAGAIN "-11"
+ /* String constant for -EDEADLOCK. */
+ #define _ASM_EDEADLOCK "-45"
+
+ #if __ASSUME_LWS_CAS
+-/* The only basic operation needed is compare and exchange. */
++/* The only basic operation needed is compare and exchange. The mem
++ pointer must be word aligned. */
+ # define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
+ ({ \
+- volatile int lws_errno; \
+- __typeof__ (*mem) lws_ret; \
+- asm volatile( \
++ register long lws_errno asm("r21"); \
++ register unsigned long lws_ret asm("r28"); \
++ register unsigned long lws_mem asm("r26") = (unsigned long)(mem); \
++ register unsigned long lws_old asm("r25") = (unsigned long)(oldval);\
++ register unsigned long lws_new asm("r24") = (unsigned long)(newval);\
++ __asm__ __volatile__( \
+ "0: \n\t" \
+- "copy %2, %%r26 \n\t" \
+- "copy %3, %%r25 \n\t" \
+- "copy %4, %%r24 \n\t" \
+ "ble " _LWS "(%%sr2, %%r0) \n\t" \
+ "ldi " _LWS_CAS ", %%r20 \n\t" \
+- "ldi " _ASM_EAGAIN ", %%r24 \n\t" \
+- "cmpb,=,n %%r24, %%r21, 0b \n\t" \
++ "ldi " _ASM_EAGAIN ", %%r20 \n\t" \
++ "cmpb,=,n %%r20, %%r21, 0b \n\t" \
+ "nop \n\t" \
+- "ldi " _ASM_EDEADLOCK ", %%r25 \n\t" \
+- "cmpb,=,n %%r25, %%r21, 0b \n\t" \
++ "ldi " _ASM_EDEADLOCK ", %%r20 \n\t" \
++ "cmpb,=,n %%r20, %%r21, 0b \n\t" \
+ "nop \n\t" \
+- "stw %%r28, %0 \n\t" \
+- "stw %%r21, %1 \n\t" \
+- : "=m" (lws_ret), "=m" (lws_errno) \
+- : "r" (mem), "r" (oldval), "r" (newval) \
++ : "=r" (lws_ret), "=r" (lws_errno) \
++ : "r" (lws_mem), "r" (lws_old), "r" (lws_new) \
+ : _LWS_CLOBBER \
+ ); \
+ \
+- if(lws_errno == -EFAULT || lws_errno == -ENOSYS) \
++ if (lws_errno == -EFAULT || lws_errno == -ENOSYS) \
+ ABORT_INSTRUCTION; \
+ \
+- lws_ret; \
++ (__typeof (oldval)) lws_ret; \
+ })
+
+ # define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
+diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
+index cf0ad90..224e1f3 100644
+--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
++++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
+@@ -95,9 +95,6 @@ GLIBC_2.18
+ GLIBC_2.19
+ GLIBC_2.19 A
+ fanotify_mark F
+-GLIBC_2.22
+- GLIBC_2.22 A
+- fmemopen F
+ GLIBC_2.2
+ GLIBC_2.2 A
+ _Exit F
+@@ -1863,6 +1860,9 @@ GLIBC_2.2.4
+ GLIBC_2.2.6
+ GLIBC_2.2.6 A
+ __nanosleep F
++GLIBC_2.22
++ GLIBC_2.22 A
++ fmemopen F
+ GLIBC_2.3
+ GLIBC_2.3 A
+ __ctype_b_loc F
+diff --git a/sysdeps/unix/sysv/linux/hppa/syscall.c b/sysdeps/unix/sysv/linux/hppa/syscall.c
+index aff67a8..958fa47 100644
+--- a/sysdeps/unix/sysv/linux/hppa/syscall.c
++++ b/sysdeps/unix/sysv/linux/hppa/syscall.c
+@@ -43,9 +43,10 @@ syscall (long int __sysno, ...)
+ va_end (args);
+
+ {
++ LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
+ register unsigned long int __res asm("r28");
+ PIC_REG_DEF
+- LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
++ LOAD_REGS_6
+ asm volatile (SAVE_ASM_PIC
+ " ble 0x100(%%sr2, %%r0) \n"
+ " copy %1, %%r20 \n"
+diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep.h b/sysdeps/unix/sysv/linux/hppa/sysdep.h
+index d20a04b..cb1f163 100644
+--- a/sysdeps/unix/sysv/linux/hppa/sysdep.h
++++ b/sysdeps/unix/sysv/linux/hppa/sysdep.h
+@@ -400,9 +400,10 @@ L(pre_end): ASM_LINE_SEP \
+ ({ \
+ long __sys_res; \
+ { \
++ LOAD_ARGS_##nr(args) \
+ register unsigned long __res asm("r28"); \
+ PIC_REG_DEF \
+- LOAD_ARGS_##nr(args) \
++ LOAD_REGS_##nr \
+ /* FIXME: HACK save/load r19 around syscall */ \
+ asm volatile( \
+ SAVE_ASM_PIC \
+@@ -425,9 +426,10 @@ L(pre_end): ASM_LINE_SEP \
+ ({ \
+ long __sys_res; \
+ { \
++ LOAD_ARGS_##nr(args) \
+ register unsigned long __res asm("r28"); \
+ PIC_REG_DEF \
+- LOAD_ARGS_##nr(args) \
++ LOAD_REGS_##nr \
+ /* FIXME: HACK save/load r19 around syscall */ \
+ asm volatile( \
+ SAVE_ASM_PIC \
+@@ -443,27 +445,44 @@ L(pre_end): ASM_LINE_SEP \
+ __sys_res; \
+ })
+
+-
+-
+ #define LOAD_ARGS_0()
+-#define LOAD_ARGS_1(r26) \
+- register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
++#define LOAD_REGS_0
++#define LOAD_ARGS_1(a1) \
++ register unsigned long __x26 = (unsigned long)(a1); \
+ LOAD_ARGS_0()
+-#define LOAD_ARGS_2(r26,r25) \
+- register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
+- LOAD_ARGS_1(r26)
+-#define LOAD_ARGS_3(r26,r25,r24) \
+- register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
+- LOAD_ARGS_2(r26,r25)
+-#define LOAD_ARGS_4(r26,r25,r24,r23) \
+- register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
+- LOAD_ARGS_3(r26,r25,r24)
+-#define LOAD_ARGS_5(r26,r25,r24,r23,r22) \
+- register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
+- LOAD_ARGS_4(r26,r25,r24,r23)
+-#define LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \
+- register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
+- LOAD_ARGS_5(r26,r25,r24,r23,r22)
++#define LOAD_REGS_1 \
++ register unsigned long __r26 __asm__("r26") = __x26; \
++ LOAD_REGS_0
++#define LOAD_ARGS_2(a1,a2) \
++ register unsigned long __x25 = (unsigned long)(a2); \
++ LOAD_ARGS_1(a1)
++#define LOAD_REGS_2 \
++ register unsigned long __r25 __asm__("r25") = __x25; \
++ LOAD_REGS_1
++#define LOAD_ARGS_3(a1,a2,a3) \
++ register unsigned long __x24 = (unsigned long)(a3); \
++ LOAD_ARGS_2(a1,a2)
++#define LOAD_REGS_3 \
++ register unsigned long __r24 __asm__("r24") = __x24; \
++ LOAD_REGS_2
++#define LOAD_ARGS_4(a1,a2,a3,a4) \
++ register unsigned long __x23 = (unsigned long)(a4); \
++ LOAD_ARGS_3(a1,a2,a3)
++#define LOAD_REGS_4 \
++ register unsigned long __r23 __asm__("r23") = __x23; \
++ LOAD_REGS_3
++#define LOAD_ARGS_5(a1,a2,a3,a4,a5) \
++ register unsigned long __x22 = (unsigned long)(a5); \
++ LOAD_ARGS_4(a1,a2,a3,a4)
++#define LOAD_REGS_5 \
++ register unsigned long __r22 __asm__("r22") = __x22; \
++ LOAD_REGS_4
++#define LOAD_ARGS_6(a1,a2,a3,a4,a5,a6) \
++ register unsigned long __x21 = (unsigned long)(a6); \
++ LOAD_ARGS_5(a1,a2,a3,a4,a5)
++#define LOAD_REGS_6 \
++ register unsigned long __r21 __asm__("r21") = __x21; \
++ LOAD_REGS_5
+
+ /* Even with zero args we use r20 for the syscall number */
+ #define ASM_ARGS_0
+diff --git a/sysdeps/unix/sysv/linux/microblaze/sysdep.h b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
+index 83c0340..9d5c542 100644
+--- a/sysdeps/unix/sysv/linux/microblaze/sysdep.h
++++ b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
+@@ -16,8 +16,11 @@
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
++#ifndef _LINUX_MICROBLAZE_SYSDEP_H
++#define _LINUX_MICROBLAZE_SYSDEP_H 1
++
++#include <sysdeps/unix/sysdep.h>
+ #include <sysdeps/microblaze/sysdep.h>
+-#include <sys/syscall.h>
+
+ /* Defines RTLD_PRIVATE_ERRNO. */
+ #include <dl-sysdep.h>
+@@ -305,3 +308,5 @@ SYSCALL_ERROR_LABEL_DCL: \
+ # define PTR_DEMANGLE(var) (void) (var)
+
+ #endif /* not __ASSEMBLER__ */
++
++#endif /* _LINUX_MICROBLAZE_SYSDEP_H */
+diff --git a/sysdeps/unix/sysv/linux/openat.c b/sysdeps/unix/sysv/linux/openat.c
+index 6777123..ad8e31d 100644
+--- a/sysdeps/unix/sysv/linux/openat.c
++++ b/sysdeps/unix/sysv/linux/openat.c
+@@ -68,6 +68,11 @@ __OPENAT (int fd, const char *file, int oflag, ...)
+ va_end (arg);
+ }
+
++ /* We have to add the O_LARGEFILE flag for openat64. */
++#ifdef MORE_OFLAGS
++ oflag |= MORE_OFLAGS;
++#endif
++
+ return SYSCALL_CANCEL (openat, fd, file, oflag, mode);
+ }
+ libc_hidden_def (__OPENAT)
+diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
+index 7f9bcc2..c6731ca 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
++++ b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
+@@ -72,8 +72,7 @@ __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
+ goto use_lock;
+ }
+
+- int try_begin = aconf.try_tbegin;
+- while (1)
++ for (int i = aconf.try_tbegin; i > 0; i--)
+ {
+ if (__builtin_tbegin (0))
+ {
+@@ -87,21 +86,19 @@ __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
+ /* A persistent failure indicates that a retry will probably
+ result in another failure. Use normal locking now and
+ for the next couple of calls. */
+- if (try_begin-- <= 0
+- || _TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
++ if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
+ {
+ if (aconf.skip_lock_internal_abort > 0)
+ *adapt_count = aconf.skip_lock_internal_abort;
+ goto use_lock;
+ }
+- /* Same logic as above, but for for a number of temporary failures
+- in a row. */
+- else if (aconf.skip_lock_out_of_tbegin_retries > 0
+- && aconf.try_tbegin > 0)
+- *adapt_count = aconf.skip_lock_out_of_tbegin_retries;
+ }
+ }
+
++ /* Fall back to locks for a bit if retries have been exhausted */
++ if (aconf.try_tbegin > 0 && aconf.skip_lock_out_of_tbegin_retries > 0)
++ *adapt_count = aconf.skip_lock_out_of_tbegin_retries;
++
+ use_lock:
+ return LLL_LOCK ((*lock), pshared);
+ }
+diff --git a/time/strftime_l.c b/time/strftime_l.c
+index b48ef34..4eb647c 100644
+--- a/time/strftime_l.c
++++ b/time/strftime_l.c
+@@ -510,13 +510,17 @@ __strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
+ only a few elements. Dereference the pointers only if the format
+ requires this. Then it is ok to fail if the pointers are invalid. */
+ # define a_wkday \
+- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday))
++ ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \
++ ? "?" : _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday)))
+ # define f_wkday \
+- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday))
++ ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \
++ ? "?" : _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday)))
+ # define a_month \
+- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon))
++ ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \
++ ? "?" : _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon)))
+ # define f_month \
+- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon))
++ ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \
++ ? "?" : _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon)))
+ # define ampm \
+ ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11 \
+ ? NLW(PM_STR) : NLW(AM_STR)))
+@@ -526,8 +530,10 @@ __strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
+ # define ap_len STRLEN (ampm)
+ #else
+ # if !HAVE_STRFTIME
+-# define f_wkday (weekday_name[tp->tm_wday])
+-# define f_month (month_name[tp->tm_mon])
++# define f_wkday (tp->tm_wday < 0 || tp->tm_wday > 6 \
++ ? "?" : weekday_name[tp->tm_wday])
++# define f_month (tp->tm_mon < 0 || tp->tm_mon > 11 \
++ ? "?" : month_name[tp->tm_mon])
+ # define a_wkday f_wkday
+ # define a_month f_month
+ # define ampm (L_("AMPM") + 2 * (tp->tm_hour > 11))
+@@ -1321,7 +1327,7 @@ __strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
+ *tzset_called = true;
+ }
+ # endif
+- zone = tzname[tp->tm_isdst];
++ zone = tp->tm_isdst <= 1 ? tzname[tp->tm_isdst] : "?";
+ }
+ #endif
+ if (! zone)
+diff --git a/time/tst-strftime.c b/time/tst-strftime.c
+index 374fba4..af3ff72 100644
+--- a/time/tst-strftime.c
++++ b/time/tst-strftime.c
+@@ -4,6 +4,56 @@
+ #include <time.h>
+
+
++static int
++do_bz18985 (void)
++{
++ char buf[1000];
++ struct tm ttm;
++ int rc, ret = 0;
++
++ memset (&ttm, 1, sizeof (ttm));
++ ttm.tm_zone = NULL; /* Dereferenced directly if non-NULL. */
++ rc = strftime (buf, sizeof (buf), "%a %A %b %B %c %z %Z", &ttm);
++
++ if (rc == 66)
++ {
++ const char expected[]
++ = "? ? ? ? ? ? 16843009 16843009:16843009:16843009 16844909 +467836 ?";
++ if (0 != strcmp (buf, expected))
++ {
++ printf ("expected:\n %s\ngot:\n %s\n", expected, buf);
++ ret += 1;
++ }
++ }
++ else
++ {
++ printf ("expected 66, got %d\n", rc);
++ ret += 1;
++ }
++
++ /* Check negative values as well. */
++ memset (&ttm, 0xFF, sizeof (ttm));
++ ttm.tm_zone = NULL; /* Dereferenced directly if non-NULL. */
++ rc = strftime (buf, sizeof (buf), "%a %A %b %B %c %z %Z", &ttm);
++
++ if (rc == 30)
++ {
++ const char expected[] = "? ? ? ? ? ? -1 -1:-1:-1 1899 ";
++ if (0 != strcmp (buf, expected))
++ {
++ printf ("expected:\n %s\ngot:\n %s\n", expected, buf);
++ ret += 1;
++ }
++ }
++ else
++ {
++ printf ("expected 30, got %d\n", rc);
++ ret += 1;
++ }
++
++ return ret;
++}
++
+ static struct
+ {
+ const char *fmt;
+@@ -104,7 +154,7 @@ do_test (void)
+ }
+ }
+
+- return result;
++ return result + do_bz18985 ();
+ }
+
+ #define TEST_FUNCTION do_test ()
+diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c
+index 6d9384a..87f240d 100644
+--- a/wcsmbs/wcscoll_l.c
++++ b/wcsmbs/wcscoll_l.c
+@@ -23,7 +23,6 @@
+ #define STRING_TYPE wchar_t
+ #define USTRING_TYPE wint_t
+ #define STRCOLL __wcscoll_l
+-#define STRDIFF __wcsdiff
+ #define STRCMP __wcscmp
+ #define WEIGHT_H "../locale/weightwc.h"
+ #define SUFFIX WC
diff --git a/abs/core/glibc/glibc.install b/abs/core/glibc/glibc.install
new file mode 100644
index 0000000..a49daa5
--- /dev/null
+++ b/abs/core/glibc/glibc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11})
+
+post_upgrade() {
+ locale-gen
+
+ ldconfig -r .
+
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core/glibc/locale-gen b/abs/core/glibc/locale-gen
new file mode 100755
index 0000000..5aff344
--- /dev/null
+++ b/abs/core/glibc/locale-gen
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -e
+
+LOCALEGEN=/etc/locale.gen
+LOCALES=/usr/share/i18n/locales
+if [ -n "$POSIXLY_CORRECT" ]; then
+ unset POSIXLY_CORRECT
+fi
+
+
+[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0;
+
+# Remove all old locale dir and locale-archive before generating new
+# locale data.
+rm -rf /usr/lib/locale/* || true
+
+umask 022
+
+is_entry_ok() {
+ if [ -n "$locale" -a -n "$charset" ] ; then
+ true
+ else
+ echo "error: Bad entry '$locale $charset'"
+ false
+ fi
+}
+
+echo "Generating locales..."
+while read locale charset; do \
+ case $locale in \#*) continue;; "") continue;; esac; \
+ is_entry_ok || continue
+ echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \
+ echo -n ".$charset"; \
+ echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \
+ echo -n '...'; \
+ if [ -f $LOCALES/$locale ]; then input=$locale; else \
+ input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \
+ localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \
+ echo ' done'; \
+done < $LOCALEGEN
+echo "Generation complete."
diff --git a/abs/core/glibc/locale.gen.txt b/abs/core/glibc/locale.gen.txt
new file mode 100644
index 0000000..ccdd817
--- /dev/null
+++ b/abs/core/glibc/locale.gen.txt
@@ -0,0 +1,23 @@
+# Configuration file for locale-gen
+#
+# lists of locales that are to be generated by the locale-gen command.
+#
+# Each line is of the form:
+#
+# <locale> <charset>
+#
+# where <locale> is one of the locales given in /usr/share/i18n/locales
+# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
+#
+# Examples:
+# en_US ISO-8859-1
+# en_US.UTF-8 UTF-8
+# de_DE ISO-8859-1
+# de_DE@euro ISO-8859-15
+#
+# The locale-gen command will generate all the locales,
+# placing them in /usr/lib/locale.
+#
+# A list of supported locales is included in this file.
+# Uncomment the ones you need.
+#
diff --git a/abs/core/glproto/PKGBUILD b/abs/core/glproto/PKGBUILD
index 94976fa..ef4a2eb 100644
--- a/abs/core/glproto/PKGBUILD
+++ b/abs/core/glproto/PKGBUILD
@@ -1,25 +1,25 @@
-# $Id: PKGBUILD 163853 2012-07-21 11:21:24Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=glproto
-pkgver=1.4.16
+pkgver=1.4.17
pkgrel=1
pkgdesc="X11 OpenGL extension wire protocol"
arch=(any)
url="http://xorg.freedesktop.org/"
license=('custom')
source=(http://xorg.freedesktop.org/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('54dd663a7f5ed702f2ff035b79edf770c2f850867ac0d55742f696bfc8b2598d')
+sha256sums=('adaa94bded310a2bfcbb9deb4d751d965fcfe6fb3a2f6d242e2df2d6589dbe40')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 "COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/gnupg/PKGBUILD b/abs/core/gnupg/PKGBUILD
index 9ac8772..6d7dc98 100644
--- a/abs/core/gnupg/PKGBUILD
+++ b/abs/core/gnupg/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=gnupg
pkgver=2.0.22
-pkgrel=1
+pkgrel=2
pkgdesc='Complete and free implementation of the OpenPGP standard'
url='http://www.gnupg.org/'
license=('GPL')
diff --git a/abs/core/gnutls/PKGBUILD b/abs/core/gnutls/PKGBUILD
index e6d5075..1d85e9c 100644
--- a/abs/core/gnutls/PKGBUILD
+++ b/abs/core/gnutls/PKGBUILD
@@ -1,41 +1,51 @@
-# $Id: PKGBUILD 162907 2012-07-03 15:25:08Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=gnutls
-pkgver=3.0.21
+pkgver=3.4.11
pkgrel=1
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=('i686' 'x86_64')
-license=('GPL3' 'LGPL')
-url="http://www.gnu.org/software/gnutls/"
+license=('GPL3' 'LGPL2.1')
+url="http://www.gnutls.org/"
install=gnutls.install
-options=('!libtool' '!zipman')
-depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit>=0.12')
-makedepends=('valgrind' 'strace')
-source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz{,.sig})
-md5sums=('7480dff7115e5af85215893c06b3ac5c'
- 'c84eb5e67f1498c60ea6fd6ba9045def')
+options=('!zipman')
+depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit')
+optdepends=('guile: for use with Guile bindings')
+source=(ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/${pkgname}-${pkgver}.tar.xz{,.sig})
+md5sums=('4da148b5a0048aaac4961e2d9ba95798'
+ 'SKIP')
+validpgpkeys=('0424D4EE81A0E3D119C6F835EDA21E94B565716F'
+ '1F42418905D8206AA754CCDC29EE58B996865171')
+ # "Simon Josefsson <simon@josefsson.org>"
+ # "Nikos Mavrogiannopoulos <nmav@gnutls.org>
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
+
+ # disable libidn for security reasons:
+ # http://lists.gnupg.org/pipermail/gnutls-devel/2015-May/007582.html
+
./configure --prefix=/usr \
--with-zlib \
--disable-static \
- --disable-guile \
- --disable-valgrind-tests
+ --without-idn \
+ --enable-guile --with-guile-site-dir=no \
+ --with-default-trust-store-pkcs11="pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit"
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make -k check # passes all || /bin/true
+ cd ${pkgname}-${pkgver}
+ make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
-
- # lots of .png files are put into infodir and are gzipped by makepkg! this may need to be fixed by using !zipman
+
+ # lots of .png files are put into infodir and are gzipped by makepkg! this needs to be fixed by using !zipman
# gzip -9 all files in infodir and manpages manually
find "$pkgdir/usr/share/info" -name '*.info*' -exec gzip -9 {} \;
find "$pkgdir/usr/share/man" -exec gzip -9 {} \;
diff --git a/abs/core/gnutls/gnutls.install b/abs/core/gnutls/gnutls.install
index e8c8e17..196a913 100644
--- a/abs/core/gnutls/gnutls.install
+++ b/abs/core/gnutls/gnutls.install
@@ -1,5 +1,5 @@
infodir=usr/share/info
-filelist=(gnutls.info-1.gz gnutls.info-2.gz gnutls.info-3.gz gnutls.info-4.gz gnutls.info.gz)
+filelist=(gnutls.info-1.gz gnutls.info-2.gz gnutls.info-3.gz gnutls.info-4.gz gnutls.info-5.gz gnutls.info-6.gz gnutls.info.gz gnutls-guile.info.gz)
post_install() {
[ -x usr/bin/install-info ] || return 0
diff --git a/abs/core/gobject-introspection/PKGBUILD b/abs/core/gobject-introspection/PKGBUILD
index 9757c17..9f5edfa 100644
--- a/abs/core/gobject-introspection/PKGBUILD
+++ b/abs/core/gobject-introspection/PKGBUILD
@@ -1,32 +1,41 @@
# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
-pkgname=gobject-introspection
-pkgver=1.42.0
+pkgbase=gobject-introspection
+pkgname=('gobject-introspection' 'gobject-introspection-runtime')
+pkgver=1.46.0
pkgrel=1
-pkgdesc="Introspection system for GObject-based libraries"
url="https://live.gnome.org/GObjectIntrospection"
arch=('x86_64' 'i686')
license=('LGPL' 'GPL')
-depends=('glib2')
makedepends=('cairo' 'python2' 'python2-mako')
-optdepends=('python2: gir development tools'
- 'python2-mako: g-ir-doc-tool')
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
-sha256sums=('3ba2edfad4f71d4f0de16960b5d5f2511335fa646b2c49bbb93ce5942b3f95f7')
+source=(https://download.gnome.org/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz)
+sha256sums=('6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233')
prepare() {
- cd $pkgname-$pkgver
+ cd $pkgbase-$pkgver
sed -i '1s|#!/usr/bin/env python$|&2|' giscanner/*.py
}
build() {
- cd $pkgname-$pkgver
+ cd $pkgbase-$pkgver
PYTHON=/usr/bin/python2 ./configure --prefix=/usr --disable-static --enable-doctool
make
}
-package() {
- cd $pkgname-$pkgver
+package_gobject-introspection-runtime() {
+ pkgdesc="Introspection system for GObject-based libraries - runtime files"
+ depends=('glib2')
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install-libLTLIBRARIES install-typelibsDATA
+}
+
+package_gobject-introspection() {
+ pkgdesc="Introspection system for GObject-based libraries"
+ depends=("gobject-introspection-runtime=$pkgver" 'python2-mako' 'python2')
+ options=('!emptydirs')
+
+ cd $pkgbase-$pkgver
make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" uninstall-libLTLIBRARIES uninstall-typelibsDATA
}
diff --git a/abs/core/grep/PKGBUILD b/abs/core/grep/PKGBUILD
index b878e71..c910394 100644
--- a/abs/core/grep/PKGBUILD
+++ b/abs/core/grep/PKGBUILD
@@ -1,34 +1,36 @@
-# $Id: PKGBUILD 163715 2012-07-18 02:16:59Z dreisner $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=grep
-pkgver=2.13
-pkgrel=2
-pkgdesc="A string search utility"
+pkgver=2.22
+pkgrel=1
+pkgdesc='A string search utility'
arch=('i686' 'x86_64')
license=('GPL3')
-url="http://www.gnu.org/software/grep/grep.html"
-groups=('base')
-depends=('glibc' 'pcre' 'sh')
+url='http://www.gnu.org/software/grep/grep.html'
+groups=('base' 'base-devel')
+depends=('glibc' 'pcre')
makedepends=('texinfo')
-install=${pkgname}.install
-source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
-md5sums=('5894d484e6c02249f9702d0d8a472115'
- '99acaa4d45ab931be2ecba49a1766df7')
+install=$pkgname.install
+validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering
+source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
+md5sums=('e1015e951a49a82b02e38891026ef5df'
+ 'SKIP')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd $pkgname-$pkgver
./configure --prefix=/usr --without-included-regex
make
}
check() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd $pkgname-$pkgver
make check
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd $pkgname-$pkgver
+ make DESTDIR=$pkgdir install
}
diff --git a/abs/core/grep/grep-2.11-exclude-dir-crash.patch b/abs/core/grep/grep-2.11-exclude-dir-crash.patch
deleted file mode 100644
index 6b17317..0000000
--- a/abs/core/grep/grep-2.11-exclude-dir-crash.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 12c957f786b12a4dd116f9c40a715d671d17fa16 Mon Sep 17 00:00:00 2001
-From: Allan McRae <allan@archlinux.org>
-Date: Mon, 12 Mar 2012 09:28:01 +0100
-Subject: [PATCH] grep: fix segfault with -r --exclude-dir and no file operand
-
-* src/main.c (grepdir): Don't invoke excluded_file_name on NULL.
-* NEWS (Bug fixes): Mention it.
----
- NEWS | 5 +++++
- src/main.c | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index d0a63d5..d4d70f5 100644
---- a/NEWS
-+++ b/NEWS
-@@ -2,6 +2,11 @@ GNU grep NEWS -*- outline -*-
-
- * Noteworthy changes in release ?.? (????-??-??) [?]
-
-+** Bug fixes
-+
-+ grep no longer segfaults with -r --exclude-dir and no file operand.
-+ I.e., ":|grep -r --exclude-dir=D PAT" would segfault.
-+
-
- * Noteworthy changes in release 2.11 (2012-03-02) [stable]
-
-diff --git a/src/main.c b/src/main.c
-index 2f6c761..f4f1235 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -1361,7 +1361,7 @@ grepdir (char const *dir, struct stats const *stats)
- struct stats const *ancestor;
- char *name_space;
- int status = 1;
-- if (excluded_directory_patterns
-+ if (dir && excluded_directory_patterns
- && excluded_file_name (excluded_directory_patterns, dir))
- return 1;
-
---
-1.7.9.3
-
diff --git a/abs/core/grep/grep.install b/abs/core/grep/grep.install
index 7cd3130..a594d9c 100644
--- a/abs/core/grep/grep.install
+++ b/abs/core/grep/grep.install
@@ -1,21 +1,18 @@
infodir=usr/share/info
-filelist=(grep.info)
+file=grep.info
post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
+ [[ -x usr/bin/install-info ]] || return 0
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
}
post_upgrade() {
- post_install $1
+ post_install "$1"
}
pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
+ [[ -x usr/bin/install-info ]] || return 0
+ install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
}
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/grub/0001-Fix-security-issue-when-reading-username-and-passwor.patch b/abs/core/grub/0001-Fix-security-issue-when-reading-username-and-passwor.patch
new file mode 100644
index 0000000..aa07f2f
--- /dev/null
+++ b/abs/core/grub/0001-Fix-security-issue-when-reading-username-and-passwor.patch
@@ -0,0 +1,47 @@
+From e16eeda1200deabd0d3a4af968d526d62845a85f Mon Sep 17 00:00:00 2001
+From: Hector Marco-Gisbert <hecmargi@upv.es>
+Date: Fri, 13 Nov 2015 16:21:09 +0100
+Subject: [PATCH] Fix security issue when reading username and password
+
+ This patch fixes two integer underflows at:
+ * grub-core/lib/crypto.c
+ * grub-core/normal/auth.c
+
+Resolves: CVE-2015-8370
+
+Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
+Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
+---
+ grub-core/lib/crypto.c | 2 +-
+ grub-core/normal/auth.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
+index 010e550..524a3d8 100644
+--- a/grub-core/lib/crypto.c
++++ b/grub-core/lib/crypto.c
+@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size)
+ break;
+ }
+
+- if (key == '\b')
++ if (key == '\b' && cur_len)
+ {
+ cur_len--;
+ continue;
+diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
+index c6bd96e..5782ec5 100644
+--- a/grub-core/normal/auth.c
++++ b/grub-core/normal/auth.c
+@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size)
+ break;
+ }
+
+- if (key == '\b')
++ if (key == '\b' && cur_len)
+ {
+ cur_len--;
+ grub_printf ("\b");
+--
+2.6.4
+
diff --git a/abs/core/grub/10_archlinux b/abs/core/grub/10_archlinux
new file mode 100755
index 0000000..f86578a
--- /dev/null
+++ b/abs/core/grub/10_archlinux
@@ -0,0 +1,194 @@
+#!/usr/bin/env bash
+
+##
+## grub-mkconfig helper script specific to Arch Linux
+## Contributed by "Keshav Amburay" <the ddoott ridikulus ddoott rat aatt geemmayil ddoott ccoomm>
+## Updated on 08 February 2014
+##
+## Script based on do_grub_config() function in Arch Linux Archboot ISO Installer/Setup script
+## Some parts taken from /etc/grub.d/10_linux script shipped by GRUB(2) upstream
+##
+## This script can be freely distributed and/or modified
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This script is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+
+_FUNC_GRUB_FILE_PRESENT() {
+
+ [[ -z "${GRUB_PLATFORM}" ]] && GRUB_PLATFORM="x86"
+
+ if [[ "${GRUB_PLATFORM}" == "x86" ]]; then
+ check="--is-x86-linux32"
+ elif [[ "${GRUB_PLATFORM}" == "i386-xen-pae" ]]; then
+ check="--is-i386-xen-pae-domu"
+ elif [[ "${GRUB_PLATFORM}" == "x86_64-xen" ]]; then
+ check="--is-x86_64-xen-domu"
+ else
+ check="--is-${GRUB_PLATFORM}-linux"
+ fi
+
+ case "${GRUB_PLATFORM}" in
+ x86)
+ list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do
+ if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi
+ done)" ;;
+ *)
+ list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do
+ if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi
+ done)" ;;
+ esac
+}
+
+set -e
+
+prefix="/usr"
+exec_prefix="${prefix}"
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+sysconfdir="/etc"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
+
+. "${sysconfdir}/default/grub"
+
+export TEXTDOMAIN="grub"
+export TEXTDOMAINDIR="${datarootdir}/locale"
+
+CLASS="--class arch-linux --class arch --class gnu-linux --class gnu --class os"
+
+[[ "${grub_file}" != "" ]] && _FUNC_GRUB_FILE_PRESENT
+
+BOOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/boot" 2>/dev/null)"
+BOOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/boot" 2>/dev/null || true)"
+BOOT_PART_FS="$(${grub_probe} --target="fs" "/boot" 2>/dev/null)"
+
+ROOT_PART_GRUB_DEVICE="$(${grub_probe} --target=device / || true)"
+ROOT_PART_FS="$(${grub_probe} --device ${ROOT_PART_GRUB_DEVICE} --target=fs 2> /dev/null || echo "unknown")"
+
+if [[ "${GRUB_LINUX_ROOT_DEVICE}" == "" ]]; then
+
+ case "${ROOT_PART_FS}" in
+ btrfs)
+ rootsubvol="$(make_system_path_relative_to_its_root /)"
+ rootsubvol="${rootsubvol#/}"
+ if [[ "${rootsubvol}" != "" ]]; then
+ GRUB_LINUX_ROOT_DEVICE="subvol=${rootsubvol}"
+ fi
+ ;;
+ zfs)
+ rpool="$(${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true)"
+ bootfs="$(make_system_path_relative_to_its_root / | sed -e "s,@$,,")"
+ GRUB_LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
+ ;;
+ esac
+
+ if [[ "${GRUB_DEVICE_UUID}" == "" ]] || \
+ [[ "${GRUB_DISABLE_LINUX_UUID}" == "true" ]] || \
+ [[ ! -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ]] || \
+ uses_abstraction "${GRUB_DEVICE}" lvm ; then
+ GRUB_LINUX_ROOT_DEVICE="${GRUB_DEVICE}"
+ else
+ GRUB_LINUX_ROOT_DEVICE="UUID=${GRUB_DEVICE_UUID}"
+ fi
+fi
+
+[[ "${GRUB_LINUX_PARAMS}" == "" ]] && GRUB_LINUX_PARAMS="${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+
+for _KERNEL_ in ${list} ; do
+
+ echo "Found linux image: ${_KERNEL_}" >&2
+
+ basename="$(basename "${_KERNEL_}")"
+ dirname="$(dirname "${_KERNEL_}")"
+ REAL_DIR="$(make_system_path_relative_to_its_root "${dirname}")"
+
+ _KERNEL_FILE_="$(echo ${_KERNEL_} | sed 's,/boot/,,g')"
+ _KERNEL_PKG_="pkg-$(echo ${_KERNEL_FILE_} | sed 's,vmlinuz-,,g')"
+
+ _INITRAMFS_="${_KERNEL_FILE_/vmlinuz-/initramfs-}.img"
+
+ if [[ -e "/boot/${_INITRAMFS_}" ]]; then
+
+ echo "Found initramfs image: /boot/${_INITRAMFS_}" >&2
+
+cat << EOF
+
+menuentry "Arch Linux ${_KERNEL_PKG_} kernel" ${CLASS} {
+ $(save_default_entry)
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel ...'
+ linux ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+ echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel initramfs ...'
+ initrd ${REAL_DIR}/${_INITRAMFS_}
+}
+
+EOF
+ fi
+
+ _INITRAMFS_FALLBACK_="${_KERNEL_FILE_/vmlinuz-/initramfs-}-fallback.img"
+
+ if [[ -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+
+ echo "Found fallback initramfs image: /boot/${_INITRAMFS_FALLBACK_}" >&2
+
+cat << EOF
+
+menuentry "Arch Linux ${_KERNEL_PKG_} kernel (fallback initramfs)" ${CLASS} {
+ $(save_default_entry)
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel ...'
+ linux ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+ echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel fallback initramfs ...'
+ initrd ${REAL_DIR}/${_INITRAMFS_FALLBACK_}
+}
+
+EOF
+ fi
+
+ if [[ ! -e "/boot/${_INITRAMFS_}" ]] && [[ ! -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+cat << EOF
+
+menuentry "Arch Linux ${_KERNEL_PKG_} kernel (no initramfs)" ${CLASS} {
+ $(save_default_entry)
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Arch Linux ${_KERNEL_PKG_} kernel ...'
+ linux ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+}
+
+EOF
+ fi
+
+done
diff --git a/abs/core/grub/20_memtest86+ b/abs/core/grub/20_memtest86+
deleted file mode 100644
index 1d3096f..0000000
--- a/abs/core/grub/20_memtest86+
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/sh -e
-########################################################
-# This script generates a memtest86+ entry on grub.cfg #
-# if memtest is installed on the system. #
-########################################################
-
-prefix="/usr"
-exec_prefix="${prefix}"
-
-datarootdir="/usr/share"
-datadir="${datarootdir}"
-
-. "${datadir}/grub/grub-mkconfig_lib"
-
-MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin"
-CLASS="--class memtest86 --class gnu --class tool"
-
-if [ -e $MEMTEST86_IMAGE ] && is_path_readable_by_grub $MEMTEST86_IMAGE; then
- # image exists, create menu entry
- echo "Found memtest86+ image: $MEMTEST86_IMAGE" >&2
- cat << EOF
-menuentry "Memory test (memtest86+)" $CLASS {
-EOF
- prepare_grub_to_access_device `${grub_probe} --target=device $MEMTEST86_IMAGE` | sed -e "s/^/ /"
- cat << EOF
- linux16 (\$root)`make_system_path_relative_to_its_root $MEMTEST86_IMAGE`
-}
-EOF
-fi
diff --git a/abs/core/grub/60_memtest86+ b/abs/core/grub/60_memtest86+
new file mode 100644
index 0000000..086f0cc
--- /dev/null
+++ b/abs/core/grub/60_memtest86+
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+########################################################
+# This script generates a memtest86+ entry on grub.cfg #
+# if memtest is installed on the system. #
+########################################################
+
+prefix="/usr"
+exec_prefix="${prefix}"
+
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+
+. "${datadir}/grub/grub-mkconfig_lib"
+
+MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin"
+CLASS="--class memtest86 --class gnu --class tool"
+
+if [ -e "${MEMTEST86_IMAGE}" ] && is_path_readable_by_grub "${MEMTEST86_IMAGE}" ; then
+ ## image exists, create menu entry
+ echo "Found memtest86+ image: ${MEMTEST86_IMAGE}" >&2
+ _GRUB_MEMTEST_HINTS_STRING="$(${grub_probe} --target=hints_string ${MEMTEST86_IMAGE})"
+ _GRUB_MEMTEST_FS_UUID="$(${grub_probe} --target=fs_uuid ${MEMTEST86_IMAGE})"
+ _GRUB_MEMTEST_REL_PATH="$(make_system_path_relative_to_its_root ${MEMTEST86_IMAGE})"
+ cat << EOF
+if [ "\${grub_platform}" == "pc" ]; then
+ menuentry "Memory Tester (memtest86+)" ${CLASS} {
+ search --fs-uuid --no-floppy --set=root ${_GRUB_MEMTEST_HINTS_STRING} ${_GRUB_MEMTEST_FS_UUID}
+ linux16 ${_GRUB_MEMTEST_REL_PATH} ${GRUB_CMDLINE_MEMTEST86}
+ }
+fi
+EOF
+fi
diff --git a/abs/core/grub/PKGBUILD b/abs/core/grub/PKGBUILD
index 460935d..58873b9 100644
--- a/abs/core/grub/PKGBUILD
+++ b/abs/core/grub/PKGBUILD
@@ -1,90 +1,162 @@
-# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer : Ronald van Haren <ronald.archlinux.org>
+# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
-_grub_lua_ver=24
-_grub_ntldr_ver=21
-_grub_915_ver=9
+## "1" to enable IA32-EFI build in Arch x86_64, "0" to disable
+_IA32_EFI_IN_ARCH_X64="1"
-pkgname=('grub-common' 'grub-bios' 'grub-efi-i386')
-pkgbase=grub
-pkgver=2.00
-pkgrel=2
-url="https://www.gnu.org/software/grub/"
-arch=('i686' 'x86_64')
-license=('GPL3')
-makedepends=('xz' 'bdf-unifont' 'ttf-dejavu' 'python2' 'autogen'
- 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse')
+## "1" to enable EMU build, "0" to disable
+_GRUB_EMU_BUILD="0"
-source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz"
- 'archlinux_grub_mkconfig_fixes.patch'
- 'grub.default'
- 'grub.cfg'
- '20_memtest86+'
- 'grub_bzr_export.sh')
-
-noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
- "grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
- "grub2_extras_915resolution_r${_grub_915_ver}.tar.xz")
-
-sha1sums=('274d91e96b56a5b9dd0a07accff69dbb6dfb596b'
- '89290031b974780c6df76893836d2477d4add895'
- 'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a'
- 'd5ae2efec25616028a9d89e98b6e454f1c4c415f'
- '26e4e946190bea1f03632658cf08ba90e11dec57'
- 'dbf493dec4722feb11f0b5c71ad453a18daf0fc5'
- '76ae862a945a8848e6999adf8ad1847f0f7008b9'
- 'ce35d7ae75cd1b5b677e894e528f96add40e77b9'
- '0cfd4e51cdb14a92f06cfd3c607f2aa21f3e55fc')
+_pkgver="2.02"
+_GRUB_GIT_TAG="grub-2.02-beta2"
+_GRUB_EXTRAS_COMMIT=4a56e2c2cc3d78f12f1788c27669a651071dee49
-_build_grub-common_and_bios() {
+_UNIFONT_VER="6.3.20131217"
- ## copy the source for building the common/bios package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub_bios-${pkgver}"
- cd "${srcdir}/grub_bios-${pkgver}"
- #sed -i -e '/gets is a security/d' grub-core/gnulib/stdio.in.h
- ## Apply Archlinux specific fixes to enable grub-mkconfig detect Arch kernels and initramfs
- patch -Np1 -i "${srcdir}/archlinux_grub_mkconfig_fixes.patch"
- echo
+[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
+[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
- ## fix unifont.bdf location so that grub-mkfont can create *.pf2 files
- sed 's|/usr/share/fonts/unifont|/usr/share/fonts/unifont /usr/share/fonts/misc|g' -i "${srcdir}/grub_bios-${pkgver}/configure.ac"
+[[ "${CARCH}" == "x86_64" ]] && _EMU_ARCH="x86_64"
+[[ "${CARCH}" == "i686" ]] && _EMU_ARCH="i386"
- ## fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme
- sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub_bios-${pkgver}/configure.ac"
+pkgname="grub"
+pkgdesc="GNU GRand Unified Bootloader (2)"
+pkgver=2.02.beta2
+pkgrel=8
+epoch=1
+url="https://www.gnu.org/software/grub/"
+arch=('x86_64' 'i686')
+license=('GPL3')
+backup=('boot/grub/grub.cfg' 'etc/grub.d/40_custom')
+install="${pkgname}.install"
+options=('!makeflags')
- ## add the grub-extra sources
- export GRUB_CONTRIB="${srcdir}/grub_bios-${pkgver}/grub-extras/"
- install -d "${srcdir}/grub_bios-${pkgver}/grub-extras"
+conflicts=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy')
+replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}")
+provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}")
- bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
- -C "${srcdir}/grub_bios-${pkgver}/grub-extras"
+makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python2' 'autogen'
+ 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse')
+depends=('sh' 'xz' 'gettext' 'device-mapper')
+optdepends=('freetype2: For grub-mkfont usage'
+ 'fuse: For grub-mount usage'
+ 'dosfstools: For grub-mkrescue FAT FS and EFI support'
+ 'efibootmgr: For grub-install EFI support'
+ 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue'
+ 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems'
+ 'mtools: For grub-mkrescue FAT FS support')
+
+if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then
+ makedepends+=('libusbx' 'sdl')
+ optdepends+=('libusbx: For grub-emu USB support'
+ 'sdl: For grub-emu SDL support')
+fi
+
+source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG}"
+ "grub-extras::git+git://git.sv.gnu.org/grub-extras.git#commit=${_GRUB_EXTRAS_COMMIT}"
+ "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz"
+ "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz.sig"
+ '0001-Fix-security-issue-when-reading-username-and-passwor.patch'
+ 'grub-10_linux-detect-archlinux-initramfs.patch'
+ 'grub-intel-ucode.patch'
+ 'grub-add-GRUB_COLOR_variables.patch'
+ '60_memtest86+'
+ 'grub.default'
+ 'grub.cfg')
- bsdtar xf "${srcdir}/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" \
- -C "${srcdir}/grub_bios-${pkgver}/grub-extras"
+validpgpkeys=('95D2E9AB8740D8046387FD151A09227B1F435A33') #Paul Hardy
- bsdtar xf "${srcdir}/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz" \
- -C "${srcdir}/grub_bios-${pkgver}/grub-extras"
+_pkgver() {
+ cd "${srcdir}/grub-${_pkgver}/"
+ echo "$(git describe --tags)" | sed -e 's|grub.||g' -e 's|-|\.|g'
+}
- ## Requires python2
- sed 's|python |python2 |g' -i "${srcdir}/grub_bios-${pkgver}/autogen.sh"
+prepare() {
+
+ cd "${srcdir}/grub-${_pkgver}/"
- ## start the actual build process
- cd "${srcdir}/grub_bios-${pkgver}"
- ./autogen.sh
+ # CVE-2015-8370
+ patch -Np1 -i ../0001-Fix-security-issue-when-reading-username-and-passwor.patch
+
+ msg "Patch to load Intel microcode"
+ patch -Np1 -i "${srcdir}/grub-intel-ucode.patch"
echo
- CFLAGS="" ./configure \
+ msg "Patch to detect of Arch Linux initramfs images by grub-mkconfig"
+ patch -Np1 -i "${srcdir}/grub-10_linux-detect-archlinux-initramfs.patch"
+ echo
+
+ msg "Patch to enable GRUB_COLOR_* variables in grub-mkconfig"
+ ## Based on http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html
+ patch -Np1 -i "${srcdir}/grub-add-GRUB_COLOR_variables.patch"
+ echo
+
+ msg "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme"
+ sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub-${_pkgver}/configure.ac"
+
+ msg "Fix mkinitcpio 'rw' FS#36275"
+ sed 's| ro | rw |g' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in"
+
+ msg "Fix OS naming FS#33393"
+ sed 's|GNU/Linux|Linux|' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in"
+
+ # msg "autogen.sh requires python (2/3). since bzr is in makedepends, use python2 and no need to pull python3"
+ # sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
+
+ msg "Pull in latest language files"
+ ./linguas.sh
+ echo
+
+ msg "Remove not working langs which need LC_ALL=C.UTF-8"
+ sed -e 's#en@cyrillic en@greek##g' -i "${srcdir}/grub-${_pkgver}/po/LINGUAS"
+
+ msg "Avoid problem with unifont during compile of grub, http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847"
+ cp "${srcdir}/unifont-${_UNIFONT_VER}.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf"
+
+}
+
+_build_grub-common_and_bios() {
+
+ msg "Set ARCH dependent variables for bios build"
+ if [[ "${CARCH}" == 'x86_64' ]]; then
+ _EFIEMU="--enable-efiemu"
+ else
+ _EFIEMU="--disable-efiemu"
+ fi
+
+ msg "Copy the source for building the bios part"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-bios"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Add the grub-extra sources for bios build"
+ install -d "${srcdir}/grub-${_pkgver}-bios/grub-extras"
+ cp -r "${srcdir}/grub-extras/915resolution" "${srcdir}/grub-${_pkgver}-bios/grub-extras/915resolution"
+ export GRUB_CONTRIB="${srcdir}/grub-${_pkgver}-bios/grub-extras/"
+
+ msg "Unset all compiler FLAGS for bios build"
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run autogen.sh for bios build"
+ ./autogen.sh
+ echo
+
+ msg "Run ./configure for bios build"
+ ./configure \
--with-platform="pc" \
--target="i386" \
- --host="${CARCH}-unknown-linux-gnu" \
"${_EFIEMU}" \
--enable-mm-debug \
--enable-nls \
--enable-device-mapper \
--enable-cache-stats \
+ --enable-boot-time \
--enable-grub-mkfont \
--enable-grub-mount \
--prefix="/usr" \
@@ -94,42 +166,47 @@ _build_grub-common_and_bios() {
--infodir="/usr/share/info" \
--datarootdir="/usr/share" \
--sysconfdir="/etc" \
- --program-prefix="" \
+ --program-prefix="" \
--with-bootdir="/boot" \
--with-grubdir="grub" \
+ --disable-silent-rules \
--disable-werror
echo
-
- CFLAGS="" make
+
+ msg "Run make for bios build"
+ make
echo
-
}
-_build_grub-efi-i386() {
-
- ## copy the source for building the efi package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub_efi-${pkgver}"
- cd "${srcdir}/grub_efi-${pkgver}"
- #sed -i -e '/gets is a security/d' grub-core/gnulib/stdio.in.h
- export GRUB_CONTRIB="${srcdir}/grub_efi-${pkgver}/grub-extras/"
- install -d "${srcdir}/grub_efi-${pkgver}/grub-extras"
-
- bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
- -C "${srcdir}/grub_efi-${pkgver}/grub-extras"
-
- cd "${srcdir}/grub_efi-${pkgver}"
+_build_grub-efi() {
+
+ msg "Copy the source for building the ${_EFI_ARCH} efi part"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}"
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
+
+ msg "Unset all compiler FLAGS for ${_EFI_ARCH} efi build"
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
+
+ msg "Run autogen.sh for ${_EFI_ARCH} efi build"
./autogen.sh
echo
-
- CFLAGS="" ./configure \
+
+ msg "Run ./configure for ${_EFI_ARCH} efi build"
+ ./configure \
--with-platform="efi" \
- --target="i386" \
- --host="${CARCH}-unknown-linux-gnu" \
+ --target="${_EFI_ARCH}" \
--disable-efiemu \
--enable-mm-debug \
--enable-nls \
--enable-device-mapper \
--enable-cache-stats \
+ --enable-boot-time \
--enable-grub-mkfont \
--enable-grub-mount \
--prefix="/usr" \
@@ -142,108 +219,178 @@ _build_grub-efi-i386() {
--program-prefix="" \
--with-bootdir="/boot" \
--with-grubdir="grub" \
+ --disable-silent-rules \
--disable-werror
echo
-
- CFLAGS="" make
+
+ msg "Run make for ${_EFI_ARCH} efi build"
+ make
echo
+
+}
+_build_grub-emu() {
+
+ msg "Copy the source for building the emu part"
+ cp -r "${srcdir}/grub-${_pkgver}/" "${srcdir}/grub-${_pkgver}-emu/"
+
+ msg "Unset all compiler FLAGS for emu build"
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ cd "${srcdir}/grub-${_pkgver}-emu/"
+
+ msg "Run autogen.sh for emu build"
+ ./autogen.sh
+ echo
+
+ msg "Run ./configure for emu build"
+ ./configure \
+ --with-platform="emu" \
+ --target="${_EMU_ARCH}" \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --enable-grub-emu-usb=no \
+ --enable-grub-emu-sdl=no \
+ --disable-grub-emu-pci \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/bin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-silent-rules \
+ --disable-werror
+ echo
+
+ msg "Run make for emu build"
+ make
+ echo
+
}
build() {
-
- ## set architecture dependent variables
- if [[ "${CARCH}" == 'x86_64' ]]; then
- _EFIEMU="--enable-efiemu"
- else
- _EFIEMU="--disable-efiemu"
- fi
-
- _HOST="${CARCH}"
-
- cd "${srcdir}/grub-${pkgver}"
- # _get_locale_files
- sed -i -e '/gets is a security/d' grub-core/gnulib/stdio.in.h
+
+ cd "${srcdir}/grub-${_pkgver}/"
+
+ msg "Build grub bios stuff"
_build_grub-common_and_bios
echo
-
- _build_grub-efi-i386
+
+ msg "Build grub ${_EFI_ARCH} efi stuff"
+ _build_grub-efi
echo
-
+
+ if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then
+ msg "Build grub i386 efi stuff"
+ _EFI_ARCH="i386" _build_grub-efi
+ echo
+ fi
+
+ if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then
+ msg "Build grub emu stuff"
+ _build_grub-emu
+ echo
+ fi
+
}
-package_grub-common() {
-
- pkgdesc="GNU GRand Unified Bootloader - Utilities and Common Files"
- depends=('sh' 'xz' 'freetype2' 'gettext' 'device-mapper' 'fuse')
- conflicts=('grub-legacy' 'grub')
- replaces=('grub2-common')
- provides=('grub2-common')
- backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
- optdepends=('libisoburn: provides xorriso for generating grub rescue iso using grub-mkrescue'
- 'os-prober: to detect other OSes when generating grub.cfg in BIOS systems'
- 'mtools: for grub-mkrescue FAT FS support')
- install="grub.install"
- options=('strip' 'purge' 'docs' 'zipman' '!emptydirs')
-
- cd "${srcdir}/grub_bios-${pkgver}"
+_package_grub-common_and_bios() {
+
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run make install for bios build"
make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
-
- ## install extra /etc/grub.d/ files
- install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/grub.d/20_memtest86+"
-
- ## install /etc/default/grub (used by grub-mkconfig)
+
+ msg "Remove gdb debugging related files for bios build"
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
+ msg "Install extra /etc/grub.d/ files"
+ install -D -m0755 "${srcdir}/60_memtest86+" "${pkgdir}/etc/grub.d/60_memtest86+"
+
+ msg "Install /etc/default/grub (used by grub-mkconfig)"
install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
-
- ## install grub.cfg (needed so it doesn't get removed on upgrading because it was previously here)
+
+ msg "Install grub.cfg for backup array"
install -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg"
-
- # remove platform specific files
- rm -rf "${pkgdir}/usr/lib/grub/i386-pc/"
-
+
}
-package_grub-bios() {
-
- pkgdesc="GNU GRand Unified Bootloader - i386 PC BIOS Modules"
- depends=("grub-common=${pkgver}")
- options=('!strip' '!emptydirs')
- replaces=('grub2-bios')
- provides=('grub2-bios')
-
- cd "${srcdir}/grub_bios-${pkgver}"
- make DESTDIR="${pkgdir}/" install
+_package_grub-efi() {
+
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
+
+ msg "Run make install for ${_EFI_ARCH} efi build"
+ make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
-
- ## remove non platform-specific files
- rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
-
- ## remove gdb debugging related files
- rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true
- rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
- rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
-
+
+ msg "Remove gdb debugging related files for ${_EFI_ARCH} efi build"
+ rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
}
-package_grub-efi-i386() {
-
- pkgdesc="GNU GRand Unified Bootloader - i386 UEFI Modules"
- depends=("grub-common=${pkgver}" 'dosfstools' 'efibootmgr')
- options=('!strip' '!emptydirs')
- replaces=('grub2-efi-i386')
- provides=('grub2-efi-i386')
-
- cd "${srcdir}/grub_efi-${pkgver}"
- make DESTDIR="${pkgdir}/" install
+_package_grub-emu() {
+
+ cd "${srcdir}/grub-${_pkgver}-emu/"
+
+ msg "Run make install for emu build"
+ make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
+
+ msg "Remove gdb debugging related files for emu build"
+ rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
+}
- ## remove non platform-specific files
- rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
-
- ## remove gdb debugging related files
- rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.module || true
- rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.image || true
- rm -f "${pkgdir}/usr/lib/grub/i386-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
-
+package() {
+
+ cd "${srcdir}/grub-${_pkgver}/"
+
+ msg "Package grub ${_EFI_ARCH} efi stuff"
+ _package_grub-efi
+
+ if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then
+ msg "Package grub i386 efi stuff"
+ _EFI_ARCH="i386" _package_grub-efi
+ echo
+ fi
+
+ if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then
+ msg "Package grub emu stuff"
+ _package_grub-emu
+ echo
+ fi
+
+ msg "Package grub bios stuff"
+ _package_grub-common_and_bios
+
}
+md5sums=('SKIP'
+ 'SKIP'
+ '728b7439ac733a7c0d56049adec364c7'
+ 'SKIP'
+ '9589ec46a04f9bb4d5da987340a4a324'
+ '945527e0de8d384166a4cf23439ae9ee'
+ 'a678629bc82c4e70c48d28242036d1d7'
+ 'e506ae4a9f9f7d1b765febfa84e10d48'
+ 'be55eabc102f2c60b38ed35c203686d6'
+ 'f01fdebe88709f263ed351747971f5f5'
+ 'c8b9511586d57d6f2524ae7898397a46')
diff --git a/abs/core/grub/__changelog b/abs/core/grub/__changelog
index 0be82a4..a7fcd67 100644
--- a/abs/core/grub/__changelog
+++ b/abs/core/grub/__changelog
@@ -1 +1,5 @@
- -e '/gets is a security/d' grub-core/gnulib/stdio.in.h
+PKGBUILD: change dep python to python2
+grub.default: set to LinHES colors and timeouts
+grub.install: add /boot/grub/locale/en.mo link to quiet error
+grup.install: call systemconfig.py -m advanced instead of grub-mkconfig directly
+ this will make sure the correct setting for the splash is picked up
diff --git a/abs/core/grub/archlinux_grub_mkconfig_fixes.patch b/abs/core/grub/archlinux_grub_mkconfig_fixes.patch
index c8bd3e4..c87a428 100644
--- a/abs/core/grub/archlinux_grub_mkconfig_fixes.patch
+++ b/abs/core/grub/archlinux_grub_mkconfig_fixes.patch
@@ -1,8 +1,8 @@
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
-index 516be86..5f37db2 100644
+index db58ab9..e66e139 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
-@@ -213,6 +213,8 @@ export GRUB_DEFAULT \
+@@ -212,6 +212,8 @@ export GRUB_DEFAULT \
GRUB_THEME \
GRUB_GFXPAYLOAD_LINUX \
GRUB_DISABLE_OS_PROBER \
@@ -12,10 +12,10 @@ index 516be86..5f37db2 100644
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
-index 765bfdc..b148558 100644
+index 9838720..dbb5dd2 100644
--- a/util/grub.d/00_header.in
+++ b/util/grub.d/00_header.in
-@@ -115,6 +115,14 @@ cat <<EOF
+@@ -125,6 +125,14 @@ cat <<EOF
EOF
@@ -31,7 +31,7 @@ index 765bfdc..b148558 100644
gfxterm=0;
for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
-index 14402e8..64c9bb5 100644
+index e27d6f7..0a255f5 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -87,6 +87,8 @@ linux_entry ()
@@ -49,7 +49,7 @@ index 14402e8..64c9bb5 100644
fi
- if [ x$type != xrecovery ] ; then
+ if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then
- save_default_entry | sed -e "s/^/\t/"
+ save_default_entry | grub_add_tab
fi
@@ -132,7 +134,8 @@ linux_entry ()
@@ -60,7 +60,7 @@ index 14402e8..64c9bb5 100644
+
+ message="$(gettext_printf "Loading Linux %s ..." "${version}")"
sed "s/^/$submenu_indentation/" << EOF
- echo '$message'
+ echo '$(echo "$message" | grub_quote)'
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
@@ -190,7 +193,22 @@ while [ "x$list" != "x" ] ; do
alt_version=`echo $version | sed -e "s,\.old$,,g"`
@@ -115,11 +115,11 @@ index 14402e8..64c9bb5 100644
+ done
+ fi
+
- if [ "x$is_first_entry" = xtrue ]; then
+ if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
linux_entry "${OS}" "${version}" simple \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
-@@ -239,8 +274,11 @@ while [ "x$list" != "x" ] ; do
- echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
+@@ -240,8 +275,11 @@ while [ "x$list" != "x" ] ; do
+ is_top_level=false
fi
+ if ! test -e "/etc/arch-release" ; then
@@ -135,7 +135,7 @@ index 14402e8..64c9bb5 100644
# If at least one kernel was found, then we need to
# add a closing '}' for the submenu command.
+if ! test -e "/etc/arch-release" ; then
- if [ x"$is_first_entry" != xtrue ]; then
+ if [ x"$is_top_level" != xtrue ]; then
echo '}'
fi
+fi
diff --git a/abs/core/grub/grub-10_linux-detect-archlinux-initramfs.patch b/abs/core/grub/grub-10_linux-detect-archlinux-initramfs.patch
new file mode 100644
index 0000000..18d9d52
--- /dev/null
+++ b/abs/core/grub/grub-10_linux-detect-archlinux-initramfs.patch
@@ -0,0 +1,54 @@
+From b470ffd22e43acc7c11231180187a720efd88de1 Mon Sep 17 00:00:00 2001
+From: Keshav Amburay <the.ridikulus.rat@gmail.com>
+Date: Sat, 5 Apr 2014 20:40:51 -0400
+Subject: [PATCH] 10_linux: Detect Arch Linux main and fallback initramfs
+ images
+
+---
+ util/grub.d/10_linux.in | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index 00d1931..7d4086b 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -81,6 +81,8 @@ linux_entry ()
+ case $type in
+ recovery)
+ title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;;
++ fallback)
++ title="$(gettext_printf "%s, with Linux %s (fallback initramfs)" "${os}" "${version}")" ;;
+ *)
+ title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
+ esac
+@@ -180,7 +182,7 @@ while [ "x$list" != "x" ] ; do
+ basename=`basename $linux`
+ dirname=`dirname $linux`
+ rel_dirname=`make_system_path_relative_to_its_root $dirname`
+- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
++ version=`echo $basename | sed -e "s,vmlinuz-,,g"`
+ alt_version=`echo $version | sed -e "s,\.old$,,g"`
+ linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+
+@@ -236,6 +238,18 @@ while [ "x$list" != "x" ] ; do
+
+ linux_entry "${OS}" "${version}" advanced \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++
++ if test -e "${dirname}/initramfs-${version}-fallback.img" ; then
++ initrd="initramfs-${version}-fallback.img"
++
++ if test -n "${initrd}" ; then
++ gettext_printf "Found fallback initramfs image: %s\n" "${dirname}/${initrd}" >&2
++ fi
++
++ linux_entry "${OS}" "${version}" fallback \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ fi
++
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${version}" recovery \
+ "single ${GRUB_CMDLINE_LINUX}"
+--
+1.9.1
+
diff --git a/abs/core/grub/grub-2.00-mkinitcpio-0.15.patch b/abs/core/grub/grub-2.00-mkinitcpio-0.15.patch
new file mode 100644
index 0000000..1af848f
--- /dev/null
+++ b/abs/core/grub/grub-2.00-mkinitcpio-0.15.patch
@@ -0,0 +1,11 @@
+--- util/grub.d/10_linux.in.old 2013-07-28 08:55:47.825946239 +0200
++++ util/grub.d/10_linux.in 2013-07-28 08:56:14.082201512 +0200
+@@ -138,7 +138,7 @@
+ message="$(gettext_printf "Loading Linux %s ..." "${version}")"
+ sed "s/^/$submenu_indentation/" << EOF
+ echo '$(echo "$message" | grub_quote)'
+- linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
++ linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} rw ${args}
+ EOF
+ if test -n "${initrd}" ; then
+ # TRANSLATORS: ramdisk isn't identifier. Should be translated.
diff --git a/abs/core/grub/grub-2.00.5086-fix-lvm-parsing.patch b/abs/core/grub/grub-2.00.5086-fix-lvm-parsing.patch
new file mode 100644
index 0000000..60128ba
--- /dev/null
+++ b/abs/core/grub/grub-2.00.5086-fix-lvm-parsing.patch
@@ -0,0 +1,54 @@
+There is no explicit option to turn off alignment; it is implicitly
+disabled if one of --separator or --nameprefixes option is used.
+
+--separator was added in 2007, --nameprefixes - in 2009. So let's use
+--separator to extend range of versions we are compatible with. Note that
+one or another must be used, current parsing is broken otherwise.
+
+Signed-off-by: Andrey Borzenkov <address@hidden>
+
+---
+ util/getroot.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/util/getroot.c b/util/getroot.c
+index 2ad8a55..3afcf96 100644
+--- a/util/getroot.c
++++ b/util/getroot.c
+@@ -1322,7 +1322,7 @@ grub_util_get_dev_abstraction (const char *os_dev)
+ static void
+ pull_lvm_by_command (const char *os_dev)
+ {
+- char *argv[6];
++ char *argv[8];
+ int fd;
+ pid_t pid;
+ FILE *mdadm;
+@@ -1351,12 +1351,17 @@ pull_lvm_by_command (const char *os_dev)
+
+ /* execvp has inconvenient types, hence the casts. None of these
+ strings will actually be modified. */
++ /* by default PV name is left aligned in 10 character field, meaning that
++ we do not know where name ends. Using dummy --separator disables
++ alignment. We have a single field, so separator itself is not output */
+ argv[0] = (char *) "vgs";
+ argv[1] = (char *) "--options";
+ argv[2] = (char *) "pv_name";
+ argv[3] = (char *) "--noheadings";
+- argv[4] = vgname;
+- argv[5] = NULL;
++ argv[4] = (char *) "--separator";
++ argv[5] = (char *) ":";
++ argv[6] = vgname;
++ argv[7] = NULL;
+
+ pid = exec_pipe (argv, &fd);
+ free (vgname);
+@@ -1376,6 +1381,7 @@ pull_lvm_by_command (const char *os_dev)
+ while (getline (&buf, &len, mdadm) > 0)
+ {
+ char *ptr;
++ /* LVM adds two spaces as standard prefix */
+ for (ptr = buf; ptr < buf + 2 && *ptr == ' '; ptr++);
+ if (*ptr == '\0')
+ continue; \ No newline at end of file
diff --git a/abs/core/grub/grub-add-GRUB_COLOR_variables.patch b/abs/core/grub/grub-add-GRUB_COLOR_variables.patch
new file mode 100644
index 0000000..c113a81
--- /dev/null
+++ b/abs/core/grub/grub-add-GRUB_COLOR_variables.patch
@@ -0,0 +1,32 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 3390ba9..c416489 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -218,6 +218,8 @@ export GRUB_DEFAULT \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
+ GRUB_DISABLE_OS_PROBER \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index d2e7252..8259f45 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -125,6 +125,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/abs/core/grub/grub-intel-ucode.patch b/abs/core/grub/grub-intel-ucode.patch
new file mode 100644
index 0000000..de6bd28
--- /dev/null
+++ b/abs/core/grub/grub-intel-ucode.patch
@@ -0,0 +1,26 @@
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index d2e2a8f..f67e50f 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -65,6 +65,12 @@ case x"$GRUB_FS" in
+ ;;
+ esac
+
++intel_ucode=
++if test -e "/boot/intel-ucode.img" ; then
++ gettext_printf "Found Intel Microcode image\n" >&2
++ intel_ucode="$(make_system_path_relative_to_its_root /boot/intel-ucode.img)"
++fi
++
+ title_correction_code=
+
+ linux_entry ()
+@@ -136,7 +142,7 @@ EOF
+ message="$(gettext_printf "Loading initial ramdisk ...")"
+ sed "s/^/$submenu_indentation/" << EOF
+ echo '$(echo "$message" | grub_quote)'
+- initrd ${rel_dirname}/${initrd}
++ initrd ${intel_ucode} ${rel_dirname}/${initrd}
+ EOF
+ fi
+ sed "s/^/$submenu_indentation/" << EOF
diff --git a/abs/core/grub/grub.cfg b/abs/core/grub/grub.cfg
index 1f08102..9d9144f 100644
--- a/abs/core/grub/grub.cfg
+++ b/abs/core/grub/grub.cfg
@@ -78,7 +78,7 @@ set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
-menuentry 'Arch GNU/Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' {
+menuentry 'Arch Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' {
load_video
set gfxpayload=keep
insmod gzio
@@ -91,11 +91,11 @@ menuentry 'Arch GNU/Linux, with Linux core repo kernel' --class arch --class gnu
search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
fi
echo 'Loading Linux core repo kernel ...'
- linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
+ linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 rw quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux.img
}
-menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467' {
+menuentry 'Arch Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467' {
load_video
set gfxpayload=keep
insmod gzio
@@ -108,7 +108,7 @@ menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)' --c
search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
fi
echo 'Loading Linux core repo kernel ...'
- linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
+ linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 rw quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux-fallback.img
}
diff --git a/abs/core/grub/grub.default b/abs/core/grub/grub.default
index fdd1fc3..85c9c8d 100644
--- a/abs/core/grub/grub.default
+++ b/abs/core/grub/grub.default
@@ -1,5 +1,5 @@
GRUB_DEFAULT=0
-GRUB_TIMEOUT=5
+GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
@@ -8,7 +8,7 @@ GRUB_CMDLINE_LINUX=""
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable Hidden Menu, and optionally hide the timeout count
-#GRUB_HIDDEN_TIMEOUT=5
+GRUB_HIDDEN_TIMEOUT=3
#GRUB_HIDDEN_TIMEOUT_QUIET=true
# Uncomment to use basic console
@@ -34,8 +34,8 @@ GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
-#GRUB_COLOR_NORMAL="light-blue/black"
-#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
+GRUB_COLOR_NORMAL="white/blue"
+GRUB_COLOR_HIGHLIGHT="black/yellow"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
diff --git a/abs/core/grub/grub.install b/abs/core/grub/grub.install
index 9188b35..ddd6681 100644
--- a/abs/core/grub/grub.install
+++ b/abs/core/grub/grub.install
@@ -7,23 +7,29 @@ post_install() {
install -D -m0644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg
fi
+ post_upgrade
+}
+
+post_upgrade() {
cat << 'EOM'
-Generating grub.cfg.example config file...
-This may fail on some machines running a custom kernel.
+Generating grub.cfg config file...
EOM
-
- grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null
+
+ systemconfig.py -m advanced
echo "done."
for file in ${filelist[@]}; do
install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null
done
-}
-post_upgrade() {
- for file in ${filelist[@]}; do
- install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null
- done
+ if [[ -d /boot/grub/locale ]] && [[ ! -a /boot/grub/locale/en.mo ]]; then
+ cat << 'EOM'
+Creating link /boot/grub/locale/en.mo ...
+EOM
+ cd /boot/grub/locale
+ ln -s "en@quot.mo" "en.mo"
+ echo "done."
+ fi
}
pre_remove() {
diff --git a/abs/core/grub/grub_bzr_export.sh b/abs/core/grub/grub_bzr_export.sh
deleted file mode 100644
index ff8f99e..0000000
--- a/abs/core/grub/grub_bzr_export.sh
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/env bash
-
-## For actual repos
-
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/lua lua
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/gpxe gpxe
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/ntldr-img ntldr-img
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/915resolution 915resolution
-
-## For launchpad mirror
-
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-lua lua
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-gpxe gpxe
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-ntldr-img ntldr-img
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-915resolution 915resolution
-
-## grub-extras zfs is integrated into grub bzr main repo and is no longer needed separately.
-
-_WD="${PWD}/"
-_OUTPUT_DIR="${_WD}/"
-
-_ACTUAL_PKGVER="2.00"
-
-_GRUB_BZR_REPO_DIR="${_WD}/grub_mainline_BZR/"
-_GRUB_BZR_EXP_REPO_DIR="${_WD}/grub_experimental_BZR/"
-_GRUB_EXTRAS_REPOS_DIR="${_WD}/grub_extras_BZR/"
-
-_MAIN_SNAPSHOT() {
-
- cd "${_GRUB_BZR_REPO_DIR}/"
- echo
-
- _REVNUM="$(bzr revno ${_GRUB_BZR_REPO_DIR})"
- bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar"
- echo
-
- cd "${_OUTPUT_DIR}/"
-
- xz -9 "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar"
- echo
-
-}
-
-_EXP_SNAPSHOT() {
-
- cd "${_GRUB_BZR_EXP_REPO_DIR}/"
- echo
-
- _REVNUM="$(bzr revno ${_GRUB_BZR_EXP_REPO_DIR})"
- bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar"
- echo
-
- cd "${_OUTPUT_DIR}/"
-
- xz -9 "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar"
- echo
-
-}
-
-_EXTRAS_SNAPSHOT() {
-
- cd "${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME}/"
- echo
-
- _REVNUM="$(bzr revno ${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME})"
- bzr export --root="${_GRUB_EXTRAS_NAME}" --format="tar" "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar"
- echo
-
- cd "${_OUTPUT_DIR}/"
- echo
-
- xz -9 "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar"
- echo
-
-}
-
-echo
-
-set -x -e
-
-echo
-
-_MAIN_SNAPSHOT
-
-echo
-
-# _EXP_SNAPSHOT
-
-echo
-
-_GRUB_EXTRAS_NAME="lua"
-_EXTRAS_SNAPSHOT
-
-# _GRUB_EXTRAS_NAME="gpxe"
-# _EXTRAS_SNAPSHOT
-
-_GRUB_EXTRAS_NAME="ntldr-img"
-_EXTRAS_SNAPSHOT
-
-_GRUB_EXTRAS_NAME="915resolution"
-_EXTRAS_SNAPSHOT
-
-echo
-
-set +x +e
-
-echo
-
-unset _WD
-unset _OUTPUT_DIR
-unset _GRUB_BZR_REPO_DIR
-unset _GRUB_EXTRAS_REPOS_DIR
-unset _GRUB_EXTRAS_NAME
diff --git a/abs/core/gtk2/PKGBUILD b/abs/core/gtk2/PKGBUILD
index 4949bfc..81d2f0e 100644
--- a/abs/core/gtk2/PKGBUILD
+++ b/abs/core/gtk2/PKGBUILD
@@ -1,19 +1,23 @@
# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
-pkgbase=gtk2
-pkgname=('gtk2' 'gtk-update-icon-cache')
-pkgver=2.24.25
+pkgname=gtk2
+pkgver=2.24.29
pkgrel=1
-arch=('i686' 'x86_64')
+pkgdesc="GObject-based multi-platform GUI toolkit (legacy)"
+arch=(i686 x86_64)
url="http://www.gtk.org/"
-makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage'
- 'shared-mime-info' 'cairo' 'libcups' 'gdk-pixbuf2' 'gobject-introspection' 'python2')
-license=('LGPL')
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-$pkgver.tar.xz
+depends=(atk pango libxcursor libxinerama libxrandr libxi libxcomposite libxdamage
+ shared-mime-info cairo libcups gtk-update-icon-cache librsvg)
+makedepends=(gobject-introspection python2)
+optdepends=('gnome-themes-standard: Default widget theme'
+ 'adwaita-icon-theme: Default icon theme')
+license=(LGPL)
+install=gtk2.install
+source=(https://download.gnome.org/sources/gtk+/2.24/gtk+-$pkgver.tar.xz
gtkrc xid-collision-debug.patch)
-sha256sums=('38af1020cb8ff3d10dda2c8807f11e92af9d2fa4045de61c62eedb7fbc7ea5b3'
- 'b77a427df55a14182c10ad7e683b4d662df2846fcd38df2aa8918159d6be3ae2'
+sha256sums=('0741c59600d3d810a223866453dc2bbb18ce4723828681ba24aa6519c37631b8'
+ 'bc968e3e4f57e818430130338e5f85a5025e21d7e31a3293b8f5a0e58362b805'
'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558')
prepare() {
@@ -35,15 +39,7 @@ build() {
make
}
-package_gtk2() {
- pkgdesc="GTK+ is a multi-platform toolkit (v2)"
- install=gtk2.install
- depends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage'
- 'shared-mime-info' 'cairo' 'libcups' 'gtk-update-icon-cache')
- optdepends=('gnome-themes-standard: Default widget theme'
- 'gnome-icon-theme: Default icon theme')
- replaces=('gtk2-docs')
-
+package() {
cd gtk+-$pkgver
make DESTDIR="$pkgdir" install
@@ -51,14 +47,7 @@ package_gtk2() {
install -Dm644 "$srcdir/gtkrc" "$pkgdir/usr/share/gtk-2.0/gtkrc"
- #split this out to use with gtk3 too
- rm $pkgdir/usr/bin/gtk-update-icon-cache
+ rm "$pkgdir/usr/bin/gtk-update-icon-cache"
}
-package_gtk-update-icon-cache() {
- pkgdesc="The GTK+ update icon cache tool"
- depends=('gdk-pixbuf2>=2.24.1-3' 'hicolor-icon-theme')
- install=gtk-update-icon-cache.install
- cd gtk+-$pkgver/gtk
- install -D -m755 gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
-}
+# vim:set noet sw=4:
diff --git a/abs/core/gtk2/gtk-update-icon-cache.install b/abs/core/gtk2/gtk-update-icon-cache.install
deleted file mode 100644
index 1afcc72..0000000
--- a/abs/core/gtk2/gtk-update-icon-cache.install
+++ /dev/null
@@ -1,3 +0,0 @@
-post_install() {
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}
diff --git a/abs/core/gtk2/gtkrc b/abs/core/gtk2/gtkrc
index d2282ac..1ee9497 100644
--- a/abs/core/gtk2/gtkrc
+++ b/abs/core/gtk2/gtkrc
@@ -1,3 +1,3 @@
-gtk-icon-theme-name = "gnome"
+gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita"
gtk-font-name = "Cantarell 11"
diff --git a/abs/core/iguanair/PKGBUILD b/abs/core/iguanair/PKGBUILD
index 417dbf5..6631374 100755
--- a/abs/core/iguanair/PKGBUILD
+++ b/abs/core/iguanair/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=iguanair
-pkgver=1.0.3
-pkgrel=2
+pkgver=1.1.0
+pkgrel=1
url="http://iguanaworks.net"
pkgdesc="Linux Infrared Remote Control usb from iguanaworks"
license=('GPL2' 'LGPL')
@@ -11,11 +11,12 @@ source=(http://iguanaworks.net/downloads/iguanaIR-${pkgver}.tar.bz2)
build() {
cd ${srcdir}/iguanaIR-${pkgver} || return 1
- PYTHON_VERSION=2.7 ./configure
+ PYTHON_VERSION=2.7 ./runCmake
+ cd ${srcdir}/iguanaIR-${pkgver}/build || return 1
make || return 1
}
package() {
- cd ${srcdir}/iguanaIR-${pkgver} || return 1
+ cd ${srcdir}/iguanaIR-${pkgver}/build || return 1
make PREFIX=${pkgdir}/usr DESTDIR=${pkgdir} install || return 1
install -D -m755 igclient ${pkgdir}/usr/bin/
cp igd* ${pkgdir}/usr/bin/
@@ -29,6 +30,10 @@ package() {
cp -r ${srcdir}/iguanaIR-${pkgver}/utils/* ${pkgdir}/usr/share/${pkgname}/utils
cp -r ${srcdir}/iguanaIR-${pkgver}/scripts/* ${pkgdir}/usr/share/${pkgname}/scripts
+ # move lib/udev to usr/lib/udev
+ mv ${pkgdir}/lib/udev ${pkgdir}/usr/lib/
+ rm -rf ${pkgdir}/lib
+
# python2 fix
cd ${pkgdir}/usr/share/${pkgname}/utils
sed -i -e "s|\#\!/usr/bin/python\ \-tt|\#\!/usr/bin/python2\ \-tt|" \
@@ -37,4 +42,4 @@ package() {
sed -i -e "s|\#\!/usr/bin/python\ \-tt|\#\!/usr/bin/python2\ \-tt|" \
-e "s|\#\!/usr/bin/python$|\#\!/usr/bin/python2|" $(ls)
}
-md5sums=('172b897083f014c9b5ade296ccc48298')
+md5sums=('798eda1de8873c8da41fb50ffe221140')
diff --git a/abs/core/iguanair/__changelog b/abs/core/iguanair/__changelog
deleted file mode 100644
index 2421e7e..0000000
--- a/abs/core/iguanair/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-1/30/11 - chw - Changed dep from libusb1 to libusb.
diff --git a/abs/core/imap/PKGBUILD b/abs/core/imap/PKGBUILD
index b251daf..cad646c 100644
--- a/abs/core/imap/PKGBUILD
+++ b/abs/core/imap/PKGBUILD
@@ -1,40 +1,40 @@
# $Id$
-pkgname=imap
+pkgbase=imap
+pkgname=(imap c-client)
pkgver=2007f
-pkgrel=4
-pkgdesc="An IMAP/POP server"
+pkgrel=5
arch=('i686' 'x86_64')
license=('APACHE')
url="http://www.washington.edu/imap"
-depends=('openssl' 'pam')
-provides=('imap-server' 'pop3-server')
-conflicts=('courier-mta' 'courier-imap')
+makedepends=('pam')
source=("ftp://ftp.cac.washington.edu/imap/${pkgname}-${pkgver}.tar.gz"
+ 'c-client-2006k_GENTOO_amd64-so-fix.patch'
'imap' 'ipop2' 'ipop3')
options=('staticlibs')
-backup=(etc/xinetd.d/{imap,ipop2,ipop3} etc/ssl/certs/{imapd,ipop3d}.pem)
md5sums=('2126fd125ea26b73b20f01fcd5940369'
+ '7f3937a871edd54203fe51f91423e204'
'3ae5b3b333bc8ea2da106f6a97d7bd8d'
'448f988dc5f9bdb2223dcea3abc4f5f1'
'1499b13015075f0aafba04324a6f523a')
prepare() {
+ cd $srcdir/$pkgbase-$pkgver
+
sed \
-e "s:-g -fno-omit-frame-pointer -O6:\${CFLAGS}:" \
-e "s:SSLDIR=/usr/local/ssl:SSLDIR=/usr:" \
-e "s:SSLCERTS=\$(SSLDIR)/certs:SSLCERTS=/etc/ssl/certs:" \
- -i $srcdir/$pkgname-$pkgver/src/osdep/unix/Makefile
+ -i src/osdep/unix/Makefile
+
+ patch -p1 -i $srcdir/c-client-2006k_GENTOO_amd64-so-fix.patch
}
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd $srcdir/$pkgbase-$pkgver
# NOTE: if you wish to enforce SSL, use SSLTYPE=unix.nopwd
- if [ "$CARCH" == "x86_64" ]; then
- yes "y" | make lnp SPECIALAUTHENTICATORS=ssl SSLTYPE=unix EXTRACFLAGS="${CFLAGS} -fPIC"
- else yes "y" | make lnp SPECIALAUTHENTICATORS=ssl SSLTYPE=unix
- fi
+ yes "y" | make lnp EXTRAAUTHENTICATORS=gss PASSWDTYPE=pam SPECIALAUTHENTICATORS=ssl SSLTYPE=unix EXTRACFLAGS="${CFLAGS} -fPIC -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lpam"
# create ssl certs for secure imap
for i in imapd ipop3d; do
@@ -59,18 +59,18 @@ EOF
done
}
-package() {
- cd $srcdir/$pkgname-$pkgver
+package_imap() {
+ pkgdesc="An IMAP/POP server"
+ depends=('c-client')
+ provides=('imap-server' 'pop3-server')
+ conflicts=('courier-mta' 'courier-imap')
+ backup=(etc/xinetd.d/{imap,ipop2,ipop3} etc/ssl/certs/{imapd,ipop3d}.pem)
+
+ cd $srcdir/$pkgbase-$pkgver
install -d $pkgdir/usr/bin
install -D -m755 imapd/imapd $pkgdir/usr/bin/imapd
install -D -m755 ipopd/ipop2d $pkgdir/usr/bin/ipop2d
install -D -m755 ipopd/ipop3d $pkgdir/usr/bin/ipop3d
- for i in c-client mail imap4r1 rfc822 linkage misc smtp nntp \
- osdep env_unix env fs ftl nl tcp sslio utf8 utf8aux; do
- install -D -m644 c-client/${i}.h $pkgdir/usr/include/imap/${i}.h
- done
- install -D -m644 c-client/c-client.a $pkgdir/usr/lib/c-client.a
- ln -sf c-client.a $pkgdir/usr/lib/libc-client.a
# install certs
install -D -m600 imapd.pem $pkgdir/etc/ssl/certs/imapd.pem
@@ -81,3 +81,21 @@ package() {
install -D -m644 ../ipop2 $pkgdir/etc/xinetd.d/ipop2
install -D -m644 ../ipop3 $pkgdir/etc/xinetd.d/ipop3
}
+
+package_c-client() {
+ pkgdesc="Imap client library"
+ depends=('pam')
+
+ cd $srcdir/$pkgbase-$pkgver
+
+ for i in c-client mail imap4r1 rfc822 linkage misc smtp nntp \
+ osdep env_unix env fs ftl nl tcp sslio utf8 utf8aux; do
+ install -D -m644 c-client/${i}.h $pkgdir/usr/include/imap/${i}.h
+ done
+ install -D -m644 c-client/c-client.a $pkgdir/usr/lib/c-client.a
+ ln -sf c-client.a $pkgdir/usr/lib/libc-client.a
+
+ install -D -m755 c-client/libc-client.so.1.0.0 $pkgdir/usr/lib/libc-client.so.1.0.0
+ ln -sf /usr/lib/libc-client.so.1.0.0 $pkgdir/usr/lib/libc-client.so.1
+ ln -sf /usr/lib/libc-client.so.1.0.0 $pkgdir/usr/lib/libc-client.so
+}
diff --git a/abs/core/imap/c-client-2006k_GENTOO_amd64-so-fix.patch b/abs/core/imap/c-client-2006k_GENTOO_amd64-so-fix.patch
new file mode 100644
index 0000000..79b067d
--- /dev/null
+++ b/abs/core/imap/c-client-2006k_GENTOO_amd64-so-fix.patch
@@ -0,0 +1,13 @@
+diff -r 7c3e6c6ef2ba src/osdep/unix/Makefile
+--- a/src/osdep/unix/Makefile Thu Feb 21 18:51:32 2008 +0100
++++ b/src/osdep/unix/Makefile Thu Feb 21 18:53:15 2008 +0100
+@@ -962,6 +962,9 @@ onceenv:
+ -DRSHPATH=\"$(RSHPATH)\" -DLOCKPGM=\"$(LOCKPGM)\" > OSCFLAGS
+ echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
+ echo "$(ARRC) $(ARCHIVE) $(BINARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE
++ echo "`$(CAT) CCTYPE` `$(CAT) CFLAGS` `$(CAT) OSFLAGS` -shared \
++ -Wl,-soname,libc-client.so.1 -o libc-client.so.1.0.0 $(BINARIES)" \
++ >> ARCHIVE
+ echo $(OS) > OSTYPE
+ ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy
+ ./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS)
diff --git a/abs/core/initscripts/PKGBUILD b/abs/core/initscripts/PKGBUILD
index ca5b4c1..5eae239 100644
--- a/abs/core/initscripts/PKGBUILD
+++ b/abs/core/initscripts/PKGBUILD
@@ -4,8 +4,8 @@
# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=initscripts
-pkgver=2014.03.1
-pkgrel=2
+pkgver=2014.09.1
+pkgrel=1
pkgdesc="Maintained fork of system initialization/bootup scripts"
arch=('any')
url="https://bitbucket.org/TZ86/initscripts-fork/overview"
@@ -24,7 +24,7 @@ optdepends=('dhcpcd: DHCP network configuration'
makedepends=(asciidoc)
install=initscripts.install
source=(https://bitbucket.org/TZ86/$pkgname-fork/get/$pkgver.tar.bz2)
-md5sums=('f13aab36792429344ff685b64206722d')
+md5sums=('10428fab486b57ed47f7a19033239446')
package() {
cd TZ86-$pkgname-*
@@ -34,6 +34,9 @@ package() {
#comment out some rc.conf options
sed -i 's/NETWORK_PERSIST=/#NETWORK_PERSIST=/g' ${pkgdir}/etc/rc.conf
sed -i 's/DAEMONS=/#DAEMONS=/g' ${pkgdir}/etc/rc.conf
+
+ #use systemd-tmpfiles instead of arch-tmpfiles
+ sed -i 's:/usr/lib/initscripts/arch-tmpfiles:/usr/bin/systemd-tmpfiles:g' ${pkgdir}/etc/rc.d/functions
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/initscripts/__changelog b/abs/core/initscripts/__changelog
index 6fe0a05..54bfb2d 100644
--- a/abs/core/initscripts/__changelog
+++ b/abs/core/initscripts/__changelog
@@ -3,4 +3,5 @@
- PKGBUILD: removed initscripts from provides, conflicts, replaces
- PKGBUILD: remove dep sysvinit
- PKGBUILD: comment out of rc.conf NETWORK_PERSIST= and DAEMONS=
+- PKGBUILD: use systemd-tmpfiles instead of arch-tmpfiles
- PKGBUILD: add dep bootlogd
diff --git a/abs/core/inputproto/PKGBUILD b/abs/core/inputproto/PKGBUILD
index eadd915..4e102e7 100644
--- a/abs/core/inputproto/PKGBUILD
+++ b/abs/core/inputproto/PKGBUILD
@@ -1,8 +1,9 @@
-# $Id: PKGBUILD 153286 2012-03-12 20:52:13Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=inputproto
-pkgver=2.2
+pkgver=2.3.1
pkgrel=1
pkgdesc="X11 Input extension wire protocol"
arch=(any)
@@ -10,7 +11,7 @@ license=('custom')
url="http://xorg.freedesktop.org/"
makedepends=('xorg-util-macros' 'asciidoc')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('500e0a6dac3523887c0b82753fe5e9d4bb982137')
+sha256sums=('5a47ee62053a6acef3a83f506312494be1461068d0b9269d818839703b95c1d1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/intltool/PKGBUILD b/abs/core/intltool/PKGBUILD
index 44ff833..3ddeaaf 100644
--- a/abs/core/intltool/PKGBUILD
+++ b/abs/core/intltool/PKGBUILD
@@ -1,31 +1,32 @@
-# $Id: PKGBUILD 155385 2012-04-03 01:23:12Z eric $
+# $Id$
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=intltool
-pkgver=0.50.2
+pkgver=0.51.0
pkgrel=1
pkgdesc="The internationalization tool collection"
arch=('any')
url="https://edge.launchpad.net/intltool"
license=('GPL')
depends=('perl-xml-parser')
-source=(http://edge.launchpad.net/intltool/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz{,.asc})
-sha1sums=('7fddbd8e1bf94adbf1bc947cbf3b8ddc2453f8ad'
- '85c71e9651df41fc330c5f171fdfe1bf11e44f65')
+source=(http://launchpad.net/intltool/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz{,.asc})
+sha1sums=('a0c3bcb99d1bcfc5db70f8d848232a47c47da090'
+ 'SKIP')
+validpgpkeys=('9EBD001680E8C8F9FAC61A9BE1A701D4C9DE75B5')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -D -m644 doc/I18N-HOWTO "${pkgdir}/usr/share/doc/${pkgname}/I18N-HOWTO"
}
diff --git a/abs/core/iproute2/PKGBUILD b/abs/core/iproute2/PKGBUILD
index e1f1683..4a6bcc0 100644
--- a/abs/core/iproute2/PKGBUILD
+++ b/abs/core/iproute2/PKGBUILD
@@ -3,14 +3,14 @@
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=iproute2
-pkgver=3.17.0
+pkgver=4.1.1
pkgrel=1
pkgdesc="IP Routing Utilities"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
depends=('glibc' 'iptables')
-makedepends=('linux-atm' 'git')
+makedepends=('linux-atm')
optdepends=('linux-atm: ATM support')
groups=('base')
provides=('iproute')
@@ -19,44 +19,47 @@ replaces=('iproute')
options=('staticlibs' '!makeflags')
backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
-#source=(http://www.kernel.org/pub/linux/utils/net/$pkgname/$pkgname-$pkgver.tar.xz
-source=(git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git#tag=v$pkgver
+validpgpkeys=('9F6FC345B05BE7E766B83C8F80A77F6095CDE47E') # Stephen Hemminger
+source=("http://www.kernel.org/pub/linux/utils/net/${pkgname}/${pkgname}-${pkgver}.tar."{xz,sign}
iproute2-fhs.patch
unwanted-link-help.patch)
-sha1sums=('SKIP'
- '35b8cf2dc94b73eccad427235c07596146cd6f6c'
+sha1sums=('750c17e720b43041c23fed7b8cf0118c0e841036'
+ 'SKIP'
+ '2dc6d8f1a2495a0d51eaa303dcc78ecc0c477935'
'3b1335f4025f657f388fbf4e5a740871e3129c2a')
prepare() {
- cd "$srcdir/$pkgname"
+ cd "${srcdir}/${pkgname}-${pkgver}"
# set correct fhs structure
- patch -Np1 -i "$srcdir/iproute2-fhs.patch"
+ patch -Np1 -i "${srcdir}/iproute2-fhs.patch"
# allow operations on links called "h", "he", "hel", "help"
- patch -Np1 -i "$srcdir/unwanted-link-help.patch"
+ patch -Np1 -i "${srcdir}/unwanted-link-help.patch"
# do not treat warnings as errors
sed -i 's/-Werror//' Makefile
+
}
build() {
- cd "$srcdir/$pkgname"
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure
make
}
package() {
- cd "$srcdir/$pkgname"
+ cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="$pkgdir" install
+ make DESTDIR="${pkgdir}" install
# libnetlink isn't installed, install it FS#19385
- install -Dm644 include/libnetlink.h "$pkgdir/usr/include/libnetlink.h"
- install -Dm644 lib/libnetlink.a "$pkgdir/usr/lib/libnetlink.a"
+ install -Dm644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h"
+ install -Dm644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a"
+
+ # move binaries
+ cd "${pkgdir}"
+ mv sbin usr/bin
- # usrmove
- cd "$pkgdir"
- mv usr/sbin usr/bin
}
diff --git a/abs/core/iproute2/iproute2-fhs.patch b/abs/core/iproute2/iproute2-fhs.patch
index add3635..f632b64 100644
--- a/abs/core/iproute2/iproute2-fhs.patch
+++ b/abs/core/iproute2/iproute2-fhs.patch
@@ -1,75 +1,87 @@
-diff -Naur iproute2-3.4.0/Makefile iproute2-3.4.0.new/Makefile
---- iproute2-3.4.0/Makefile 2012-05-21 23:12:19.000000000 +0200
-+++ iproute2-3.4.0.new/Makefile 2012-06-18 10:23:53.896760158 +0200
-@@ -1,7 +1,8 @@
- ROOTDIR=$(DESTDIR)
- PREFIX=/usr
- LIBDIR=$(PREFIX)/lib
--SBINDIR=/sbin
-+SBINDIR=/usr/sbin
-+SHAREDIR=/usr/share
- CONFDIR=/etc/iproute2
- DATADIR=$(PREFIX)/share
- DOCDIR=$(DATADIR)/doc/iproute2
-diff -Naur iproute2-3.4.0/netem/Makefile iproute2-3.4.0.new/netem/Makefile
---- iproute2-3.4.0/netem/Makefile 2012-05-21 23:12:19.000000000 +0200
-+++ iproute2-3.4.0.new/netem/Makefile 2012-06-18 10:23:53.896760158 +0200
-@@ -20,9 +20,9 @@
+diff --git a/Makefile b/Makefile
+index 67176be..6549447 100644
+--- a/Makefile
++++ b/Makefile
+@@ -13,7 +13,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include
+
+ SHARED_LIBS = y
+
+-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
++DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DDATADIR=\"$(DATADIR)\"
+ ifneq ($(SHARED_LIBS),y)
+ DEFINES+= -DNO_SHARED_LIBS
+ endif
+diff --git a/netem/Makefile b/netem/Makefile
+index e52e125..5b4d283 100644
+--- a/netem/Makefile
++++ b/netem/Makefile
+@@ -20,9 +20,9 @@ stats: stats.c
$(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
install: all
- mkdir -p $(DESTDIR)$(LIBDIR)/tc
-+ mkdir -p $(DESTDIR)$(SHAREDIR)/tc
++ mkdir -p $(DESTDIR)$(DATADIR)/tc
for i in $(DISTDATA); \
- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \
-+ do install -m 644 $$i $(DESTDIR)$(SHAREDIR)/tc; \
++ do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \
done
clean:
-diff -Naur iproute2-3.4.0/tc/Makefile iproute2-3.4.0.new/tc/Makefile
---- iproute2-3.4.0/tc/Makefile 2012-05-21 23:12:19.000000000 +0200
-+++ iproute2-3.4.0.new/tc/Makefile 2012-06-18 10:23:53.893426840 +0200
-@@ -105,18 +105,11 @@
- $(AR) rcs $@ $(TCLIB)
-
- install: all
-- mkdir -p $(MODDESTDIR)
-+ mkdir -p $(DESTDIR)$(LIBDIR)/tc
- install -m 0755 tc $(DESTDIR)$(SBINDIR)
- for i in $(TCSO); \
-- do install -m 755 $$i $(MODDESTDIR); \
-+ do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \
- done
-- if [ ! -f $(MODDESTDIR)/m_ipt.so ]; then \
-- if [ -f $(MODDESTDIR)/m_xt.so ]; \
-- then ln -s m_xt.so $(MODDESTDIR)/m_ipt.so ; \
-- elif [ -f $(MODDESTDIR)/m_xt_old.so ]; \
-- then ln -s m_xt_old.so $(MODDESTDIR)/m_ipt.so ; \
-- fi; \
-- fi
+diff --git a/tc/q_netem.c b/tc/q_netem.c
+index cd990a0..7d4e71f 100644
+--- a/tc/q_netem.c
++++ b/tc/q_netem.c
+@@ -113,7 +113,7 @@ static int get_distribution(const char *type, __s16 *data, int maxdata)
+ char *line = NULL;
+ char name[128];
- clean:
- rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \
-diff -Naur iproute2-3.4.0/tc/tc_util.c iproute2-3.4.0.new/tc/tc_util.c
---- iproute2-3.4.0/tc/tc_util.c 2012-05-21 23:12:19.000000000 +0200
-+++ iproute2-3.4.0.new/tc/tc_util.c 2012-06-18 10:23:53.893426840 +0200
-@@ -24,8 +24,8 @@
- #include "utils.h"
- #include "tc_util.h"
-
--#ifndef LIBDIR
--#define LIBDIR "/usr/lib"
-+#ifndef SHAREDIR
-+#define SHAREDIR "/usr/share"
+- snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type);
++ snprintf(name, sizeof(name), "%s/%s.dist", get_tc_datadir(), type);
+ if ((f = fopen(name, "r")) == NULL) {
+ fprintf(stderr, "No distribution data for %s (%s: %s)\n",
+ type, name, strerror(errno));
+diff --git a/tc/tc_util.c b/tc/tc_util.c
+index aa6de24..22bb6d5 100644
+--- a/tc/tc_util.c
++++ b/tc/tc_util.c
+@@ -32,6 +32,10 @@
+ #define LIBDIR "/usr/lib"
#endif
- const char *get_tc_lib(void)
-@@ -34,7 +34,7 @@
-
- lib_dir = getenv("TC_LIB_DIR");
- if (!lib_dir)
-- lib_dir = LIBDIR "/tc/";
-+ lib_dir = SHAREDIR "/tc/";
++#ifndef DATADIR
++#define DATADIR "/usr/share"
++#endif
++
+ static struct db_names *cls_names = NULL;
+ #define NAMES_DB "/etc/iproute2/tc_cls"
+@@ -73,6 +77,17 @@ const char *get_tc_lib(void)
return lib_dir;
}
+
++const char *get_tc_datadir(void)
++{
++ const char *data_dir;
++
++ data_dir = getenv("TC_DATA_DIR");
++ if (!data_dir)
++ data_dir = DATADIR "/tc/";
++
++ return data_dir;
++}
++
+ int get_qdisc_handle(__u32 *h, const char *str)
+ {
+ __u32 maj;
+diff --git a/tc/tc_util.h b/tc/tc_util.h
+index 61e60b1..6d448de 100644
+--- a/tc/tc_util.h
++++ b/tc/tc_util.h
+@@ -55,6 +55,7 @@ struct exec_util {
+ };
+
+ extern const char *get_tc_lib(void);
++extern const char *get_tc_datadir(void);
+
+ extern struct qdisc_util *get_qdisc_kind(const char *str);
+ extern struct filter_util *get_filter_kind(const char *str);
diff --git a/abs/core/ivtv-utils/PKGBUILD b/abs/core/ivtv-utils/PKGBUILD
index b92f274..b801f8b 100644
--- a/abs/core/ivtv-utils/PKGBUILD
+++ b/abs/core/ivtv-utils/PKGBUILD
@@ -1,24 +1,25 @@
-# $Id: PKGBUILD 89079 2010-08-29 10:28:03Z thomas $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
-# Contributor: Andrea Scarpino <bash.lnx@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
pkgname=ivtv-utils
pkgver=1.4.1
-pkgrel=3
+pkgrel=7
pkgdesc="Userspace utilities for Hauppauge PVR cards"
arch=('i686' 'x86_64')
license=('GPL')
url="http://ivtvdriver.org"
-source=(http://dl.ivtvdriver.org/ivtv/stable/${pkgname}-${pkgver}.tar.gz
- http://dl.ivtvdriver.org/ivtv/firmware/ivtv-firmware.tar.gz)
+# source=("http://dl.ivtvdriver.org/ivtv/stable/${pkgname}-${pkgver}.tar.gz"
+# "http://dl.ivtvdriver.org/ivtv/firmware/ivtv-firmware.tar.gz")
+source=("http://http.debian.net/debian/pool/contrib/i/$pkgname/${pkgname}_${pkgver}.orig.tar.gz"
+ "http://pkgs.fedoraproject.org/repo/pkgs/ivtv-firmware/ivtv-firmware-20080701.tar.gz/b9a871f1c569025be9c48a77b3515faf/ivtv-firmware-20080701.tar.gz")
depends=('gcc-libs')
-install=ivtv-utils.install
md5sums=('3a4219d698262ca2b28e41f0f547b0a2'
'b9a871f1c569025be9c48a77b3515faf')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make || return 1
+ make
}
package() {
@@ -27,7 +28,7 @@ package() {
cd "${srcdir}"
for file in v4l-cx2341x-dec.fw v4l-cx2341x-enc.fw v4l-pvrusb2-24xxx-01.fw v4l-pvrusb2-29xxx-01.fw v4l-cx2341x-init.mpg; do
- install -D -m644 $file "${pkgdir}/lib/firmware/$file"
+ install -D -m644 $file "${pkgdir}/usr/lib/firmware/$file"
done
# FS#15133 - files already provided by the kernel-headers package
diff --git a/abs/core/ivtv-utils/ivtv-utils.install b/abs/core/ivtv-utils/ivtv-utils.install
deleted file mode 100644
index 4966d4a..0000000
--- a/abs/core/ivtv-utils/ivtv-utils.install
+++ /dev/null
@@ -1,31 +0,0 @@
-pre_install() {
- /bin/true
-}
-
-post_install() {
- # updating module dependencies
- echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.22-ARCH
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
- /bin/true
-}
-
-post_upgrade() {
- # updating module dependencies
- echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.22-ARCH
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
- /bin/true
-}
-
-post_remove() {
- # updating module dependencies
- echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.22-ARCH
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
- /bin/true
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/ldns/PKGBUILD b/abs/core/ldns/PKGBUILD
index e936b0b..7ed8319 100644
--- a/abs/core/ldns/PKGBUILD
+++ b/abs/core/ldns/PKGBUILD
@@ -1,41 +1,44 @@
-# $Id: PKGBUILD 159413 2012-05-23 22:28:28Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: mathieui <mathieui@mathieui.net>
# Contributor: jiribb <jiribb@gmail.com>
pkgname=ldns
-pkgver=1.6.13
-pkgrel=1
+pkgver=1.6.17
+pkgrel=3
pkgdesc='Fast DNS library supporting recent RFCs'
url='http://www.nlnetlabs.nl/projects/ldns/'
license=('custom:BSD')
arch=('i686' 'x86_64')
-options=('!libtool')
depends=('openssl' 'dnssec-anchors')
optdepends=('libpcap: ldns-dpa tool')
makedepends=('libpcap')
-source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('859f633d10b763f06b602e2113828cbbd964c7eb')
+source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'perl-recent.patch')
+sha1sums=('4218897b3c002aadfc7280b3f40cda829e05c9a4'
+ '026b276a360d29b3bd3690293a27178262a0b3dc')
-build() {
+prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../perl-recent.patch
+}
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
- --enable-static=no \
--disable-rpath \
--with-drill \
--with-examples \
+ --with-trust-anchor=/etc/trusted-key.key \
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
-
make DESTDIR="${pkgdir}" install
-
install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/ldns/perl-recent.patch b/abs/core/ldns/perl-recent.patch
new file mode 100644
index 0000000..ddf711c
--- /dev/null
+++ b/abs/core/ldns/perl-recent.patch
@@ -0,0 +1,12 @@
+diff -Naur old/doc/doxyparse.pl new/doc/doxyparse.pl
+--- old/doc/doxyparse.pl 2014-01-11 06:04:41.000000000 +0900
++++ new/doc/doxyparse.pl 2015-08-08 22:29:34.216889652 +0900
+@@ -273,7 +273,7 @@
+
+ print MAN $MAN_MIDDLE;
+
+- if (defined(@$also)) {
++ if (@$also) {
+ print MAN "\n.SH SEE ALSO\n\\fI";
+ print MAN join "\\fR, \\fI", @$also;
+ print MAN "\\fR.\nAnd ";
diff --git a/abs/core/less/PKGBUILD b/abs/core/less/PKGBUILD
index 4b12894..5a5c2a4 100644
--- a/abs/core/less/PKGBUILD
+++ b/abs/core/less/PKGBUILD
@@ -1,29 +1,31 @@
-# $Id: PKGBUILD 149934 2012-02-11 23:29:36Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Sébastien "Seblu" Luttringer <seblu@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=less
-pkgver=444
-pkgrel=3
-pkgdesc="A terminal based program for viewing text files"
+pkgver=481
+pkgrel=2
+pkgdesc='A terminal based program for viewing text files'
license=('GPL3')
arch=('i686' 'x86_64')
-url="http://www.greenwoodsoftware.com/less"
+url='http://www.greenwoodsoftware.com/less'
groups=('base')
-depends=('ncurses' 'pcre')
-source=(http://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz{,.sig})
-md5sums=('56f9f76ffe13f70155f47f6b3c87d421'
- 'd5fafbd94a9cfdeaad0c82143a033fe5')
+depends=('glibc' 'ncurses' 'pcre')
+validpgpkeys=('AE27252BD6846E7D6EAE1DD6F153A7C833235259') # Mark Nudelman
+source=("http://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig})
+md5sums=('50ef46065c65257141a7340123527767'
+ 'SKIP')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure --prefix=/usr --sysconfdir=/etc --with-regex=pcre
+ cd $pkgname-$pkgver
+ sh configure --prefix=/usr --sysconfdir=/etc --with-regex=pcre
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make prefix="${pkgdir}"/usr install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/libarchive/PKGBUILD b/abs/core/libarchive/PKGBUILD
index 3b1540f..4bb4c70 100644
--- a/abs/core/libarchive/PKGBUILD
+++ b/abs/core/libarchive/PKGBUILD
@@ -3,12 +3,12 @@
pkgname=libarchive
pkgver=3.1.2
-pkgrel=8
+pkgrel=10
pkgdesc="library that can create and read several streaming archive formats"
arch=('i686' 'x86_64')
url="http://libarchive.org/"
license=('BSD')
-depends=('acl' 'attr' 'bzip2' 'expat' 'lzo' 'nettle' 'openssl' 'xz' 'zlib')
+depends=('acl' 'attr' 'bzip2' 'expat' 'lzo' 'nettle>=3.2-1' 'openssl' 'xz' 'zlib')
options=('strip' 'debug' 'libtool')
provides=('libarchive.so')
source=("http://libarchive.org/downloads/$pkgname-$pkgver.tar.gz"
diff --git a/abs/core/libarchive/__changelog b/abs/core/libarchive/__changelog
index a21fb55..e03a304 100644
--- a/abs/core/libarchive/__changelog
+++ b/abs/core/libarchive/__changelog
@@ -1,2 +1,2 @@
-- add nettle as a dep of libarchive. bsdcpio needs nettle when creating
- the LH iso.
+- add nettle and version as a dep of libarchive. bsdcpio needs nettle when creating
+ the LH iso. The version is need to make sure it doesn't break due to lib mismatches.
diff --git a/abs/core/libass/PKGBUILD b/abs/core/libass/PKGBUILD
index 0b860d6..9ac426b 100644
--- a/abs/core/libass/PKGBUILD
+++ b/abs/core/libass/PKGBUILD
@@ -1,32 +1,36 @@
# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
-# Contributor: G_Syme <demichan(at)mail(dot)upb(dot)de>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: G_Syme <demichan@mail.upb.de>
pkgname=libass
-pkgver=0.12.0
+pkgver=0.13.2
pkgrel=1
pkgdesc="A portable library for SSA/ASS subtitles rendering"
arch=('i686' 'x86_64')
url="https://github.com/libass/libass/"
license=('BSD')
-depends=('fribidi' 'fontconfig' 'enca' 'harfbuzz')
+depends=('fribidi' 'fontconfig')
makedepends=('pkg-config' 'yasm')
-source=("${url}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz")
-md5sums=('ba806f521248dd08032d433abc6d5ace')
+provides=('libass.so')
+source=("https://github.com/${pkgname}/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz")
+md5sums=('1c8cbd5751aeb192bda04a65d0464fd9')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --enable-enca \
- --enable-harfbuzz \
- --enable-fontconfig
+ ./configure \
+ --prefix='/usr' \
+ --enable-harfbuzz \
+ --enable-fontconfig
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/libatasmart/0001-Dont-test-undefined-bits.patch b/abs/core/libatasmart/0001-Dont-test-undefined-bits.patch
new file mode 100644
index 0000000..9b32bba
--- /dev/null
+++ b/abs/core/libatasmart/0001-Dont-test-undefined-bits.patch
@@ -0,0 +1,28 @@
+Author: Phillip Susi <psusi@ubuntu.com>
+Subject: fix an incorrect IO error reading SMART status
+Description: The read SMART status command's return status
+ was testing for a success/failure value that included 8
+ bits that are "N/A" according to the standard, and required
+ that they be zeros. At least some drives do not fill them
+ with zeros, so correct this by masking off the undefined
+ bits.
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61998
+Bug-Ubuntu: https://launchpad.net/bugs/1143495
+
+Index: b/atasmart.c
+===================================================================
+--- a/atasmart.c
++++ b/atasmart.c
+@@ -925,10 +925,10 @@
+ /* SAT/USB bridges truncate packets, so we only check for 4F,
+ * not for 2C on those */
+ if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x00C2U)) &&
+- cmd[4] == htons(0x4F00U))
++ (cmd[4] & htons(0xFF00U)) == htons(0x4F00U))
+ *good = TRUE;
+ else if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x002CU)) &&
+- cmd[4] == htons(0xF400U))
++ (cmd[4] & htons(0xFF00U)) == htons(0xF400U))
+ *good = FALSE;
+ else {
+ errno = EIO;
diff --git a/abs/core/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch b/abs/core/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch
new file mode 100644
index 0000000..0655ca4
--- /dev/null
+++ b/abs/core/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch
@@ -0,0 +1,93 @@
+From 6846b7c2431dbeaddd9f931c609b522c04e55732 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Fri, 19 Mar 2010 14:56:06 +0100
+Subject: [PATCH 2/2] Drop our own "many bad sectors" heuristic
+
+This currently causes a lot of false positives, because in many cases our
+threshold is either overly pessimistically low, or the raw value is implausibly
+high. Just use the normalized values vs. threshold for now.
+
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=25772
+Bug-Ubuntu: https://launchpad.net/bugs/438136
+---
+ atasmart.c | 33 +++++++++++----------------------
+ 1 files changed, 11 insertions(+), 22 deletions(-)
+
+Index: libatasmart/atasmart.c
+===================================================================
+--- libatasmart.orig/atasmart.c 2012-05-23 08:34:14.007836753 +0200
++++ libatasmart/atasmart.c 2012-05-23 08:34:43.903835695 +0200
+@@ -130,6 +130,8 @@
+ SkBool current_pending_sector_found:1;
+ uint64_t reallocated_sector_count;
+ uint64_t current_pending_sector;
++ SkBool reallocated_sector_count_bad:1;
++ SkBool current_pending_sector_bad:1;
+
+ void *blob;
+ };
+@@ -2190,16 +2192,23 @@
+ if (a->pretty_unit != SK_SMART_ATTRIBUTE_UNIT_SECTORS)
+ return;
+
++ if (!a->current_value_valid)
++ return;
++
+ if (!strcmp(a->name, "reallocated-sector-count")) {
+ if (a->pretty_value > d->reallocated_sector_count)
+ d->reallocated_sector_count = a->pretty_value;
+ d->reallocated_sector_count_found = TRUE;
++ if (a->good_now_valid && !a->good_now)
++ d->reallocated_sector_count_bad = TRUE;
+ }
+
+ if (!strcmp(a->name, "current-pending-sector")) {
+ if (a->pretty_value > d->current_pending_sector)
+ d->current_pending_sector = a->pretty_value;
+ d->current_pending_sector_found = TRUE;
++ if (a->good_now_valid && !a->good_now)
++ d->current_pending_sector_bad = TRUE;
+ }
+ }
+
+@@ -2255,24 +2264,9 @@
+ return _P(map[overall]);
+ }
+
+-static uint64_t u64log2(uint64_t n) {
+- unsigned r;
+-
+- if (n <= 1)
+- return 0;
+-
+- r = 0;
+- for (;;) {
+- n = n >> 1;
+- if (!n)
+- return r;
+- r++;
+- }
+-}
+-
+ int sk_disk_smart_get_overall(SkDisk *d, SkSmartOverall *overall) {
+ SkBool good;
+- uint64_t sectors, sector_threshold;
++ uint64_t sectors;
+
+ assert(d);
+ assert(overall);
+@@ -2293,13 +2287,7 @@
+ return -1;
+ sectors = 0;
+ } else {
+-
+- /* We use log2(n_sectors)*1024 as a threshold here. We
+- * had to pick something, and this makes a bit of
+- * sense, or doesn't it? */
+- sector_threshold = u64log2(d->size/512) * 1024;
+-
+- if (sectors >= sector_threshold) {
++ if (d->reallocated_sector_count_bad || d->current_pending_sector_bad) {
+ *overall = SK_SMART_OVERALL_BAD_SECTOR_MANY;
+ return 0;
+ }
diff --git a/abs/core/libatasmart/PKGBUILD b/abs/core/libatasmart/PKGBUILD
index 0d003c0..6e1fed5 100644
--- a/abs/core/libatasmart/PKGBUILD
+++ b/abs/core/libatasmart/PKGBUILD
@@ -1,15 +1,27 @@
-# $Id: PKGBUILD 198126 2013-10-30 12:56:47Z allan $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libatasmart
pkgver=0.19
-pkgrel=2
+pkgrel=3
pkgdesc="ATA S.M.A.R.T. Reading and Parsing Library"
arch=('i686' 'x86_64')
license=('LGPL')
-depends=('udev')
+depends=('libsystemd')
+makedepends=('systemd')
url="http://0pointer.de/blog/projects/being-smart.html"
-source=("http://0pointer.de/public/${pkgname}-${pkgver}.tar.xz")
+source=(http://0pointer.de/public/${pkgname}-${pkgver}.tar.xz
+ 0001-Dont-test-undefined-bits.patch
+ 0002-Drop-our-own-many-bad-sectors-heuristic.patch)
+md5sums=('53afe2b155c36f658e121fe6def33e77'
+ 'eb5d0468b0d47d099e5164372a21f9da'
+ 'cebd1fbed0b05d0458177d6d3ad4ea3f')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../0001-Dont-test-undefined-bits.patch
+ patch -Np1 -i ../0002-Drop-our-own-many-bad-sectors-heuristic.patch
+}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -25,4 +37,3 @@ package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
-md5sums=('53afe2b155c36f658e121fe6def33e77')
diff --git a/abs/core/libcec/PKGBUILD b/abs/core/libcec/PKGBUILD
index b877e84..fc0c6c4 100644
--- a/abs/core/libcec/PKGBUILD
+++ b/abs/core/libcec/PKGBUILD
@@ -4,24 +4,31 @@
# vim: ft=sh:
pkgname=libcec
-pkgver=2.2.0
-pkgrel=1
+pkgver=3.1.0
+pkgrel=2
pkgdesc="Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter"
arch=('i686' 'x86_64')
url="http://libcec.pulse-eight.com/"
license=('GPL')
-depends=('udev' 'lockdev')
+makedepends=('cmake')
+depends=('udev' 'lockdev' 'p8-platform' 'libxrandr')
source=("$pkgname-$pkgver.tar.gz::https://github.com/Pulse-Eight/$pkgname/archive/$pkgname-$pkgver.tar.gz")
+sha256sums=('09109d21a1b03f42c9e341d12600f2e4c41038d640269fa75408e2d36126f921')
build() {
- cd "$pkgname-$pkgname-$pkgver"
- autoreconf -vif
- ./configure --prefix=/usr
- make
+ cd "$pkgname-$pkgname-$pkgver"
+ mkdir build
+ cd build
+ cmake .. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=1 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DCMAKE_INSTALL_LIBDIR_NOARCH=/usr/lib
+ make
}
package() {
- cd "$pkgname-$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
+ cd "$pkgname-$pkgname-$pkgver/build"
+ make DESTDIR="$pkgdir" install
}
-sha256sums=('fd4f47a18d6e0f4b9e6f5831280207ee2b2a5fc2741ae32ae09ad12a8aa52917')
diff --git a/abs/core/libdrm/PKGBUILD b/abs/core/libdrm/PKGBUILD
index 356b9f7..df8c56b 100644
--- a/abs/core/libdrm/PKGBUILD
+++ b/abs/core/libdrm/PKGBUILD
@@ -2,28 +2,37 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdrm
-pkgver=2.4.58
+pkgver=2.4.66
pkgrel=1
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
license=('custom')
depends=('glibc' 'libpciaccess')
-makedepends=('valgrind')
+makedepends=('valgrind' 'xorg-util-macros')
checkdepends=('cairo')
replaces=('libdrm-new' 'libdrm-nouveau')
url="http://dri.freedesktop.org/"
-source=(http://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2
+source=(http://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig}
COPYING)
-sha256sums=('b155fae6b9c9a3b02ef8b77f58c7c219194c996a4018dc55ba66c03996a365dd'
+sha256sums=('79cb8e988749794edfb2d777b298d5292eff353bbbb71ed813589e61d2bc2d76'
+ 'SKIP'
'9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93')
+validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst <maarten.lankhorst@canonical.com>
+validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau <damien.lespiau@intel.com>
+validpgpkeys+=('10A6D91DA1B05BD29F6DEBAC0C74F35979C486BE') # David Airlie <airlied@redhat.com>
+validpgpkeys+=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>
+validpgpkeys+=('D6285B5E899299F3DA746184191C9B905522B045') # Rob Clark <robclark@freedesktop.org>
-build() {
+prepare() {
cd $pkgname-$pkgver
-
+
# pthread is useless in Linux
sed -i "/pthread-stubs/d" configure.ac
autoreconf --force --install
-
+
+}
+build() {
+ cd $pkgname-$pkgver
./configure --prefix=/usr --enable-udev
make
}
diff --git a/abs/core/libevdev/PKGBUILD b/abs/core/libevdev/PKGBUILD
new file mode 100644
index 0000000..5a9a09e
--- /dev/null
+++ b/abs/core/libevdev/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id$
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=libevdev
+pkgver=1.4.2
+pkgrel=1
+pkgdesc="Wrapper library for evdev devices"
+arch=(i686 x86_64)
+url="http://www.freedesktop.org/wiki/Software/libevdev/"
+license=(custom:X11)
+depends=('glibc')
+makedepends=('python2' 'check' 'valgrind' 'doxygen')
+#checkdepends=('kmod')
+source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
+sha256sums=('7c77b213f075706d428a2af54b66bf86b03a68e9fb390e7ec48cf55065970643'
+ 'SKIP')
+validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net>
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+}
+check() {
+ cd $pkgname-$pkgver
+ # test suite requires root access and needs to load uinput module
+ # that's not possible in our chroot
+ #modprobe uinput
+ make check || /bin/true
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/libhdhomerun/PKGBUILD b/abs/core/libhdhomerun/PKGBUILD
index 8c52362..dda33ad 100644
--- a/abs/core/libhdhomerun/PKGBUILD
+++ b/abs/core/libhdhomerun/PKGBUILD
@@ -1,31 +1,27 @@
-# Mainainer: Ryan Corder <ryanc@greengrey.org>
-# Contributor: Garrett Ward <glward1 at gmail dot com>
+# Maintainer: Grey Christoforo <first name [at] last name [dot] net>
pkgname=libhdhomerun
-pkgver=20140121
+pkgver=20150826
pkgrel=1
-pkgdesc="Library for interfacing with HDHomeRun device"
-arch=('i686' 'x86_64')
+pkgdesc="Library and command line utility for interfacing with HDHomeRun device"
+arch=('any')
url="http://www.silicondust.com/downloads"
license=('LGPL')
source=("http://download.silicondust.com/hdhomerun/${pkgname}_${pkgver}.tgz")
-md5sums=('5411594931245c80597ad899eacc7541')
+md5sums=('05f9a9e1fc8f6ec004b399034775cab0')
depends=('glibc')
+optdepends=('hdhomerun-firmware-bin: firmware for hdhomerun devices'
+'hdhomerun_config_gui: hdhomerun configuration gui')
build() {
cd "$srcdir/$pkgname"
-
make
}
package() {
cd "$srcdir/$pkgname"
- mkdir -m 0755 -p $pkgdir/usr/lib
- mkdir -m 0755 -p $pkgdir/usr/bin
- mkdir -m 0755 -p $pkgdir/usr/include/hdhomerun
-
- install -m 644 *.h $pkgdir/usr/include/hdhomerun/
- install -m 755 libhdhomerun.so $pkgdir/usr/lib/libhdhomerun.so
- install -m 755 hdhomerun_config $pkgdir/usr/bin/hdhomerun_config
+ install -D -m 644 *.h -t $pkgdir/usr/include/libhdhomerun/
+ install -D -m 755 libhdhomerun.so $pkgdir/usr/lib/libhdhomerun.so
+ install -D -m 755 hdhomerun_config $pkgdir/usr/bin/hdhomerun_config
}
diff --git a/abs/core/libjpeg-turbo/PKGBUILD b/abs/core/libjpeg-turbo/PKGBUILD
index e2dedc3..954db63 100644
--- a/abs/core/libjpeg-turbo/PKGBUILD
+++ b/abs/core/libjpeg-turbo/PKGBUILD
@@ -4,33 +4,31 @@
# Contributor: Simone Sclavi 'Ito' <darkhado@gmail.com>
pkgname=libjpeg-turbo
-pkgver=1.3.1
-pkgrel=3
+pkgver=1.4.2
+pkgrel=2
pkgdesc='JPEG image codec with accelerated baseline compression and decompression'
url='http://libjpeg-turbo.virtualgl.org/'
-license=('GPL' 'custom')
arch=('i686' 'x86_64')
-makedepends=('nasm')
-source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz"
- 'jstdhuff.patch'
- 'overrun.patch')
-sha1sums=('5fa19252e5ca992cfa40446a0210ceff55fbe468'
- 'f459890257df430dc4e2d8bd3060173a1be7516e'
- '438aba2241b19857bab090c6f61bd3f249f27591')
+license=('custom')
+makedepends=('nasm' 'jdk8-openjdk')
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('2666158ccd5318513f875867bbc4af52f6eb9f0b')
provides=('libjpeg=8.0.2' 'turbojpeg')
conflicts=('libjpeg' 'turbojpeg')
replaces=('libjpeg' 'turbojpeg')
-prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p0 -i ../jstdhuff.patch # FS#42747
- patch -p1 -i ../overrun.patch # FS#42922
-}
+options=('!makeflags')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --with-jpeg8 --mandir=/usr/share/man
+ export JNI_CFLAGS='-I/usr/lib/jvm/default/include -I/usr/lib/jvm/default/include/linux'
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --with-jpeg8 \
+ --with-java \
+
make
}
diff --git a/abs/core/libjpeg-turbo/jstdhuff.patch b/abs/core/libjpeg-turbo/jstdhuff.patch
deleted file mode 100644
index 764147d..0000000
--- a/abs/core/libjpeg-turbo/jstdhuff.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-Index: jcparam.c
-===================================================================
---- jcparam.c (revision 1103)
-+++ jcparam.c (revision 1104)
-@@ -16,6 +16,7 @@
- #define JPEG_INTERNALS
- #include "jinclude.h"
- #include "jpeglib.h"
-+#include "jstdhuff.c"
-
-
- /*
-@@ -166,116 +167,6 @@
-
-
- /*
-- * Huffman table setup routines
-- */
--
--LOCAL(void)
--add_huff_table (j_compress_ptr cinfo,
-- JHUFF_TBL **htblptr, const UINT8 *bits, const UINT8 *val)
--/* Define a Huffman table */
--{
-- int nsymbols, len;
--
-- if (*htblptr == NULL)
-- *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo);
--
-- /* Copy the number-of-symbols-of-each-code-length counts */
-- MEMCOPY((*htblptr)->bits, bits, SIZEOF((*htblptr)->bits));
--
-- /* Validate the counts. We do this here mainly so we can copy the right
-- * number of symbols from the val[] array, without risking marching off
-- * the end of memory. jchuff.c will do a more thorough test later.
-- */
-- nsymbols = 0;
-- for (len = 1; len <= 16; len++)
-- nsymbols += bits[len];
-- if (nsymbols < 1 || nsymbols > 256)
-- ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
--
-- MEMCOPY((*htblptr)->huffval, val, nsymbols * SIZEOF(UINT8));
--
-- /* Initialize sent_table FALSE so table will be written to JPEG file. */
-- (*htblptr)->sent_table = FALSE;
--}
--
--
--LOCAL(void)
--std_huff_tables (j_compress_ptr cinfo)
--/* Set up the standard Huffman tables (cf. JPEG standard section K.3) */
--/* IMPORTANT: these are only valid for 8-bit data precision! */
--{
-- static const UINT8 bits_dc_luminance[17] =
-- { /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
-- static const UINT8 val_dc_luminance[] =
-- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
--
-- static const UINT8 bits_dc_chrominance[17] =
-- { /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
-- static const UINT8 val_dc_chrominance[] =
-- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
--
-- static const UINT8 bits_ac_luminance[17] =
-- { /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
-- static const UINT8 val_ac_luminance[] =
-- { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
-- 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
-- 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
-- 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
-- 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
-- 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
-- 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
-- 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
-- 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
-- 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
-- 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
-- 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
-- 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
-- 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
-- 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
-- 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
-- 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
-- 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
-- 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
-- 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-- 0xf9, 0xfa };
--
-- static const UINT8 bits_ac_chrominance[17] =
-- { /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 };
-- static const UINT8 val_ac_chrominance[] =
-- { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
-- 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
-- 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
-- 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
-- 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
-- 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
-- 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
-- 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
-- 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
-- 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
-- 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
-- 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
-- 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
-- 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
-- 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
-- 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
-- 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
-- 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
-- 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
-- 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-- 0xf9, 0xfa };
--
-- add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[0],
-- bits_dc_luminance, val_dc_luminance);
-- add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[0],
-- bits_ac_luminance, val_ac_luminance);
-- add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[1],
-- bits_dc_chrominance, val_dc_chrominance);
-- add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[1],
-- bits_ac_chrominance, val_ac_chrominance);
--}
--
--
--/*
- * Default parameter setup for compression.
- *
- * Applications that don't choose to use this routine must do their
-@@ -313,7 +204,7 @@
- /* Set up two quantization tables using default quality of 75 */
- jpeg_set_quality(cinfo, 75, TRUE);
- /* Set up two Huffman tables */
-- std_huff_tables(cinfo);
-+ std_huff_tables((j_common_ptr) cinfo);
-
- /* Initialize default arithmetic coding conditioning */
- for (i = 0; i < NUM_ARITH_TBLS; i++) {
-Index: jstdhuff.c
-===================================================================
---- jstdhuff.c (revision 0)
-+++ jstdhuff.c (revision 1104)
-@@ -0,0 +1,133 @@
-+/*
-+* jstdhuff.c
-+*
-+* This file was part of the Independent JPEG Group's software:
-+* Copyright (C) 1991-1998, Thomas G. Lane.
-+* libjpeg-turbo Modifications:
-+* Copyright (C) 2013, D. R. Commander.
-+* For conditions of distribution and use, see the accompanying README file.
-+*
-+* This file contains routines to set the default Huffman tables, if they are
-+* not already set.
-+*/
-+
-+/*
-+ * Huffman table setup routines
-+ */
-+
-+LOCAL(void)
-+add_huff_table (j_common_ptr cinfo,
-+ JHUFF_TBL **htblptr, const UINT8 *bits, const UINT8 *val)
-+/* Define a Huffman table */
-+{
-+ int nsymbols, len;
-+
-+ if (*htblptr == NULL)
-+ *htblptr = jpeg_alloc_huff_table(cinfo);
-+ else
-+ return;
-+
-+ /* Copy the number-of-symbols-of-each-code-length counts */
-+ MEMCOPY((*htblptr)->bits, bits, SIZEOF((*htblptr)->bits));
-+
-+ /* Validate the counts. We do this here mainly so we can copy the right
-+ * number of symbols from the val[] array, without risking marching off
-+ * the end of memory. jchuff.c will do a more thorough test later.
-+ */
-+ nsymbols = 0;
-+ for (len = 1; len <= 16; len++)
-+ nsymbols += bits[len];
-+ if (nsymbols < 1 || nsymbols > 256)
-+ ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
-+
-+ MEMCOPY((*htblptr)->huffval, val, nsymbols * SIZEOF(UINT8));
-+
-+ /* Initialize sent_table FALSE so table will be written to JPEG file. */
-+ (*htblptr)->sent_table = FALSE;
-+}
-+
-+
-+LOCAL(void)
-+std_huff_tables (j_common_ptr cinfo)
-+/* Set up the standard Huffman tables (cf. JPEG standard section K.3) */
-+/* IMPORTANT: these are only valid for 8-bit data precision! */
-+{
-+ JHUFF_TBL **dc_huff_tbl_ptrs, **ac_huff_tbl_ptrs;
-+
-+ static const UINT8 bits_dc_luminance[17] =
-+ { /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
-+ static const UINT8 val_dc_luminance[] =
-+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
-+
-+ static const UINT8 bits_dc_chrominance[17] =
-+ { /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
-+ static const UINT8 val_dc_chrominance[] =
-+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
-+
-+ static const UINT8 bits_ac_luminance[17] =
-+ { /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
-+ static const UINT8 val_ac_luminance[] =
-+ { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
-+ 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
-+ 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
-+ 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
-+ 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
-+ 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
-+ 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
-+ 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
-+ 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
-+ 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
-+ 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
-+ 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
-+ 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
-+ 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
-+ 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
-+ 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
-+ 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
-+ 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
-+ 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
-+ 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-+ 0xf9, 0xfa };
-+
-+ static const UINT8 bits_ac_chrominance[17] =
-+ { /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 };
-+ static const UINT8 val_ac_chrominance[] =
-+ { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
-+ 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
-+ 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
-+ 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
-+ 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
-+ 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
-+ 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
-+ 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
-+ 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
-+ 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
-+ 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
-+ 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
-+ 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
-+ 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
-+ 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
-+ 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
-+ 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
-+ 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
-+ 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
-+ 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-+ 0xf9, 0xfa };
-+
-+ if (cinfo->is_decompressor) {
-+ dc_huff_tbl_ptrs = ((j_decompress_ptr)cinfo)->dc_huff_tbl_ptrs;
-+ ac_huff_tbl_ptrs = ((j_decompress_ptr)cinfo)->ac_huff_tbl_ptrs;
-+ } else {
-+ dc_huff_tbl_ptrs = ((j_compress_ptr)cinfo)->dc_huff_tbl_ptrs;
-+ ac_huff_tbl_ptrs = ((j_compress_ptr)cinfo)->ac_huff_tbl_ptrs;
-+ }
-+
-+ add_huff_table(cinfo, &dc_huff_tbl_ptrs[0], bits_dc_luminance,
-+ val_dc_luminance);
-+ add_huff_table(cinfo, &ac_huff_tbl_ptrs[0], bits_ac_luminance,
-+ val_ac_luminance);
-+ add_huff_table(cinfo, &dc_huff_tbl_ptrs[1], bits_dc_chrominance,
-+ val_dc_chrominance);
-+ add_huff_table(cinfo, &ac_huff_tbl_ptrs[1], bits_ac_chrominance,
-+ val_ac_chrominance);
-+}
-Index: jdhuff.c
-===================================================================
---- jdhuff.c (revision 1103)
-+++ jdhuff.c (revision 1104)
-@@ -21,6 +21,7 @@
- #include "jpeglib.h"
- #include "jdhuff.h" /* Declarations shared with jdphuff.c */
- #include "jpegcomp.h"
-+#include "jstdhuff.c"
-
-
- /*
-@@ -795,6 +796,12 @@
- huff_entropy_ptr entropy;
- int i;
-
-+ /* Motion JPEG frames typically do not include the Huffman tables if they
-+ are the default tables. Thus, if the tables are not set by the time
-+ the Huffman decoder is initialized (usually within the body of
-+ jpeg_start_decompress()), we set them to default values. */
-+ std_huff_tables((j_common_ptr) cinfo);
-+
- entropy = (huff_entropy_ptr)
- (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
- SIZEOF(huff_entropy_decoder));
diff --git a/abs/core/libjpeg-turbo/overrun.patch b/abs/core/libjpeg-turbo/overrun.patch
deleted file mode 100644
index 92f48c3..0000000
--- a/abs/core/libjpeg-turbo/overrun.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur old/jchuff.c new/jchuff.c
---- old/jchuff.c 2014-11-27 06:48:21.009442853 -1000
-+++ new/jchuff.c 2014-11-27 06:48:46.289700004 -1000
-@@ -391,7 +391,16 @@
- #endif
-
-
--#define BUFSIZE (DCTSIZE2 * 2)
-+/* Although it is exceedingly rare, it is possible for a Huffman-encoded
-+ * coefficient block to be larger than the 128-byte unencoded block. For each
-+ * of the 64 coefficients, PUT_BITS is invoked twice, and each invocation can
-+ * theoretically store 16 bits (for a maximum of 2048 bits or 256 bytes per
-+ * encoded block.) If, for instance, one artificially sets the AC
-+ * coefficients to alternating values of 32767 and -32768 (using the JPEG
-+ * scanning order-- 1, 8, 16, etc.), then this will produce an encoded block
-+ * larger than 200 bytes.
-+ */
-+#define BUFSIZE (DCTSIZE2 * 4)
-
- #define LOAD_BUFFER() { \
- if (state->free_in_buffer < BUFSIZE) { \
diff --git a/abs/core/librsvg/PKGBUILD b/abs/core/librsvg/PKGBUILD
index e3e7534..0a479ec 100644
--- a/abs/core/librsvg/PKGBUILD
+++ b/abs/core/librsvg/PKGBUILD
@@ -2,20 +2,19 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=librsvg
-pkgver=2.40.5
+pkgver=2.40.11
pkgrel=1
-epoch=1
+epoch=2
pkgdesc="A SVG viewing library"
arch=(i686 x86_64)
license=('LGPL')
depends=('gdk-pixbuf2' 'pango' 'libcroco')
-makedepends=('intltool' 'gtk3' 'gobject-introspection' 'vala' 'python2')
-optdepends=('gtk3: for rsvg-view-3')
+makedepends=('intltool' 'gobject-introspection' 'vala' 'python2')
options=('!emptydirs')
url="https://live.gnome.org/LibRsvg"
install=librsvg.install
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
-sha256sums=('d14d7b3e25023ce34302022fd7c9b3a468629c94dff6c177874629686bfc71a7')
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('611ac0f544debd0c9bf1ef5509c990d218e83dd1d8c83297075c4b29796a2e02')
build() {
cd $pkgname-$pkgver
diff --git a/abs/core/libseccomp/PKGBUILD b/abs/core/libseccomp/PKGBUILD
new file mode 100644
index 0000000..63a4d4e
--- /dev/null
+++ b/abs/core/libseccomp/PKGBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Patryk Kowalczyk < patryk at kowalczyk dot ws>
+
+pkgname=libseccomp
+pkgver=2.2.3
+pkgrel=1
+pkgdesc='Enhanced seccomp library'
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+url="http://sourceforge.net/projects/libseccomp/"
+depends=('glibc')
+source=("https://github.com/seccomp/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz")
+md5sums=('7db418d35d7a6168400bf6b05502f8bf')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/libspectre/PKGBUILD b/abs/core/libspectre/PKGBUILD
index 0ee5052..b5f1755 100644
--- a/abs/core/libspectre/PKGBUILD
+++ b/abs/core/libspectre/PKGBUILD
@@ -1,15 +1,14 @@
-# $Id: PKGBUILD 165038 2012-08-09 11:32:27Z jgc $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libspectre
pkgver=0.2.7
-pkgrel=1
+pkgrel=2
pkgdesc="Small library for rendering Postscript documents"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.freedesktop.org/wiki/Software/libspectre"
depends=('ghostscript>=9.00')
-options=('!libtool')
source=(http://libspectre.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz)
sha1sums=('a7efd97b82b84ff1bb7a0d88c7e35ad10cc84ea8')
diff --git a/abs/core/libtasn1/PKGBUILD b/abs/core/libtasn1/PKGBUILD
index 20d5bf4..0942ca5 100644
--- a/abs/core/libtasn1/PKGBUILD
+++ b/abs/core/libtasn1/PKGBUILD
@@ -1,23 +1,24 @@
-# $Id: PKGBUILD 160686 2012-06-03 18:36:06Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=libtasn1
-pkgver=2.13
+pkgver=4.7
pkgrel=1
pkgdesc="The ASN.1 library used in GNUTLS"
arch=('i686' 'x86_64')
license=('GPL3' 'LGPL')
url="http://www.gnu.org/software/libtasn1/"
depends=('glibc' 'texinfo')
-options=('!libtool')
install=libtasn1.install
source=(http://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig})
-sha1sums=('89120584bfedd244dab92df99e955a174c481851'
- '2f9ce2aef6c1bd78f462e95de531b2b61f59d13c')
+md5sums=('12d10ca4ae0a3b95f7aa06a076da39ec'
+ 'SKIP')
+validpgpkeys=('1F42418905D8206AA754CCDC29EE58B996865171') #Nikos Mavrogiannopoulos <nmav@gnutls.org>
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr \
--with-packager=Archlinux \
--with-packager-bug-reports="http://bugs.archlinux.org/" \
@@ -26,11 +27,11 @@ build() {
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/libtool/PKGBUILD b/abs/core/libtool/PKGBUILD
index 493c799..07fcee8 100644
--- a/abs/core/libtool/PKGBUILD
+++ b/abs/core/libtool/PKGBUILD
@@ -4,23 +4,29 @@
# NOTE: requires rebuilt with each new gcc version
-pkgname=('libtool' 'libltdl')
-pkgver=2.4.2
-_gccver=4.9.2
-pkgrel=15
+pkgname=libtool
+pkgver=2.4.6
+pkgrel=4
+_gccver=5.3.0
pkgdesc="A generic library support script"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libtool"
license=('GPL')
-makedepends=("gcc=${_gccver}")
+groups=('base-devel')
+depends=('sh' 'tar' 'glibc')
+makedepends=("gcc=$_gccver")
+provides=("libltdl=$pkgver" "libtool-multilib=$pkgver")
+conflicts=('libltdl' 'libtool-multilib')
+replaces=('libltdl' 'libtool-multilib')
+install=libtool.install
source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.xz{,.sig})
-md5sums=('2ec8997e0c07249eb4cbd072417d70fe'
- '1e6ba57420c82c663c85e745d11c7eed')
-validpgpkeys=('CFE2BE707B538E8B26757D84151308092983D606')
+md5sums=('1bfb9b923f2c1339b4d2ce1807064aa5'
+ 'SKIP')
+validpgpkeys=('CFE2BE707B538E8B26757D84151308092983D606') # Gary Vaughan
build() {
cd ${srcdir}/${pkgbase}-${pkgver}
- ./configure --prefix=/usr
+ ./configure --prefix=/usr lt_cv_sys_lib_dlsearch_path_spec="/usr/lib /usr/lib32"
make
}
@@ -29,23 +35,7 @@ check() {
make check
}
-package_libtool() {
- depends=('sh' "libltdl=$pkgver" 'tar' "gcc=${_gccver}")
- groups=('base-devel')
- install=libtool.install
-
- cd ${srcdir}/${pkgbase}-${pkgver}
-
- make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \
- install-data-local
- rm -r ${pkgdir}/usr/share/libtool/libltdl/
-}
-
-package_libltdl() {
- pkgdesc="A system independent dlopen wrapper for GNU libtool"
-
+package() {
cd ${srcdir}/${pkgbase}-${pkgver}
- make DESTDIR=${pkgdir} install-libLTLIBRARIES install-includeHEADERS \
- install-ltdlincludeHEADERS install-data-local
- rm -r ${pkgdir}/usr/share/{aclocal,libtool/config}
+ make DESTDIR=${pkgdir} install
}
diff --git a/abs/core/libunistring/PKGBUILD b/abs/core/libunistring/PKGBUILD
new file mode 100644
index 0000000..a9d9e81
--- /dev/null
+++ b/abs/core/libunistring/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Emmanuel 'guinness' Boudreault
+# Contributor: Patrick McCarty <pnorcks at gmail dot com>
+
+pkgname=libunistring
+pkgver=0.9.6
+pkgrel=1
+pkgdesc='Library for manipulating Unicode strings and C strings'
+url='http://www.gnu.org/software/libunistring/'
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('glibc')
+install=libunistring.install
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('dfae4ff5583649ed24d8f368f1d0543b')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ make -C $pkgname-$pkgver check
+}
+
+package() {
+ make -C $pkgname-$pkgver DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/libunistring/libunistring.install b/abs/core/libunistring/libunistring.install
new file mode 100644
index 0000000..58dd2ef
--- /dev/null
+++ b/abs/core/libunistring/libunistring.install
@@ -0,0 +1,22 @@
+infodir=usr/share/info
+filelist=(libunistring.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/libusb-compat/PKGBUILD b/abs/core/libusb-compat/PKGBUILD
index 76b8f05..b90bdba 100644
--- a/abs/core/libusb-compat/PKGBUILD
+++ b/abs/core/libusb-compat/PKGBUILD
@@ -1,26 +1,20 @@
-# $Id: PKGBUILD 162998 2012-07-05 06:50:21Z tpowa $
-# Maintainer:
+# $Id$
+# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: arjan <arjan@archlinux.org>
pkgname=libusb-compat
-pkgver=0.1.4
-pkgrel=2
+pkgver=0.1.5
+pkgrel=1
pkgdesc="Library to enable user space application programs to communicate with USB devices"
arch=('i686' 'x86_64')
url="http://libusb.sourceforge.net/"
license=('LGPL')
depends=('libusb' 'sh')
-options=('!libtool')
-source=("http://downloads.sourceforge.net/${pkgname%-*}/${pkgname}-${pkgver%.*}/$pkgname-$pkgver/${pkgname}-${pkgver}.tar.bz2"
- "libusb-0.1-libusbx.patch")
-md5sums=('2ca521fffadd0c28fdf174e6ec73865b'
- '1612c3982f307da1332d6db57b16742b')
+source=("http://downloads.sourceforge.net/${pkgname%-*}/${pkgname}-${pkgver%.*}/$pkgname-$pkgver/${pkgname}-${pkgver}.tar.bz2")
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- # http://libusb.org/ticket/138 can be removed with libusbx 1.0.13
- patch -Np0 -i ../libusb-0.1-libusbx.patch
./configure --prefix=/usr --disable-static
make
}
@@ -30,3 +24,4 @@ package() {
make DESTDIR="${pkgdir}" install
}
+md5sums=('2780b6a758a1e2c2943bdbf7faf740e4')
diff --git a/abs/core/libusb-compat/libusb-0.1-libusbx.patch b/abs/core/libusb-compat/libusb-0.1-libusbx.patch
deleted file mode 100644
index 6156365..0000000
--- a/abs/core/libusb-compat/libusb-0.1-libusbx.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-http://bugs.gentoo.org/423135
-
---- libusb/core.c
-+++ libusb/core.c
-@@ -32,12 +32,6 @@
- static libusb_context *ctx = NULL;
- static int usb_debug = 0;
-
--enum usbi_log_level {
-- LOG_LEVEL_DEBUG,
-- LOG_LEVEL_INFO,
-- LOG_LEVEL_WARNING,
-- LOG_LEVEL_ERROR,
--};
-
- #ifdef ENABLE_LOGGING
- #define _usbi_log(level, fmt...) usbi_log(level, __FUNCTION__, fmt)
diff --git a/abs/core/libusb/PKGBUILD b/abs/core/libusb/PKGBUILD
new file mode 100644
index 0000000..01b8d34
--- /dev/null
+++ b/abs/core/libusb/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=libusb
+pkgver=1.0.20
+pkgrel=1
+pkgdesc='Library that provides generic access to USB devices'
+arch=('i686' 'x86_64')
+url='http://libusb.info/'
+license=('LGPL')
+depends=('glibc' 'systemd')
+replaces=('libusb1' 'libusbx')
+provides=("libusbx=$pkgver")
+conflicts=('libusbx')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('1d4eb194eaaa2bcfbba28102768c7dbf')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make -j1
+}
+
+check() {
+ make -C $pkgname-$pkgver check
+}
+
+package () {
+ make -C $pkgname-$pkgver DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/libusbx/PKGBUILD b/abs/core/libusbx/PKGBUILD
deleted file mode 100644
index 2c2795f..0000000
--- a/abs/core/libusbx/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 162758 2012-06-29 16:50:44Z tpowa $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-pkgname=libusbx
-pkgver=1.0.12
-pkgrel=2
-depends=('glibc')
-pkgdesc="Library that provides generic access to USB device"
-arch=(i686 x86_64)
-url="http://libusbx.org"
-license=('LGPL')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-options=(!libtool)
-replaces=('libusb1' 'libusb')
-provides=("libusb=$pkgver")
-conflicts=("libusb")
-md5sums=('c41352ac755c7992edfcbb2ea4ad1349')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --disable-static
- make
-}
-
-check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make check
-}
-
-package () {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/abs/core/libvdpau/PKGBUILD b/abs/core/libvdpau/PKGBUILD
index 911d3e4..e1cb7f9 100644
--- a/abs/core/libvdpau/PKGBUILD
+++ b/abs/core/libvdpau/PKGBUILD
@@ -2,17 +2,18 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libvdpau
-pkgver=0.8
-pkgrel=1
+pkgver=1.1.1
+pkgrel=2
pkgdesc="Nvidia VDPAU library"
arch=(i686 x86_64)
url='http://cgit.freedesktop.org/~aplattner/libvdpau'
depends=('gcc-libs' 'libxext')
-conflicts=('nvidia-utils<190.42-2')
license=('custom')
-source=(http://people.freedesktop.org/~aplattner/vdpau/${pkgname}-${pkgver}.tar.gz)
+source=(http://people.freedesktop.org/~aplattner/vdpau/${pkgname}-${pkgver}.tar.bz2{,.sig})
makedepends=('dri2proto')
-sha256sums=('73a7d11cc1abed8bcaf1392bd361fc00fd43bd85bbeafb12a64bdd0bcb4101ed')
+sha256sums=('857a01932609225b9a3a5bf222b85e39b55c08787d0ad427dbd9ec033d58d736'
+ 'SKIP')
+validpgpkeys=('BD68A042C603DDAD9AA354B0F56ACC8F09BA9635') # Aaron Plattner
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/libvorbis/PKGBUILD b/abs/core/libvorbis/PKGBUILD
index 20b4270..2a733bc 100644
--- a/abs/core/libvorbis/PKGBUILD
+++ b/abs/core/libvorbis/PKGBUILD
@@ -1,34 +1,34 @@
-# $Id: PKGBUILD 149459 2012-02-08 04:00:58Z eric $
-# Maintainer: Tobias Kieslich <tobias@archlinux.org>
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=libvorbis
-pkgver=1.3.3
+pkgver=1.3.5
pkgrel=1
-pkgdesc="Vorbis codec library"
+pkgdesc='Vorbis codec library'
arch=('i686' 'x86_64')
-url="http://www.xiph.org/vorbis/"
+url='http://www.xiph.org/vorbis/'
license=('BSD')
depends=('libogg')
-options=('!libtool')
-source=(http://downloads.xiph.org/releases/vorbis/${pkgname}-${pkgver}.tar.gz)
-md5sums=('6b1a36f0d72332fae5130688e65efe1f')
+provides=('libvorbisfile.so' 'libvorbis.so' 'libvorbisenc.so')
+source=(http://downloads.xiph.org/releases/vorbis/$pkgname-$pkgver.tar.gz)
+md5sums=('7220e089f3be3412a2317d6fde9e3944')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- #-march=i686 optimizes too much, strip it out
- CFLAGS=${CFLAGS/-march=$CARCH} LIBS+="-lm" ./configure --prefix=/usr --disable-static
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --disable-static
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname-$pkgver
make -j1 check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -Dm644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/abs/core/libx11/PKGBUILD b/abs/core/libx11/PKGBUILD
index 4e34502..8090e48 100644
--- a/abs/core/libx11/PKGBUILD
+++ b/abs/core/libx11/PKGBUILD
@@ -3,24 +3,18 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libx11
-pkgver=1.6.2
-pkgrel=2
+pkgver=1.6.3
+pkgrel=1
pkgdesc="X11 client-side library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
depends=('libxcb' 'xproto' 'kbproto')
makedepends=('xorg-util-macros' 'xextproto' 'xtrans' 'inputproto')
license=('custom')
-source=(${url}/releases/individual/lib/libX11-${pkgver}.tar.bz2
- fix_typo.diff)
-sha256sums=('2aa027e837231d2eeea90f3a4afe19948a6eb4c8b2bec0241eba7dbc8106bd16'
- '384a10e57e0d6125ebb7e6eaca046e02f59e8101eaa7ba470e52b5bcc18bedf3')
-
-prepare() {
- cd "${srcdir}/libX11-${pkgver}"
- # upstream patch for https://bugs.archlinux.org/task/40537
- patch -Np1 -i ${srcdir}/fix_typo.diff
-}
+source=(${url}/releases/individual/lib/libX11-${pkgver}.tar.bz2{,.sig})
+sha256sums=('cf31a7c39f2f52e8ebd0db95640384e63451f9b014eed2bb7f5de03e8adc8111'
+ 'SKIP')
+validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E')
build() {
cd "${srcdir}/libX11-${pkgver}"
diff --git a/abs/core/libxext/PKGBUILD b/abs/core/libxext/PKGBUILD
index cfc998d..db60c10 100644
--- a/abs/core/libxext/PKGBUILD
+++ b/abs/core/libxext/PKGBUILD
@@ -1,8 +1,9 @@
-# $Id: PKGBUILD 152773 2012-03-09 16:10:15Z andyrtr $
+# $Id$
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxext
-pkgver=1.3.1
+pkgver=1.3.3
pkgrel=1
pkgdesc="X11 miscellaneous extensions library"
arch=('i686' 'x86_64')
@@ -10,18 +11,17 @@ url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'xextproto')
makedepends=('xorg-util-macros')
-options=('!libtool')
source=("${url}/releases/individual/lib/libXext-${pkgver}.tar.bz2")
-sha1sums=('764ac472ae19a0faade193717a9e0938d3430aaa')
+sha256sums=('b518d4d332231f313371fdefac59e3776f4f0823bcb23cf7c7305bfb57b16e35')
build() {
- cd "${srcdir}/libXext-${pkgver}"
+ cd libXext-${pkgver}
./configure --prefix=/usr --sysconfdir=/etc --disable-static
make
}
package() {
- cd "${srcdir}/libXext-${pkgver}"
+ cd libXext-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
diff --git a/abs/core/libxi/PKGBUILD b/abs/core/libxi/PKGBUILD
index 045880e..99b76eb 100644
--- a/abs/core/libxi/PKGBUILD
+++ b/abs/core/libxi/PKGBUILD
@@ -1,27 +1,29 @@
-# $Id: PKGBUILD 158868 2012-05-12 16:25:29Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxi
-pkgver=1.6.1
+pkgver=1.7.6
pkgrel=1
pkgdesc="X11 Input extension library"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org"
depends=('libxext' 'inputproto')
-makedepends=('pkgconfig' 'xorg-util-macros')
-options=(!libtool)
+makedepends=('pkgconfig' 'xorg-util-macros' 'libxfixes' 'automake')
license=('custom')
-source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.bz2)
-sha1sums=('4b53b41fdaa3acc86606c696c68d5eed11454612')
+source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.bz2{,.sig})
+sha256sums=('1f32a552cec0f056c0260bdb32e853cec0673d2f40646ce932ad5a9f0205b7ac'
+ 'SKIP')
+validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer
build() {
- cd "${srcdir}/libXi-${pkgver}"
+ cd libXi-${pkgver}
./configure --prefix=/usr --sysconfdir=/etc --disable-static
make
}
package() {
- cd "${srcdir}/libXi-${pkgver}"
+ cd libXi-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
diff --git a/abs/core/libxml2/PKGBUILD b/abs/core/libxml2/PKGBUILD
index 0949823..fe3e82c 100644
--- a/abs/core/libxml2/PKGBUILD
+++ b/abs/core/libxml2/PKGBUILD
@@ -4,8 +4,8 @@
# Contributor: John Proctor <jproctor@prium.net>
pkgname=libxml2
-pkgver=2.9.2
-pkgrel=2
+pkgver=2.9.3
+pkgrel=1
pkgdesc="XML parsing library, version 2"
arch=(i686 x86_64)
license=('MIT')
@@ -14,25 +14,22 @@ makedepends=('python2')
optdepends=('python2: python bindings to libxml')
url="http://www.xmlsoft.org/"
source=(ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz
- http://www.w3.org/XML/Test/xmlts20080827.tar.gz
- revert-catalog-initialize.patch
- fix-CVE-2014-3660.patch)
-md5sums=('9e6a9aca9d155737868b3dc5fd82f788'
- 'ae3d1ebe000a3972afa104ca7f0e1b4a'
- 'fdb2e26174ac9cced85ffbf4fb782187'
- '71c88ee5a133461a8ab8aaa194899453')
+ http://www.w3.org/XML/Test/xmlts20080827.tar.gz)
+md5sums=('daece17e045f1c107610e137ab50c179'
+ 'ae3d1ebe000a3972afa104ca7f0e1b4a')
prepare() {
cd ${pkgname}-${pkgver}
sed -e 's|/usr/bin/python -u|/usr/bin/python2 -u|g' -e 's|/usr/bin/python$|/usr/bin/python2|g' -i python/tests/*.py
mv ../xmlconf .
- patch -Np1 -i ../revert-catalog-initialize.patch
- patch -Np1 -i ../fix-CVE-2014-3660.patch
}
build() {
cd ${pkgname}-${pkgver}
./configure --prefix=/usr --with-threads --with-history --with-python=/usr/bin/python2
+
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+
make
}
diff --git a/abs/core/libxml2/fix-CVE-2014-3660.patch b/abs/core/libxml2/fix-CVE-2014-3660.patch
deleted file mode 100644
index 9e6441c..0000000
--- a/abs/core/libxml2/fix-CVE-2014-3660.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 72a46a519ce7326d9a00f0b6a7f2a8e958cd1675 Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Thu, 23 Oct 2014 11:35:36 +0800
-Subject: Fix missing entities after CVE-2014-3660 fix
-
-For https://bugzilla.gnome.org/show_bug.cgi?id=738805
-
-The fix for CVE-2014-3660 introduced a regression in some case
-where entity substitution is required and the entity is used
-first in anotther entity referenced from an attribute value
-
-diff --git a/parser.c b/parser.c
-index 67c9dfd..a8d1b67 100644
---- a/parser.c
-+++ b/parser.c
-@@ -7235,7 +7235,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
- * far more secure as the parser will only process data coming from
- * the document entity by default.
- */
-- if ((ent->checked == 0) &&
-+ if (((ent->checked == 0) ||
-+ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) &&
- ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) ||
- (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) {
- unsigned long oldnbent = ctxt->nbentities;
---
-cgit v0.10.1
-
diff --git a/abs/core/libxml2/revert-catalog-initialize.patch b/abs/core/libxml2/revert-catalog-initialize.patch
deleted file mode 100644
index d98b382..0000000
--- a/abs/core/libxml2/revert-catalog-initialize.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f65128f38289d77ff322d63aef2858cc0a819c34 Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Fri, 17 Oct 2014 17:13:41 +0800
-Subject: Revert "Missing initialization for the catalog module"
-
-This reverts commit 054c716ea1bf001544127a4ab4f4346d1b9947e7.
-As this break xmlcatalog command
-https://bugzilla.redhat.com/show_bug.cgi?id=1153753
-
-diff --git a/parser.c b/parser.c
-index 1d93967..67c9dfd 100644
---- a/parser.c
-+++ b/parser.c
-@@ -14830,9 +14830,6 @@ xmlInitParser(void) {
- #ifdef LIBXML_XPATH_ENABLED
- xmlXPathInit();
- #endif
--#ifdef LIBXML_CATALOG_ENABLED
-- xmlInitializeCatalog();
--#endif
- xmlParserInitialized = 1;
- #ifdef LIBXML_THREAD_ENABLED
- }
---
-cgit v0.10.1
-
diff --git a/abs/core/libxrandr/PKGBUILD b/abs/core/libxrandr/PKGBUILD
index fdb44f0..8828a30 100644
--- a/abs/core/libxrandr/PKGBUILD
+++ b/abs/core/libxrandr/PKGBUILD
@@ -4,16 +4,18 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=libxrandr
-pkgver=1.4.2
-pkgrel=2
+pkgver=1.5.0
+pkgrel=1
pkgdesc="X11 RandR extension library"
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org/"
-depends=('libxext' 'libxrender' 'randrproto>=1.4.0')
+depends=('libxext' 'libxrender' 'randrproto>=1.5.0')
makedepends=('xorg-util-macros')
-source=(${url}/releases/individual/lib/libXrandr-${pkgver}.tar.bz2)
-sha256sums=('caa7b31ac769be51a532343c65376f1d4df3f307afaed58e34fb5e82e8b825ad')
+source=(${url}/releases/individual/lib/libXrandr-${pkgver}.tar.bz2{,.sig})
+sha256sums=('6f864959b7fc35db11754b270d71106ef5b5cf363426aa58589cb8ac8266de58'
+ 'SKIP')
+validpgpkeys=('10A6D91DA1B05BD29F6DEBAC0C74F35979C486BE') # Dave Airlie <airlied@redhat.com>
build() {
cd libXrandr-${pkgver}
diff --git a/abs/core/libxrender/PKGBUILD b/abs/core/libxrender/PKGBUILD
index 66025d5..6974216 100644
--- a/abs/core/libxrender/PKGBUILD
+++ b/abs/core/libxrender/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 152786 2012-03-09 16:24:03Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxrender
-pkgver=0.9.7
+pkgver=0.9.9
pkgrel=1
pkgdesc="X Rendering Extension client library"
arch=('i686' 'x86_64')
@@ -10,18 +10,19 @@ url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11>=1.3.4' 'renderproto')
makedepends=('pkgconfig')
-options=('!libtool')
-source=(${url}/releases/individual/lib/libXrender-${pkgver}.tar.bz2)
-sha1sums=('6e4d75d8316d5217324258f555eba3a5d383feb2')
+source=(${url}/releases/individual/lib/libXrender-${pkgver}.tar.bz2{,.sig})
+sha256sums=('fc2fe57980a14092426dffcd1f2d9de0987b9d40adea663bd70d6342c0e9be1a'
+ 'SKIP')
+validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith <alan.coopersmith@oracle.com>
build() {
- cd "${srcdir}/libXrender-${pkgver}"
+ cd libXrender-${pkgver}
./configure --prefix=/usr --disable-static
make
}
package() {
- cd "${srcdir}/libXrender-${pkgver}"
+ cd libXrender-${pkgver}
make DESTDIR=${pkgdir} install
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
diff --git a/abs/core/libxt/PKGBUILD b/abs/core/libxt/PKGBUILD
index 8fd5b91..d56589d 100644
--- a/abs/core/libxt/PKGBUILD
+++ b/abs/core/libxt/PKGBUILD
@@ -1,8 +1,9 @@
-# $Id: PKGBUILD 153609 2012-03-16 17:09:01Z andyrtr $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxt
-pkgver=1.1.3
+pkgver=1.1.5
pkgrel=1
pkgdesc="X11 toolkit intrinsics library"
arch=('i686' 'x86_64')
@@ -10,18 +11,19 @@ url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libsm' 'libx11')
makedepends=('xorg-util-macros')
-options=('!libtool')
-source=("${url}/releases/individual/lib/libXt-${pkgver}.tar.bz2")
-sha1sums=('2cef068bc4d7170e31b89b5c06aeaf4451a7699a')
+source=(${url}/releases/individual/lib/libXt-${pkgver}.tar.bz2{,.sig})
+sha256sums=('46eeb6be780211fdd98c5109286618f6707712235fdd19df4ce1e6954f349f1a'
+ 'SKIP')
+validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith <alan.coopersmith@oracle.com>
build() {
- cd "${srcdir}/libXt-${pkgver}"
+ cd libXt-${pkgver}
./configure --prefix=/usr --sysconfdir=/etc --disable-static
make
}
package() {
- cd "${srcdir}/libXt-${pkgver}"
+ cd libXt-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
diff --git a/abs/core/lighttpd/PKGBUILD b/abs/core/lighttpd/PKGBUILD
index 8ae5054..d389ecd 100644
--- a/abs/core/lighttpd/PKGBUILD
+++ b/abs/core/lighttpd/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 17048 2008-10-24 16:27:19Z pierre $
+# $Id$
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=lighttpd
-pkgver=1.4.35
-pkgrel=2
+pkgver=1.4.39
+pkgrel=1
pkgdesc='A secure, fast, compliant and very flexible web-server'
license=('custom')
arch=('i686' 'x86_64')
url="http://www.lighttpd.net/"
-depends=('pcre' 'openssl' 'zlib' 'bzip2' 'attr' 'libldap' 'lua51' 'php-cgi')
-makedepends=('fcgi' 'libmysqlclient' 'lua51' 'libxml2' 'e2fsprogs' 'sqlite3' 'gdbm' 'pkgconfig')
+depends=('pcre' 'openssl' 'zlib' 'bzip2' 'attr' 'libldap' 'php-cgi')
+makedepends=('fcgi' 'libmysqlclient' 'lua51' 'libxml2' 'e2fsprogs' 'sqlite' 'gdbm' 'pkgconfig')
optdepends=('libxml2: mod_webdav' \
'e2fsprogs: mod_webdav' \
'libmysqlclient: mod_mysql_vhost' \
@@ -17,9 +17,10 @@ optdepends=('libxml2: mod_webdav' \
'gdbm: mod_trigger_b4_dl')
backup=('etc/lighttpd/lighttpd.conf' 'etc/logrotate.d/lighttpd' 'etc/lighttpd/auth-inc.conf' 'etc/lighttpd/conf.include' 'etc/lighttpd/html.include')
options=('!libtool' 'emptydirs')
-source=("http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${pkgver}.tar.bz2" \
- 'lighttpd.rc.d' 'lighttpd.logrotate.d' 'lighttpd.conf' 'auth-inc.conf' 'ssl-inc.conf')
-#install='lighttpd.install'
+source=("http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${pkgver}.tar.gz"
+ 'lighttpd.logrotate.d' 'lighttpd.conf' 'auth-inc.conf' 'ssl-inc.conf'
+ 'lighttpd.tmpfiles')
+install='lighttpd.install'
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -49,21 +50,20 @@ package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install || return 1
- install -D -m755 ../lighttpd.rc.d ${pkgdir}/etc/rc.d/lighttpd
- install -D -m644 ../lighttpd.logrotate.d ${pkgdir}/etc/logrotate.d/lighttpd
- install -d -m755 -o http -g http ${pkgdir}/var/run/lighttpd/
- install -d -m755 -o http -g http ${pkgdir}/var/log/lighttpd/
+ install -d -m700 -o http -g http ${pkgdir}/var/{log,cache}/lighttpd/
- install -D -m644 ../lighttpd.conf ${pkgdir}/etc/lighttpd/lighttpd.conf
- install -D -m644 ../auth-inc.conf ${pkgdir}/etc/lighttpd/auth-inc.conf
- install -D -m644 ../ssl-inc.conf ${pkgdir}/etc/lighttpd/ssl-inc.conf
+ install -D -m644 ${srcdir}/lighttpd.logrotate.d ${pkgdir}/etc/logrotate.d/lighttpd
+ install -D -m644 ${srcdir}/lighttpd.conf ${pkgdir}/etc/lighttpd/lighttpd.conf
+ install -D -m644 ${srcdir}/auth-inc.conf ${pkgdir}/etc/lighttpd/auth-inc.conf
+ install -D -m644 ${srcdir}/ssl-inc.conf ${pkgdir}/etc/lighttpd/ssl-inc.conf
+ install -D -m644 ${srcdir}/lighttpd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/lighttpd.conf
# set sane defaults
sed -e 's|/srv/www/htdocs/|/srv/http/|' \
-e 's|/srv/www/|/srv/http/|' \
-e 's|#server.username = "wwwrun"|server.username = "http"|' \
-e 's|#server.groupname = "wwwrun"|server.groupname = "http"|' \
- -e 's|#server.pid-file = "/var/run/lighttpd.pid"|server.pid-file = "/var/run/lighttpd/lighttpd.pid"|' \
+ -e 's|#server.pid-file = "/run/lighttpd.pid"|server.pid-file = "/run/lighttpd/lighttpd.pid"|' \
-e 's|/usr/local/bin/php-cgi|/usr/bin/php-cgi|' \
-e 's|"^/mythweb|"^/{1,2}mythweb|' \
-e 's|# "mod_proxy",| "mod_proxy",|' \
@@ -77,9 +77,9 @@ package() {
install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
}
-md5sums=('f7a88130ee9984b421ad8aa80629750a'
- 'bd690eee0d9e51857448770a151023b0'
- 'e17a29ebcdac82a853389c3df468c980'
+md5sums=('b49e133a4b321921331eba5a343872ab'
+ '42d106b101d21ffd76ed9f3f1621e164'
'7945bd60801295010e9e2cac1dba78b7'
'62779511e3f1127c3cc9b94c49f99c29'
- 'ef64c496602b182a551416a8ba6b3d43')
+ 'ef64c496602b182a551416a8ba6b3d43'
+ '1aeda5526e2cf1ca99d6e1571a6d9cf5')
diff --git a/abs/core/lighttpd/lighttpd.install b/abs/core/lighttpd/lighttpd.install
index a921b0f..1b0a4d7 100755
--- a/abs/core/lighttpd/lighttpd.install
+++ b/abs/core/lighttpd/lighttpd.install
@@ -1,7 +1,10 @@
-pre_upgrade() {
- mv /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.old
+post_install() {
+ if [[ ! -d run/lighttpd ]]; then
+ usr/bin/systemd-tmpfiles --create lighttpd.conf
+ fi
+ gen_light_include.py
}
+
post_upgrade() {
- sed -i 's|"^/mythweb|"^/{1,2}mythweb|g' /etc/lighttpd/lighttpd.conf
- touch /etc/lighttpd/lighttpd.user
+ post_install
}
diff --git a/abs/core/lighttpd/lighttpd.logrotate.d b/abs/core/lighttpd/lighttpd.logrotate.d
index 71c5191..068f252 100644
--- a/abs/core/lighttpd/lighttpd.logrotate.d
+++ b/abs/core/lighttpd/lighttpd.logrotate.d
@@ -1,5 +1,8 @@
/var/log/lighttpd/*log {
missingok
+ copytruncate
+ notifempty
+ sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/lighttpd/lighttpd.pid 2>/dev/null` 2> /dev/null || true
endscript
diff --git a/abs/core/lighttpd/lighttpd.rc.d b/abs/core/lighttpd/lighttpd.rc.d
deleted file mode 100644
index 97c315f..0000000
--- a/abs/core/lighttpd/lighttpd.rc.d
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/sbin/lighttpd`
-
-case "$1" in
- start)
- stat_busy "Starting lighttpd Daemon"
- [ -z "$PID" ] && /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf 2>&1
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon lighttpd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping lighttpd Daemon"
- [ ! -z "$PID" ] && kill $PID &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon lighttpd
- rm -f /var/run/lighttpd/lighttpd.pid
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
diff --git a/abs/core/lighttpd/lighttpd.tmpfiles b/abs/core/lighttpd/lighttpd.tmpfiles
new file mode 100644
index 0000000..e39cd42
--- /dev/null
+++ b/abs/core/lighttpd/lighttpd.tmpfiles
@@ -0,0 +1,2 @@
+d /run/lighttpd 755 http http -
+d /var/cache/lighttpd 755 http http 10d
diff --git a/abs/core/linhes-theme/PKGBUILD b/abs/core/linhes-theme/PKGBUILD
index 02ee1db..7b0506c 100644..100755
--- a/abs/core/linhes-theme/PKGBUILD
+++ b/abs/core/linhes-theme/PKGBUILD
@@ -1,18 +1,20 @@
pkgname=linhes-theme
-pkgver=8.3
-pkgrel=1
+pkgver=8.4
+pkgrel=7
pkgdesc="Default LinHES MythTV theme"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://linhes.org/"
patches=('readme.txt.patch' 'osd.xml.patch' 'base.xml.patch'
- 'menu-ui-vert.xml.patch' 'schedule-ui.xml.patch' 'qtlook.txt.patch')
+ 'menu-ui-vert.xml.patch' 'schedule-ui.xml.patch' 'qtlook.txt.patch'
+ 'recordings-ui.xml.patch' 'video-ui.xml.patch')
#The LinHES theme is based on TintedGlass 4.56 by Harley Peters
source=(`echo ${patches[@]:0}` 'themeinfo.xml' 'install-ui.xml' 'osd_subtitle.xml'
- 'background.png' 'preview.png' 'tux_thoughts.png'
- 'LHLogoAndText.png')
+ 'bubble_background.png' 'preview.png' 'blank_coverart.png'
+ 'LHLogo.png' 'LHLogoAndText.png')
+install=$pkgname.install
prepare() {
_gitroot="https://github.com/MythTV-Themes/TintedGlass.git"
@@ -53,11 +55,13 @@ package() {
msg "Copy *.xml and adding backgrounds and images for LinHES"
rsync -pL $srcdir/*.xml $pkgdir/$THEMEROOT/LinHES/
rm -r $pkgdir/$THEMEROOT/LinHES/images/backgrounds/*
- rsync -pL $srcdir/background.png $pkgdir/$THEMEROOT/LinHES/images/backgrounds/
+ rsync -pL $srcdir/bubble_background.png $pkgdir/$THEMEROOT/LinHES/images/backgrounds/background.png
+ rsync -pL $srcdir/blank_coverart.png $pkgdir/$THEMEROOT/LinHES/images/
rsync -pL $srcdir/preview.png $pkgdir/$THEMEROOT/LinHES/
#tux_thoughts.png is the thought bubble for the menu descriptions
- rsync -pL $srcdir/tux_thoughts.png $pkgdir/$THEMEROOT/LinHES/images/
+ #rsync -pL $srcdir/tux_thoughts.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/LHLogo.png $pkgdir/$THEMEROOT/LinHES/images/
rsync -pL $srcdir/LHLogoAndText.png $pkgdir/$THEMEROOT/LinHES/images/
#vertical menu
@@ -80,15 +84,18 @@ package() {
sed -i "s/MIN_VER/${array[1]}${pkgrel}/" $pkgdir/$THEMEROOT/LinHES/themeinfo.xml
}
md5sums=('2dca856c2a4d1f959473512c94e43b60'
- '13bff6425487194cc7bc622e64c6176a'
- '5fccb4e20c15d87223ea5de4c40faa06'
- 'acf2fa359f7be7db30a81cae4dd5fa3f'
+ '985f76e26a526e0727ec7afc44cf9b8c'
+ 'f2b9c85519e80843294315a42870e582'
+ '43b1f213fd392fb07aac503e775e27bc'
'22ff4044c8c29560451fb51dcbf4d44e'
'9fe3371a8b964a7028126405cfaa330b'
+ 'e88dc1587a164aaa15b280cb66f6a82b'
+ '59b43ab3c40390ad4184883a5e23a16a'
'5a8fb2a5f0e657d52be6f0a6a006ce72'
- 'a0201e0aa1608eeab27ee754e4d2c1de'
+ '35d77d91125e46728a30ab23d0903223'
'bfc32b9fa5dca3d46dd6f365ecb449b5'
- '12d26a786fde397348653128a6d7676a'
- '4b1c27297bb5f8d9d7bbaf72b35130b5'
- '2bd09b8049aaf5ba21db5baf3a0ce077'
+ '326a71eb795b322a9ea26f116d890c87'
+ '8fcd0acc11f4db33a9442949fb1a293d'
+ '699e3abe05523f454db3561bfc08b4b2'
+ 'b51ef0cbf8ed2d3a8c1a8257a89aceff'
'09ad14842f828b7a8d24070ec8214fe5')
diff --git a/abs/core/linhes-theme/base.xml.patch b/abs/core/linhes-theme/base.xml.patch
index a0715f6..f672114 100644
--- a/abs/core/linhes-theme/base.xml.patch
+++ b/abs/core/linhes-theme/base.xml.patch
@@ -1,5 +1,5 @@
---- base.xml.orig 2014-10-26 18:47:37.279439028 +0000
-+++ base.xml 2014-10-26 19:02:50.565913686 +0000
+--- base.xml.orig 2016-01-13 18:47:41.473066307 +0000
++++ base.xml 2016-01-13 01:12:57.516392855 +0000
@@ -3,55 +3,55 @@
<mythuitheme>
@@ -195,6 +195,33 @@
</fontdef>
<!-- Base definition of a textarea -->
+@@ -305,7 +305,7 @@
+ <font>baseextrasmallverylightgrey</font>
+ <font state="disabled">baseextrasmalllightgrey</font>
+ <font state="error">baseextrasmallred</font>
+- <font state="warning">baseextrasmallyellow</font>
++ <font state="warning">baseextrasmallorange</font>
+ <font state="normal">baseextrasmallverylightgrey</font>
+ <font state="running">baseextrasmallgreen</font>
+ <cutdown>yes</cutdown>
+@@ -317,7 +317,7 @@
+ <font>basesmallerverylightgrey</font>
+ <font state="disabled">basesmallerlightgrey</font>
+ <font state="error">basesmallerred</font>
+- <font state="warning">basesmalleryellow</font>
++ <font state="warning">basesmallerorange</font>
+ <font state="normal">basesmallerverylightgrey</font>
+ <font state="running">basesmallergreen</font>
+ <cutdown>yes</cutdown>
+@@ -329,7 +329,7 @@
+ <font>basesmallverylightgrey</font>
+ <font state="disabled">basesmalllightgrey</font>
+ <font state="error">basesmallred</font>
+- <font state="warning">basesmallyellow</font>
++ <font state="warning">basesmallorange</font>
+ <font state="normal">basesmallverylightgrey</font>
+ <font state="running">basesmallgreen</font>
+ <cutdown>yes</cutdown>
@@ -411,7 +411,7 @@
<area>283,436,50,11</area>
<type>roundbox</type>
@@ -221,10 +248,10 @@
- <stop position="25" color="#d9d900" alpha="255" />
- <stop position="50" color="#d9d900" />
- <stop position="100" color="#d9d900" />
-+ <stop position="0" color="#ebb81c" />
-+ <stop position="25" color="#ebb81c" alpha="255" />
-+ <stop position="50" color="#ebb81c" />
-+ <stop position="100" color="#ebb81c" />
++ <stop position="0" color="#d97616" />
++ <stop position="25" color="#d97616" alpha="255" />
++ <stop position="50" color="#d97616" />
++ <stop position="100" color="#d97616" />
</gradient>
</fill>
</shape>
@@ -236,10 +263,10 @@
- <stop position="50" color="#d9d900" />
- <stop position="75" color="#d9d900" alpha="255"/>
- <stop position="100" color="#d9d900" />
-+ <stop position="0" color="#ebb81c" />
-+ <stop position="50" color="#ebb81c" />
-+ <stop position="75" color="#ebb81c" alpha="255"/>
-+ <stop position="100" color="#ebb81c" />
++ <stop position="0" color="#d97616" />
++ <stop position="50" color="#d97616" />
++ <stop position="75" color="#d97616" alpha="255"/>
++ <stop position="100" color="#d97616" />
</gradient>
</fill>
</shape>
diff --git a/abs/core/linhes-theme/blank_coverart.png b/abs/core/linhes-theme/blank_coverart.png
new file mode 100755
index 0000000..c44148e
--- /dev/null
+++ b/abs/core/linhes-theme/blank_coverart.png
Binary files differ
diff --git a/abs/core/linhes-theme/bubble_background.png b/abs/core/linhes-theme/bubble_background.png
new file mode 100644
index 0000000..28d83f1
--- /dev/null
+++ b/abs/core/linhes-theme/bubble_background.png
Binary files differ
diff --git a/abs/core/linhes-theme/install-ui.xml b/abs/core/linhes-theme/install-ui.xml
index 1c95ef3..b3f1884 100644
--- a/abs/core/linhes-theme/install-ui.xml
+++ b/abs/core/linhes-theme/install-ui.xml
@@ -9,10 +9,28 @@
<textarea name="time_text" from="basetextarea"/>
<!--version info-->
+ <shape name="version_box" from="base_backdrop">
+ <area>200,30,880,80</area>
+ </shape>
+ <shape name="version_box_backdrop_line" from="base_backdrop_line">
+ <area>200,30,880,80</area>
+ </shape>
+ <shape name="version_box_backdrop_top_line" from="base_highlight_line">
+ <area>202,31,878,2</area>
+ </shape>
+ <shape name="version_box_backdrop_bottom_line" from="base_highlight_line">
+ <area>202,107,878,2</area>
+ </shape>
+ <shape name="version_box_backdrop_left_line" from="base_highlight_vertical_line">
+ <area>202,33,2,80</area>
+ </shape>
+ <shape name="version_box_backdrop_right_line" from="base_highlight_vertical_line">
+ <area>1077,33,2,80</area>
+ </shape>
<textarea name="date_text" from="basetextarea">
<multiline>yes</multiline>
<font>baselarge</font>
- <area>20,22,1240,100</area>
+ <area>20,30,1240,80</area>
<value></value>
<align>allcenter</align>
</textarea>
@@ -57,27 +75,27 @@
<textarea name="mythvantage_text">
<multiline>no</multiline>
<font>basesmall</font>
- <area>20,660,1240,20</area>
+ <area>20,663,1240,20</area>
<value></value>
<align>center</align>
<cutdown>yes</cutdown>
</textarea>
<imagetype name="LHLogo">
- <area>365,450,550,179</area>
+ <area>365,480,550,179</area>
<preserveaspect>true</preserveaspect>
<filename>images/LHLogoAndText.png</filename>
</imagetype>
<imagetype name="logo">
- <area>107,465,150,150</area>
+ <area>107,495,150,150</area>
<preserveaspect>true</preserveaspect>
<filepattern low="1" high="6">/usr/MythVantage/logos/logo-%1.png</filepattern>
<delay>5000</delay>
</imagetype>
<imagetype name="logo2" from="logo">
- <area>1022,465,150,150</area>
+ <area>1022,495,150,150</area>
</imagetype>
</window>
diff --git a/abs/core/linhes-theme/linhes-theme.install b/abs/core/linhes-theme/linhes-theme.install
new file mode 100644
index 0000000..98f6fe3
--- /dev/null
+++ b/abs/core/linhes-theme/linhes-theme.install
@@ -0,0 +1,20 @@
+post_install() {
+ . /usr/MythVantage/bin/install_functions.sh
+ home_check
+ if /usr/bin/ls $MYTHHOME/.mythtv/themecache/LinHES* 1> /dev/null 2>&1
+ then
+ echo "Clearing themecache and quitting mythfrontend."
+ /usr/bin/rm -rf $MYTHHOME/.mythtv/themecache/LinHES*
+ killall mythfrontend
+ fi
+ if /usr/bin/ls $MYTHHOME/.mythtv/cache/themecache/LinHES* 1> /dev/null 2>&1
+ then
+ echo "Clearing themecache and quitting mythfrontend."
+ /usr/bin/rm -rf $MYTHHOME/.mythtv/cache/themecache/LinHES*
+ killall mythfrontend
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/abs/core/linhes-theme/menu-ui-vert.xml.patch b/abs/core/linhes-theme/menu-ui-vert.xml.patch
index 5d6f330..b1dbaaf 100644
--- a/abs/core/linhes-theme/menu-ui-vert.xml.patch
+++ b/abs/core/linhes-theme/menu-ui-vert.xml.patch
@@ -1,56 +1,63 @@
---- menu-ui-vert.xml.orig 2014-12-15 17:49:37.474734296 +0000
-+++ menu-ui-vert.xml 2014-12-15 17:51:03.670344843 +0000
-@@ -18,6 +18,49 @@
- <area>394,0,2,720</area>
+--- menu-ui-vert.xml.orig 2016-01-13 18:48:20.631382184 +0000
++++ menu-ui-vert.xml 2016-04-13 19:40:10.952214840 +0000
+@@ -6,18 +6,53 @@
+ <area>0,0,1280,720</area>
+
+ <shape name="menuscroll-background" from="base_backdrop">
+- <area>87,0,310,720</area>
++ <area>77,0,330,720</area>
+ <type>box</type>
+ </shape>
+
+ <shape name="menuscroll-left-line" from="base_vertical_line">
+- <area>88,0,2,720</area>
++ <area>78,0,2,720</area>
+ </shape>
+
+ <shape name="menuscroll-right-line" from="base_vertical_line">
+- <area>394,0,2,720</area>
++ <area>404,0,2,720</area>
</shape>
-+ <imagetype name="description_background">
-+ <area>594,165,487,210</area>
-+ <filename>images/tux_thoughts.png</filename>
-+ </imagetype>
-+
-+ <textarea name="description">
-+ <area>730,159,250,130</area>
-+ <align>allcenter</align>
-+ <font>basesmallyellow</font>
-+ <multiline>yes</multiline>
-+ <value>I have no idea</value>
-+ </textarea>
-+
-+ <imagetype name="LHlogo">
-+ <area>519,348,638,207</area>
-+ <filename>images/LHLogoAndText.png</filename> <!--851x277 3.072-->
-+ </imagetype>
-+
+ <!--LinHES UPDATE MESSAGE
+ <shape name="update_box" from="base_backdrop">
-+ <area>519,593,638,64</area>
++ <area>485,639,718,53</area>
+ </shape>
+ <shape name="update_box_backdrop_line" from="base_backdrop_line">
-+ <area>519,593,638,64</area>
++ <area>486,640,716,51</area>
+ </shape>
+ <shape name="update_box_backdrop_top_line" from="base_highlight_line">
-+ <area>520,594,636,2</area>
++ <area>487,641,714,2</area>
+ </shape>
+ <shape name="update_box_backdrop_bottom_line" from="base_highlight_line">
-+ <area>520,654,636,2</area>
++ <area>487,688,714,2</area>
+ </shape>
+ <shape name="update_box_backdrop_left_line" from="base_highlight_vertical_line">
-+ <area>520,596,2,54</area>
++ <area>487,643,2,47</area>
+ </shape>
+ <shape name="update_box_backdrop_right_line" from="base_highlight_vertical_line">
-+ <area>1154,596,2,54</area>
++ <area>1199,645,2,47</area>
+ </shape>
-+ <textarea name="update_text" from="description">
-+ <area>529,593,628,64</area>
-+ <value>Updates available in the Service Menu</value>
++ <textarea name="update_text">
++ <area>756,641,437,50</area>
++ <font>basesmallyellow</font>
++ <value>updates available in the Service Menu</value>
++ <multiline>no</multiline>
++ <align>left,vcenter</align>
+ </textarea>
+ -->
+
++ <imagetype name="LHlogo">
++ <area>554,645,172,43</area>
++ <filename>images/LHLogo.png</filename>
++ <!--LHLogoAndText 851x277 3.072-->
++ <!--LHLogo 851x219 3.886-->
++ </imagetype>
++
<statetype name="titles">
<state name="MAIN">
<textarea name="heading">
-@@ -123,6 +166,51 @@
+@@ -123,10 +158,55 @@
<value>Archive Utilities</value>
</textarea>
</state>
@@ -102,36 +109,57 @@
</statetype>
<buttonlist name="menu">
-@@ -136,9 +224,9 @@
+- <area>87,62,310,596</area>
++ <area>77,62,330,586</area>
+ <layout>vertical</layout>
+ <spacing>4</spacing>
+ <scrollstyle>free</scrollstyle>
+@@ -136,9 +216,9 @@
<buttonarea>0,0,100%,100%</buttonarea>
<statetype name="buttonitem">
<state name="active">
- <area>0,0,310,64</area>
-+ <area>0,0,310,66</area>
++ <area>0,0,330,60</area>
<textarea name="buttontext">
- <area>12,0,286,64</area>
-+ <area>12,0,286,66</area>
++ <area>15,0,300,100%</area>
<font>basemediumlightgrey</font>
<multiline>yes</multiline>
<align>allcenter</align>
-@@ -147,12 +235,12 @@
+@@ -147,40 +227,40 @@
</textarea>
</state>
<state name="selectedactive">
- <area>-10,0,330,64</area>
-+ <area>-10,0,330,66</area>
++ <area>-20,0,370,80</area>
++ <shape name="select_bar_backdrop_line" from="base_backdrop_line">
++ <area>0,0,100%,100%-2</area>
++ <type>box</type>
++ </shape>
<group name="select_bar" from="base_select_bar_selectedactive_group">
- <area>0,0,330,100%</area>
+- <area>0,0,330,100%</area>
++ <area>1,1,100%-2,100%-2</area>
</group>
++ <shape name="select_bar_left_line" from="base_highlight_vertical_line">
++ <area>0,0,2,100%</area>
++ </shape>
++ <shape name="select_bar_right_line" from="base_highlight_vertical_line">
++ <area>100%-4,0,2,100%</area>
++ </shape>
<textarea name="buttontext">
- <area>5,0,320,64</area>
-+ <area>5,0,320,66</area>
++ <area>30,0,100%-30,57%</area>
<font>basemediumlargerdarkyellow</font>
- <multiline>yes</multiline>
- <!-- cpu usage is very high
-@@ -162,21 +250,6 @@
- <cutdown>yes</cutdown>
+- <multiline>yes</multiline>
+- <!-- cpu usage is very high
+- <alphapulse min="100" max="255" change="2"/>
+- -->
+- <align>allcenter</align>
+- <cutdown>yes</cutdown>
++ <align>bottom, hcenter</align>
++ <multiline>no</multiline>
<case>upper</case>
++ <scroll direction="left" rate="90" startdelay="1" />
</textarea>
- <group name="variable-size-text-backdrop-group">
- <area>330,12,843,40</area>
@@ -148,6 +176,28 @@
- <multiline>no</multiline>
- </textarea>
- </group>
++ <textarea name="description">
++ <area>30,57%,100%-30,100%</area>
++ <align>top, hcenter</align>
++ <font>baseextrasmallyellow</font>
++ <multiline>no</multiline>
++ <scroll direction="left" rate="90" startdelay="1" />
++ </textarea>
++
</state>
</statetype>
<statetype name="upscrollarrow">
+- <position>147,0</position>
++ <position>161,0</position>
+ <showempty>yes</showempty>
+ <state type="full">
+ <imagetype name="upon">
+@@ -190,7 +270,7 @@
+ </state>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>147,588</position>
++ <position>161,578</position>
+ <showempty>yes</showempty>
+ <state type="full">
+ <imagetype name="dnon">
diff --git a/abs/core/linhes-theme/osd.xml.patch b/abs/core/linhes-theme/osd.xml.patch
index 104e145..cf0dfa9 100644
--- a/abs/core/linhes-theme/osd.xml.patch
+++ b/abs/core/linhes-theme/osd.xml.patch
@@ -1,5 +1,5 @@
---- osd.xml.orig 2014-10-26 18:47:55.853729172 +0000
-+++ osd.xml 2014-11-24 14:41:20.269044512 +0000
+--- osd.xml.orig 2016-04-13 19:13:53.605408871 +0000
++++ osd.xml 2016-04-14 22:00:37.243291623 +0000
@@ -7,13 +7,13 @@
<window name="osd_debug">
<area>0,0,1280,720</area>
@@ -423,7 +423,28 @@
</fontdef>
<shape name="osd-program-editor-backdrop">
-@@ -1749,9 +1737,9 @@
+@@ -1663,13 +1651,17 @@
+ </shape>
+
+ <textarea name="title">
+- <area>104,626,600,24</area>
++ <area>104,626,250,24</area>
+ <font>small</font>
+ <align>left,vcenter</align>
+ </textarea>
+-
++<!--
++ <imagetype name="audiograph">
++ <area>364,628,552,20</area>
++ </imagetype>
++-->
+ <textarea name="seekamount" from="title">
+- <area>876,626,300,24</area>
++ <area>926,626,250,24</area>
+ <align>right,vcenter</align>
+ </textarea>
+
+@@ -1749,9 +1741,9 @@
<window name="MythPopupBox">
<area>0,0,1280,720</area>
@@ -435,7 +456,7 @@
</fontdef>
<fontdef name="smallgrey" from="small">
-@@ -1759,7 +1747,7 @@
+@@ -1759,7 +1751,7 @@
</fontdef>
<fontdef name="smallyellow" from="small">
diff --git a/abs/core/linhes-theme/preview.png b/abs/core/linhes-theme/preview.png
index 506ab1d..7c1efdb 100644..100755
--- a/abs/core/linhes-theme/preview.png
+++ b/abs/core/linhes-theme/preview.png
Binary files differ
diff --git a/abs/core/linhes-theme/recordings-ui.xml.patch b/abs/core/linhes-theme/recordings-ui.xml.patch
new file mode 100644
index 0000000..66f8875
--- /dev/null
+++ b/abs/core/linhes-theme/recordings-ui.xml.patch
@@ -0,0 +1,140 @@
+--- recordings-ui.xml.orig 2016-01-13 18:49:43.937377460 +0000
++++ recordings-ui.xml 2016-02-01 17:30:34.022038184 +0000
+@@ -105,19 +105,11 @@
+ </shape>
+
+ <shape name="description-seperator-top-line" from="base_line">
+- <area>188,487,684,2</area>
++ <area>37,487,835,2</area>
+ </shape>
+
+ <shape name="description-seperator-bottom-line" from="base_line">
+- <area>188,643,684,2</area>
+- </shape>
+-
+- <shape name="coverart-border">
+- <area>37,464,136,204</area>
+- <type>roundbox</type>
+- <fill color="#000000" alpha="0" />
+- <line color="#AAAAAA" alpha="100" width="2" />
+- <cornerradius>6</cornerradius>
++ <area>37,643,835,2</area>
+ </shape>
+
+ <shape name="preview-border">
+@@ -194,6 +186,7 @@
+ <textarea name="buttontext">
+ <area>8,0,284,64</area>
+ <align>allcenter</align>
++ <font>basesmaller</font>
+ <multiline>yes</multiline>
+ </textarea>
+ </state>
+@@ -232,11 +225,12 @@
+ <area>0,0,898,64</area>
+ <textarea name="titlesubtitle" from="base_text_font_state_small">
+ <area>8,2,694,24</area>
+- <font state="normal">basesmall</font>
++ <font state="normal">basesmallyellow</font>
+ <align>vcenter</align>
+ </textarea>
+ <textarea name="shortstartdate" from="titlesubtitle">
+ <area>720,3,80,24</area>
++ <font state="normal">basesmall</font>
+ <align>right,vcenter</align>
+ </textarea>
+ <textarea name="filesize_str" from="base_text_font_state_extrasmall">
+@@ -579,20 +573,20 @@
+ <align>allcenter</align>
+ </textarea>
+ <textarea name="s00e00" from="base_text_font_state_extrasmall">
+- <area>500,42,70,20</area>
++ <area>500,42,80,20</area>
+ <font state="normal">baseextrasmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+ <textarea name="syndicatedepisode" from="base_text_font_state_extrasmall" depends="!s00e00">
+- <area>500,42,70,20</area>
++ <area>500,42,80,20</area>
+ <font state="normal">baseextrasmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ <template>%|[SYNDICATEDEPISODE|]%</template>
+ </textarea>
+ <textarea name="timedate" from="base_text_font_state_extrasmall">
+- <area>575,42,315,20</area>
++ <area>585,42,305,20</area>
+ <font state="normal">baseextrasmall</font>
+ <align>right,vcenter</align>
+ </textarea>
+@@ -606,57 +600,48 @@
+ </statetype>
+ </buttonlist>
+
+- <imagetype name="no_coverart_without_fanart" depends="!fanart">
+- <area>41,468,128,196</area>
+- <filename>images/no_coverart.png</filename>
+- <mask>images/masks/watchrecordings_coverart_mask.png</mask>
+- <preserveaspect>false</preserveaspect>
+- <alpha>255</alpha>
+- </imagetype>
+-
+- <imagetype name="no_coverart_with_fanart" depends="fanart">
+- <area>41,468,128,196</area>
+- <filename>images/no_coverart_with_fanart.png</filename>
+- <mask>images/masks/watchrecordings_coverart_mask.png</mask>
++ <imagetype name="coverart_mask" depends="coverart">
++ <area>28,93,300,338</area>
++ <filename>images/blank_coverart.png</filename>
+ <preserveaspect>false</preserveaspect>
+ <alpha>255</alpha>
+ </imagetype>
+
+ <imagetype name="coverart">
+- <area>41,468,128,196</area>
+- <mask>images/masks/watchrecordings_coverart_mask.png</mask>
+- <preserveaspect>false</preserveaspect>
++ <area>28,93,300,338</area>
++ <preserveaspect>true</preserveaspect>
+ <alpha>255</alpha>
+ </imagetype>
+
++
+ <textarea name="title" from="basetextarea">
+- <area>189,451,682,36</area>
++ <area>38,451,833,36</area>
+ <font>basemediumyellow</font>
+ <align>left,vcenter</align>
+ <template>%TITLE% %|(CATEGORY|)%</template>
+ </textarea>
+
+ <textarea name="description2" from="basetextarea">
+- <area>189,498,682,140</area>
++ <area>38,498,833,140</area>
+ <multiline>yes</multiline>
+ <cutdown>yes</cutdown>
+ <template>%"|SUBTITLE|" %%YEARSTARS| %%DESCRIPTION%</template>
+ </textarea>
+
+ <progressbar name="usedbar" from="baseprogressbar">
+- <position>189,659</position>
++ <position>38,659</position>
+ <imagetype name="background">
+- <area>0,0,682,8</area>
++ <area>0,0,833,8</area>
+ <filename>images/progressbar/progressbar_background.png</filename>
+ </imagetype>
+ <imagetype name="progressimage">
+- <area>0,0,682,8</area>
++ <area>0,0,833,8</area>
+ <filename>images/progressbar/progressbar_fill.png</filename>
+ </imagetype>
+ </progressbar>
+
+ <textarea name="freereport" from="basetextarea">
+- <area>189,665,682,20</area>
++ <area>38,665,833,20</area>
+ <font>basesupersmallyellow</font>
+ <align>allcenter</align>
+ <template>Disk space: %1</template>
diff --git a/abs/core/linhes-theme/video-ui.xml.patch b/abs/core/linhes-theme/video-ui.xml.patch
new file mode 100644
index 0000000..5a84e64
--- /dev/null
+++ b/abs/core/linhes-theme/video-ui.xml.patch
@@ -0,0 +1,1193 @@
+--- video-ui.xml.orig 2016-01-13 18:49:34.555245775 +0000
++++ video-ui.xml 2016-04-13 19:49:28.563719931 +0000
+@@ -171,6 +171,7 @@
+ <textarea name="description" from="basetextarea">
+ <area>24,51,515,393</area>
+ <multiline>yes</multiline>
++ <scroll direction="up" rate="20" startdelay="5"/>
+ <font>basesmall</font>
+ </textarea>
+
+@@ -876,13 +877,6 @@
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="lvllbl" from="basetextarea">
+- <area>1038,411,158,40</area>
+- <font>basesmall</font>
+- <value>Parental Level:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+ <statetype name="videolevel">
+ <area>1206,416,30,30</area>
+ <state name="None">
+@@ -890,238 +884,273 @@
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_none.png</filename>
+ </imagetype>
++ <textarea name="none">
++ <area>-165,3,158,24</area>
++ <font>basesmall</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Lowest">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_lowest.png</filename>
+ </imagetype>
++ <textarea name="lowest">
++ <area>-165,3,158,24</area>
++ <font>basesmallgreen</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Low">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_low.png</filename>
+ </imagetype>
++ <textarea name="low">
++ <area>-165,3,158,24</area>
++ <font>basesmallyellow</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Medium">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_medium.png</filename>
+ </imagetype>
++ <textarea name="medium">
++ <area>-165,3,158,24</area>
++ <font>basesmallorange</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="High">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_high.png</filename>
+ </imagetype>
++ <textarea name="high">
++ <area>-165,3,158,24</area>
++ <font>basesmallred</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ </statetype>
+
+ <textarea name="dirlbl" from="basetextarea">
+ <area>44,453,132,40</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+ <value>Directed By:</value>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+ <area>186,453,611,40</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="userratinglabel" from="basetextarea">
++ <textarea name="lenlbl" from="basetextarea">
+ <area>817,453,126,40</area>
++ <font>basesmallblue</font>
++ <value>Runtime:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textarea name="length" from="basetextarea">
++ <area>953,453,118,40</area>
+ <font>basesmall</font>
++ <align>left,vcenter</align>
++ </textarea>
++
++ <textarea name="yrlbl" from="basetextarea">
++ <area>1081,453,60,40</area>
++ <font>basesmallblue</font>
++ <value>Year:</value>
+ <align>right,vcenter</align>
+- <value>UserRating:</value>
++ </textarea>
++
++ <textarea name="year" from="basetextarea">
++ <area>1156,453,80,40</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <textarea name="description" from="basetextarea">
++ <area>44,501,1192,130</area>
++ <multiline>yes</multiline>
++ <font>basesmall</font>
++ <align>left,top</align>
++ <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
++ </textarea>
++
++ <textarea name="userratinglabel" from="basetextarea">
++ <area>44,633,108,40</area>
++ <font>basesmallblue</font>
++ <align>left,vcenter</align>
++ <value>User Rating:</value>
+ </textarea>
+
+ <statetype name="userratingstate">
+ <state name="0">
+ <textarea name="0">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>0 Stars</value>
+ </textarea>
+ </state>
+ <state name="1">
+ <textarea name="1">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>1 Star</value>
+ </textarea>
+ </state>
+ <state name="2">
+ <textarea name="2">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>2 Stars</value>
+ </textarea>
+ </state>
+ <state name="3">
+ <textarea name="3">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>3 Stars</value>
+ </textarea>
+ </state>
+ <state name="4">
+ <textarea name="4">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>4 Stars</value>
+ </textarea>
+ </state>
+ <state name="5">
+ <textarea name="5">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>5 Stars</value>
+ </textarea>
+ </state>
+ <state name="6">
+ <textarea name="6">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>6 Stars</value>
+ </textarea>
+ </state>
+ <state name="7">
+ <textarea name="7">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>7 Stars</value>
+ </textarea>
+ </state>
+ <state name="8">
+ <textarea name="8">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>8 Stars</value>
+ </textarea>
+ </state>
+ <state name="9">
+ <textarea name="9">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>9 Stars</value>
+ </textarea>
+ </state>
+ <state name="10">
+ <textarea name="10">
+- <area>953,453,108,40</area>
+- <font>basesmallblue</font>
++ <area>162,633,144,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>10 Stars</value>
+ </textarea>
+ </state>
+ </statetype>
+
+- <textarea name="yrlbl" from="basetextarea">
+- <area>1081,453,60,40</area>
+- <font>basesmall</font>
+- <value>Year:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textarea name="year" from="basetextarea">
+- <area>1156,453,80,40</area>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea">
+- <area>44,501,1192,130</area>
+- <multiline>yes</multiline>
+- <font>basesmall</font>
+- <align>left,top</align>
+- <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
+- </textarea>
+-
+- <textarea name="lenlbl" from="basetextarea">
+- <area>44,633,98,40</area>
+- <font>basesmall</font>
+- <value>Runtime:</value>
+- <align>left,vcenter</align>
+- </textarea>
+-
+- <textarea name="length" from="basetextarea">
+- <area>152,633,154,40</area>
+- <font>basesmallblue</font>
+- <align>left,vcenter</align>
+- </textarea>
+-
+ <textarea name="ratlbl" from="basetextarea">
+ <area>320,633,70,40</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Rated:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="rating" from="basetextarea">
+ <area>400,633,92,40</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+ <area>506,633,92,40</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+- <area>608,633,132,40</area>
+- <font>basesmallblue</font>
++ <area>608,633,92,40</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+- <area>754,633,92,40</area>
+- <font>basesmall</font>
++ <area>714,633,92,40</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+- <area>856,633,132,40</area>
+- <font>basesmallblue</font>
++ <area>816,633,92,40</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="inetlbl" from="basetextarea">
+- <area>1002,633,92,40</area>
+- <font>basesmall</font>
++ <area>922,633,92,40</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Video #:</value>
+ </textarea>
+
+ <textarea name="inetref" from="basetextarea">
+- <area>1104,633,132,40</area>
+- <font>basesmallblue</font>
++ <area>1024,633,212,40</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+@@ -1369,14 +1398,14 @@
+ <font>basemediumlargeryellow</font>
+ <align>left,vcenter</align>
+ </textarea>
+-
++<!--
+ <textarea name="lvllbl" from="basetextarea">
+ <area>1038,412,158,34</area>
+ <font>basesmall</font>
+ <value>Parental Level:</value>
+ <align>right,vcenter</align>
+ </textarea>
+-
++-->
+ <statetype name="videolevel">
+ <area>1206,414,30,30</area>
+ <state name="None">
+@@ -1384,238 +1413,273 @@
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_none.png</filename>
+ </imagetype>
++ <textarea name="none">
++ <area>-165,3,158,24</area>
++ <font>basesmall</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Lowest">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_lowest.png</filename>
+ </imagetype>
++ <textarea name="lowest">
++ <area>-165,3,158,24</area>
++ <font>basesmallgreen</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Low">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_low.png</filename>
+ </imagetype>
++ <textarea name="low">
++ <area>-165,3,158,24</area>
++ <font>basesmallyellow</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="Medium">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_medium.png</filename>
+ </imagetype>
++ <textarea name="medium">
++ <area>-165,3,158,24</area>
++ <font>basesmallorange</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ <state name="High">
+ <imagetype name="icon">
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_high.png</filename>
+ </imagetype>
++ <textarea name="high">
++ <area>-165,3,158,24</area>
++ <font>basesmallred</font>
++ <cutdown>no</cutdown>
++ <align>right,vcenter</align>
++ <value>Parental Level</value>
++ </textarea>
+ </state>
+ </statetype>
+
+ <textarea name="dirlbl" from="basetextarea">
+ <area>44,448,132,34</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+ <value>Directed By:</value>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+ <area>186,448,621,34</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="userratinglabel" from="basetextarea">
++ <textarea name="lenlbl" from="basetextarea">
+ <area>817,448,126,34</area>
++ <font>basesmallblue</font>
++ <value>Runtime:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textarea name="length" from="basetextarea">
++ <area>953,448,118,34</area>
+ <font>basesmall</font>
++ <align>left,vcenter</align>
++ </textarea>
++
++ <textarea name="yrlbl" from="basetextarea">
++ <area>1081,448,60,34</area>
++ <font>basesmallblue</font>
++ <value>Year:</value>
+ <align>right,vcenter</align>
+- <value>UserRating:</value>
++ </textarea>
++
++ <textarea name="year" from="basetextarea">
++ <area>1156,448,80,34</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <textarea name="description" from="basetextarea">
++ <area>44,488,1192,148</area>
++ <multiline>yes</multiline>
++ <font>basesmall</font>
++ <align>left</align>
++ <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
++ </textarea>
++
++ <textarea name="userratinglabel" from="basetextarea">
++ <area>44,641,108,34</area>
++ <font>basesmallblue</font>
++ <align>left,vcenter</align>
++ <value>User Rating:</value>
+ </textarea>
+
+ <statetype name="userratingstate">
+ <state name="0">
+ <textarea name="0">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>0 Stars</value>
+ </textarea>
+ </state>
+ <state name="1">
+ <textarea name="1">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>1 Star</value>
+ </textarea>
+ </state>
+ <state name="2">
+ <textarea name="2">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>2 Stars</value>
+ </textarea>
+ </state>
+ <state name="3">
+ <textarea name="3">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>3 Stars</value>
+ </textarea>
+ </state>
+ <state name="4">
+ <textarea name="4">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>4 Stars</value>
+ </textarea>
+ </state>
+ <state name="5">
+ <textarea name="5">
+- <area>953,448,108,44</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>5 Stars</value>
+ </textarea>
+ </state>
+ <state name="6">
+ <textarea name="6">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>6 Stars</value>
+ </textarea>
+ </state>
+ <state name="7">
+ <textarea name="7">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>7 Stars</value>
+ </textarea>
+ </state>
+ <state name="8">
+ <textarea name="8">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>8 Stars</value>
+ </textarea>
+ </state>
+ <state name="9">
+ <textarea name="9">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>9 Stars</value>
+ </textarea>
+ </state>
+ <state name="10">
+ <textarea name="10">
+- <area>953,448,108,34</area>
+- <font>basesmallblue</font>
++ <area>155,641,155,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>10 Stars</value>
+ </textarea>
+ </state>
+ </statetype>
+
+- <textarea name="yrlbl" from="basetextarea">
+- <area>1081,448,60,34</area>
+- <font>basesmall</font>
+- <value>Year:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textarea name="year" from="basetextarea">
+- <area>1156,448,80,34</area>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea">
+- <area>44,488,1192,148</area>
+- <multiline>yes</multiline>
+- <font>basesmall</font>
+- <align>left</align>
+- <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
+- </textarea>
+-
+- <textarea name="lenlbl" from="basetextarea">
+- <area>44,641,98,34</area>
+- <font>basesmall</font>
+- <value>Runtime:</value>
+- <align>left,vcenter</align>
+- </textarea>
+-
+- <textarea name="length" from="basetextarea">
+- <area>155,641,155,34</area>
+- <font>basesmallblue</font>
+- <align>left,vcenter</align>
+- </textarea>
+-
+ <textarea name="ratlbl" from="basetextarea">
+ <area>320,641,70,34</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Rated:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="rating" from="basetextarea">
+ <area>403,641,92,34</area>
+- <font>basesmallblue</font>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+ <area>505,641,92,34</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+- <area>610,641,132,34</area>
+- <font>basesmallblue</font>
++ <area>610,641,92,34</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+- <area>752,641,92,34</area>
+- <font>basesmall</font>
++ <area>712,641,92,34</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+- <area>857,641,132,34</area>
+- <font>basesmallblue</font>
++ <area>817,641,92,34</area>
++ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="inetlbl" from="basetextarea">
+- <area>999,641,92,34</area>
+- <font>basesmall</font>
++ <area>919,641,92,34</area>
++ <font>basesmallblue</font>
+ <align>right,vcenter</align>
+ <value>Video #:</value>
+ </textarea>
+
+ <textarea name="inetref" from="basetextarea">
+- <area>1104,641,132,34</area>
+- <font>basesmallblue</font>
++ <area>1024,641,212,34</area>
++ <font>basesmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+@@ -1798,21 +1862,21 @@
+
+ <textarea name="title" from="basetextarea">
+ <area>40,402,553,42</area>
+- <cutdown>yes</cutdown>
++ <scroll direction="left" rate="80" startdelay="2"/>
+ <font>basemediumyellow</font>
+ <align>vcenter</align>
+ </textarea>
+
+ <textarea name="positionlabel" from="basetextarea">
+ <area>603,402,95,42</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+ <value>Position:</value>
+ </textarea>
+
+ <textarea name="position" from="basetextarea">
+ <area>707,404,130,40</area>
+- <font>basesmallerblue</font>
++ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+@@ -1875,7 +1939,7 @@
+ <area>0,0,30,30</area>
+ <filename>images/mv_level_high.png</filename>
+ </imagetype>
+- <textarea name="lowest">
++ <textarea name="high">
+ <area>-165,3,158,24</area>
+ <font>basesmallred</font>
+ <cutdown>no</cutdown>
+@@ -1887,210 +1951,210 @@
+
+ <textarea name="dirlbl" from="basetextarea">
+ <area>40,444,132,42</area>
+- <font>basesmall</font>
++ <font>basesmallblue</font>
+ <align>left,vcenter</align>
+ <value>Directed By:</value>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+ <area>187,444,407,42</area>
++ <font>basesmall</font>
++ <align>left,vcenter</align>
++ </textarea>
++
++ <textarea name="lenlbl" from="basetextarea">
++ <area>603,444,95,42</area>
+ <font>basesmallblue</font>
++ <value>Runtime:</value>
+ <align>left,vcenter</align>
+ </textarea>
+
+- <textarea name="userratinglabel" from="basetextarea">
+- <area>604,444,124,42</area>
++ <textarea name="length" from="basetextarea">
++ <area>707,444,139,42</area>
+ <font>basesmall</font>
+ <align>left,vcenter</align>
+- <value>UserRating:</value>
++ </textarea>
++
++ <textarea name="yrlbl" from="basetextarea">
++ <area>893,444,60,42</area>
++ <font>basesmallblue</font>
++ <value>Year:</value>
++ <align>right,vcenter</align>
++ </textarea>
++
++ <textarea name="year" from="basetextarea">
++ <area>963,444,78,42</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <textarea name="description" from="basetextarea">
++ <area>40,495,1001,136</area>
++ <font>basesmall</font>
++ <align>justify</align>
++ <multiline>yes</multiline>
++ <scroll direction="up" rate="20" startdelay="5"/>
++ <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
++ </textarea>
++
++ <textarea name="userratinglabel" from="basetextarea">
++ <area>40,641,80,42</area>
++ <font>baseextrasmallblue</font>
++ <align>left,vcenter</align>
++ <value>User Rating:</value>
+ </textarea>
+
+ <statetype name="userratingstate">
+ <state name="0">
+ <textarea name="0">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>0 Stars</value>
+ </textarea>
+ </state>
+ <state name="1">
+ <textarea name="1">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>1 Star</value>
+ </textarea>
+ </state>
+ <state name="2">
+ <textarea name="2">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>2 Stars</value>
+ </textarea>
+ </state>
+ <state name="3">
+ <textarea name="3">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>3 Stars</value>
+ </textarea>
+ </state>
+ <state name="4">
+ <textarea name="4">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>4 Stars</value>
+ </textarea>
+ </state>
+ <state name="5">
+ <textarea name="5">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>5 Stars</value>
+ </textarea>
+ </state>
+ <state name="6">
+ <textarea name="6">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>6 Stars</value>
+ </textarea>
+ </state>
+ <state name="7">
+ <textarea name="7">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>7 Stars</value>
+ </textarea>
+ </state>
+ <state name="8">
+ <textarea name="8">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>8 Stars</value>
+ </textarea>
+ </state>
+ <state name="9">
+ <textarea name="9">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>9 Stars</value>
+ </textarea>
+ </state>
+ <state name="10">
+ <textarea name="10">
+- <area>738,444,108,42</area>
+- <font>basesmallblue</font>
++ <area>128,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+- <align>left,vcenter</align>
++ <align>allcenter</align>
+ <value>10 Stars</value>
+ </textarea>
+ </state>
+ </statetype>
+-
+- <textarea name="yrlbl" from="basetextarea">
+- <area>893,444,60,42</area>
+- <font>basesmall</font>
+- <value>Year:</value>
+- <align>right,vcenter</align>
+- </textarea>
+-
+- <textarea name="year" from="basetextarea">
+- <area>963,444,78,42</area>
+- <font>basesmallblue</font>
+- <align>allcenter</align>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea">
+- <area>40,493,1001,140</area>
+- <font>basesmall</font>
+- <align>justify</align>
+- <multiline>yes</multiline>
+- <cutdown>yes</cutdown>
+- <template>%"|SUBTITLE|" %%"|TAGLINE|" %%DESCRIPTION%</template>
+- </textarea>
+-
+- <textarea name="lenlbl" from="basetextarea">
+- <area>40,641,68,42</area>
+- <font>baseextrasmall</font>
+- <value>Runtime:</value>
+- <align>left,vcenter</align>
+- </textarea>
+-
+- <textarea name="length" from="basetextarea">
+- <area>118,641,104,42</area>
+- <font>baseextrasmallblue</font>
+- <align>left,vcenter</align>
+- </textarea>
+
+ <textarea name="ratlbl" from="basetextarea">
+- <area>276,641,50,42</area>
+- <font>baseextrasmall</font>
++ <area>278,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>Rated:</value>
+ </textarea>
+
+ <textarea name="rating" from="basetextarea">
+- <area>336,641,70,42</area>
+- <font>baseextrasmallblue</font>
++ <area>366,641,80,42</area>
++ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+- <area>465,641,60,42</area>
+- <font>baseextrasmall</font>
++ <area>456,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+- <area>535,641,92,42</area>
+- <font>baseextrasmallblue</font>
++ <area>544,641,80,42</area>
++ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+- <area>673,641,64,42</area>
+- <font>baseextrasmall</font>
++ <area>634,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+- <area>747,641,92,42</area>
+- <font>baseextrasmallblue</font>
++ <area>722,641,80,42</area>
++ <font>baseextrasmall</font>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="inetlbl" from="basetextarea">
+- <area>879,641,60,42</area>
+- <font>baseextrasmall</font>
++ <area>812,641,80,42</area>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+- <value>Video#:</value>
++ <value>Video #:</value>
+ </textarea>
+
+ <textarea name="inetref" from="basetextarea">
+- <area>949,641,92,42</area>
+- <font>baseextrasmallblue</font>
++ <area>900,641,140,42</area>
++ <font>baseextrasmall</font>
+ <cutdown>no</cutdown>
+ <align>allcenter</align>
+ </textarea>
+@@ -2947,82 +3011,84 @@
+ <multiline>no</multiline>
+ <font>basesmalldarkyellow</font>
+ <align>allcenter</align>
+- <cutdown>yes</cutdown>
++ <scroll direction="left" rate="80" startdelay="2"/>
+ </textarea>
+
+ <textarea name="description" from="basetextarea">
+ <area>23,54,527,214</area>
+ <multiline>yes</multiline>
+ <font>basesmaller</font>
++ <scroll direction="up" rate="20" startdelay="5"/>
+ </textarea>
+
+ <textarea name="cast" from="basetextarea">
+- <area>23,275,527,48</area>
++ <area>25,275,527,43</area>
+ <multiline>yes</multiline>
+- <font>basesmaller</font>
++ <font>baseextrasmall</font>
++ <scroll direction="up" rate="20" startdelay="5"/>
+ </textarea>
+
+ <textarea name="dirlbl" from="basetextarea">
+ <area>23,325,112,24</area>
+- <font>basesmaller</font>
++ <font>basesmallerblue</font>
+ <value>Directed by:</value>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <textarea name="director" from="basetextarea">
+- <area>145,326,405,24</area>
+- <font>basesmallerblue</font>
++ <area>145,325,405,24</area>
++ <font>basesmaller</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <textarea name="yearlbl" from="basetextarea">
+- <area>23,354,46,24</area>
+- <font>basesmaller</font>
++ <area>23,354,47,24</area>
++ <font>basesmallerblue</font>
+ <align>left,vcenter</align>
+ <value>Year:</value>
+ </textarea>
+
+ <textarea name="year" from="basetextarea">
+- <area>79,356,80,24</area>
+- <font>basesmallerblue</font>
++ <area>79,354,80,24</area>
++ <font>basesmaller</font>
+ </textarea>
+
+ <textarea name="lengthlbl" from="basetextarea">
+ <area>342,354,84,24</area>
+- <font>basesmaller</font>
++ <font>basesmallerblue</font>
+ <align>right,vcenter</align>
+ <value>Runtime:</value>
+ </textarea>
+
+ <textarea name="length" from="basetextarea">
+- <area>436,355,114,24</area>
+- <font>basesmallerblue</font>
++ <area>436,354,114,24</area>
++ <font>basesmaller</font>
+ <align>left,vcenter</align>
+ </textarea>
+
+ <textarea name="seasonlbl" from="basetextarea">
+ <area>88,382,90,20</area>
+- <font>baseextrasmall</font>
++ <font>baseextrasmallblue</font>
+ <value>Season:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textarea name="season" from="basetextarea">
+ <area>188,382,110,20</area>
+- <font>baseextrasmallblue</font>
++ <font>baseextrasmall</font>
+ <align>vcenter</align>
+ </textarea>
+
+ <textarea name="episodelbl" from="basetextarea">
+ <area>331,382,94,20</area>
+- <font>baseextrasmall</font>
++ <font>baseextrasmallblue</font>
+ <align>right,vcenter</align>
+ <value>Episode:</value>
+ </textarea>
+
+ <textarea name="episode" from="basetextarea">
+ <area>435,382,110,20</area>
+- <font>baseextrasmallblue</font>
++ <font>baseextrasmall</font>
+ <align>vcenter</align>
+ </textarea>
+
diff --git a/abs/core/linux-api-headers/PKGBUILD b/abs/core/linux-api-headers/PKGBUILD
index a9b1ea6..3bc8b4d 100644
--- a/abs/core/linux-api-headers/PKGBUILD
+++ b/abs/core/linux-api-headers/PKGBUILD
@@ -4,30 +4,27 @@
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=linux-api-headers
-pkgver=3.16.2
-_basever=3.16
+pkgver=4.4.1
+_basever=4.4
pkgrel=1
pkgdesc="Kernel headers sanitized for use in userspace"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
license=('GPL2')
-source=(http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_basever}.tar.xz
- http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz)
-
- # NOTE: signatures are not automatically verified until pacman-4.2
- #http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_basever}.tar.sign
- #http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.sign
-
-md5sums=('5c569ed649a0c9711879f333e90c5386'
- '926e6e2ee0634ce53730701da749b040')
+source=(http://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basever}.tar.xz
+ http://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basever}.tar.sign
+ http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz
+ http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign)
+md5sums=('9a78fa2eb6c68ca5a40ed5af08142599'
+ 'SKIP'
+ 'd9e951895c8c249f0bf52d85f3e63bce'
+ 'SKIP')
+validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
+ '647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman
prepare() {
cd ${srcdir}/linux-${_basever}
- [[ $pkgver != $_basever ]] && patch -p1 -i ${srcdir}/patch-${pkgver}
-
- # fix xattr.h dual inclusion issues
- # https://github.com/torvalds/linux/commit/bfcfd44c
- sed -i "/__UAPI_DEF_XATTR/s/ifdef/if/" include/uapi/linux/xattr.h
+ [[ $pkgver != $_basever ]] && patch -p1 -i ${srcdir}/patch-${pkgver} || true
}
build() {
diff --git a/abs/core/linux-firmware/PKGBUILD b/abs/core/linux-firmware/PKGBUILD
index b3bef4a..d6081ea 100644
--- a/abs/core/linux-firmware/PKGBUILD
+++ b/abs/core/linux-firmware/PKGBUILD
@@ -3,8 +3,8 @@
pkgname=linux-firmware
# Commit date + git rev-parse --short origin/master
-_rev=38e5405
-pkgver=20141201.${_rev}
+_rev=40e9ae8
+pkgver=20160113.${_rev}
pkgrel=1
pkgdesc="Firmware files for Linux"
makedepends=('git')
diff --git a/abs/core/linux/0001-sdhci-revert.patch b/abs/core/linux/0001-sdhci-revert.patch
new file mode 100644
index 0000000..5d4afd6
--- /dev/null
+++ b/abs/core/linux/0001-sdhci-revert.patch
@@ -0,0 +1,25 @@
+index 2cadf08..b48565e 100644
+--- a/drivers/mmc/host/sdhci.c
++++ b/drivers/mmc/host/sdhci.c
+@@ -1895,9 +1895,9 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
+ tuning_count = host->tuning_count;
+
+ /*
+- * The Host Controller needs tuning only in case of SDR104 mode
+- * and for SDR50 mode when Use Tuning for SDR50 is set in the
+- * Capabilities register.
++ * The Host Controller needs tuning in case of SDR104 and DDR50
++ * mode, and for SDR50 mode when Use Tuning for SDR50 is set in
++ * the Capabilities register.
+ * If the Host Controller supports the HS200 mode then the
+ * tuning function has to be executed.
+ */
+@@ -1917,6 +1917,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
+ break;
+
+ case MMC_TIMING_UHS_SDR104:
++ case MMC_TIMING_UHS_DDR50:
+ break;
+
+ case MMC_TIMING_UHS_SDR50:
+generated by cgit v0.11.2 at 2016-01-01 22:11:38 (GMT)
diff --git a/abs/core/linux/PKGBUILD b/abs/core/linux/PKGBUILD
index 3de6095..3c0cf23 100644
--- a/abs/core/linux/PKGBUILD
+++ b/abs/core/linux/PKGBUILD
@@ -4,32 +4,25 @@
pkgbase=linux # Build stock -ARCH kernel
#pkgbase=linux-custom # Build kernel with a different name
-_srcname=linux-3.18
-pkgver=3.18.4
+_srcname=linux-4.4
+pkgver=4.4.8
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc')
options=('!strip')
-source=("https://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
- #"https://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.sign"
- "https://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz"
- #"https://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.sign"
+source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
+ "https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.sign"
+ "https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
+ "https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign"
# the main kernel config files
'config' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
'linux.preset'
'change-default-console-loglevel.patch'
- )
-sha256sums=('becc413cc9e6d7f5cc52a3ce66d65c3725bc1d1cc1001f4ce6c32b69eb188cbd'
- #'SKIP'
- '57c74ba5266bb10be335a89d30480739b3de67b5a72b3e0b0d37a27775b1862a'
- #'SKIP'
- 'd3794c8b2cd11b71914b41f7a4e861369d4fa3c29fdd9e1d677ff0c2167eeb52'
- 'df7886f5d57f8f85e89987066dfa5c316e922dc0b22e6e6ad01331333db52377'
- 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
- '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99')
+ '0001-sdhci-revert.patch')
+
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@@ -46,6 +39,11 @@ prepare() {
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
+ # revert http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9faac7b95ea4f9e83b7a914084cc81ef1632fd91
+ # fixes #47778 sdhci broken on some boards
+ # https://bugzilla.kernel.org/show_bug.cgi?id=106541
+ patch -Rp1 -i "${srcdir}/0001-sdhci-revert.patch"
+
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
@@ -94,9 +92,6 @@ _package() {
[ "${pkgbase}" = "linux" ] && groups=('base')
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
- provides=("kernel26${_kernelname}=${pkgver}")
- conflicts=("kernel26${_kernelname}")
- replaces=("kernel26${_kernelname}")
backup=("etc/mkinitcpio.d/${pkgbase}.preset")
install=linux.install
@@ -134,8 +129,6 @@ _package() {
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
- # gzip -9 all modules to save 100MB of space
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
# make room for external modules
ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
@@ -149,7 +142,7 @@ _package() {
mkdir -p "${pkgdir}/usr"
mv "${pkgdir}/lib" "${pkgdir}/usr/"
- #remove nouvea
+ #remove nouveau
find $pkgdir/usr/lib -name "nouvea*" -exec rm -f {} \;
# add vmlinux
@@ -158,9 +151,6 @@ _package() {
_package-headers() {
pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
- provides=("kernel26${_kernelname}-headers=${pkgver}")
- conflicts=("kernel26${_kernelname}-headers")
- replaces=("kernel26${_kernelname}-headers")
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
@@ -274,13 +264,15 @@ _package-headers() {
# remove unneeded architectures
rm -rf "${pkgdir}"/usr/lib/modules/${_kernver}/build/arch/{alpha,arc,arm,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa}
+
+ # remove a files already in linux-docs package
+ rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.recursion-issue-01"
+ rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.recursion-issue-02"
+ rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.select-break"
}
_package-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel"
- provides=("kernel26${_kernelname}-docs=${pkgver}")
- conflicts=("kernel26${_kernelname}-docs")
- replaces=("kernel26${_kernelname}-docs")
cd "${srcdir}/${_srcname}"
@@ -302,3 +294,12 @@ for _p in ${pkgname[@]}; do
done
# vim:set ts=8 sts=2 sw=2 et:
+md5sums=('9a78fa2eb6c68ca5a40ed5af08142599'
+ 'SKIP'
+ 'c1d8f46e5b2ee7c925fc38f20a3726d3'
+ 'SKIP'
+ 'be50f82adaeb685d41eb55acd1b09134'
+ 'd254ffa0b91d459529ec23a1cdeceb35'
+ 'eb14dcfd80c00852ef81ded6e826826a'
+ 'df7fceae6ee5d7e7be7b60ecd7f6bb35'
+ 'e1093d9bc718f362344ab56b85d4fb76')
diff --git a/abs/core/linux/config b/abs/core/linux/config
index e05d7cf..53cfc82 100644
--- a/abs/core/linux/config
+++ b/abs/core/linux/config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.18.0 Kernel Configuration
+# Linux/x86 4.4.0 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -30,16 +30,14 @@ CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-# CONFIG_ZONE_DMA32 is not set
-# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_32_SMP=y
-CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=2
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
@@ -81,9 +79,11 @@ CONFIG_HAVE_ARCH_AUDITSYSCALL=y
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
@@ -92,7 +92,6 @@ CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
@@ -122,43 +121,42 @@ CONFIG_TASK_IO_ACCOUNTING=y
#
# RCU Subsystem
#
-CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
-CONFIG_RCU_FANOUT=32
-CONFIG_RCU_FANOUT_LEAF=16
-# CONFIG_RCU_FANOUT_EXACT is not set
-CONFIG_RCU_FAST_NO_HZ=y
# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_RCU_BOOST is not set
-# CONFIG_RCU_NOCB_CPU is not set
+# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
+CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
-# CONFIG_MEMCG_SWAP_ENABLED is not set
-# CONFIG_MEMCG_KMEM is not set
+CONFIG_MEMCG_SWAP_ENABLED=y
+CONFIG_MEMCG_KMEM=y
# CONFIG_CGROUP_HUGETLB is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CGROUP_WRITEBACK=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
@@ -186,6 +184,7 @@ CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
+CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
# CONFIG_SYSCTL_SYSCALL is not set
@@ -201,11 +200,13 @@ CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
-# CONFIG_BPF_SYSCALL is not set
+CONFIG_BPF_SYSCALL=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
+CONFIG_USERFAULTFD=y
CONFIG_PCI_QUIRKS=y
+CONFIG_MEMBARRIER=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
@@ -220,15 +221,17 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_SLUB_CPU_PARTIAL=y
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
+# CONFIG_SYSTEM_DATA_VERIFICATION is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
+CONFIG_KEXEC_CORE=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
@@ -245,6 +248,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
@@ -270,6 +274,8 @@ CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y
@@ -278,6 +284,7 @@ CONFIG_OLD_SIGACTION=y
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@@ -289,8 +296,10 @@ CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
-# CONFIG_MODULE_COMPRESS is not set
-CONFIG_STOP_MACHINE=y
+CONFIG_MODULE_COMPRESS=y
+CONFIG_MODULE_COMPRESS_GZIP=y
+# CONFIG_MODULE_COMPRESS_XZ is not set
+CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
@@ -342,8 +351,11 @@ CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
-CONFIG_ARCH_USE_QUEUE_RWLOCK=y
-CONFIG_QUEUE_RWLOCK=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
CONFIG_FREEZER=y
#
@@ -356,6 +368,7 @@ CONFIG_X86_MPPARSE=y
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_INTEL_LPSS=y
+# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=m
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
@@ -371,7 +384,6 @@ CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
-# CONFIG_MEMTEST is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
@@ -431,7 +443,8 @@ CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
+# CONFIG_X86_LEGACY_VM86 is not set
+# CONFIG_VM86 is not set
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX32=y
CONFIG_TOSHIBA=m
@@ -441,9 +454,6 @@ CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_MICROCODE_INTEL_EARLY=y
-CONFIG_MICROCODE_AMD_EARLY=y
-CONFIG_MICROCODE_EARLY=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
# CONFIG_NOHIGHMEM is not set
@@ -466,7 +476,6 @@ CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_MEMORY_ISOLATION=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
@@ -493,7 +502,11 @@ CONFIG_ZPOOL=y
CONFIG_ZBUD=y
CONFIG_ZSMALLOC=y
# CONFIG_PGTABLE_MAPPING is not set
+# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_FRAME_VECTOR=y
# CONFIG_HIGHPTE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
@@ -507,6 +520,7 @@ CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
+# CONFIG_X86_INTEL_MPX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_SECCOMP=y
@@ -517,7 +531,7 @@ CONFIG_HZ_300=y
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
-# CONFIG_CRASH_DUMP is not set
+CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
@@ -529,6 +543,7 @@ CONFIG_HOTPLUG_CPU=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
+CONFIG_MODIFY_LDT_SYSCALL=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
@@ -545,7 +560,6 @@ CONFIG_PM_AUTOSLEEP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
-CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
@@ -559,8 +573,11 @@ CONFIG_PM_CLK=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
+CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
+# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
@@ -568,6 +585,8 @@ CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_CPU_FREQ_PSS=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
@@ -579,6 +598,7 @@ CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=m
@@ -593,6 +613,7 @@ CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=m
CONFIG_ACPI_APEI_ERST_DEBUG=m
CONFIG_ACPI_EXTLOG=m
+# CONFIG_PMIC_OPREGION is not set
CONFIG_SFI=y
CONFIG_X86_APM_BOOT=y
CONFIG_APM=y
@@ -610,6 +631,7 @@ CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -618,11 +640,11 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-# CONFIG_CPUFREQ_DT is not set
#
-# x86 CPU frequency scaling drivers
+# CPU frequency scaling drivers
#
+# CONFIG_CPUFREQ_DT is not set
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
@@ -683,6 +705,7 @@ CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=m
@@ -691,7 +714,6 @@ CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
-CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
#
@@ -761,8 +783,7 @@ CONFIG_RAPIDIO_CPS_GEN2=m
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
-CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
@@ -771,6 +792,7 @@ CONFIG_COREDUMP=y
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_PMC_ATOM=y
CONFIG_NET=y
+CONFIG_NET_INGRESS=y
#
# Networking options
@@ -803,14 +825,14 @@ CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
CONFIG_IP_MROUTE=y
-# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
-CONFIG_GENEVE=m
+CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@@ -837,10 +859,11 @@ CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
+CONFIG_TCP_CONG_CDG=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
+CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
@@ -849,6 +872,7 @@ CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
@@ -863,7 +887,9 @@ CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
-# CONFIG_IPV6_MROUTE is not set
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
@@ -876,6 +902,7 @@ CONFIG_BRIDGE_NETFILTER=m
#
# Core Netfilter Configuration
#
+CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
@@ -908,7 +935,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_PROTO_DCCP=m
@@ -919,9 +946,11 @@ CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=m
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=m
+CONFIG_NF_TABLES_NETDEV=m
CONFIG_NFT_EXTHDR=m
CONFIG_NFT_META=m
CONFIG_NFT_CT=m
@@ -931,6 +960,7 @@ CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
@@ -1063,6 +1093,7 @@ CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
@@ -1088,17 +1119,20 @@ CONFIG_IP_VS_PE_SIP=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_IPV4=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
-CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
+CONFIG_NFT_REDIR_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
@@ -1132,13 +1166,16 @@ CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
-CONFIG_NF_REJECT_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_NAT_MASQUERADE_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
+CONFIG_NFT_REDIR_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1229,6 +1266,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
+CONFIG_NET_DSA_HWMON=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
@@ -1245,7 +1283,17 @@ CONFIG_LLC2=m
# CONFIG_LAPB is not set
CONFIG_PHONET=m
CONFIG_6LOWPAN=m
+CONFIG_6LOWPAN_NHC=m
+CONFIG_6LOWPAN_NHC_DEST=m
+CONFIG_6LOWPAN_NHC_FRAGMENT=m
+CONFIG_6LOWPAN_NHC_HOP=m
+CONFIG_6LOWPAN_NHC_IPV6=m
+CONFIG_6LOWPAN_NHC_MOBILITY=m
+CONFIG_6LOWPAN_NHC_ROUTING=m
+CONFIG_6LOWPAN_NHC_UDP=m
CONFIG_IEEE802154=m
+CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
+CONFIG_IEEE802154_SOCKET=m
CONFIG_IEEE802154_6LOWPAN=m
CONFIG_MAC802154=m
CONFIG_NET_SCHED=y
@@ -1295,6 +1343,7 @@ CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=m
CONFIG_NET_CLS_BPF=m
+CONFIG_NET_CLS_FLOWER=m
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
@@ -1307,6 +1356,9 @@ CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
@@ -1318,15 +1370,20 @@ CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_GRE=y
-CONFIG_OPENVSWITCH_VXLAN=y
-CONFIG_OPENVSWITCH_GENEVE=y
+CONFIG_OPENVSWITCH_GRE=m
+CONFIG_OPENVSWITCH_VXLAN=m
+CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_VSOCKETS=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_NETLINK_MMAP=y
CONFIG_NETLINK_DIAG=m
+CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
CONFIG_HSR=m
+CONFIG_NET_SWITCHDEV=y
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
@@ -1366,7 +1423,57 @@ CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_BAYCOM_EPP=m
CONFIG_YAM=m
-# CONFIG_CAN is not set
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_LEDS=y
+CONFIG_PCH_CAN=m
+# CONFIG_CAN_GRCAN is not set
+CONFIG_CAN_SJA1000=m
+# CONFIG_CAN_SJA1000_ISA is not set
+CONFIG_CAN_SJA1000_PLATFORM=m
+# CONFIG_CAN_EMS_PCMCIA is not set
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+# CONFIG_CAN_TSCAN1 is not set
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_CC770=m
+# CONFIG_CAN_CC770_ISA is not set
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN SPI interfaces
+#
+# CONFIG_CAN_MCP251X is not set
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_GS_USB=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+# CONFIG_CAN_SOFTING_CS is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_IRDA=m
#
@@ -1425,7 +1532,7 @@ CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
CONFIG_BT=m
-CONFIG_BT_6LOWPAN=m
+CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
@@ -1433,11 +1540,22 @@ CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
+CONFIG_BT_HS=y
+CONFIG_BT_LE=y
+CONFIG_BT_6LOWPAN=m
+# CONFIG_BT_SELFTEST is not set
+CONFIG_BT_DEBUGFS=y
#
# Bluetooth device drivers
#
+CONFIG_BT_INTEL=m
+CONFIG_BT_BCM=m
+CONFIG_BT_RTL=m
+CONFIG_BT_QCA=m
CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTUSB_BCM=y
+CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
@@ -1445,6 +1563,9 @@ CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIUART_INTEL=y
+CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -1474,7 +1595,9 @@ CONFIG_CFG80211=m
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
+CONFIG_CFG80211_WEXT_EXPORT=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
@@ -1484,6 +1607,7 @@ CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
+# CONFIG_MAC80211_RC_MINSTREL_VHT is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
@@ -1491,6 +1615,7 @@ CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
@@ -1512,6 +1637,7 @@ CONFIG_NFC=m
CONFIG_NFC_DIGITAL=m
CONFIG_NFC_NCI=m
# CONFIG_NFC_NCI_SPI is not set
+# CONFIG_NFC_NCI_UART is not set
CONFIG_NFC_HCI=m
# CONFIG_NFC_SHDLC is not set
@@ -1524,15 +1650,22 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NFC_MEI_PHY=m
CONFIG_NFC_SIM=m
CONFIG_NFC_PORT100=m
+CONFIG_NFC_FDP=m
+CONFIG_NFC_FDP_I2C=m
CONFIG_NFC_PN544=m
CONFIG_NFC_PN544_MEI=m
CONFIG_NFC_MICROREAD=m
CONFIG_NFC_MICROREAD_MEI=m
CONFIG_NFC_MRVL=m
CONFIG_NFC_MRVL_USB=m
+CONFIG_NFC_MRVL_I2C=m
CONFIG_NFC_ST21NFCA=m
-CONFIG_NFC_ST21NFCB=m
-CONFIG_NFC_ST21NFCB_I2C=m
+CONFIG_NFC_ST_NCI=m
+CONFIG_NFC_ST_NCI_I2C=m
+# CONFIG_NFC_ST_NCI_SPI is not set
+# CONFIG_NFC_NXP_NCI is not set
+# CONFIG_NFC_S3FWRN5_I2C is not set
+CONFIG_LWTUNNEL=y
#
# Device Drivers
@@ -1551,15 +1684,18 @@ CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
+CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=m
+CONFIG_REGMAP_SPMI=m
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
@@ -1595,6 +1731,7 @@ CONFIG_SSFDC=m
# CONFIG_SM_FTL is not set
CONFIG_MTD_OOPS=m
CONFIG_MTD_SWAP=m
+# CONFIG_MTD_PARTITIONED_MASTER is not set
#
# RAM/ROM/Flash chip drivers
@@ -1636,7 +1773,8 @@ CONFIG_MTD_SCB2_FLASH=m
# CONFIG_MTD_NETtel is not set
# CONFIG_MTD_L440GX is not set
CONFIG_MTD_PCI=m
-# CONFIG_MTD_PCMCIA is not set
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
# CONFIG_MTD_GPIO_ADDR is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
CONFIG_MTD_PLATRAM=m
@@ -1668,7 +1806,10 @@ CONFIG_MTD_NAND_ECC_SMC=y
CONFIG_MTD_NAND=m
# CONFIG_MTD_NAND_ECC_BCH is not set
CONFIG_MTD_SM_COMMON=m
-# CONFIG_MTD_NAND_DENALI is not set
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
CONFIG_MTD_NAND_IDS=m
@@ -1682,6 +1823,7 @@ CONFIG_MTD_NAND_CAFE=m
CONFIG_MTD_NAND_CS553X=m
CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_ONENAND is not set
#
@@ -1695,12 +1837,9 @@ CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
-# CONFIG_MTD_UBI_BLOCK is not set
+CONFIG_MTD_UBI_BLOCK=y
CONFIG_OF=y
-
-#
-# Device Tree and Open Firmware support
-#
+# CONFIG_OF_UNITTEST is not set
CONFIG_OF_PROMTREE=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_ADDRESS_PCI=y
@@ -1710,6 +1849,7 @@ CONFIG_OF_MDIO=m
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
CONFIG_OF_MTD=y
+# CONFIG_OF_OVERLAY is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
@@ -1737,7 +1877,6 @@ CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
CONFIG_ZRAM=m
CONFIG_ZRAM_LZ4_COMPRESS=y
-# CONFIG_ZRAM_DEBUG is not set
CONFIG_BLK_CPQ_CISS_DA=m
# CONFIG_CISS_SCSI_TAPE is not set
CONFIG_BLK_DEV_DAC960=m
@@ -1749,13 +1888,11 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_NVME=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -1764,6 +1901,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m
CONFIG_BLK_DEV_RSXX=m
+CONFIG_BLK_DEV_NVME=m
#
# Misc devices
@@ -1838,14 +1976,28 @@ CONFIG_VMWARE_VMCI=m
#
#
+# SCIF Bus Driver
+#
+
+#
# Intel MIC Host Driver
#
#
# Intel MIC Card Driver
#
+
+#
+# SCIF Driver
+#
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
+# CONFIG_CXL_KERNEL_API is not set
+# CONFIG_CXL_EEH is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -1931,12 +2083,10 @@ CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
-CONFIG_SCSI_MPT3SAS_LOGGING=y
+CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PCI=m
CONFIG_SCSI_UFSHCD_PLATFORM=m
@@ -1949,6 +2099,8 @@ CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_SNIC=m
+# CONFIG_SCSI_SNIC_DEBUG_FS is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA=m
@@ -1988,7 +2140,7 @@ CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_SYM53C416=m
CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_AM53C974=m
CONFIG_SCSI_T128=m
CONFIG_SCSI_U14_34F=m
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
@@ -1996,6 +2148,7 @@ CONFIG_SCSI_U14_34F=m
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_WD719X=m
# CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
@@ -2008,7 +2161,7 @@ CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_NINJA_SCSI=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
@@ -2029,6 +2182,8 @@ CONFIG_SATA_PMP=y
#
CONFIG_SATA_AHCI=m
CONFIG_SATA_AHCI_PLATFORM=m
+# CONFIG_AHCI_CEVA is not set
+# CONFIG_AHCI_QORIQ is not set
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
@@ -2127,11 +2282,13 @@ CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
+# CONFIG_MD_CLUSTER is not set
CONFIG_BCACHE=m
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_MQ_DEFAULT is not set
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=m
CONFIG_DM_BIO_PRISON=m
@@ -2142,6 +2299,7 @@ CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_SMQ=m
CONFIG_DM_CACHE_CLEANER=m
CONFIG_DM_ERA=m
CONFIG_DM_MIRROR=m
@@ -2156,11 +2314,12 @@ CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
CONFIG_DM_SWITCH=m
+CONFIG_DM_LOG_WRITES=m
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
-# CONFIG_TCM_USER is not set
+CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
@@ -2181,15 +2340,6 @@ CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_CONFIG=m
-CONFIG_I2O_CONFIG_OLD_IOCTL=y
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=m
CONFIG_NETDEVICES=y
@@ -2208,7 +2358,9 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
+CONFIG_IPVLAN=m
CONFIG_VXLAN=m
+CONFIG_GENEVE=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
@@ -2217,9 +2369,11 @@ CONFIG_RIONET=m
CONFIG_RIONET_TX_SIZE=128
CONFIG_RIONET_RX_SIZE=128
CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
CONFIG_NLMON=m
+CONFIG_NET_VRF=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
@@ -2265,6 +2419,7 @@ CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
CONFIG_VHOST_RING=m
CONFIG_VHOST=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
#
# Distributed Switch Architecture drivers
@@ -2275,6 +2430,7 @@ CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=m
CONFIG_NET_DSA_MV88E6123_61_65=m
CONFIG_NET_DSA_MV88E6171=m
+CONFIG_NET_DSA_MV88E6352=m
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_ETHERNET=y
CONFIG_MDIO=m
@@ -2299,8 +2455,6 @@ CONFIG_LANCE=m
CONFIG_PCNET32=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_NI65=m
-CONFIG_AMD_XGBE=m
-CONFIG_NET_XGENE=m
CONFIG_NET_VENDOR_ARC=y
CONFIG_ARC_EMAC_CORE=m
CONFIG_ARC_EMAC=m
@@ -2310,6 +2464,10 @@ CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_ALX=m
+CONFIG_NET_VENDOR_AURORA=y
+CONFIG_AURORA_NB8800=m
+CONFIG_NET_CADENCE=y
+CONFIG_MACB=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
@@ -2321,9 +2479,13 @@ CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
+CONFIG_BNX2X_VXLAN=y
CONFIG_SYSTEMPORT=m
+CONFIG_BNXT=m
+CONFIG_BNXT_SRIOV=y
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
+# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
@@ -2356,7 +2518,9 @@ CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=m
+CONFIG_BE2NET_HWMON=y
CONFIG_BE2NET_VXLAN=y
+# CONFIG_NET_VENDOR_EZCHIP is not set
CONFIG_NET_VENDOR_EXAR=y
CONFIG_S2IO=m
CONFIG_VXGE=m
@@ -2371,12 +2535,11 @@ CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGB_HWMON=y
-CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
+CONFIG_IXGBE_VXLAN=y
CONFIG_IXGBE_HWMON=y
-CONFIG_IXGBE_DCA=y
CONFIG_IXGBEVF=m
CONFIG_I40E=m
CONFIG_I40E_VXLAN=y
@@ -2384,7 +2547,6 @@ CONFIG_I40EVF=m
CONFIG_FM10K=m
# CONFIG_FM10K_VXLAN is not set
CONFIG_NET_VENDOR_I825XX=y
-CONFIG_IP1000=m
CONFIG_JME=m
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_MVMDIO=m
@@ -2399,6 +2561,11 @@ CONFIG_MLX4_EN_VXLAN=y
CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+CONFIG_MLXSW_CORE=m
+CONFIG_MLXSW_PCI=m
+CONFIG_MLXSW_SWITCHX2=m
+CONFIG_MLXSW_SPECTRUM=m
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=m
CONFIG_KS8851=m
@@ -2407,9 +2574,9 @@ CONFIG_KSZ884X_PCI=m
CONFIG_NET_VENDOR_MICROCHIP=y
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ENCX24J600=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=m
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=m
@@ -2437,6 +2604,8 @@ CONFIG_QLCNIC_VXLAN=y
CONFIG_QLCNIC_HWMON=y
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
+CONFIG_QED=m
+CONFIG_QEDE=m
CONFIG_NET_VENDOR_QUALCOMM=y
CONFIG_QCA7000=m
CONFIG_NET_VENDOR_REALTEK=y
@@ -2448,8 +2617,11 @@ CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
+# CONFIG_NET_VENDOR_RENESAS is not set
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_ROCKER=m
CONFIG_NET_VENDOR_SAMSUNG=y
CONFIG_SXGBE_ETH=m
CONFIG_NET_VENDOR_SEEQ=y
@@ -2462,6 +2634,7 @@ CONFIG_SFC=m
CONFIG_SFC_MTD=y
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
+CONFIG_SFC_MCDI_LOGGING=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_SMC9194=m
CONFIG_PCMCIA_SMC91C92=m
@@ -2472,17 +2645,18 @@ CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
-CONFIG_STMMAC_PCI=y
-# CONFIG_STMMAC_DEBUG_FS is not set
-# CONFIG_STMMAC_DA is not set
+CONFIG_STMMAC_PCI=m
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
+CONFIG_NET_VENDOR_SYNOPSYS=y
+CONFIG_SYNOPSYS_DWC_ETH_QOS=m
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
+CONFIG_TI_CPSW_ALE=m
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
@@ -2504,16 +2678,18 @@ CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
+CONFIG_AQUANTIA_PHY=m
CONFIG_AT803X_PHY=m
CONFIG_AMD_PHY=m
-CONFIG_AMD_XGBE_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
+CONFIG_TERANETICS_PHY=m
CONFIG_SMSC_PHY=m
+CONFIG_BCM_NET_PHYLIB=m
CONFIG_BROADCOM_PHY=m
CONFIG_BCM7XXX_PHY=m
CONFIG_BCM87XX_PHY=m
@@ -2523,6 +2699,10 @@ CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
+CONFIG_DP83848_PHY=m
+CONFIG_DP83867_PHY=m
+CONFIG_MICROCHIP_PHY=m
+CONFIG_FIXED_PHY=m
CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_GPIO is not set
CONFIG_MDIO_BUS_MUX=m
@@ -2558,6 +2738,7 @@ CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_AX88179_178A=m
@@ -2593,6 +2774,7 @@ CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
+CONFIG_USB_NET_CH9200=m
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
CONFIG_LIBERTAS_THINFIRM=m
@@ -2608,10 +2790,10 @@ CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_ADM8211=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
# CONFIG_MAC80211_HWSIM is not set
CONFIG_MWL8K=m
CONFIG_ATH_COMMON=m
@@ -2633,6 +2815,7 @@ CONFIG_ATH9K_STATION_STATISTICS=y
CONFIG_ATH9K_WOW=y
CONFIG_ATH9K_RFKILL=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+CONFIG_ATH9K_PCOEM=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set
CONFIG_CARL9170=m
@@ -2664,7 +2847,6 @@ CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_SSB is not set
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
@@ -2788,6 +2970,8 @@ CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_LIB_DEBUGFS is not set
# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL_MEDIATEK=y
+CONFIG_MT7601U=m
CONFIG_RTL_CARDS=m
CONFIG_RTL8192CE=m
CONFIG_RTL8192SE=m
@@ -2805,6 +2989,8 @@ CONFIG_RTLWIFI_USB=m
CONFIG_RTL8192C_COMMON=m
CONFIG_RTL8723_COMMON=m
CONFIG_RTLBTCOEXIST=m
+CONFIG_RTL8XXXU=m
+CONFIG_RTL8XXXU_UNTESTED=y
CONFIG_WL_TI=y
CONFIG_WL1251=m
# CONFIG_WL1251_SPI is not set
@@ -2837,12 +3023,14 @@ CONFIG_WIMAX_I2400M_USB=m
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
# CONFIG_WAN is not set
CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
CONFIG_IEEE802154_FAKELB=m
CONFIG_IEEE802154_AT86RF230=m
+# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
+CONFIG_IEEE802154_ATUSB=m
CONFIG_VMXNET3=m
+CONFIG_FUJITSU_ES=m
CONFIG_HYPERV_NET=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
@@ -2990,11 +3178,13 @@ CONFIG_MISDN_NETJET=m
CONFIG_MISDN_IPAC=m
CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m
+# CONFIG_NVM is not set
#
# Input device support
#
CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=m
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -3039,7 +3229,8 @@ CONFIG_KEYBOARD_MPR121=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CROS_EC is not set
-# CONFIG_KEYBOARD_CAP1106 is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
@@ -3052,10 +3243,15 @@ CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_PS2_OLPC=y
+CONFIG_MOUSE_PS2_FOCALTECH=y
+CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_ELAN_I2C=m
+CONFIG_MOUSE_ELAN_I2C_I2C=y
+CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_INPORT=m
# CONFIG_MOUSE_ATIXL is not set
CONFIG_MOUSE_LOGIBM=m
@@ -3103,7 +3299,7 @@ CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_OF_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_PROPERTIES=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
@@ -3113,6 +3309,7 @@ CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
CONFIG_TOUCHSCREEN_BU21013=m
+# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
CONFIG_TOUCHSCREEN_CY8CTMG110=m
CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
@@ -3124,9 +3321,12 @@ CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_EGALAX=m
+CONFIG_TOUCHSCREEN_FT6236=m
CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELAN=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_WACOM_I2C=m
@@ -3134,6 +3334,7 @@ CONFIG_TOUCHSCREEN_MAX11801=m
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MMS114=m
CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_IMX6UL_TSC=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_HTCPEN=m
@@ -3144,6 +3345,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_UCB1400=m
CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WDT87XX_I2C=m
CONFIG_TOUCHSCREEN_WM97XX=m
CONFIG_TOUCHSCREEN_WM9705=y
CONFIG_TOUCHSCREEN_WM9712=y
@@ -3170,17 +3372,23 @@ CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC200X_CORE=m
+CONFIG_TOUCHSCREEN_TSC2004=m
# CONFIG_TOUCHSCREEN_TSC2005 is not set
CONFIG_TOUCHSCREEN_TSC2007=m
CONFIG_TOUCHSCREEN_ST1232=m
CONFIG_TOUCHSCREEN_SUR40=m
+# CONFIG_TOUCHSCREEN_SX8654 is not set
CONFIG_TOUCHSCREEN_TPS6507X=m
CONFIG_TOUCHSCREEN_ZFORCE=m
+CONFIG_TOUCHSCREEN_ROHM_BU21023=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AD714X=m
CONFIG_INPUT_AD714X_I2C=m
CONFIG_INPUT_AD714X_SPI=m
+# CONFIG_INPUT_ARIZONA_HAPTICS is not set
CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_E3X0_BUTTON=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_MMA8450=m
@@ -3199,6 +3407,7 @@ CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_TPS65218_PWRBUTTON=m
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_PCF50633_PMU=m
CONFIG_INPUT_PCF8574=m
@@ -3212,6 +3421,7 @@ CONFIG_INPUT_CMA3000=m
CONFIG_INPUT_CMA3000_I2C=m
CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
#
@@ -3232,6 +3442,7 @@ CONFIG_SERIO_ARC_PS2=m
CONFIG_SERIO_APBPS2=m
CONFIG_SERIO_OLPC_APSP=m
CONFIG_HYPERV_KEYBOARD=m
+# CONFIG_USERIO is not set
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
@@ -3266,6 +3477,7 @@ CONFIG_N_HDLC=m
CONFIG_N_GSM=m
CONFIG_TRACE_ROUTER=m
CONFIG_TRACE_SINK=m
+CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
#
@@ -3282,22 +3494,27 @@ CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_FSL is not set
CONFIG_SERIAL_8250_DW=m
+CONFIG_SERIAL_8250_RT288X=y
# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_MID=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
-# CONFIG_SERIAL_MRST_MAX3110 is not set
-CONFIG_SERIAL_MFD_HSU=m
+# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
CONFIG_SERIAL_OF_PLATFORM=m
CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_SC16IS7XX_CORE=m
CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_I2C=y
+# CONFIG_SERIAL_SC16IS7XX_SPI is not set
# CONFIG_SERIAL_TIMBERDALE is not set
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=m
@@ -3311,6 +3528,7 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_RP2=m
CONFIG_SERIAL_RP2_NR_UARTS=32
CONFIG_SERIAL_FSL_LPUART=m
+CONFIG_SERIAL_CONEXANT_DIGICOLOR=m
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
@@ -3321,6 +3539,7 @@ CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
# CONFIG_IPMI_SI_PROBE_DEFAULTS is not set
+CONFIG_IPMI_SSIF=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=m
@@ -3361,7 +3580,8 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
-CONFIG_TCG_ST33_I2C=m
+CONFIG_TCG_CRB=m
+# CONFIG_TCG_TIS_ST33ZP24 is not set
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
# CONFIG_XILLYBUS is not set
@@ -3369,7 +3589,8 @@ CONFIG_DEVPORT=y
#
# I2C support
#
-CONFIG_I2C=m
+CONFIG_I2C=y
+CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
@@ -3383,6 +3604,7 @@ CONFIG_I2C_MUX=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
@@ -3426,6 +3648,7 @@ CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_DESIGNWARE_PCI=m
CONFIG_I2C_EG20T=m
+# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_OCORES=m
CONFIG_I2C_PCA_PLATFORM=m
@@ -3453,6 +3676,8 @@ CONFIG_I2C_PCA_ISA=m
# CONFIG_I2C_CROS_EC_TUNNEL is not set
CONFIG_SCx200_ACB=m
# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+CONFIG_I2C_SLAVE_EEPROM=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -3466,6 +3691,7 @@ CONFIG_SPI_MASTER=y
CONFIG_SPI_ALTERA=m
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
+# CONFIG_SPI_CADENCE is not set
CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
# CONFIG_SPI_FSL_SPI is not set
@@ -3477,6 +3703,7 @@ CONFIG_SPI_SC18IS602=m
CONFIG_SPI_TOPCLIFF_PCH=m
CONFIG_SPI_XCOMM=m
CONFIG_SPI_XILINX=m
+CONFIG_SPI_ZYNQMP_GQSPI=m
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DW_PCI=m
# CONFIG_SPI_DW_MID_DMA is not set
@@ -3520,9 +3747,17 @@ CONFIG_PINCTRL=y
#
# Pin controllers
#
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_PINCTRL_BAYTRAIL is not set
+# CONFIG_PINCTRL_AMD is not set
# CONFIG_PINCTRL_SINGLE is not set
+CONFIG_PINCTRL_BAYTRAIL=y
+CONFIG_PINCTRL_CHERRYVIEW=m
+CONFIG_PINCTRL_INTEL=m
+CONFIG_PINCTRL_BROXTON=m
+CONFIG_PINCTRL_SUNRISEPOINT=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
@@ -3533,66 +3768,74 @@ CONFIG_GPIOLIB_IRQCHIP=y
CONFIG_GPIO_SYSFS=y
#
-# Memory mapped GPIO drivers:
+# Memory mapped GPIO drivers
#
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_DWAPB is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_F7188X is not set
-CONFIG_GPIO_SCH311X=m
-# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SCH=m
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_GRGPIO is not set
CONFIG_GPIO_ICH=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_LYNXPOINT=m
-# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_ZX is not set
#
-# I2C GPIO expanders:
+# Port-mapped I/O GPIO drivers
#
-CONFIG_GPIO_ARIZONA=m
-CONFIG_GPIO_LP3943=m
+# CONFIG_GPIO_104_IDIO_16 is not set
+# CONFIG_GPIO_F7188X is not set
+# CONFIG_GPIO_IT87 is not set
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_SCH311X=m
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_SX150X is not set
#
-# PCI GPIO expanders:
+# MFD GPIO expanders
#
+# CONFIG_GPIO_ARIZONA is not set
+CONFIG_GPIO_CRYSTAL_COVE=y
CONFIG_GPIO_CS5535=y
+# CONFIG_GPIO_LP3943 is not set
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# PCI GPIO expanders
+#
CONFIG_GPIO_AMD8111=m
# CONFIG_GPIO_INTEL_MID is not set
-# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
-# CONFIG_GPIO_SODAVILLE is not set
+# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_RDC321X is not set
+# CONFIG_GPIO_SODAVILLE is not set
#
-# SPI GPIO expanders:
+# SPI GPIO expanders
#
+# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-CONFIG_GPIO_UCB1400=m
#
-# LPC GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
+# SPI or I2C GPIO expanders
#
+# CONFIG_GPIO_MCP23S08 is not set
#
-# USB GPIO expanders:
+# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=m
# CONFIG_W1 is not set
@@ -3606,7 +3849,7 @@ CONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2782 is not set
CONFIG_BATTERY_OLPC=m
# CONFIG_BATTERY_SBS is not set
-# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_PCF50633 is not set
@@ -3616,15 +3859,23 @@ CONFIG_BATTERY_OLPC=m
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
CONFIG_CHARGER_BQ24735=m
+# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_CHARGER_TPS65217 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_GPIO=y
# CONFIG_POWER_RESET_GPIO_RESTART is not set
# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_RESTART is not set
# CONFIG_POWER_RESET_SYSCON is not set
+# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
CONFIG_POWER_AVS=y
-CONFIG_HWMON=m
+CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -3658,6 +3909,7 @@ CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_DELL_SMM=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
@@ -3673,6 +3925,7 @@ CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
+CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
@@ -3694,6 +3947,7 @@ CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_HTU21=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_ADCXX=m
@@ -3718,6 +3972,8 @@ CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_NCT6683=m
CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NCT7802=m
+CONFIG_SENSORS_NCT7904=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
@@ -3725,6 +3981,7 @@ CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
CONFIG_SENSORS_TPS40422=m
@@ -3754,6 +4011,7 @@ CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_INA209=m
CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP103=m
@@ -3780,25 +4038,28 @@ CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
+# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
# CONFIG_CPU_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_PKG_TEMP_THERMAL=m
+CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INT340X_THERMAL=m
CONFIG_ACPI_THERMAL_REL=m
-
-#
-# Texas Instruments thermal drivers
-#
+CONFIG_INTEL_PCH_THERMAL=m
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -3809,8 +4070,10 @@ CONFIG_WATCHDOG_CORE=y
CONFIG_SOFT_WATCHDOG=m
CONFIG_GPIO_WATCHDOG=m
CONFIG_XILINX_WATCHDOG=m
+# CONFIG_CADENCE_WATCHDOG is not set
CONFIG_DW_WATCHDOG=m
# CONFIG_RN5T618_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
CONFIG_RETU_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
@@ -3847,6 +4110,7 @@ CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
CONFIG_SBC_EPX_C3_WATCHDOG=m
+CONFIG_BCM7038_WDT=m
CONFIG_MEN_A21_WDT=m
#
@@ -3881,6 +4145,7 @@ CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
+CONFIG_SSB_HOST_SOC=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -3895,6 +4160,7 @@ CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
+CONFIG_BCMA_DRIVER_PCI=y
CONFIG_BCMA_DRIVER_GMAC_CMN=y
CONFIG_BCMA_DRIVER_GPIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -3904,20 +4170,52 @@ CONFIG_BCMA_DRIVER_GPIO=y
#
CONFIG_MFD_CORE=y
CONFIG_MFD_CS5535=m
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
CONFIG_MFD_BCM590XX=m
+# CONFIG_MFD_AXP20X is not set
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC_SPI=m
+# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_MC13XXX=m
# CONFIG_MFD_MC13XXX_SPI is not set
CONFIG_MFD_MC13XXX_I2C=m
# CONFIG_MFD_HI6421_PMIC is not set
CONFIG_HTC_PASIC3=m
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
+CONFIG_INTEL_SOC_PMIC=y
+CONFIG_MFD_INTEL_LPSS=m
+CONFIG_MFD_INTEL_LPSS_ACPI=m
+CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_EZX_PCAP is not set
CONFIG_MFD_VIPERBOARD=m
@@ -3928,27 +4226,43 @@ CONFIG_PCF50633_GPIO=m
CONFIG_UCB1400_CORE=m
CONFIG_MFD_RDC321X=m
CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_RT5033=m
CONFIG_MFD_RTSX_USB=m
+# CONFIG_MFD_RC5T583 is not set
CONFIG_MFD_RK808=m
CONFIG_MFD_RN5T618=m
+# CONFIG_MFD_SEC_CORE is not set
CONFIG_MFD_SI476X_CORE=m
CONFIG_MFD_SM501=m
CONFIG_MFD_SM501_GPIO=y
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_SMSC is not set
CONFIG_ABX500_CORE=y
+# CONFIG_AB3100_CORE is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SYSCON=y
CONFIG_MFD_TI_AM335X_TSCADC=m
CONFIG_MFD_LP3943=m
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
CONFIG_TPS65010=m
CONFIG_TPS6507X=m
+# CONFIG_MFD_TPS65090 is not set
CONFIG_MFD_TPS65217=m
CONFIG_MFD_TPS65218=m
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
CONFIG_MFD_WL1273_CORE=m
CONFIG_MFD_LM3533=m
# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_VX855=m
CONFIG_MFD_ARIZONA=y
@@ -3957,7 +4271,11 @@ CONFIG_MFD_ARIZONA_I2C=m
CONFIG_MFD_WM5102=y
CONFIG_MFD_WM5110=y
# CONFIG_MFD_WM8997 is not set
+# CONFIG_MFD_WM8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_REGULATOR is not set
CONFIG_MEDIA_SUPPORT=m
@@ -3979,6 +4297,7 @@ CONFIG_VIDEO_V4L2=m
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=m
CONFIG_V4L2_MEM2MEM_DEV=m
+# CONFIG_V4L2_FLASH_LED_CLASS is not set
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
@@ -4024,16 +4343,9 @@ CONFIG_IR_NUVOTON=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m
-CONFIG_IR_IMG=m
-# CONFIG_IR_IMG_RAW is not set
-CONFIG_IR_IMG_HW=y
-CONFIG_IR_IMG_NEC=y
-CONFIG_IR_IMG_JVC=y
-CONFIG_IR_IMG_SONY=y
-CONFIG_IR_IMG_SHARP=y
-CONFIG_IR_IMG_SANYO=y
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_USB_SUPPORT=y
@@ -4087,6 +4399,7 @@ CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TOUPTEK=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_VICAM=m
@@ -4109,7 +4422,6 @@ CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160_AC97=y
@@ -4204,13 +4516,8 @@ CONFIG_MEDIA_PCI_SUPPORT=y
# Media capture support
#
CONFIG_VIDEO_MEYE=m
-
-#
-# Media capture/analog TV support
-#
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_IVTV_ALSA=m
-CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_SOLO6X10=m
+CONFIG_VIDEO_TW68=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -4219,11 +4526,17 @@ CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_SOLO6X10=m
-CONFIG_VIDEO_TW68=m
+CONFIG_VIDEO_DT3155=m
#
# Media capture/analog/hybrid TV support
@@ -4249,6 +4562,7 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_SAA7134_GO7007=m
CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_COBALT=m
#
# Media digital TV PCI Adapters
@@ -4272,23 +4586,21 @@ CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
+CONFIG_DVB_SMIPCIE=m
+CONFIG_DVB_NETUP_UNIDVB=m
# CONFIG_V4L_PLATFORM_DRIVERS is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
# CONFIG_VIDEO_VIVID is not set
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+# CONFIG_VIDEO_VIM2M is not set
+# CONFIG_DVB_PLATFORM_DRIVERS is not set
#
# Supported MMC/SDIO adapters
#
CONFIG_SMS_SDIO_DRV=m
-CONFIG_MEDIA_PARPORT_SUPPORT=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_PMS=m
-CONFIG_VIDEO_W9966=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_TEA575X=m
CONFIG_RADIO_SI470X=y
@@ -4298,6 +4610,7 @@ CONFIG_RADIO_SI4713=m
CONFIG_USB_SI4713=m
CONFIG_PLATFORM_SI4713=m
CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI476X=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
@@ -4328,7 +4641,6 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
# common driver options
#
CONFIG_VIDEO_CX2341X=m
-CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_CYPRESS_FIRMWARE=m
CONFIG_DVB_B2C2_FLEXCOP=m
@@ -4370,6 +4682,8 @@ CONFIG_VIDEO_SAA6588=m
#
# Video decoders
#
+CONFIG_VIDEO_ADV7604=m
+CONFIG_VIDEO_ADV7842=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
@@ -4395,6 +4709,7 @@ CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_ADV7511=m
#
# Camera sensor devices
@@ -4454,7 +4769,7 @@ CONFIG_MEDIA_TUNER_FC0013=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_E4000=m
CONFIG_MEDIA_TUNER_FC2580=m
-CONFIG_MEDIA_TUNER_M88TS2022=m
+CONFIG_MEDIA_TUNER_M88RS6000T=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
@@ -4502,6 +4817,7 @@ CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_CX24117=m
+CONFIG_DVB_CX24120=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_TS2020=m
CONFIG_DVB_DS3000=m
@@ -4530,6 +4846,7 @@ CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_CXD2841ER=m
CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
@@ -4553,6 +4870,7 @@ CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LGDT3306A=m
CONFIG_DVB_LG2160=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
@@ -4566,6 +4884,10 @@ CONFIG_DVB_S5H1411=m
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
+
+#
+# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
+#
CONFIG_DVB_TC90522=m
#
@@ -4579,18 +4901,22 @@ CONFIG_DVB_TUNER_DIB0090=m
# SEC control devices for DVB-S
#
CONFIG_DVB_DRX39XYJ=m
+CONFIG_DVB_LNBH25=m
CONFIG_DVB_LNBP21=m
CONFIG_DVB_LNBP22=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
+CONFIG_DVB_SP2=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_M88RS2000=m
CONFIG_DVB_AF9033=m
+CONFIG_DVB_HORUS3A=m
+CONFIG_DVB_ASCOT2E=m
#
# Tools to develop new frontends
@@ -4615,39 +4941,40 @@ CONFIG_INTEL_GTT=m
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
-
-#
-# Direct Rendering Manager
-#
CONFIG_DRM=m
+CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
#
# I2C encoder or helper chips
#
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_PTN3460=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_USERPTR is not set
# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_AMDGPU=m
+# CONFIG_DRM_AMDGPU_CIK is not set
+CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_NOUVEAU=m
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_I915_FBDEV=y
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VGEM=m
CONFIG_DRM_VMWGFX=m
CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
@@ -4659,6 +4986,24 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_QXL=m
CONFIG_DRM_BOCHS=m
+CONFIG_DRM_VIRTIO_GPU=m
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_SIMPLE is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+CONFIG_DRM_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
#
# Frame buffer Devices
@@ -4731,6 +5076,7 @@ CONFIG_FB_VOODOO1=m
# CONFIG_FB_SM501 is not set
# CONFIG_FB_SMSCUFX is not set
CONFIG_FB_UDL=m
+# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
@@ -4739,6 +5085,7 @@ CONFIG_FB_VIRTUAL=m
CONFIG_FB_HYPERV=m
# CONFIG_FB_SIMPLE is not set
CONFIG_FB_SSD1307=m
+# CONFIG_FB_SM712 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_L4F00242T03 is not set
@@ -4759,6 +5106,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_LM3533=m
# CONFIG_BACKLIGHT_PWM is not set
CONFIG_BACKLIGHT_APPLE=m
+# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
@@ -4778,9 +5126,12 @@ CONFIG_HDMI=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
@@ -4791,8 +5142,10 @@ CONFIG_SOUND_OSS_CORE=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
+CONFIG_SND_DMAENGINE_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
+CONFIG_SND_COMPRESS_OFFLOAD=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
@@ -4800,17 +5153,18 @@ CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_PCM_TIMER=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
-CONFIG_SND_KCTL_JACK=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_OPL3_LIB_SEQ=m
@@ -4953,20 +5307,16 @@ CONFIG_SND_YMFPCI=m
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_DSP_LOADER=y
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
-CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=m
CONFIG_SND_HDA_CODEC_ANALOG=m
CONFIG_SND_HDA_CODEC_SIGMATEL=m
CONFIG_SND_HDA_CODEC_VIA=m
CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_CODEC_CIRRUS=m
CONFIG_SND_HDA_CODEC_CONEXANT=m
CONFIG_SND_HDA_CODEC_CA0110=m
@@ -4976,6 +5326,11 @@ CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_CORE=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_I915=y
+CONFIG_SND_HDA_EXT_CORE=m
+CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
@@ -4987,18 +5342,146 @@ CONFIG_SND_USB_US122L=m
CONFIG_SND_USB_6FIRE=m
CONFIG_SND_USB_HIFACE=m
CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_DICE=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_OXFW=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_SCS1X=m
CONFIG_SND_FIREWORKS=m
CONFIG_SND_BEBOB=m
+CONFIG_SND_FIREWIRE_DIGI00X=m
+CONFIG_SND_FIREWIRE_TASCAM=m
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+CONFIG_SND_SOC_COMPRESS=y
+CONFIG_SND_SOC_TOPOLOGY=y
+# CONFIG_SND_ATMEL_SOC is not set
+CONFIG_SND_DESIGNWARE_I2S=m
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SST_MFLD_PLATFORM=m
+CONFIG_SND_SST_IPC=m
+CONFIG_SND_SST_IPC_ACPI=m
+CONFIG_SND_SOC_INTEL_SST=m
+CONFIG_SND_SOC_INTEL_SST_ACPI=m
+CONFIG_SND_SOC_INTEL_HASWELL=m
+CONFIG_SND_SOC_INTEL_BAYTRAIL=m
+CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
+CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
+CONFIG_SND_SOC_INTEL_SKYLAKE=m
+CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
+
+#
+# Allwinner SoC Audio support
+#
+# CONFIG_SND_SUN4I_CODEC is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=m
+
+#
+# CODEC drivers
+#
+CONFIG_SND_SOC_AC97_CODEC=m
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS4349 is not set
+CONFIG_SND_SOC_DMIC=m
+# CONFIG_SND_SOC_ES8328 is not set
+# CONFIG_SND_SOC_GTM601 is not set
+CONFIG_SND_SOC_MAX98090=m
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1792A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_RL6231=m
+CONFIG_SND_SOC_RL6347A=m
+CONFIG_SND_SOC_RT286=m
+# CONFIG_SND_SOC_RT5631 is not set
+CONFIG_SND_SOC_RT5640=m
+CONFIG_SND_SOC_RT5645=m
+CONFIG_SND_SOC_RT5670=m
+# CONFIG_SND_SOC_RT5677_SPI is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+CONFIG_SND_SOC_SI476X=m
+# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
+CONFIG_SND_SOC_SPDIF=m
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC3X is not set
+CONFIG_SND_SOC_TS3A227E=m
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731 is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+CONFIG_SND_SIMPLE_CARD=m
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
@@ -5006,6 +5489,7 @@ CONFIG_AC97_BUS=m
# HID support
#
CONFIG_HID=m
+CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=m
@@ -5020,8 +5504,10 @@ CONFIG_HID_APPLE=m
CONFIG_HID_APPLEIR=m
CONFIG_HID_AUREAL=m
CONFIG_HID_BELKIN=m
+CONFIG_HID_BETOP_FF=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
+CONFIG_HID_CORSAIR=m
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
@@ -5031,10 +5517,11 @@ CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EZKEY=m
+CONFIG_HID_GEMBIRD=m
+CONFIG_HID_GFRM=m
CONFIG_HID_HOLTEK=m
CONFIG_HOLTEK_FF=y
CONFIG_HID_GT683R=m
-CONFIG_HID_HUION=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
CONFIG_HID_UCLOGIC=m
@@ -5047,6 +5534,7 @@ CONFIG_HID_LCPOWER=m
CONFIG_HID_LENOVO=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
+CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
@@ -5067,6 +5555,7 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
@@ -5094,6 +5583,7 @@ CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
CONFIG_HID_SENSOR_HUB=m
+# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
#
# USB HID support
@@ -5120,7 +5610,7 @@ CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_ULPI_BUS is not set
CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
@@ -5132,6 +5622,7 @@ CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_PCI=m
+# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
@@ -5139,9 +5630,7 @@ CONFIG_USB_EHCI_PCI=m
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1760_HCD=m
CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_FUSBH200_HCD=m
# CONFIG_USB_FOTG210_HCD is not set
CONFIG_USB_MAX3421_HCD=m
CONFIG_USB_OHCI_HCD=m
@@ -5206,15 +5695,19 @@ CONFIG_USB_MUSB_HDRC=m
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
-CONFIG_USB_MUSB_TUSB6010=m
-CONFIG_USB_MUSB_DSPS=m
-CONFIG_USB_MUSB_UX500=m
-CONFIG_USB_MUSB_AM335X_CHILD=m
-# CONFIG_USB_UX500_DMA is not set
+
+#
+# Platform Glue Layer
+#
+
+#
+# MUSB DMA mode
+#
CONFIG_MUSB_PIO_ONLY=y
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
#
# USB port drivers
@@ -5303,6 +5796,7 @@ CONFIG_USB_YUREX=m
CONFIG_USB_EZUSB_FX2=m
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_LINK_LAYER_TEST=m
+CONFIG_USB_CHAOSKEY=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
@@ -5336,6 +5830,12 @@ CONFIG_USB_PXA27X=m
CONFIG_USB_MV_UDC=m
CONFIG_USB_MV_U3D=m
CONFIG_USB_M66592=m
+CONFIG_USB_BDC_UDC=m
+
+#
+# Platform Support
+#
+CONFIG_USB_BDC_PCI=m
CONFIG_USB_AMD5536UDC=m
CONFIG_USB_NET2272=m
CONFIG_USB_NET2272_DMA=y
@@ -5358,6 +5858,9 @@ CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC2=m
CONFIG_USB_F_UVC=m
+CONFIG_USB_F_MIDI=m
+CONFIG_USB_F_HID=m
+CONFIG_USB_F_PRINTER=m
# CONFIG_USB_CONFIGFS is not set
# CONFIG_USB_ZERO is not set
CONFIG_USB_AUDIO=m
@@ -5392,7 +5895,6 @@ CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_CLKGATE is not set
#
# MMC/SD/SDIO Card Drivers
@@ -5412,8 +5914,8 @@ CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_SDHCI_OF_ARASAN=m
-CONFIG_MMC_SDHCI_PXAV3=m
-CONFIG_MMC_SDHCI_PXAV2=m
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SDRICOH_CS=m
@@ -5424,6 +5926,8 @@ CONFIG_MMC_USHC=m
CONFIG_MMC_USDHI6ROL0=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
+CONFIG_MMC_TOSHIBA_PCI=m
+CONFIG_MMC_MTK=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -5444,10 +5948,14 @@ CONFIG_MEMSTICK_REALTEK_PCI=m
CONFIG_MEMSTICK_REALTEK_USB=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=m
+CONFIG_LEDS_CLASS_FLASH=m
#
# LED drivers
#
+CONFIG_LEDS_AAT1290=m
+CONFIG_LEDS_BCM6328=m
+CONFIG_LEDS_BCM6358=m
CONFIG_LEDS_LM3530=m
CONFIG_LEDS_LM3533=m
CONFIG_LEDS_LM3642=m
@@ -5455,11 +5963,11 @@ CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP55XX_COMMON=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_LP5562=m
-CONFIG_LEDS_LP8501=m
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
+# CONFIG_LEDS_LP5562 is not set
+# CONFIG_LEDS_LP8501 is not set
+CONFIG_LEDS_LP8860=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA963X=m
@@ -5471,8 +5979,10 @@ CONFIG_LEDS_LT3593=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_MC13783=m
CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_TLC591XX=m
CONFIG_LEDS_LM355x=m
CONFIG_LEDS_OT200=m
+CONFIG_LEDS_KTD2692=m
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
@@ -5502,11 +6012,10 @@ CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
@@ -5524,12 +6033,15 @@ CONFIG_INFINIBAND_SRP=m
CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_ISER=m
CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC_ATOMIC_SCRUB=y
+CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MCE_INJ=m
CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD64=m
+CONFIG_EDAC_AMD64_ERROR_INJECTION=y
CONFIG_EDAC_AMD76X=m
CONFIG_EDAC_E7XXX=m
CONFIG_EDAC_E752X=m
@@ -5549,8 +6061,9 @@ CONFIG_EDAC_I7300=m
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
#
@@ -5565,8 +6078,11 @@ CONFIG_RTC_DRV_TEST=m
#
# I2C RTC drivers
#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+CONFIG_RTC_DRV_ABX80X=m
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1374_WDT=y
CONFIG_RTC_DRV_DS1672=m
CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_HYM8563=m
@@ -5591,6 +6107,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_RV3029C2=m
+# CONFIG_RTC_DRV_RV8803 is not set
#
# SPI RTC drivers
@@ -5616,6 +6133,14 @@ CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1685_FAMILY=m
+CONFIG_RTC_DRV_DS1685=y
+# CONFIG_RTC_DRV_DS1689 is not set
+# CONFIG_RTC_DRV_DS17285 is not set
+# CONFIG_RTC_DRV_DS17485 is not set
+# CONFIG_RTC_DRV_DS17885 is not set
+# CONFIG_RTC_DS1685_PROC_REGS is not set
+CONFIG_RTC_DS1685_SYSFS_REGS=y
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_DS2404=m
CONFIG_RTC_DRV_STK17TA8=m
@@ -5627,13 +6152,13 @@ CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_PCF50633=m
+CONFIG_RTC_DRV_ZYNQMP=m
#
# on-CPU RTC drivers
#
CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_SNVS=m
-# CONFIG_RTC_DRV_XGENE is not set
#
# HID Sensor RTC drivers
@@ -5645,25 +6170,23 @@ CONFIG_DMADEVICES=y
#
# DMA Devices
#
-CONFIG_INTEL_MID_DMAC=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_DW_DMAC_CORE=m
-CONFIG_DW_DMAC=m
-CONFIG_DW_DMAC_PCI=m
-CONFIG_PCH_DMA=m
-CONFIG_FSL_EDMA=m
CONFIG_DMA_ENGINE=y
-CONFIG_DMA_VIRTUAL_CHANNELS=m
+CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_DMA_OF=y
+CONFIG_FSL_EDMA=m
+CONFIG_INTEL_IDMA64=m
+CONFIG_PCH_DMA=m
+CONFIG_DW_DMAC_CORE=m
+CONFIG_DW_DMAC=m
+CONFIG_DW_DMAC_PCI=m
+CONFIG_HSU_DMA=y
#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
-CONFIG_DMA_ENGINE_RAID=y
-CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_KS0108=m
CONFIG_KS0108_PORT=0x378
@@ -5678,11 +6201,16 @@ CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
+CONFIG_UIO_PRUSS=m
# CONFIG_UIO_MF624 is not set
CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO_VIRQFD=m
CONFIG_VFIO=m
CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
+CONFIG_VFIO_PCI_MMAP=y
+CONFIG_VFIO_PCI_INTX=y
+CONFIG_IRQ_BYPASS_MANAGER=m
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=m
@@ -5690,7 +6218,9 @@ CONFIG_VIRTIO=m
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
@@ -5741,7 +6271,6 @@ CONFIG_COMEDI_DT2815=m
CONFIG_COMEDI_DT2817=m
CONFIG_COMEDI_DT282X=m
CONFIG_COMEDI_DMM32AT=m
-CONFIG_COMEDI_UNIOXX5=m
CONFIG_COMEDI_FL512=m
CONFIG_COMEDI_AIO_AIO12_8=m
CONFIG_COMEDI_AIO_IIRO_16=m
@@ -5760,10 +6289,9 @@ CONFIG_COMEDI_PCMMIO=m
CONFIG_COMEDI_PCMUIO=m
CONFIG_COMEDI_MULTIQ3=m
CONFIG_COMEDI_S526=m
-CONFIG_COMEDI_PCI_DRIVERS=y
+CONFIG_COMEDI_PCI_DRIVERS=m
CONFIG_COMEDI_8255_PCI=m
CONFIG_COMEDI_ADDI_WATCHDOG=m
-CONFIG_COMEDI_ADDI_APCI_035=m
CONFIG_COMEDI_ADDI_APCI_1032=m
CONFIG_COMEDI_ADDI_APCI_1500=m
CONFIG_COMEDI_ADDI_APCI_1516=m
@@ -5816,7 +6344,7 @@ CONFIG_COMEDI_RTD520=m
CONFIG_COMEDI_S626=m
CONFIG_COMEDI_MITE=m
CONFIG_COMEDI_NI_TIOCMD=m
-CONFIG_COMEDI_PCMCIA_DRIVERS=y
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
CONFIG_COMEDI_CB_DAS16_CS=m
CONFIG_COMEDI_DAS08_CS=m
CONFIG_COMEDI_NI_DAQ_700_CS=m
@@ -5824,18 +6352,21 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
CONFIG_COMEDI_NI_LABPC_CS=m
CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
-CONFIG_COMEDI_USB_DRIVERS=y
+CONFIG_COMEDI_USB_DRIVERS=m
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_NI_USB6501=m
CONFIG_COMEDI_USBDUX=m
CONFIG_COMEDI_USBDUXFAST=m
CONFIG_COMEDI_USBDUXSIGMA=m
CONFIG_COMEDI_VMK80XX=m
+CONFIG_COMEDI_8254=m
CONFIG_COMEDI_8255=m
+CONFIG_COMEDI_8255_SA=m
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_AMPLC_DIO200=m
CONFIG_COMEDI_AMPLC_PC236=m
CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_ISADMA=m
CONFIG_COMEDI_NI_LABPC=m
CONFIG_COMEDI_NI_LABPC_ISADMA=m
CONFIG_COMEDI_NI_TIO=m
@@ -5856,8 +6387,6 @@ CONFIG_R8723AU=m
CONFIG_8723AU_AP_MODE=y
CONFIG_8723AU_BT_COEXIST=y
CONFIG_RTS5208=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
CONFIG_VT6655=m
CONFIG_VT6656=m
@@ -5950,11 +6479,8 @@ CONFIG_SENSORS_HMC5843_SPI=m
#
# CONFIG_IIO_PERIODIC_RTC_TRIGGER is not set
# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_FB_SM750 is not set
CONFIG_FB_XGI=m
-CONFIG_BCM_WIMAX=m
-CONFIG_FT1000=m
-CONFIG_FT1000_USB=m
-CONFIG_FT1000_PCMCIA=m
#
# Speakup console speech
@@ -5975,19 +6501,14 @@ CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
CONFIG_STAGING_MEDIA=y
CONFIG_I2C_BCM2048=m
CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_VIDEO_V4L2_INT_DEVICE=m
-CONFIG_VIDEO_TCM825X=m
+CONFIG_DVB_MN88472=m
+CONFIG_DVB_MN88473=m
CONFIG_LIRC_STAGING=y
CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_IMON=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SASEM=m
@@ -5995,12 +6516,12 @@ CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_SIR=m
CONFIG_LIRC_ZILOG=m
+# CONFIG_STAGING_RDMA is not set
#
# Android
#
-# CONFIG_ANDROID is not set
-CONFIG_USB_WPAN_HCD=m
+# CONFIG_STAGING_BOARD is not set
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
CONFIG_WIMAX_GDM72XX_K_MODE=y
@@ -6024,6 +6545,10 @@ CONFIG_LNET_XPRT_IB=m
CONFIG_DGNC=m
CONFIG_DGAP=m
CONFIG_GS_FPGABOOT=m
+CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
+# CONFIG_FB_TFT is not set
+# CONFIG_WILC1000_DRIVER is not set
+# CONFIG_MOST is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -6033,6 +6558,7 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_WMI=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_SMO8800=m
+CONFIG_DELL_RBTN=m
CONFIG_FUJITSU_LAPTOP=m
# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
CONFIG_FUJITSU_TABLET=m
@@ -6066,6 +6592,7 @@ CONFIG_TOPSTAR_LAPTOP=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
CONFIG_TOSHIBA_HAPS=m
+CONFIG_TOSHIBA_WMI=m
CONFIG_ACPI_CMPC=m
CONFIG_INTEL_IPS=m
CONFIG_IBM_RTL=m
@@ -6079,14 +6606,14 @@ CONFIG_APPLE_GMUX=m
CONFIG_INTEL_RST=m
CONFIG_INTEL_SMARTCONNECT=y
CONFIG_PVPANIC=m
+CONFIG_INTEL_PMC_IPC=m
+CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
-
-#
-# SOC (System On Chip) specific Drivers
-#
-# CONFIG_SOC_TI is not set
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_LPC=m
+CONFIG_CROS_EC_PROTO=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -6096,9 +6623,12 @@ CONFIG_COMMON_CLK=y
#
CONFIG_COMMON_CLK_RK808=m
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_PXA is not set
-# CONFIG_COMMON_CLK_QCOM is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
#
# Hardware Spinlock drivers
@@ -6119,9 +6649,15 @@ CONFIG_CLKBLD_I8253=y
# CONFIG_MAILBOX is not set
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IOVA=y
CONFIG_OF_IOMMU=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
+CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
@@ -6138,6 +6674,8 @@ CONFIG_STE_MODEM_RPROC=m
#
# SOC (System On Chip) specific Drivers
#
+# CONFIG_SUNXI_SRAM is not set
+# CONFIG_SOC_TI is not set
CONFIG_PM_DEVFREQ=y
#
@@ -6151,19 +6689,22 @@ CONFIG_DEVFREQ_GOV_USERSPACE=m
#
# DEVFREQ Drivers
#
+# CONFIG_PM_DEVFREQ_EVENT is not set
CONFIG_EXTCON=m
#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
+# CONFIG_EXTCON_ARIZONA is not set
CONFIG_EXTCON_GPIO=m
# CONFIG_EXTCON_RT8973A is not set
CONFIG_EXTCON_SM5502=m
+# CONFIG_EXTCON_USB_GPIO is not set
CONFIG_MEMORY=y
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=y
+CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGERED_BUFFER=m
CONFIG_IIO_TRIGGER=y
@@ -6179,8 +6720,13 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
# CONFIG_KXSD9 is not set
-# CONFIG_MMA8452 is not set
CONFIG_KXCJK1013=m
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
#
# Analog to digital converters
@@ -6194,11 +6740,14 @@ CONFIG_KXCJK1013=m
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD799X is not set
+# CONFIG_HI8435 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_NAU7802 is not set
+# CONFIG_QCOM_SPMI_IADC is not set
+# CONFIG_QCOM_SPMI_VADC is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_AM335X_ADC is not set
@@ -6211,10 +6760,20 @@ CONFIG_KXCJK1013=m
# CONFIG_AD8366 is not set
#
+# Chemical Sensors
+#
+# CONFIG_VZ89X is not set
+
+#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=m
CONFIG_HID_SENSOR_IIO_TRIGGER=m
+
+#
+# SSP Sensor Common
+#
+# CONFIG_IIO_SSP_SENSORHUB is not set
CONFIG_IIO_ST_SENSORS_I2C=m
CONFIG_IIO_ST_SENSORS_SPI=m
CONFIG_IIO_ST_SENSORS_CORE=m
@@ -6235,6 +6794,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7303 is not set
+# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
@@ -6273,33 +6833,48 @@ CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
# Humidity sensors
#
# CONFIG_DHT11 is not set
+# CONFIG_HDC100X is not set
+# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16480 is not set
+# CONFIG_KMX61 is not set
# CONFIG_INV_MPU6050_IIO is not set
#
# Light sensors
#
+CONFIG_ACPI_ALS=m
# CONFIG_ADJD_S311 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+CONFIG_BH1750=m
# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_ISL29125 is not set
CONFIG_HID_SENSOR_ALS=m
# CONFIG_HID_SENSOR_PROX is not set
+# CONFIG_JSA1212 is not set
+CONFIG_RPR0521=m
# CONFIG_SENSORS_LM3533 is not set
# CONFIG_LTR501 is not set
+CONFIG_OPT3001=m
+CONFIG_PA12203001=m
+CONFIG_STK3310=m
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
#
@@ -6307,8 +6882,10 @@ CONFIG_HID_SENSOR_ALS=m
#
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
+# CONFIG_BMC150_MAGN is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+# CONFIG_MMC35240 is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
@@ -6326,11 +6903,19 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m
# CONFIG_IIO_SYSFS_TRIGGER is not set
#
+# Digital potentiometers
+#
+# CONFIG_MCP4531 is not set
+
+#
# Pressure sensors
#
+# CONFIG_BMP280 is not set
# CONFIG_HID_SENSOR_PRESS is not set
# CONFIG_MPL115 is not set
# CONFIG_MPL3115 is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
@@ -6340,14 +6925,23 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m
# CONFIG_AS3935 is not set
#
+# Proximity sensors
+#
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_SX9500 is not set
+
+#
# Temperature sensors
#
# CONFIG_MLX90614 is not set
# CONFIG_TMP006 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_CRC is not set
CONFIG_PWM_FSL_FTM=m
# CONFIG_PWM_LP3943 is not set
CONFIG_PWM_LPSS=m
@@ -6369,14 +6963,36 @@ CONFIG_FMC_CHARDEV=m
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
CONFIG_BCM_KONA_USB2_PHY=m
CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL=m
# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
CONFIG_RAS=y
+CONFIG_AMD_MCE_INJ=m
CONFIG_THUNDERBOLT=m
#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_NVMEM is not set
+# CONFIG_STM is not set
+# CONFIG_STM_DUMMY is not set
+# CONFIG_STM_SOURCE_CONSOLE is not set
+# CONFIG_INTEL_TH is not set
+
+#
+# FPGA Configuration Support
+#
+# CONFIG_FPGA is not set
+
+#
# Firmware Drivers
#
CONFIG_EDD=m
@@ -6395,7 +7011,9 @@ CONFIG_ISCSI_IBFT=m
# EFI (Extensible Firmware Interface) Support
#
# CONFIG_EFI_VARS is not set
+CONFIG_EFI_ESRT=y
CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_UEFI_CPER=y
@@ -6406,9 +7024,10 @@ CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=m
-CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_ENCRYPTION is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
@@ -6445,6 +7064,15 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
CONFIG_NILFS2_FS=m
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+CONFIG_F2FS_CHECK_FS=y
+CONFIG_F2FS_FS_ENCRYPTION=y
+# CONFIG_F2FS_IO_TRACE is not set
+# CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
@@ -6504,8 +7132,10 @@ CONFIG_NTFS_RW=y
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
+CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
@@ -6514,6 +7144,7 @@ CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=y
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
CONFIG_AFFS_FS=m
@@ -6541,6 +7172,7 @@ CONFIG_UBIFS_FS=m
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
@@ -6551,6 +7183,7 @@ CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
@@ -6569,6 +7202,7 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_PSTORE=y
# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set
CONFIG_PSTORE_RAM=m
# CONFIG_SYSV_FS is not set
@@ -6577,13 +7211,6 @@ CONFIG_UFS_FS=m
# CONFIG_UFS_DEBUG is not set
CONFIG_EXOFS_FS=m
# CONFIG_EXOFS_DEBUG is not set
-CONFIG_F2FS_FS=m
-CONFIG_F2FS_STAT_FS=y
-CONFIG_F2FS_FS_XATTR=y
-CONFIG_F2FS_FS_POSIX_ACL=y
-CONFIG_F2FS_FS_SECURITY=y
-CONFIG_F2FS_CHECK_FS=y
-CONFIG_EFIVAR_FS=y
CONFIG_ORE=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
@@ -6597,6 +7224,7 @@ CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
CONFIG_NFS_V4_1_MIGRATION=y
CONFIG_NFS_V4_SECURITY_LABEL=y
@@ -6609,6 +7237,7 @@ CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
+CONFIG_NFSD_PNFS=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_GRACE_PERIOD=m
@@ -6622,8 +7251,7 @@ CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_SWAP=y
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_SUNRPC_DEBUG=y
-CONFIG_SUNRPC_XPRT_RDMA_CLIENT=m
-CONFIG_SUNRPC_XPRT_RDMA_SERVER=m
+CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_CEPH_FS=m
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
@@ -6638,6 +7266,7 @@ CONFIG_CIFS_ACL=y
# CONFIG_CIFS_DEBUG is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SMB2=y
+CONFIG_CIFS_SMB311=y
CONFIG_CIFS_FSCACHE=y
CONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
@@ -6733,9 +7362,11 @@ CONFIG_FRAME_WARN=1024
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -6746,6 +7377,7 @@ CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#
+# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
@@ -6780,8 +7412,10 @@ CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
+CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# CONFIG_SCHED_STACK_END_CHECK is not set
+# CONFIG_DEBUG_TIMEKEEPING is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_PREEMPT is not set
@@ -6810,13 +7444,13 @@ CONFIG_DEBUG_BUGVERBOSE=y
#
# RCU Debugging
#
+# CONFIG_PROVE_RCU is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_TORTURE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_CPU_STALL_VERBOSE is not set
-# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
@@ -6858,6 +7492,7 @@ CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
CONFIG_UPROBE_EVENT=y
+CONFIG_BPF_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
@@ -6869,6 +7504,8 @@ CONFIG_MMIOTRACE=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_TRACE_ENUM_MAP_FILE is not set
+# CONFIG_TRACING_EVENTS_GPIO is not set
#
# Runtime Testing
@@ -6882,8 +7519,10 @@ CONFIG_LKDTM=m
CONFIG_PERCPU_TEST=m
# CONFIG_ATOMIC64_SELFTEST is not set
CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_STRING_HELPERS is not set
CONFIG_TEST_KSTRTOX=m
+# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
@@ -6892,17 +7531,22 @@ CONFIG_TEST_KSTRTOX=m
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_UDELAY is not set
+# CONFIG_MEMTEST is not set
+# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
+# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
CONFIG_EARLY_PRINTK_EFI=y
+CONFIG_X86_PTDUMP_CORE=y
# CONFIG_X86_PTDUMP is not set
+# CONFIG_EFI_PGT_DUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_WX is not set
CONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not set
CONFIG_DOUBLEFAULT=y
@@ -6922,8 +7566,11 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
+# CONFIG_X86_DEBUG_FPU is not set
+# CONFIG_PUNIT_ATOM_DEBUG is not set
#
# Security options
@@ -6933,7 +7580,6 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=m
CONFIG_ENCRYPTED_KEYS=m
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
@@ -6944,12 +7590,10 @@ CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
CONFIG_SECURITY_YAMA=y
-CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
-# CONFIG_DEFAULT_SECURITY_YAMA is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
@@ -6973,14 +7617,19 @@ CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=m
+CONFIG_CRYPTO_RSA=m
CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
@@ -6995,7 +7644,9 @@ CONFIG_CRYPTO_GLUE_HELPER_X86=m
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
#
# Block modes
@@ -7007,6 +7658,7 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_KEYWRAP=m
#
# Hash modes
@@ -7025,8 +7677,9 @@ CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -7057,6 +7710,7 @@ CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_586=m
@@ -7071,6 +7725,7 @@ CONFIG_CRYPTO_TWOFISH_586=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
@@ -7078,10 +7733,17 @@ CONFIG_CRYPTO_LZ4HC=m
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
-# CONFIG_CRYPTO_DRBG_MENU is not set
+CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_HMAC=y
+CONFIG_CRYPTO_DRBG_HASH=y
+CONFIG_CRYPTO_DRBG_CTR=y
+CONFIG_CRYPTO_DRBG=m
+CONFIG_CRYPTO_JITTERENTROPY=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
@@ -7095,12 +7757,19 @@ CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
+CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_ASYMMETRIC_KEY_TYPE=m
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
CONFIG_PUBLIC_KEY_ALGO_RSA=m
CONFIG_X509_CERTIFICATE_PARSER=m
CONFIG_PKCS7_MESSAGE_PARSER=m
CONFIG_PKCS7_TEST_KEY=m
+
+#
+# Certificates for signature checking
+#
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
@@ -7112,6 +7781,8 @@ CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
@@ -7126,6 +7797,8 @@ CONFIG_BINARY_PRINTF=y
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
+CONFIG_RATIONAL=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
@@ -7133,7 +7806,6 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
-CONFIG_PERCPU_RWSEM=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
@@ -7150,6 +7822,8 @@ CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_842_COMPRESS=m
+CONFIG_842_DECOMPRESS=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
@@ -7197,7 +7871,6 @@ CONFIG_GLOB=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
CONFIG_DDR=y
@@ -7218,4 +7891,6 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
CONFIG_FONT_AUTOSELECT=y
+# CONFIG_SG_SPLIT is not set
CONFIG_ARCH_HAS_SG_CHAIN=y
+CONFIG_ARCH_HAS_MMIO_FLUSH=y
diff --git a/abs/core/linux/config.x86_64 b/abs/core/linux/config.x86_64
index 895756e..90ea644 100644
--- a/abs/core/linux/config.x86_64
+++ b/abs/core/linux/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.18.0 Kernel Configuration
+# Linux/x86 4.4.0 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -37,10 +37,10 @@ CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
-CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
@@ -82,9 +82,11 @@ CONFIG_HAVE_ARCH_AUDITSYSCALL=y
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
@@ -93,7 +95,6 @@ CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
@@ -125,18 +126,13 @@ CONFIG_TASK_IO_ACCOUNTING=y
#
# RCU Subsystem
#
-CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
-# CONFIG_RCU_USER_QS is not set
-CONFIG_RCU_FANOUT=64
-CONFIG_RCU_FANOUT_LEAF=16
-# CONFIG_RCU_FANOUT_EXACT is not set
-CONFIG_RCU_FAST_NO_HZ=y
# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_RCU_BOOST is not set
-# CONFIG_RCU_NOCB_CPU is not set
+# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
@@ -144,29 +140,32 @@ CONFIG_LOG_BUF_SHIFT=19
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_ARCH_SUPPORTS_INT128=y
-CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
+CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
-# CONFIG_MEMCG_SWAP_ENABLED is not set
-# CONFIG_MEMCG_KMEM is not set
+CONFIG_MEMCG_SWAP_ENABLED=y
+CONFIG_MEMCG_KMEM=y
# CONFIG_CGROUP_HUGETLB is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CGROUP_WRITEBACK=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
@@ -194,6 +193,7 @@ CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
+CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
# CONFIG_SYSCTL_SYSCALL is not set
@@ -209,11 +209,13 @@ CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
-# CONFIG_BPF_SYSCALL is not set
+CONFIG_BPF_SYSCALL=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
+CONFIG_USERFAULTFD=y
CONFIG_PCI_QUIRKS=y
+CONFIG_MEMBARRIER=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
@@ -228,15 +230,17 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_SLUB_CPU_PARTIAL=y
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
+# CONFIG_SYSTEM_DATA_VERIFICATION is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
+CONFIG_KEXEC_CORE=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
@@ -253,6 +257,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
@@ -280,9 +285,12 @@ CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
@@ -290,6 +298,7 @@ CONFIG_COMPAT_OLD_SIGACTION=y
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@@ -301,8 +310,10 @@ CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
-# CONFIG_MODULE_COMPRESS is not set
-CONFIG_STOP_MACHINE=y
+CONFIG_MODULE_COMPRESS=y
+CONFIG_MODULE_COMPRESS_GZIP=y
+# CONFIG_MODULE_COMPRESS_XZ is not set
+CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
@@ -354,8 +365,11 @@ CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
-CONFIG_ARCH_USE_QUEUE_RWLOCK=y
-CONFIG_QUEUE_RWLOCK=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
CONFIG_FREEZER=y
#
@@ -368,6 +382,7 @@ CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_INTEL_LPSS=y
+# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=m
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
@@ -379,7 +394,7 @@ CONFIG_PARAVIRT=y
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PVHVM=y
-CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_512GB=y
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
@@ -388,7 +403,6 @@ CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
-# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
@@ -429,21 +443,20 @@ CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
+# CONFIG_VM86 is not set
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
+CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_I8K=m
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_MICROCODE_INTEL_EARLY=y
-CONFIG_MICROCODE_AMD_EARLY=y
-CONFIG_MICROCODE_EARLY=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DIRECT_GBPAGES=y
+CONFIG_X86_DIRECT_GBPAGES=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
@@ -474,7 +487,6 @@ CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
@@ -503,7 +515,14 @@ CONFIG_ZPOOL=y
CONFIG_ZBUD=y
CONFIG_ZSMALLOC=y
# CONFIG_PGTABLE_MAPPING is not set
+# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_FRAME_VECTOR=y
+CONFIG_X86_PMEM_LEGACY_DEVICE=y
+CONFIG_X86_PMEM_LEGACY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW=64
@@ -515,6 +534,7 @@ CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
+# CONFIG_X86_INTEL_MPX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
@@ -526,7 +546,7 @@ CONFIG_HZ_300=y
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
-# CONFIG_CRASH_DUMP is not set
+CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
@@ -536,7 +556,12 @@ CONFIG_HOTPLUG_CPU=y
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
+# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
+CONFIG_LEGACY_VSYSCALL_EMULATE=y
+# CONFIG_LEGACY_VSYSCALL_NONE is not set
# CONFIG_CMDLINE_BOOL is not set
+CONFIG_MODIFY_LDT_SYSCALL=y
+CONFIG_HAVE_LIVEPATCH=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
@@ -556,7 +581,6 @@ CONFIG_PM_AUTOSLEEP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
-CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
@@ -570,8 +594,11 @@ CONFIG_PM_CLK=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
+CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
+# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
@@ -579,6 +606,8 @@ CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_CPU_FREQ_PSS=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
@@ -592,11 +621,14 @@ CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_ACPI_BGRT=y
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
+CONFIG_ACPI_NFIT=m
+# CONFIG_ACPI_NFIT_DEBUG is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
@@ -606,6 +638,7 @@ CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=m
CONFIG_ACPI_APEI_ERST_DEBUG=m
CONFIG_ACPI_EXTLOG=m
+# CONFIG_PMIC_OPREGION is not set
CONFIG_SFI=y
#
@@ -616,6 +649,7 @@ CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -626,7 +660,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
-# x86 CPU frequency scaling drivers
+# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
@@ -676,7 +710,9 @@ CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
+CONFIG_PCI_BUS_ADDR_T_64BIT=y
CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=m
@@ -686,7 +722,6 @@ CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
-CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
#
@@ -740,8 +775,7 @@ CONFIG_RAPIDIO_CPS_GEN2=m
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
-CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
@@ -757,6 +791,7 @@ CONFIG_X86_DEV_DMA_OPS=y
CONFIG_PMC_ATOM=y
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_NET_INGRESS=y
#
# Networking options
@@ -789,14 +824,14 @@ CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
CONFIG_IP_MROUTE=y
-# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_NET_FOU=m
-CONFIG_GENEVE=m
+CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@@ -823,10 +858,11 @@ CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
+CONFIG_TCP_CONG_CDG=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
+CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
@@ -835,6 +871,7 @@ CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
@@ -849,7 +886,9 @@ CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
-# CONFIG_IPV6_MROUTE is not set
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
@@ -862,6 +901,7 @@ CONFIG_BRIDGE_NETFILTER=m
#
# Core Netfilter Configuration
#
+CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
@@ -894,7 +934,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_PROTO_DCCP=m
@@ -905,9 +945,11 @@ CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=m
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=m
+CONFIG_NF_TABLES_NETDEV=m
CONFIG_NFT_EXTHDR=m
CONFIG_NFT_META=m
CONFIG_NFT_CT=m
@@ -917,6 +959,7 @@ CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
@@ -1049,6 +1092,7 @@ CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
@@ -1074,17 +1118,20 @@ CONFIG_IP_VS_PE_SIP=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_IPV4=m
CONFIG_NF_TABLES_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
-CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NF_NAT_MASQUERADE_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
+CONFIG_NFT_REDIR_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
@@ -1118,13 +1165,16 @@ CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
-CONFIG_NF_REJECT_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_NAT_MASQUERADE_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
+CONFIG_NFT_REDIR_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1215,6 +1265,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
+CONFIG_NET_DSA_HWMON=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
@@ -1231,7 +1282,17 @@ CONFIG_LLC2=m
# CONFIG_LAPB is not set
CONFIG_PHONET=m
CONFIG_6LOWPAN=m
+CONFIG_6LOWPAN_NHC=m
+CONFIG_6LOWPAN_NHC_DEST=m
+CONFIG_6LOWPAN_NHC_FRAGMENT=m
+CONFIG_6LOWPAN_NHC_HOP=m
+CONFIG_6LOWPAN_NHC_IPV6=m
+CONFIG_6LOWPAN_NHC_MOBILITY=m
+CONFIG_6LOWPAN_NHC_ROUTING=m
+CONFIG_6LOWPAN_NHC_UDP=m
CONFIG_IEEE802154=m
+CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
+CONFIG_IEEE802154_SOCKET=m
CONFIG_IEEE802154_6LOWPAN=m
CONFIG_MAC802154=m
CONFIG_NET_SCHED=y
@@ -1281,6 +1342,7 @@ CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=m
CONFIG_NET_CLS_BPF=m
+CONFIG_NET_CLS_FLOWER=m
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
@@ -1293,6 +1355,9 @@ CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
@@ -1304,15 +1369,20 @@ CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_GRE=y
-CONFIG_OPENVSWITCH_VXLAN=y
-CONFIG_OPENVSWITCH_GENEVE=y
+CONFIG_OPENVSWITCH_GRE=m
+CONFIG_OPENVSWITCH_VXLAN=m
+CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_VSOCKETS=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_NETLINK_MMAP=y
CONFIG_NETLINK_DIAG=m
+CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
CONFIG_HSR=m
+CONFIG_NET_SWITCHDEV=y
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
@@ -1349,7 +1419,54 @@ CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_YAM=m
-# CONFIG_CAN is not set
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+CONFIG_CAN_LEDS=y
+CONFIG_CAN_SJA1000=m
+# CONFIG_CAN_SJA1000_ISA is not set
+CONFIG_CAN_SJA1000_PLATFORM=m
+# CONFIG_CAN_EMS_PCMCIA is not set
+CONFIG_CAN_EMS_PCI=m
+# CONFIG_CAN_PEAK_PCMCIA is not set
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_CC770=m
+# CONFIG_CAN_CC770_ISA is not set
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN SPI interfaces
+#
+# CONFIG_CAN_MCP251X is not set
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_GS_USB=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+# CONFIG_CAN_SOFTING_CS is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_IRDA=m
#
@@ -1407,7 +1524,7 @@ CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
CONFIG_BT=m
-CONFIG_BT_6LOWPAN=m
+CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
@@ -1415,11 +1532,22 @@ CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
+CONFIG_BT_HS=y
+CONFIG_BT_LE=y
+CONFIG_BT_6LOWPAN=m
+# CONFIG_BT_SELFTEST is not set
+CONFIG_BT_DEBUGFS=y
#
# Bluetooth device drivers
#
+CONFIG_BT_INTEL=m
+CONFIG_BT_BCM=m
+CONFIG_BT_RTL=m
+CONFIG_BT_QCA=m
CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTUSB_BCM=y
+CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
@@ -1427,6 +1555,9 @@ CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIUART_INTEL=y
+CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -1456,7 +1587,9 @@ CONFIG_CFG80211=m
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
+CONFIG_CFG80211_WEXT_EXPORT=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
@@ -1466,6 +1599,7 @@ CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
+# CONFIG_MAC80211_RC_MINSTREL_VHT is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
@@ -1473,6 +1607,7 @@ CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
@@ -1494,6 +1629,7 @@ CONFIG_NFC=m
CONFIG_NFC_DIGITAL=m
CONFIG_NFC_NCI=m
# CONFIG_NFC_NCI_SPI is not set
+# CONFIG_NFC_NCI_UART is not set
CONFIG_NFC_HCI=m
# CONFIG_NFC_SHDLC is not set
@@ -1506,15 +1642,22 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NFC_MEI_PHY=m
CONFIG_NFC_SIM=m
CONFIG_NFC_PORT100=m
+CONFIG_NFC_FDP=m
+CONFIG_NFC_FDP_I2C=m
CONFIG_NFC_PN544=m
CONFIG_NFC_PN544_MEI=m
CONFIG_NFC_MICROREAD=m
CONFIG_NFC_MICROREAD_MEI=m
CONFIG_NFC_MRVL=m
CONFIG_NFC_MRVL_USB=m
+CONFIG_NFC_MRVL_I2C=m
CONFIG_NFC_ST21NFCA=m
-CONFIG_NFC_ST21NFCB=m
-CONFIG_NFC_ST21NFCB_I2C=m
+CONFIG_NFC_ST_NCI=m
+CONFIG_NFC_ST_NCI_I2C=m
+# CONFIG_NFC_ST_NCI_SPI is not set
+# CONFIG_NFC_NXP_NCI is not set
+# CONFIG_NFC_S3FWRN5_I2C is not set
+CONFIG_LWTUNNEL=y
CONFIG_HAVE_BPF_JIT=y
#
@@ -1534,14 +1677,16 @@ CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
+CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=m
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
@@ -1577,6 +1722,7 @@ CONFIG_SSFDC=m
# CONFIG_SM_FTL is not set
CONFIG_MTD_OOPS=m
CONFIG_MTD_SWAP=m
+# CONFIG_MTD_PARTITIONED_MASTER is not set
#
# RAM/ROM/Flash chip drivers
@@ -1617,7 +1763,8 @@ CONFIG_MTD_SCB2_FLASH=m
# CONFIG_MTD_NETtel is not set
# CONFIG_MTD_L440GX is not set
CONFIG_MTD_PCI=m
-# CONFIG_MTD_PCMCIA is not set
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
# CONFIG_MTD_GPIO_ADDR is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
CONFIG_MTD_PLATRAM=m
@@ -1649,7 +1796,10 @@ CONFIG_MTD_NAND_ECC_SMC=y
CONFIG_MTD_NAND=m
# CONFIG_MTD_NAND_ECC_BCH is not set
CONFIG_MTD_SM_COMMON=m
-# CONFIG_MTD_NAND_DENALI is not set
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
CONFIG_MTD_NAND_IDS=m
@@ -1662,6 +1812,7 @@ CONFIG_MTD_NAND_DOCG4=m
CONFIG_MTD_NAND_CAFE=m
CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_ONENAND is not set
#
@@ -1675,7 +1826,8 @@ CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
-# CONFIG_MTD_UBI_BLOCK is not set
+CONFIG_MTD_UBI_BLOCK=y
+# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
@@ -1701,7 +1853,6 @@ CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
CONFIG_ZRAM=m
CONFIG_ZRAM_LZ4_COMPRESS=y
-# CONFIG_ZRAM_DEBUG is not set
CONFIG_BLK_CPQ_CISS_DA=m
# CONFIG_CISS_SCSI_TAPE is not set
CONFIG_BLK_DEV_DAC960=m
@@ -1713,14 +1864,12 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_NVME=m
CONFIG_BLK_DEV_SKD=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -1731,6 +1880,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m
CONFIG_BLK_DEV_RSXX=m
+CONFIG_BLK_DEV_NVME=m
#
# Misc devices
@@ -1802,6 +1952,11 @@ CONFIG_VMWARE_VMCI=m
CONFIG_INTEL_MIC_BUS=m
#
+# SCIF Bus Driver
+#
+CONFIG_SCIF_BUS=m
+
+#
# Intel MIC Host Driver
#
CONFIG_INTEL_MIC_HOST=m
@@ -1810,10 +1965,22 @@ CONFIG_INTEL_MIC_HOST=m
# Intel MIC Card Driver
#
CONFIG_INTEL_MIC_CARD=m
+
+#
+# SCIF Driver
+#
+CONFIG_SCIF=m
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
+CONFIG_MIC_COSM=m
CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
+# CONFIG_CXL_KERNEL_API is not set
+# CONFIG_CXL_EEH is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -1895,12 +2062,10 @@ CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
-CONFIG_SCSI_MPT3SAS_LOGGING=y
+CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PCI=m
CONFIG_SCSI_UFSHCD_PLATFORM=m
@@ -1914,6 +2079,8 @@ CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_SNIC=m
+# CONFIG_SCSI_SNIC_DEBUG_FS is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
@@ -1945,7 +2112,8 @@ CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_AM53C974=m
+CONFIG_SCSI_WD719X=m
# CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
@@ -1957,7 +2125,7 @@ CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
@@ -2068,11 +2236,13 @@ CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
+# CONFIG_MD_CLUSTER is not set
CONFIG_BCACHE=m
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_MQ_DEFAULT is not set
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=m
CONFIG_DM_BIO_PRISON=m
@@ -2083,6 +2253,7 @@ CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_SMQ=m
CONFIG_DM_CACHE_CLEANER=m
CONFIG_DM_ERA=m
CONFIG_DM_MIRROR=m
@@ -2097,11 +2268,12 @@ CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
CONFIG_DM_SWITCH=m
+CONFIG_DM_LOG_WRITES=m
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
-# CONFIG_TCM_USER is not set
+CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_TCM_FC=m
CONFIG_ISCSI_TARGET=m
@@ -2122,16 +2294,6 @@ CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=m
-CONFIG_I2O_CONFIG_OLD_IOCTL=y
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=m
CONFIG_NETDEVICES=y
@@ -2150,7 +2312,9 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
+CONFIG_IPVLAN=m
CONFIG_VXLAN=m
+CONFIG_GENEVE=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
@@ -2159,9 +2323,11 @@ CONFIG_RIONET=m
CONFIG_RIONET_TX_SIZE=128
CONFIG_RIONET_RX_SIZE=128
CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
CONFIG_NLMON=m
+CONFIG_NET_VRF=m
CONFIG_SUNGEM_PHY=m
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
@@ -2207,6 +2373,7 @@ CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
CONFIG_VHOST_RING=m
CONFIG_VHOST=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
#
# Distributed Switch Architecture drivers
@@ -2217,6 +2384,7 @@ CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=m
CONFIG_NET_DSA_MV88E6123_61_65=m
CONFIG_NET_DSA_MV88E6171=m
+CONFIG_NET_DSA_MV88E6352=m
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_ETHERNET=y
CONFIG_MDIO=m
@@ -2237,7 +2405,6 @@ CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
CONFIG_PCMCIA_NMCLAN=m
-# CONFIG_NET_XGENE is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=m
@@ -2245,18 +2412,27 @@ CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_ALX=m
+CONFIG_NET_VENDOR_AURORA=y
+CONFIG_AURORA_NB8800=m
+CONFIG_NET_CADENCE=y
+CONFIG_MACB=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
+CONFIG_BCMGENET=m
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
+CONFIG_BNX2X_VXLAN=y
+CONFIG_BNXT=m
+CONFIG_BNXT_SRIOV=y
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=m
+# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
@@ -2286,7 +2462,9 @@ CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=m
+CONFIG_BE2NET_HWMON=y
CONFIG_BE2NET_VXLAN=y
+# CONFIG_NET_VENDOR_EZCHIP is not set
CONFIG_NET_VENDOR_EXAR=y
CONFIG_S2IO=m
CONFIG_VXGE=m
@@ -2305,6 +2483,7 @@ CONFIG_IGB_DCA=y
CONFIG_IGBVF=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
+CONFIG_IXGBE_VXLAN=y
CONFIG_IXGBE_HWMON=y
CONFIG_IXGBE_DCA=y
CONFIG_IXGBEVF=m
@@ -2314,7 +2493,6 @@ CONFIG_I40EVF=m
CONFIG_FM10K=m
# CONFIG_FM10K_VXLAN is not set
CONFIG_NET_VENDOR_I825XX=y
-CONFIG_IP1000=m
CONFIG_JME=m
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_MVMDIO=m
@@ -2329,6 +2507,11 @@ CONFIG_MLX4_EN_VXLAN=y
CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+CONFIG_MLXSW_CORE=m
+CONFIG_MLXSW_PCI=m
+CONFIG_MLXSW_SWITCHX2=m
+CONFIG_MLXSW_SPECTRUM=m
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=m
CONFIG_KS8851=m
@@ -2337,6 +2520,7 @@ CONFIG_KSZ884X_PCI=m
CONFIG_NET_VENDOR_MICROCHIP=y
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ENCX24J600=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
@@ -2363,6 +2547,8 @@ CONFIG_QLCNIC_VXLAN=y
CONFIG_QLCNIC_HWMON=y
CONFIG_QLGE=m
CONFIG_NETXEN_NIC=m
+CONFIG_QED=m
+CONFIG_QEDE=m
CONFIG_NET_VENDOR_QUALCOMM=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_ATP=m
@@ -2373,8 +2559,11 @@ CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=m
+# CONFIG_NET_VENDOR_RENESAS is not set
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=m
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_ROCKER=m
CONFIG_NET_VENDOR_SAMSUNG=y
CONFIG_SXGBE_ETH=m
CONFIG_NET_VENDOR_SEEQ=y
@@ -2387,6 +2576,7 @@ CONFIG_SFC=m
CONFIG_SFC_MTD=y
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
+CONFIG_SFC_MCDI_LOGGING=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=m
CONFIG_EPIC100=m
@@ -2396,17 +2586,17 @@ CONFIG_SMSC9420=m
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
-CONFIG_STMMAC_PCI=y
-# CONFIG_STMMAC_DEBUG_FS is not set
-# CONFIG_STMMAC_DA is not set
+CONFIG_STMMAC_PCI=m
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m
+CONFIG_NET_VENDOR_SYNOPSYS=y
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=m
CONFIG_NET_VENDOR_TI=y
+CONFIG_TI_CPSW_ALE=m
CONFIG_TLAN=m
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
@@ -2428,6 +2618,7 @@ CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
+CONFIG_AQUANTIA_PHY=m
CONFIG_AT803X_PHY=m
CONFIG_AMD_PHY=m
CONFIG_MARVELL_PHY=m
@@ -2436,7 +2627,9 @@ CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
+CONFIG_TERANETICS_PHY=m
CONFIG_SMSC_PHY=m
+CONFIG_BCM_NET_PHYLIB=m
CONFIG_BROADCOM_PHY=m
CONFIG_BCM7XXX_PHY=m
CONFIG_BCM87XX_PHY=m
@@ -2446,8 +2639,13 @@ CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
+CONFIG_DP83848_PHY=m
+CONFIG_DP83867_PHY=m
+CONFIG_MICROCHIP_PHY=m
+CONFIG_FIXED_PHY=m
CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_GPIO is not set
+CONFIG_MDIO_OCTEON=m
CONFIG_MDIO_BCM_UNIMAC=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_PLIP=m
@@ -2478,6 +2676,7 @@ CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_AX88179_178A=m
@@ -2513,6 +2712,7 @@ CONFIG_USB_CDC_PHONET=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
+CONFIG_USB_NET_CH9200=m
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
CONFIG_LIBERTAS_THINFIRM=m
@@ -2528,10 +2728,10 @@ CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_ADM8211=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
# CONFIG_MAC80211_HWSIM is not set
CONFIG_MWL8K=m
CONFIG_ATH_COMMON=m
@@ -2553,6 +2753,7 @@ CONFIG_ATH9K_STATION_STATISTICS=y
CONFIG_ATH9K_WOW=y
CONFIG_ATH9K_RFKILL=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+CONFIG_ATH9K_PCOEM=y
CONFIG_ATH9K_HTC=m
# CONFIG_ATH9K_HTC_DEBUGFS is not set
CONFIG_CARL9170=m
@@ -2584,7 +2785,6 @@ CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_SSB is not set
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
@@ -2708,6 +2908,8 @@ CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_LIB_DEBUGFS is not set
# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL_MEDIATEK=y
+CONFIG_MT7601U=m
CONFIG_RTL_CARDS=m
CONFIG_RTL8192CE=m
CONFIG_RTL8192SE=m
@@ -2725,6 +2927,8 @@ CONFIG_RTLWIFI_USB=m
CONFIG_RTL8192C_COMMON=m
CONFIG_RTL8723_COMMON=m
CONFIG_RTLBTCOEXIST=m
+CONFIG_RTL8XXXU=m
+CONFIG_RTL8XXXU_UNTESTED=y
CONFIG_WL_TI=y
CONFIG_WL1251=m
# CONFIG_WL1251_SPI is not set
@@ -2757,14 +2961,16 @@ CONFIG_WIMAX_I2400M_USB=m
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
# CONFIG_WAN is not set
CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
CONFIG_IEEE802154_FAKELB=m
CONFIG_IEEE802154_AT86RF230=m
+# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
+CONFIG_IEEE802154_ATUSB=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
+CONFIG_FUJITSU_ES=m
CONFIG_HYPERV_NET=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
@@ -2896,11 +3102,13 @@ CONFIG_MISDN_NETJET=m
CONFIG_MISDN_IPAC=m
CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m
+# CONFIG_NVM is not set
#
# Input device support
#
CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=m
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m
@@ -2955,10 +3163,15 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_PS2_FOCALTECH=y
+CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_ELAN_I2C=m
+CONFIG_MOUSE_ELAN_I2C_I2C=y
+CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3002,6 +3215,7 @@ CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_PROPERTIES=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
@@ -3020,9 +3234,12 @@ CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FT6236=m
CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELAN=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_WACOM_I2C=m
@@ -3039,6 +3256,7 @@ CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_UCB1400=m
CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WDT87XX_I2C=m
CONFIG_TOUCHSCREEN_WM97XX=m
CONFIG_TOUCHSCREEN_WM9705=y
CONFIG_TOUCHSCREEN_WM9712=y
@@ -3065,17 +3283,23 @@ CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC200X_CORE=m
+CONFIG_TOUCHSCREEN_TSC2004=m
# CONFIG_TOUCHSCREEN_TSC2005 is not set
CONFIG_TOUCHSCREEN_TSC2007=m
CONFIG_TOUCHSCREEN_ST1232=m
CONFIG_TOUCHSCREEN_SUR40=m
+# CONFIG_TOUCHSCREEN_SX8654 is not set
CONFIG_TOUCHSCREEN_TPS6507X=m
CONFIG_TOUCHSCREEN_ZFORCE=m
+CONFIG_TOUCHSCREEN_ROHM_BU21023=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AD714X=m
CONFIG_INPUT_AD714X_I2C=m
CONFIG_INPUT_AD714X_SPI=m
+# CONFIG_INPUT_ARIZONA_HAPTICS is not set
CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_E3X0_BUTTON=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_MMA8450=m
@@ -3093,6 +3317,7 @@ CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_TPS65218_PWRBUTTON=m
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_PCF50633_PMU=m
CONFIG_INPUT_PCF8574=m
@@ -3106,6 +3331,7 @@ CONFIG_INPUT_CMA3000_I2C=m
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
#
@@ -3124,6 +3350,7 @@ CONFIG_SERIO_ALTERA_PS2=m
CONFIG_SERIO_PS2MULT=m
CONFIG_SERIO_ARC_PS2=m
CONFIG_HYPERV_KEYBOARD=m
+# CONFIG_USERIO is not set
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
@@ -3158,6 +3385,7 @@ CONFIG_N_HDLC=m
CONFIG_N_GSM=m
CONFIG_TRACE_ROUTER=m
CONFIG_TRACE_SINK=m
+CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
#
@@ -3174,21 +3402,26 @@ CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_FSL is not set
CONFIG_SERIAL_8250_DW=m
+CONFIG_SERIAL_8250_RT288X=y
# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_MID=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
-# CONFIG_SERIAL_MRST_MAX3110 is not set
-CONFIG_SERIAL_MFD_HSU=m
+# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_SC16IS7XX_CORE=m
CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_I2C=y
+# CONFIG_SERIAL_SC16IS7XX_SPI is not set
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=m
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
@@ -3212,6 +3445,7 @@ CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
# CONFIG_IPMI_SI_PROBE_DEFAULTS is not set
+CONFIG_IPMI_SSIF=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=m
@@ -3247,8 +3481,9 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
-CONFIG_TCG_ST33_I2C=m
CONFIG_TCG_XEN=m
+CONFIG_TCG_CRB=m
+# CONFIG_TCG_TIS_ST33ZP24 is not set
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
# CONFIG_XILLYBUS is not set
@@ -3256,7 +3491,8 @@ CONFIG_DEVPORT=y
#
# I2C support
#
-CONFIG_I2C=m
+CONFIG_I2C=y
+CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
@@ -3269,6 +3505,7 @@ CONFIG_I2C_MUX=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
@@ -3311,6 +3548,7 @@ CONFIG_I2C_SCMI=m
CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_DESIGNWARE_PCI=m
+# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_OCORES=m
CONFIG_I2C_PCA_PLATFORM=m
@@ -3334,6 +3572,8 @@ CONFIG_I2C_VIPERBOARD=m
#
# CONFIG_I2C_CROS_EC_TUNNEL is not set
# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+CONFIG_I2C_SLAVE_EEPROM=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -3347,6 +3587,7 @@ CONFIG_SPI_MASTER=y
CONFIG_SPI_ALTERA=m
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
+# CONFIG_SPI_CADENCE is not set
CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
CONFIG_SPI_OC_TINY=m
@@ -3356,6 +3597,7 @@ CONFIG_SPI_PXA2XX_PCI=m
CONFIG_SPI_SC18IS602=m
CONFIG_SPI_XCOMM=m
CONFIG_SPI_XILINX=m
+CONFIG_SPI_ZYNQMP_GQSPI=m
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DW_PCI=m
# CONFIG_SPI_DW_MID_DMA is not set
@@ -3398,8 +3640,16 @@ CONFIG_PINCTRL=y
#
# Pin controllers
#
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_PINCTRL_BAYTRAIL is not set
+# CONFIG_PINCTRL_AMD is not set
+CONFIG_PINCTRL_BAYTRAIL=y
+CONFIG_PINCTRL_CHERRYVIEW=m
+CONFIG_PINCTRL_INTEL=m
+CONFIG_PINCTRL_BROXTON=m
+CONFIG_PINCTRL_SUNRISEPOINT=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
@@ -3409,31 +3659,45 @@ CONFIG_GPIOLIB_IRQCHIP=y
CONFIG_GPIO_SYSFS=y
#
-# Memory mapped GPIO drivers:
+# Memory mapped GPIO drivers
#
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_DWAPB is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_F7188X is not set
-CONFIG_GPIO_SCH311X=m
-CONFIG_GPIO_SCH=m
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
CONFIG_GPIO_ICH=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_LYNXPOINT=m
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_ZX is not set
+
+#
+# Port-mapped I/O GPIO drivers
+#
+# CONFIG_GPIO_104_IDIO_16 is not set
+# CONFIG_GPIO_F7188X is not set
+# CONFIG_GPIO_IT87 is not set
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_SCH311X=m
#
-# I2C GPIO expanders:
+# I2C GPIO expanders
#
-CONFIG_GPIO_ARIZONA=m
-CONFIG_GPIO_LP3943=m
+# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_SX150X is not set
#
-# PCI GPIO expanders:
+# MFD GPIO expanders
+#
+# CONFIG_GPIO_ARIZONA is not set
+CONFIG_GPIO_CRYSTAL_COVE=y
+# CONFIG_GPIO_LP3943 is not set
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# PCI GPIO expanders
#
CONFIG_GPIO_AMD8111=m
# CONFIG_GPIO_INTEL_MID is not set
@@ -3441,27 +3705,18 @@ CONFIG_GPIO_AMD8111=m
# CONFIG_GPIO_RDC321X is not set
#
-# SPI GPIO expanders:
+# SPI GPIO expanders
#
# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MC33880 is not set
#
-# AC97 GPIO expanders:
-#
-CONFIG_GPIO_UCB1400=m
-
-#
-# LPC GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
+# SPI or I2C GPIO expanders
#
+# CONFIG_GPIO_MCP23S08 is not set
#
-# USB GPIO expanders:
+# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=m
# CONFIG_W1 is not set
@@ -3474,7 +3729,7 @@ CONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
-# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_PCF50633 is not set
@@ -3484,11 +3739,18 @@ CONFIG_TEST_POWER=m
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
CONFIG_CHARGER_BQ24735=m
+# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_CHARGER_TPS65217 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_RESTART is not set
CONFIG_POWER_AVS=y
-CONFIG_HWMON=m
+CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -3522,6 +3784,7 @@ CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_DELL_SMM=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
@@ -3537,6 +3800,7 @@ CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
+CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
@@ -3558,6 +3822,7 @@ CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_HTU21=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_ADCXX=m
@@ -3582,6 +3847,8 @@ CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_NCT6683=m
CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NCT7802=m
+CONFIG_SENSORS_NCT7904=m
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
@@ -3589,6 +3856,7 @@ CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
CONFIG_SENSORS_TPS40422=m
@@ -3617,6 +3885,7 @@ CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_INA209=m
CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP103=m
@@ -3643,23 +3912,25 @@ CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
+# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
# CONFIG_THERMAL_EMULATION is not set
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_PKG_TEMP_THERMAL=m
+CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INT340X_THERMAL=m
CONFIG_ACPI_THERMAL_REL=m
-
-#
-# Texas Instruments thermal drivers
-#
+CONFIG_INTEL_PCH_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -3669,8 +3940,10 @@ CONFIG_WATCHDOG_CORE=y
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_XILINX_WATCHDOG=m
+# CONFIG_CADENCE_WATCHDOG is not set
CONFIG_DW_WATCHDOG=m
# CONFIG_RN5T618_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
CONFIG_RETU_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
@@ -3704,6 +3977,7 @@ CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
CONFIG_SBC_EPX_C3_WATCHDOG=m
+CONFIG_BCM7038_WDT=m
CONFIG_MEN_A21_WDT=m
CONFIG_XEN_WDT=m
@@ -3732,6 +4006,7 @@ CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
+CONFIG_SSB_HOST_SOC=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -3746,6 +4021,7 @@ CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
+CONFIG_BCMA_DRIVER_PCI=y
CONFIG_BCMA_DRIVER_GMAC_CMN=y
CONFIG_BCMA_DRIVER_GPIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -3754,18 +4030,47 @@ CONFIG_BCMA_DRIVER_GPIO=y
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
CONFIG_MFD_BCM590XX=m
+# CONFIG_MFD_AXP20X is not set
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_I2C=m
+# CONFIG_MFD_CROS_EC_SPI is not set
+# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_MC13XXX=m
# CONFIG_MFD_MC13XXX_SPI is not set
CONFIG_MFD_MC13XXX_I2C=m
CONFIG_HTC_PASIC3=m
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
+CONFIG_INTEL_SOC_PMIC=y
+CONFIG_MFD_INTEL_LPSS=m
+CONFIG_MFD_INTEL_LPSS_ACPI=m
+CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_EZX_PCAP is not set
CONFIG_MFD_VIPERBOARD=m
@@ -3776,22 +4081,37 @@ CONFIG_PCF50633_GPIO=m
CONFIG_UCB1400_CORE=m
CONFIG_MFD_RDC321X=m
CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_RT5033=m
CONFIG_MFD_RTSX_USB=m
+# CONFIG_MFD_RC5T583 is not set
CONFIG_MFD_RN5T618=m
+# CONFIG_MFD_SEC_CORE is not set
CONFIG_MFD_SI476X_CORE=m
CONFIG_MFD_SM501=m
CONFIG_MFD_SM501_GPIO=y
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_SMSC is not set
CONFIG_ABX500_CORE=y
+# CONFIG_AB3100_CORE is not set
CONFIG_MFD_SYSCON=y
CONFIG_MFD_TI_AM335X_TSCADC=m
CONFIG_MFD_LP3943=m
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
CONFIG_TPS65010=m
CONFIG_TPS6507X=m
+# CONFIG_MFD_TPS65090 is not set
CONFIG_MFD_TPS65217=m
CONFIG_MFD_TPS65218=m
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
CONFIG_MFD_WL1273_CORE=m
CONFIG_MFD_LM3533=m
# CONFIG_MFD_TMIO is not set
@@ -3802,7 +4122,11 @@ CONFIG_MFD_ARIZONA_I2C=m
CONFIG_MFD_WM5102=y
CONFIG_MFD_WM5110=y
# CONFIG_MFD_WM8997 is not set
+# CONFIG_MFD_WM8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_REGULATOR is not set
CONFIG_MEDIA_SUPPORT=m
@@ -3824,6 +4148,7 @@ CONFIG_VIDEO_V4L2=m
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=m
CONFIG_V4L2_MEM2MEM_DEV=m
+# CONFIG_V4L2_FLASH_LED_CLASS is not set
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
@@ -3869,16 +4194,9 @@ CONFIG_IR_NUVOTON=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m
-CONFIG_IR_IMG=m
-# CONFIG_IR_IMG_RAW is not set
-CONFIG_IR_IMG_HW=y
-CONFIG_IR_IMG_NEC=y
-CONFIG_IR_IMG_JVC=y
-CONFIG_IR_IMG_SONY=y
-CONFIG_IR_IMG_SHARP=y
-CONFIG_IR_IMG_SANYO=y
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_USB_SUPPORT=y
@@ -3932,6 +4250,7 @@ CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TOUPTEK=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_VICAM=m
@@ -3954,7 +4273,6 @@ CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160_AC97=y
@@ -4049,13 +4367,8 @@ CONFIG_MEDIA_PCI_SUPPORT=y
# Media capture support
#
CONFIG_VIDEO_MEYE=m
-
-#
-# Media capture/analog TV support
-#
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_IVTV_ALSA=m
-CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_SOLO6X10=m
+CONFIG_VIDEO_TW68=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -4064,11 +4377,17 @@ CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN_AVS6EYES=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_SOLO6X10=m
-CONFIG_VIDEO_TW68=m
+CONFIG_VIDEO_DT3155=m
#
# Media capture/analog/hybrid TV support
@@ -4094,6 +4413,7 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_SAA7134_GO7007=m
CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_COBALT=m
#
# Media digital TV PCI Adapters
@@ -4117,22 +4437,21 @@ CONFIG_DVB_MANTIS=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_NGENE=m
CONFIG_DVB_DDBRIDGE=m
+CONFIG_DVB_SMIPCIE=m
+CONFIG_DVB_NETUP_UNIDVB=m
# CONFIG_V4L_PLATFORM_DRIVERS is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
# CONFIG_VIDEO_VIVID is not set
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+# CONFIG_VIDEO_VIM2M is not set
+# CONFIG_DVB_PLATFORM_DRIVERS is not set
#
# Supported MMC/SDIO adapters
#
CONFIG_SMS_SDIO_DRV=m
-CONFIG_MEDIA_PARPORT_SUPPORT=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_TEA575X=m
CONFIG_RADIO_SI470X=y
@@ -4142,6 +4461,7 @@ CONFIG_RADIO_SI4713=m
CONFIG_USB_SI4713=m
CONFIG_PLATFORM_SI4713=m
CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI476X=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
@@ -4171,7 +4491,6 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
# common driver options
#
CONFIG_VIDEO_CX2341X=m
-CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_CYPRESS_FIRMWARE=m
CONFIG_DVB_B2C2_FLEXCOP=m
@@ -4213,6 +4532,8 @@ CONFIG_VIDEO_SAA6588=m
#
# Video decoders
#
+CONFIG_VIDEO_ADV7604=m
+CONFIG_VIDEO_ADV7842=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
@@ -4238,6 +4559,7 @@ CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_ADV7511=m
#
# Camera sensor devices
@@ -4297,7 +4619,7 @@ CONFIG_MEDIA_TUNER_FC0013=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_E4000=m
CONFIG_MEDIA_TUNER_FC2580=m
-CONFIG_MEDIA_TUNER_M88TS2022=m
+CONFIG_MEDIA_TUNER_M88RS6000T=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_IT913X=m
@@ -4345,6 +4667,7 @@ CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_CX24117=m
+CONFIG_DVB_CX24120=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_TS2020=m
CONFIG_DVB_DS3000=m
@@ -4373,6 +4696,7 @@ CONFIG_DVB_AF9013=m
CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_CXD2841ER=m
CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
@@ -4396,6 +4720,7 @@ CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LGDT3306A=m
CONFIG_DVB_LG2160=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
@@ -4409,6 +4734,10 @@ CONFIG_DVB_S5H1411=m
CONFIG_DVB_S921=m
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
+
+#
+# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
+#
CONFIG_DVB_TC90522=m
#
@@ -4422,18 +4751,22 @@ CONFIG_DVB_TUNER_DIB0090=m
# SEC control devices for DVB-S
#
CONFIG_DVB_DRX39XYJ=m
+CONFIG_DVB_LNBH25=m
CONFIG_DVB_LNBP21=m
CONFIG_DVB_LNBP22=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_A8293=m
+CONFIG_DVB_SP2=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_TDA665x=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_M88RS2000=m
CONFIG_DVB_AF9033=m
+CONFIG_DVB_HORUS3A=m
+CONFIG_DVB_ASCOT2E=m
#
# Tools to develop new frontends
@@ -4452,39 +4785,40 @@ CONFIG_INTEL_GTT=m
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
-
-#
-# Direct Rendering Manager
-#
CONFIG_DRM=m
+CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
#
# I2C encoder or helper chips
#
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_PTN3460=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_USERPTR is not set
# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_AMDGPU=m
+# CONFIG_DRM_AMDGPU_CIK is not set
+CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_NOUVEAU=m
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_I915_FBDEV=y
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VGEM=m
CONFIG_DRM_VMWGFX=m
CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
@@ -4496,6 +4830,18 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_QXL=m
CONFIG_DRM_BOCHS=m
+CONFIG_DRM_VIRTIO_GPU=m
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+CONFIG_DRM_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+CONFIG_HSA_AMD=m
#
# Frame buffer Devices
@@ -4564,6 +4910,7 @@ CONFIG_FB_VOODOO1=m
# CONFIG_FB_SM501 is not set
# CONFIG_FB_SMSCUFX is not set
CONFIG_FB_UDL=m
+# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=m
CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
@@ -4572,6 +4919,7 @@ CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_AUO_K190X is not set
CONFIG_FB_HYPERV=m
# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SM712 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_L4F00242T03 is not set
@@ -4591,6 +4939,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_LM3533=m
CONFIG_BACKLIGHT_APPLE=m
+# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
@@ -4607,8 +4956,11 @@ CONFIG_HDMI=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
@@ -4619,8 +4971,10 @@ CONFIG_SOUND_OSS_CORE=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
+CONFIG_SND_DMAENGINE_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
+CONFIG_SND_COMPRESS_OFFLOAD=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
@@ -4628,17 +4982,18 @@ CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_PCM_TIMER=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
-CONFIG_SND_KCTL_JACK=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_OPL3_LIB_SEQ=m
@@ -4740,20 +5095,16 @@ CONFIG_SND_YMFPCI=m
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_DSP_LOADER=y
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
-CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=m
CONFIG_SND_HDA_CODEC_ANALOG=m
CONFIG_SND_HDA_CODEC_SIGMATEL=m
CONFIG_SND_HDA_CODEC_VIA=m
CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_CODEC_CIRRUS=m
CONFIG_SND_HDA_CODEC_CONEXANT=m
CONFIG_SND_HDA_CODEC_CA0110=m
@@ -4763,6 +5114,11 @@ CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_CORE=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_I915=y
+CONFIG_SND_HDA_EXT_CORE=m
+CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
@@ -4774,18 +5130,146 @@ CONFIG_SND_USB_US122L=m
CONFIG_SND_USB_6FIRE=m
CONFIG_SND_USB_HIFACE=m
CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=m
CONFIG_SND_DICE=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_OXFW=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_SCS1X=m
CONFIG_SND_FIREWORKS=m
CONFIG_SND_BEBOB=m
+CONFIG_SND_FIREWIRE_DIGI00X=m
+CONFIG_SND_FIREWIRE_TASCAM=m
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+CONFIG_SND_SOC_COMPRESS=y
+CONFIG_SND_SOC_TOPOLOGY=y
+# CONFIG_SND_ATMEL_SOC is not set
+CONFIG_SND_DESIGNWARE_I2S=m
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SST_MFLD_PLATFORM=m
+CONFIG_SND_SST_IPC=m
+CONFIG_SND_SST_IPC_ACPI=m
+CONFIG_SND_SOC_INTEL_SST=m
+CONFIG_SND_SOC_INTEL_SST_ACPI=m
+CONFIG_SND_SOC_INTEL_HASWELL=m
+CONFIG_SND_SOC_INTEL_BAYTRAIL=m
+CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
+CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
+CONFIG_SND_SOC_INTEL_SKYLAKE=m
+CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
+
+#
+# Allwinner SoC Audio support
+#
+# CONFIG_SND_SUN4I_CODEC is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=m
+
+#
+# CODEC drivers
+#
+CONFIG_SND_SOC_AC97_CODEC=m
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS4349 is not set
+CONFIG_SND_SOC_DMIC=m
+# CONFIG_SND_SOC_ES8328 is not set
+# CONFIG_SND_SOC_GTM601 is not set
+CONFIG_SND_SOC_MAX98090=m
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1792A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_RL6231=m
+CONFIG_SND_SOC_RL6347A=m
+CONFIG_SND_SOC_RT286=m
+# CONFIG_SND_SOC_RT5631 is not set
+CONFIG_SND_SOC_RT5640=m
+CONFIG_SND_SOC_RT5645=m
+CONFIG_SND_SOC_RT5670=m
+# CONFIG_SND_SOC_RT5677_SPI is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+CONFIG_SND_SOC_SI476X=m
+# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
+CONFIG_SND_SOC_SPDIF=m
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC3X is not set
+CONFIG_SND_SOC_TS3A227E=m
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731 is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+CONFIG_SND_SIMPLE_CARD=m
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
@@ -4793,6 +5277,7 @@ CONFIG_AC97_BUS=m
# HID support
#
CONFIG_HID=m
+CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=m
@@ -4807,8 +5292,10 @@ CONFIG_HID_APPLE=m
CONFIG_HID_APPLEIR=m
CONFIG_HID_AUREAL=m
CONFIG_HID_BELKIN=m
+CONFIG_HID_BETOP_FF=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
+CONFIG_HID_CORSAIR=m
CONFIG_HID_PRODIKEYS=m
CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
@@ -4818,10 +5305,11 @@ CONFIG_HID_EMS_FF=m
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
CONFIG_HID_EZKEY=m
+CONFIG_HID_GEMBIRD=m
+CONFIG_HID_GFRM=m
CONFIG_HID_HOLTEK=m
CONFIG_HOLTEK_FF=y
CONFIG_HID_GT683R=m
-CONFIG_HID_HUION=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
CONFIG_HID_UCLOGIC=m
@@ -4834,6 +5322,7 @@ CONFIG_HID_LCPOWER=m
CONFIG_HID_LENOVO=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
+CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
@@ -4854,6 +5343,7 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
@@ -4881,6 +5371,7 @@ CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
CONFIG_HID_SENSOR_HUB=m
+# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
#
# USB HID support
@@ -4907,7 +5398,7 @@ CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_ULPI_BUS is not set
CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
@@ -4919,6 +5410,7 @@ CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_PCI=m
+# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
@@ -4926,9 +5418,7 @@ CONFIG_USB_EHCI_PCI=m
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1760_HCD=m
CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_FUSBH200_HCD=m
# CONFIG_USB_FOTG210_HCD is not set
CONFIG_USB_MAX3421_HCD=m
CONFIG_USB_OHCI_HCD=m
@@ -4993,13 +5483,19 @@ CONFIG_USB_MUSB_HDRC=m
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
-CONFIG_USB_MUSB_TUSB6010=m
-CONFIG_USB_MUSB_UX500=m
-# CONFIG_USB_UX500_DMA is not set
+
+#
+# Platform Glue Layer
+#
+
+#
+# MUSB DMA mode
+#
CONFIG_MUSB_PIO_ONLY=y
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
#
# USB port drivers
@@ -5088,6 +5584,7 @@ CONFIG_USB_YUREX=m
CONFIG_USB_EZUSB_FX2=m
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_LINK_LAYER_TEST=m
+CONFIG_USB_CHAOSKEY=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
@@ -5120,6 +5617,12 @@ CONFIG_USB_PXA27X=m
CONFIG_USB_MV_UDC=m
CONFIG_USB_MV_U3D=m
CONFIG_USB_M66592=m
+CONFIG_USB_BDC_UDC=m
+
+#
+# Platform Support
+#
+CONFIG_USB_BDC_PCI=m
CONFIG_USB_AMD5536UDC=m
CONFIG_USB_NET2272=m
CONFIG_USB_NET2272_DMA=y
@@ -5141,6 +5644,9 @@ CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_UAC2=m
CONFIG_USB_F_UVC=m
+CONFIG_USB_F_MIDI=m
+CONFIG_USB_F_HID=m
+CONFIG_USB_F_PRINTER=m
# CONFIG_USB_CONFIGFS is not set
# CONFIG_USB_ZERO is not set
CONFIG_USB_AUDIO=m
@@ -5175,7 +5681,6 @@ CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_CLKGATE is not set
#
# MMC/SD/SDIO Card Drivers
@@ -5194,8 +5699,6 @@ CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_SDHCI_PXAV3=m
-CONFIG_MMC_SDHCI_PXAV2=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
@@ -5207,6 +5710,8 @@ CONFIG_MMC_USHC=m
CONFIG_MMC_USDHI6ROL0=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
+CONFIG_MMC_TOSHIBA_PCI=m
+CONFIG_MMC_MTK=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -5227,6 +5732,7 @@ CONFIG_MEMSTICK_REALTEK_PCI=m
CONFIG_MEMSTICK_REALTEK_USB=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=m
+CONFIG_LEDS_CLASS_FLASH=m
#
# LED drivers
@@ -5238,11 +5744,11 @@ CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP55XX_COMMON=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_LP5562=m
-CONFIG_LEDS_LP8501=m
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
+# CONFIG_LEDS_LP5562 is not set
+# CONFIG_LEDS_LP8501 is not set
+CONFIG_LEDS_LP8860=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA963X=m
@@ -5253,6 +5759,7 @@ CONFIG_LEDS_LT3593=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_MC13783=m
CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_TLC591XX=m
CONFIG_LEDS_LM355x=m
#
@@ -5283,14 +5790,12 @@ CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_IPATH=m
CONFIG_INFINIBAND_QIB=m
# CONFIG_INFINIBAND_QIB_DCA is not set
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB4=m
@@ -5308,11 +5813,12 @@ CONFIG_INFINIBAND_SRP=m
CONFIG_INFINIBAND_SRPT=m
CONFIG_INFINIBAND_ISER=m
CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC_ATOMIC_SCRUB=y
+CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MCE_INJ=m
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD64=m
# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
@@ -5331,8 +5837,9 @@ CONFIG_EDAC_SBRIDGE=m
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
#
@@ -5347,8 +5854,11 @@ CONFIG_RTC_DRV_TEST=m
#
# I2C RTC drivers
#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+CONFIG_RTC_DRV_ABX80X=m
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1374_WDT=y
CONFIG_RTC_DRV_DS1672=m
CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_MAX6900=m
@@ -5371,6 +5881,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_RV3029C2=m
+# CONFIG_RTC_DRV_RV8803 is not set
#
# SPI RTC drivers
@@ -5396,6 +5907,14 @@ CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1685_FAMILY=m
+CONFIG_RTC_DRV_DS1685=y
+# CONFIG_RTC_DRV_DS1689 is not set
+# CONFIG_RTC_DRV_DS17285 is not set
+# CONFIG_RTC_DRV_DS17485 is not set
+# CONFIG_RTC_DRV_DS17885 is not set
+# CONFIG_RTC_DS1685_PROC_REGS is not set
+CONFIG_RTC_DS1685_SYSFS_REGS=y
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_DS2404=m
CONFIG_RTC_DRV_STK17TA8=m
@@ -5412,7 +5931,6 @@ CONFIG_RTC_DRV_PCF50633=m
# on-CPU RTC drivers
#
CONFIG_RTC_DRV_MC13XXX=m
-# CONFIG_RTC_DRV_XGENE is not set
#
# HID Sensor RTC drivers
@@ -5424,14 +5942,16 @@ CONFIG_DMADEVICES=y
#
# DMA Devices
#
-CONFIG_INTEL_MIC_X100_DMA=m
-CONFIG_INTEL_MID_DMAC=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_ACPI=y
+CONFIG_INTEL_IDMA64=m
CONFIG_INTEL_IOATDMA=m
+CONFIG_INTEL_MIC_X100_DMA=m
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
-CONFIG_DMA_ENGINE=y
-CONFIG_DMA_ACPI=y
+CONFIG_HSU_DMA=y
#
# DMA Clients
@@ -5454,11 +5974,16 @@ CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
+CONFIG_UIO_PRUSS=m
# CONFIG_UIO_MF624 is not set
CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO_VIRQFD=m
CONFIG_VFIO=m
CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
+CONFIG_VFIO_PCI_MMAP=y
+CONFIG_VFIO_PCI_INTX=y
+CONFIG_IRQ_BYPASS_MANAGER=m
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=m
@@ -5466,7 +5991,9 @@ CONFIG_VIRTIO=m
# Virtio drivers
#
CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
@@ -5483,6 +6010,7 @@ CONFIG_HYPERV_BALLOON=m
CONFIG_XEN_BALLOON=y
# CONFIG_XEN_SELFBALLOONING is not set
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
@@ -5501,6 +6029,10 @@ CONFIG_XEN_ACPI_PROCESSOR=m
# CONFIG_XEN_MCE_LOG is not set
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_EFI=y
+CONFIG_XEN_AUTO_XLATE=y
+CONFIG_XEN_ACPI=y
+CONFIG_XEN_SYMS=y
+CONFIG_XEN_HAVE_VPMU=y
CONFIG_STAGING=y
CONFIG_SLICOSS=m
CONFIG_PRISM2_USB=m
@@ -5514,10 +6046,9 @@ CONFIG_COMEDI_TEST=m
CONFIG_COMEDI_PARPORT=m
CONFIG_COMEDI_SERIAL2002=m
# CONFIG_COMEDI_ISA_DRIVERS is not set
-CONFIG_COMEDI_PCI_DRIVERS=y
+CONFIG_COMEDI_PCI_DRIVERS=m
CONFIG_COMEDI_8255_PCI=m
CONFIG_COMEDI_ADDI_WATCHDOG=m
-CONFIG_COMEDI_ADDI_APCI_035=m
CONFIG_COMEDI_ADDI_APCI_1032=m
CONFIG_COMEDI_ADDI_APCI_1500=m
CONFIG_COMEDI_ADDI_APCI_1516=m
@@ -5570,7 +6101,7 @@ CONFIG_COMEDI_RTD520=m
CONFIG_COMEDI_S626=m
CONFIG_COMEDI_MITE=m
CONFIG_COMEDI_NI_TIOCMD=m
-CONFIG_COMEDI_PCMCIA_DRIVERS=y
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
CONFIG_COMEDI_CB_DAS16_CS=m
CONFIG_COMEDI_DAS08_CS=m
CONFIG_COMEDI_NI_DAQ_700_CS=m
@@ -5578,14 +6109,16 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
CONFIG_COMEDI_NI_LABPC_CS=m
CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
-CONFIG_COMEDI_USB_DRIVERS=y
+CONFIG_COMEDI_USB_DRIVERS=m
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_NI_USB6501=m
CONFIG_COMEDI_USBDUX=m
CONFIG_COMEDI_USBDUXFAST=m
CONFIG_COMEDI_USBDUXSIGMA=m
CONFIG_COMEDI_VMK80XX=m
+CONFIG_COMEDI_8254=m
CONFIG_COMEDI_8255=m
+CONFIG_COMEDI_8255_SA=m
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_AMPLC_DIO200=m
CONFIG_COMEDI_AMPLC_PC236=m
@@ -5606,8 +6139,6 @@ CONFIG_R8723AU=m
CONFIG_8723AU_AP_MODE=y
CONFIG_8723AU_BT_COEXIST=y
CONFIG_RTS5208=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
CONFIG_VT6655=m
CONFIG_VT6656=m
@@ -5700,11 +6231,8 @@ CONFIG_SENSORS_HMC5843_SPI=m
#
# CONFIG_IIO_PERIODIC_RTC_TRIGGER is not set
# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_FB_SM750 is not set
CONFIG_FB_XGI=m
-CONFIG_BCM_WIMAX=m
-CONFIG_FT1000=m
-CONFIG_FT1000_USB=m
-CONFIG_FT1000_PCMCIA=m
#
# Speakup console speech
@@ -5721,19 +6249,14 @@ CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
CONFIG_STAGING_MEDIA=y
CONFIG_I2C_BCM2048=m
CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_VIDEO_V4L2_INT_DEVICE=m
-CONFIG_VIDEO_TCM825X=m
+CONFIG_DVB_MN88472=m
+CONFIG_DVB_MN88473=m
CONFIG_LIRC_STAGING=y
CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_IMON=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SASEM=m
@@ -5741,12 +6264,11 @@ CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_SIR=m
CONFIG_LIRC_ZILOG=m
+# CONFIG_STAGING_RDMA is not set
#
# Android
#
-# CONFIG_ANDROID is not set
-CONFIG_USB_WPAN_HCD=m
CONFIG_WIMAX_GDM72XX=m
CONFIG_WIMAX_GDM72XX_QOS=y
CONFIG_WIMAX_GDM72XX_K_MODE=y
@@ -5771,8 +6293,10 @@ CONFIG_DGNC=m
CONFIG_DGAP=m
CONFIG_GS_FPGABOOT=m
CONFIG_CRYPTO_SKEIN=y
-CONFIG_CRYPTO_THREEFISH=y
# CONFIG_UNISYSSPAR is not set
+# CONFIG_FB_TFT is not set
+# CONFIG_WILC1000_DRIVER is not set
+# CONFIG_MOST is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -5782,6 +6306,7 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_WMI=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_SMO8800=m
+CONFIG_DELL_RBTN=m
CONFIG_FUJITSU_LAPTOP=m
# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
CONFIG_FUJITSU_TABLET=m
@@ -5814,6 +6339,7 @@ CONFIG_TOPSTAR_LAPTOP=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_TOSHIBA_BT_RFKILL=m
CONFIG_TOSHIBA_HAPS=m
+CONFIG_TOSHIBA_WMI=m
CONFIG_ACPI_CMPC=m
CONFIG_INTEL_IPS=m
CONFIG_IBM_RTL=m
@@ -5825,14 +6351,14 @@ CONFIG_APPLE_GMUX=m
CONFIG_INTEL_RST=m
CONFIG_INTEL_SMARTCONNECT=y
CONFIG_PVPANIC=m
+CONFIG_INTEL_PMC_IPC=m
+CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
-
-#
-# SOC (System On Chip) specific Drivers
-#
-# CONFIG_SOC_TI is not set
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_LPC=m
+CONFIG_CROS_EC_PROTO=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -5842,6 +6368,7 @@ CONFIG_COMMON_CLK=y
#
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_PXA is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
#
# Hardware Spinlock drivers
@@ -5861,11 +6388,17 @@ CONFIG_CLKBLD_I8253=y
# CONFIG_MAILBOX is not set
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IOVA=y
CONFIG_AMD_IOMMU=y
# CONFIG_AMD_IOMMU_STATS is not set
CONFIG_AMD_IOMMU_V2=m
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
+CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_IRQ_REMAP=y
@@ -5883,6 +6416,8 @@ CONFIG_STE_MODEM_RPROC=m
#
# SOC (System On Chip) specific Drivers
#
+# CONFIG_SUNXI_SRAM is not set
+# CONFIG_SOC_TI is not set
CONFIG_PM_DEVFREQ=y
#
@@ -5896,19 +6431,22 @@ CONFIG_DEVFREQ_GOV_USERSPACE=m
#
# DEVFREQ Drivers
#
+# CONFIG_PM_DEVFREQ_EVENT is not set
CONFIG_EXTCON=m
#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
+# CONFIG_EXTCON_ARIZONA is not set
CONFIG_EXTCON_GPIO=m
# CONFIG_EXTCON_RT8973A is not set
CONFIG_EXTCON_SM5502=m
+# CONFIG_EXTCON_USB_GPIO is not set
CONFIG_MEMORY=y
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=y
+CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGERED_BUFFER=m
CONFIG_IIO_TRIGGER=y
@@ -5924,8 +6462,13 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
# CONFIG_KXSD9 is not set
-# CONFIG_MMA8452 is not set
CONFIG_KXCJK1013=m
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
#
# Analog to digital converters
@@ -5939,11 +6482,14 @@ CONFIG_KXCJK1013=m
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD799X is not set
+# CONFIG_HI8435 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_NAU7802 is not set
+# CONFIG_QCOM_SPMI_IADC is not set
+# CONFIG_QCOM_SPMI_VADC is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_AM335X_ADC is not set
@@ -5955,10 +6501,20 @@ CONFIG_KXCJK1013=m
# CONFIG_AD8366 is not set
#
+# Chemical Sensors
+#
+# CONFIG_VZ89X is not set
+
+#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=m
CONFIG_HID_SENSOR_IIO_TRIGGER=m
+
+#
+# SSP Sensor Common
+#
+# CONFIG_IIO_SSP_SENSORHUB is not set
CONFIG_IIO_ST_SENSORS_I2C=m
CONFIG_IIO_ST_SENSORS_SPI=m
CONFIG_IIO_ST_SENSORS_CORE=m
@@ -5979,6 +6535,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7303 is not set
+# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4922 is not set
@@ -6016,33 +6573,48 @@ CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
# Humidity sensors
#
# CONFIG_DHT11 is not set
+# CONFIG_HDC100X is not set
+# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16480 is not set
+# CONFIG_KMX61 is not set
# CONFIG_INV_MPU6050_IIO is not set
#
# Light sensors
#
+CONFIG_ACPI_ALS=m
# CONFIG_ADJD_S311 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+CONFIG_BH1750=m
# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_ISL29125 is not set
CONFIG_HID_SENSOR_ALS=m
# CONFIG_HID_SENSOR_PROX is not set
+# CONFIG_JSA1212 is not set
+CONFIG_RPR0521=m
# CONFIG_SENSORS_LM3533 is not set
# CONFIG_LTR501 is not set
+CONFIG_OPT3001=m
+CONFIG_PA12203001=m
+CONFIG_STK3310=m
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
#
@@ -6050,8 +6622,10 @@ CONFIG_HID_SENSOR_ALS=m
#
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
+# CONFIG_BMC150_MAGN is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+# CONFIG_MMC35240 is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
@@ -6069,11 +6643,19 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m
# CONFIG_IIO_SYSFS_TRIGGER is not set
#
+# Digital potentiometers
+#
+# CONFIG_MCP4531 is not set
+
+#
# Pressure sensors
#
+# CONFIG_BMP280 is not set
# CONFIG_HID_SENSOR_PRESS is not set
# CONFIG_MPL115 is not set
# CONFIG_MPL3115 is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
@@ -6083,10 +6665,18 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m
# CONFIG_AS3935 is not set
#
+# Proximity sensors
+#
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_SX9500 is not set
+
+#
# Temperature sensors
#
# CONFIG_MLX90614 is not set
# CONFIG_TMP006 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
# CONFIG_PWM is not set
@@ -6104,14 +6694,42 @@ CONFIG_FMC_CHARDEV=m
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
CONFIG_BCM_KONA_USB2_PHY=m
CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL=m
# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
CONFIG_RAS=y
+CONFIG_AMD_MCE_INJ=m
CONFIG_THUNDERBOLT=m
#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_LIBNVDIMM=y
+CONFIG_BLK_DEV_PMEM=m
+CONFIG_ND_BLK=m
+CONFIG_ND_CLAIM=y
+CONFIG_ND_BTT=m
+CONFIG_BTT=y
+# CONFIG_NVMEM is not set
+# CONFIG_STM is not set
+# CONFIG_STM_DUMMY is not set
+# CONFIG_STM_SOURCE_CONSOLE is not set
+# CONFIG_INTEL_TH is not set
+
+#
+# FPGA Configuration Support
+#
+# CONFIG_FPGA is not set
+
+#
# Firmware Drivers
#
CONFIG_EDD=m
@@ -6130,7 +6748,9 @@ CONFIG_ISCSI_IBFT=m
# EFI (Extensible Firmware Interface) Support
#
# CONFIG_EFI_VARS is not set
+CONFIG_EFI_ESRT=y
CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_UEFI_CPER=y
@@ -6141,9 +6761,10 @@ CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=m
-CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_ENCRYPTION is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
@@ -6180,6 +6801,15 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
CONFIG_NILFS2_FS=m
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+CONFIG_F2FS_CHECK_FS=y
+CONFIG_F2FS_FS_ENCRYPTION=y
+# CONFIG_F2FS_IO_TRACE is not set
+# CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
@@ -6240,8 +6870,10 @@ CONFIG_NTFS_RW=y
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
+CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
@@ -6250,6 +6882,7 @@ CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=y
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
CONFIG_AFFS_FS=m
@@ -6277,6 +6910,7 @@ CONFIG_UBIFS_FS=m
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
@@ -6287,6 +6921,7 @@ CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
@@ -6305,6 +6940,7 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_PSTORE=y
# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set
CONFIG_PSTORE_RAM=m
# CONFIG_SYSV_FS is not set
@@ -6313,13 +6949,6 @@ CONFIG_UFS_FS=m
# CONFIG_UFS_DEBUG is not set
CONFIG_EXOFS_FS=m
# CONFIG_EXOFS_DEBUG is not set
-CONFIG_F2FS_FS=m
-CONFIG_F2FS_STAT_FS=y
-CONFIG_F2FS_FS_XATTR=y
-CONFIG_F2FS_FS_POSIX_ACL=y
-CONFIG_F2FS_FS_SECURITY=y
-CONFIG_F2FS_CHECK_FS=y
-CONFIG_EFIVAR_FS=y
CONFIG_ORE=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
@@ -6333,6 +6962,7 @@ CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
CONFIG_NFS_V4_1_MIGRATION=y
CONFIG_NFS_V4_SECURITY_LABEL=y
@@ -6345,6 +6975,7 @@ CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
+CONFIG_NFSD_PNFS=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_GRACE_PERIOD=m
@@ -6358,8 +6989,7 @@ CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_SWAP=y
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_SUNRPC_DEBUG=y
-CONFIG_SUNRPC_XPRT_RDMA_CLIENT=m
-CONFIG_SUNRPC_XPRT_RDMA_SERVER=m
+CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_CEPH_FS=m
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
@@ -6374,6 +7004,7 @@ CONFIG_CIFS_ACL=y
# CONFIG_CIFS_DEBUG is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SMB2=y
+CONFIG_CIFS_SMB311=y
CONFIG_CIFS_FSCACHE=y
CONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
@@ -6469,9 +7100,11 @@ CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
CONFIG_UNUSED_SYMBOLS=y
+# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -6482,6 +7115,7 @@ CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#
+# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
@@ -6496,6 +7130,8 @@ CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_HAVE_ARCH_KASAN=y
+# CONFIG_KASAN is not set
# CONFIG_DEBUG_SHIRQ is not set
#
@@ -6515,8 +7151,10 @@ CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
+CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# CONFIG_SCHED_STACK_END_CHECK is not set
+# CONFIG_DEBUG_TIMEKEEPING is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_PREEMPT is not set
@@ -6545,13 +7183,13 @@ CONFIG_DEBUG_BUGVERBOSE=y
#
# RCU Debugging
#
+# CONFIG_PROVE_RCU is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_TORTURE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_CPU_STALL_VERBOSE is not set
-# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
@@ -6594,6 +7232,7 @@ CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENT=y
CONFIG_UPROBE_EVENT=y
+CONFIG_BPF_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
@@ -6605,6 +7244,8 @@ CONFIG_MMIOTRACE=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_TRACE_ENUM_MAP_FILE is not set
+# CONFIG_TRACING_EVENTS_GPIO is not set
#
# Runtime Testing
@@ -6618,8 +7259,10 @@ CONFIG_LKDTM=m
CONFIG_PERCPU_TEST=m
# CONFIG_ATOMIC64_SELFTEST is not set
CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_STRING_HELPERS is not set
CONFIG_TEST_KSTRTOX=m
+# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
@@ -6628,17 +7271,22 @@ CONFIG_TEST_KSTRTOX=m
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_UDELAY is not set
+# CONFIG_MEMTEST is not set
+# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
+# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
CONFIG_EARLY_PRINTK_EFI=y
+CONFIG_X86_PTDUMP_CORE=y
# CONFIG_X86_PTDUMP is not set
+# CONFIG_EFI_PGT_DUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_WX is not set
CONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not set
CONFIG_DOUBLEFAULT=y
@@ -6659,8 +7307,11 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
+# CONFIG_X86_DEBUG_FPU is not set
+# CONFIG_PUNIT_ATOM_DEBUG is not set
#
# Security options
@@ -6670,7 +7321,6 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=m
CONFIG_ENCRYPTED_KEYS=m
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
@@ -6681,12 +7331,10 @@ CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
CONFIG_SECURITY_YAMA=y
-CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
-# CONFIG_DEFAULT_SECURITY_YAMA is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
@@ -6710,14 +7358,19 @@ CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=m
+CONFIG_CRYPTO_RSA=m
CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
@@ -6732,7 +7385,9 @@ CONFIG_CRYPTO_GLUE_HELPER_X86=m
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
#
# Block modes
@@ -6744,6 +7399,7 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_KEYWRAP=m
#
# Hash modes
@@ -6763,8 +7419,10 @@ CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_POLY1305_X86_64=m
CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -6807,6 +7465,8 @@ CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
@@ -6825,6 +7485,7 @@ CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
@@ -6832,10 +7493,17 @@ CONFIG_CRYPTO_LZ4HC=m
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
-# CONFIG_CRYPTO_DRBG_MENU is not set
+CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_HMAC=y
+CONFIG_CRYPTO_DRBG_HASH=y
+CONFIG_CRYPTO_DRBG_CTR=y
+CONFIG_CRYPTO_DRBG=m
+CONFIG_CRYPTO_JITTERENTROPY=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
@@ -6846,12 +7514,19 @@ CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
+CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_ASYMMETRIC_KEY_TYPE=m
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
CONFIG_PUBLIC_KEY_ALGO_RSA=m
CONFIG_X509_CERTIFICATE_PARSER=m
CONFIG_PKCS7_MESSAGE_PARSER=m
CONFIG_PKCS7_TEST_KEY=m
+
+#
+# Certificates for signature checking
+#
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
@@ -6863,6 +7538,9 @@ CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_KVM_COMPAT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
@@ -6876,6 +7554,8 @@ CONFIG_BINARY_PRINTF=y
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
+CONFIG_RATIONAL=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
@@ -6883,7 +7563,6 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
-CONFIG_PERCPU_RWSEM=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_CRC_CCITT=m
@@ -6901,6 +7580,8 @@ CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_842_COMPRESS=m
+CONFIG_842_DECOMPRESS=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
@@ -6948,7 +7629,6 @@ CONFIG_GLOB=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
CONFIG_DDR=y
@@ -6969,4 +7649,7 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
CONFIG_FONT_AUTOSELECT=y
+# CONFIG_SG_SPLIT is not set
CONFIG_ARCH_HAS_SG_CHAIN=y
+CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_ARCH_HAS_MMIO_FLUSH=y
diff --git a/abs/core/linux/linux.install b/abs/core/linux/linux.install
index ef42413..dd2fa5c 100644
--- a/abs/core/linux/linux.install
+++ b/abs/core/linux/linux.install
@@ -8,7 +8,7 @@ post_install () {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
mkinitcpio -p linux${KERNEL_NAME}
}
@@ -20,7 +20,7 @@ post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
mkinitcpio -p linux${KERNEL_NAME}
if [ $(vercmp $2 3.13) -lt 0 ]; then
diff --git a/abs/core/linux/linux.install.pkg b/abs/core/linux/linux.install.pkg
index 891013c..7182338 100644
--- a/abs/core/linux/linux.install.pkg
+++ b/abs/core/linux/linux.install.pkg
@@ -2,13 +2,13 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=3.18.4-1-ARCH
+KERNEL_VERSION=4.4.8-1-ARCH
post_install () {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
mkinitcpio -p linux${KERNEL_NAME}
}
@@ -20,7 +20,7 @@ post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
mkinitcpio -p linux${KERNEL_NAME}
if [ $(vercmp $2 3.13) -lt 0 ]; then
diff --git a/abs/core/lirc/0001-doc-Add-Doxyfile-to-tarball.patch b/abs/core/lirc/0001-doc-Add-Doxyfile-to-tarball.patch
deleted file mode 100644
index 1ca5165..0000000
--- a/abs/core/lirc/0001-doc-Add-Doxyfile-to-tarball.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 945e44ffe2296bc37dc58363e5beaf5b4eca73fa Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Thu, 11 Dec 2014 05:34:26 +0100
-Subject: [PATCH 01/13] doc: Add Doxyfile to tarball.
-
----
- doc/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 8a05a7d..1b6730e 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -3,6 +3,8 @@ ACLOCAL_AMFLAGS = -I m4
-
- DISTCLEANFILES = man/* html/* man-html/*
-
-+EXTRA_DIST = Doxyfile
-+
- LIB_SRC = $(srcdir)/../lib
- API_SRC = $(LIB_SRC)/*.c \
- $(LIB_SRC)/*.h \
---
-2.2.2
-
diff --git a/abs/core/lirc/0002-lirc.pc-Fix-bad-variable-reference-ordering-86.patch b/abs/core/lirc/0002-lirc.pc-Fix-bad-variable-reference-ordering-86.patch
deleted file mode 100644
index b65ab0f..0000000
--- a/abs/core/lirc/0002-lirc.pc-Fix-bad-variable-reference-ordering-86.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d733314ef8293a447568ef48af8b0ddd83a4ad42 Mon Sep 17 00:00:00 2001
-From: Inando <inand0@users.sf.net>
-Date: Mon, 29 Dec 2014 14:45:08 +0100
-Subject: [PATCH 02/13] lirc.pc: Fix bad variable reference/ordering (#86)
-
----
- lirc.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lirc.pc.in b/lirc.pc.in
-index 43f2b9b..432f51a 100644
---- a/lirc.pc.in
-+++ b/lirc.pc.in
-@@ -2,8 +2,8 @@ Name: lirc
- Description: LIRC Linux Infrared Control client libs.
- Version: @VERSION@
-
--datarootdir=@datarootdir@
- prefix=@prefix@
-+datarootdir=@datarootdir@
- exec_prefix=@exec_prefix@
- libdir=@libdir@
- includedir=@includedir@
---
-2.2.2
-
diff --git a/abs/core/lirc/0004-lirc-lsplugins-Bugfix.patch b/abs/core/lirc/0004-lirc-lsplugins-Bugfix.patch
deleted file mode 100644
index 3517e50..0000000
--- a/abs/core/lirc/0004-lirc-lsplugins-Bugfix.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From ad094a827e37219b76cf6b6bf3d6fab49a32e913 Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Fri, 9 Jan 2015 12:46:36 +0100
-Subject: [PATCH 04/13] lirc-lsplugins: Bugfix.
-
----
- tools/lirc-lsplugins.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/lirc-lsplugins.c b/tools/lirc-lsplugins.c
-index 10403a7..9eceb3b 100644
---- a/tools/lirc-lsplugins.c
-+++ b/tools/lirc-lsplugins.c
-@@ -212,7 +212,7 @@ static void line_print_long(const line_t* line)
- }
-
- printf("Plugin path:\t%s\n", line->path);
-- printf("Driver name:\t%s\n", line->path ? line->name : "-");
-+ printf("Driver name:\t%s\n", line->name ? line->name : "-");
- printf("Load state:\t%s\n", loadstate);
- printf("Timing info:\t%s\n", handles_timing);
- printf("Can send:\t%s\n", can_send);
---
-2.2.2
-
diff --git a/abs/core/lirc/0005-lirc_options.conf-Add-effective-user-to-template.patch b/abs/core/lirc/0005-lirc_options.conf-Add-effective-user-to-template.patch
deleted file mode 100644
index 8910905..0000000
--- a/abs/core/lirc/0005-lirc_options.conf-Add-effective-user-to-template.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 502af4fcca53c81025446bb73fa29570abb34feb Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Thu, 11 Dec 2014 10:28:47 +0100
-Subject: [PATCH 05/13] lirc_options.conf: Add effective-user to template.
-
----
- lirc_options.conf | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lirc_options.conf b/lirc_options.conf
-index 9dc672a..9346de8 100644
---- a/lirc_options.conf
-+++ b/lirc_options.conf
-@@ -12,6 +12,7 @@ plugindir = /usr/lib/lirc/plugins
- permission = 666
- allow-simulate = No
- repeat-max = 600
-+#effective-user =
- #listen = [address:]port
- #connect = host[:port]
- #debug = 6
---
-2.2.2
-
diff --git a/abs/core/lirc/0006-doc-Clean-up-irsend-1-manpage.patch b/abs/core/lirc/0006-doc-Clean-up-irsend-1-manpage.patch
deleted file mode 100644
index 1a7f279..0000000
--- a/abs/core/lirc/0006-doc-Clean-up-irsend-1-manpage.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From ed1eab5e685df76426709b2c12284d61de0470b5 Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Tue, 16 Dec 2014 11:18:00 +0100
-Subject: [PATCH 06/13] doc: Clean up irsend(1) manpage.
-
----
- doc/man-source/irsend.1 | 18 ++++++++----------
- 1 file changed, 8 insertions(+), 10 deletions(-)
-
-diff --git a/doc/man-source/irsend.1 b/doc/man-source/irsend.1
-index 51f57ab..12d2db8 100644
---- a/doc/man-source/irsend.1
-+++ b/doc/man-source/irsend.1
-@@ -1,4 +1,4 @@
--.TH IRSEND "1" "Last change: Sep 2014" "irsend @version@" "User Commands"
-+.TH IRSEND "1" "Last change: Dec 2014" "irsend @version@" "User Commands"
- .SH NAME
- irsend - basic LIRC program to send infra-red commands
- .SH SYNOPSIS
-@@ -63,6 +63,12 @@ connect to lircd at this address
- .TP
- \-# \fB\-\-count\fR=\fIn\fR
- send command n times
-+
-+.SH ENVIRONMENT
-+.TP 4
-+LIRC_SOCKET_PATH
-+The lircd socket to connect to, defaults to a hardcoded default value
-+usually /var/run/lirc/lircd
- .SH FILES
- .TP
- .I /etc/lirc/lircd.conf
-@@ -94,18 +100,10 @@ irsend SIMULATE "0000000000000476 00 OK TECHNISAT_ST3004S"
- Drivers are loaded dynamically. The directory used for this is determined by (falling
- priority):
- .IP \- 2
--The --plugindir option if available.
--.IP \- 2
- The 'plugindir' entry in the [lircd] section of the lirc_options.conf file.
- .IP \- 2
- The environment variable LIRC_PLUGINDIR.
- .IP \- 2
- A hardcoded default (usually /usr/lib[64]/lirc/plugins).
- .SH "SEE ALSO"
--The documentation for
--.B lirc
--is maintained as html pages. They are located under html/ in the
--documentation directory.
--
--.BR lircd(8), mode2(1), xmode2(1)
--.BR irrecord(1) irw(1), http://www.lirc.org .
-+.B lircd(8), mode2(1), xmode2(1), irrecord(1), irw(1)
---
-2.2.2
-
diff --git a/abs/core/lirc/0009-lib-lirc_log-Add-priority-labels-info-error.-to-sysl.patch b/abs/core/lirc/0009-lib-lirc_log-Add-priority-labels-info-error.-to-sysl.patch
deleted file mode 100644
index c186054..0000000
--- a/abs/core/lirc/0009-lib-lirc_log-Add-priority-labels-info-error.-to-sysl.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From dfe0f3c3170a029a47edd9adf2a1b9a975d496ae Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Sat, 10 Jan 2015 01:30:32 +0100
-Subject: [PATCH 09/13] lib/lirc_log: Add priority labels (info, error...) to
- syslog msg (#89).
-
----
- lib/lirc_log.c | 23 +++++++----------------
- 1 file changed, 7 insertions(+), 16 deletions(-)
-
-diff --git a/lib/lirc_log.c b/lib/lirc_log.c
-index 307fb77..cf37e6d 100644
---- a/lib/lirc_log.c
-+++ b/lib/lirc_log.c
-@@ -2,22 +2,8 @@
- ** lircd.c *****************************************************************
- ****************************************************************************
- *
-- * lircd - LIRC Decoder Daemon
-+ * lirc_log - simple logging module.
- *
-- * Copyright (C) 1996,97 Ralph Metzler <rjkm@thp.uni-koeln.de>
-- * Copyright (C) 1998,99 Christoph Bartelmus <lirc@bartelmus.de>
-- *
-- * =======
-- * HISTORY
-- * =======
-- *
-- * 0.1: 03/27/96 decode SONY infra-red signals
-- * create mousesystems mouse signals on pipe /dev/lircm
-- * 04/07/96 send ir-codes to clients via socket (see irpty)
-- * 05/16/96 now using ir_remotes for decoding
-- * much easier now to describe new remotes
-- *
-- * 0.5: 09/02/98 finished (nearly) complete rewrite (Christoph)
- *
- */
-
-@@ -59,6 +45,8 @@ const char *logfile = "syslog";
- char progname[128] = {'?','\0'};
- static int nodaemon = 0;
-
-+static const int PRIO_LEN = 16; /**< Longest priority label, some margin. */
-+
-
- static const char* prio2text(int prio)
- {
-@@ -246,6 +234,7 @@ void logprintf(loglevel_t prio, const char *format_str, ...)
- {
- int save_errno = errno;
- va_list ap;
-+ char buff[PRIO_LEN + strlen(format_str)];
-
- #ifdef SYSTEMD_LOGPERROR_FIX
- if (nodaemon && prio <= loglevel) {
-@@ -258,8 +247,10 @@ void logprintf(loglevel_t prio, const char *format_str, ...)
- }
- #endif
- if (use_syslog) {
-+ snprintf(buff, sizeof(buff),
-+ "%s: %s", prio2text(prio), format_str);
- va_start(ap, format_str);
-- vsyslog(prio, format_str, ap);
-+ vsyslog(prio, buff, ap);
- va_end(ap);
- } else if (lf && prio <= loglevel) {
- time_t current;
---
-2.2.2
-
diff --git a/abs/core/lirc/0010-lirc-setup-Fix-remote-config-file-display-problems.patch b/abs/core/lirc/0010-lirc-setup-Fix-remote-config-file-display-problems.patch
deleted file mode 100644
index 5f5803d..0000000
--- a/abs/core/lirc/0010-lirc-setup-Fix-remote-config-file-display-problems.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From f3714b04a20069b70b9cbba7558bb3cb5d28caa9 Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Wed, 14 Jan 2015 01:13:00 +0100
-Subject: [PATCH 10/13] lirc-setup: Fix remote config file display problems.
-
----
- tools/lirc-setup/mvc_control.py | 2 +-
- tools/lirc-setup/mvc_view.py | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tools/lirc-setup/mvc_control.py b/tools/lirc-setup/mvc_control.py
-index a922df5..8cf216b 100644
---- a/tools/lirc-setup/mvc_control.py
-+++ b/tools/lirc-setup/mvc_control.py
-@@ -244,7 +244,7 @@ class Controller(object):
- errors='ignore')
- except urllib.error.URLError as ex:
- text = "Sorry: cannot download: " + uri + ' (' + str(ex) + ')'
-- self.view.show_text(text, 'lirc: download error')
-+ self.view.show_text(text, 'lirc: Remote config file')
-
-
- def main():
-diff --git a/tools/lirc-setup/mvc_view.py b/tools/lirc-setup/mvc_view.py
-index a50ce73..19e8df7 100644
---- a/tools/lirc-setup/mvc_view.py
-+++ b/tools/lirc-setup/mvc_view.py
-@@ -156,6 +156,7 @@ class View(baseview.Baseview):
- else:
- return True
-
-+ text = text.replace("&", "&amp;")
- self.builder.get_object("show_text_label").set_markup(text)
- w = self.builder.get_object('view_text_window')
- w.set_title(title)
---
-2.2.2
-
diff --git a/abs/core/lirc/0012-lib-Bad-bugfix-for-finding-.lircrc.patch b/abs/core/lirc/0012-lib-Bad-bugfix-for-finding-.lircrc.patch
deleted file mode 100644
index dc97b13..0000000
--- a/abs/core/lirc/0012-lib-Bad-bugfix-for-finding-.lircrc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 96292ce20b75ef27851ba75aed1aafb15a207a79 Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Thu, 15 Jan 2015 02:01:57 +0100
-Subject: [PATCH 12/13] lib: Bad bugfix for finding ~/.lircrc
-
-Basically, the common library code did not find ~/.lircrc, just
-~/.config/lircrc. Fixed.
----
- lib/lirc_client.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/lirc_client.c b/lib/lirc_client.c
-index c441803..df2eaef 100644
---- a/lib/lirc_client.c
-+++ b/lib/lirc_client.c
-@@ -807,7 +807,7 @@ static char *lirc_getfilename(const char *file, const char *current_file)
- if (filename == NULL) {
- return NULL;
- }
-- strcat(filename, LIRCRC_USER_FILE);
-+ strcat(filename, "/" LIRCRC_USER_FILE);
- }
- filename = realloc(filename, strlen(filename) + 1);
- } else if (strncmp(file, "~/", 2) == 0) {
---
-2.2.2
-
diff --git a/abs/core/lirc/0013-tools-Make-make_rel_symlink.py-use-python3.patch b/abs/core/lirc/0013-tools-Make-make_rel_symlink.py-use-python3.patch
deleted file mode 100644
index 4ef3c15..0000000
--- a/abs/core/lirc/0013-tools-Make-make_rel_symlink.py-use-python3.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 4c30c6f87dda6614978dfab69d417ef3ca83dccf Mon Sep 17 00:00:00 2001
-From: Alec Leamas <leamas.alec@gmail.com>
-Date: Thu, 11 Dec 2014 04:44:49 +0100
-Subject: [PATCH 13/13] tools: Make make_rel_symlink.py use python3.
-
----
- tools/make_rel_symlink.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tools/make_rel_symlink.py b/tools/make_rel_symlink.py
-index 5c89305..896637f 100755
---- a/tools/make_rel_symlink.py
-+++ b/tools/make_rel_symlink.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import os
- import os.path
-@@ -32,16 +32,16 @@ if sys.argv[1] == "-p":
- sys.argv = sys.argv[ 1:]
-
- if len( sys.argv ) != 3:
-- print USAGE
-+ print(USAGE)
- sys.exit( 1 )
-
- if os.path.isdir( sys.argv[2] ):
-- print "Removing link target dir:" + sys.argv[2]
-+ print("Removing link target dir:" + sys.argv[2])
- shutil.rmtree( sys.argv[2])
-
- link_path = relative_ln_s( sys.argv[1], sys.argv[2] )
- if just_print:
-- print link_path
-+ print(link_path)
- else:
- os.chdir( os.path.dirname( sys.argv[2]))
- target = os.path.basename( sys.argv[2])
---
-2.2.2
-
diff --git a/abs/core/lirc/PKGBUILD b/abs/core/lirc/PKGBUILD
index 6a5f803..c9b70c1 100644
--- a/abs/core/lirc/PKGBUILD
+++ b/abs/core/lirc/PKGBUILD
@@ -2,9 +2,9 @@
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=lirc
-_pkgver=0.9.2
+_pkgver=0.9.2a
[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver"
-pkgrel=1
+pkgrel=2
epoch=1
pkgdesc="Linux Infrared Remote Control utils"
arch=('i686' 'x86_64')
@@ -16,49 +16,21 @@ makedepends=('help2man' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2
provides=('lirc-utils')
conflicts=('lirc-utils')
replaces=('lirc-utils')
-backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf')
+#backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf')
install=lirc.install
source=("http://prdownloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.bz2"
- 0001-doc-Add-Doxyfile-to-tarball.patch
- 0002-lirc.pc-Fix-bad-variable-reference-ordering-86.patch
- 0004-lirc-lsplugins-Bugfix.patch
- 0005-lirc_options.conf-Add-effective-user-to-template.patch
- 0006-doc-Clean-up-irsend-1-manpage.patch
- 0009-lib-lirc_log-Add-priority-labels-info-error.-to-sysl.patch
- 0010-lirc-setup-Fix-remote-config-file-display-problems.patch
- 0012-lib-Bad-bugfix-for-finding-.lircrc.patch
lirc.logrotate
lirc.tmpfiles)
-md5sums=('3afc84e79c0839823cc20e7a710dd06d'
- '1e1a68f08c2ecb2b766973e4f1721bae'
- 'c04b2ed646dbaaec2fa9f4e1ad2cc802'
- '2e60e1b3c19b0898d1d5f69e76891a60'
- '9fe1e650858ca91e3a0fe4d63ee4b946'
- '8b5c11ab325d4bef998c41b5b1160513'
- '96475d718dbeb336a3282a5e9f9fdadd'
- '308c3e1fd769b38caa6fd548f54f2440'
- '497c4bb4ac8fc6febac94abe1922595c'
+md5sums=('639a14ed0b3b34ae227a047b952ea368'
'3deb02604b37811d41816e9b4385fcc3'
'febf25c154a7d36f01159e84f26c2d9a')
-prepare() {
- cd "${srcdir}/lirc-${_pkgver}"
-
- patch -p1 -i ../0001-doc-Add-Doxyfile-to-tarball.patch
- patch -p1 -i ../0002-lirc.pc-Fix-bad-variable-reference-ordering-86.patch
- patch -p1 -i ../0004-lirc-lsplugins-Bugfix.patch
- patch -p1 -i ../0005-lirc_options.conf-Add-effective-user-to-template.patch
- patch -p1 -i ../0006-doc-Clean-up-irsend-1-manpage.patch
- patch -p1 -i ../0009-lib-lirc_log-Add-priority-labels-info-error.-to-sysl.patch
- patch -p1 -i ../0010-lirc-setup-Fix-remote-config-file-display-problems.patch
- patch -p1 -i ../0012-lib-Bad-bugfix-for-finding-.lircrc.patch
-
- autoreconf
-}
-
build() {
cd "${srcdir}/lirc-${_pkgver}"
+ # don't user python3
+ sed -i 's:#!/usr/bin/env python3:#!/usr/bin/env python:' ./tools/make_rel_symlink.py
+
./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --localstatedir=/var \
--with-transmitter --enable-sandboxed
make
@@ -72,8 +44,5 @@ package() {
install -Dm644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf
install -Dm644 "${srcdir}"/lirc.logrotate "${pkgdir}"/etc/logrotate.d/lirc
- # LinHES remotes service uses /etc/lircd.conf so create symlink
- ln -s "/etc/lircd.conf" "${pkgdir}/etc/lirc/lircd.conf.d/mv_ir_lircd.conf"
-
rmdir "${pkgdir}"/var/{run/lirc/,run/,}
}
diff --git a/abs/core/lirc/__changelog b/abs/core/lirc/__changelog
index adf4a9c..5d3d026 100644
--- a/abs/core/lirc/__changelog
+++ b/abs/core/lirc/__changelog
@@ -1,7 +1,5 @@
PKGBUILD: add 'iguanair' to depends
PKGBUILD: change dep python to python2
PKGBUILD: comment out optdepends
-PKGBUILD: don't use 0013-tools-Make-make_rel_symlink.py-use-python3.patch
-PKGBUILD: # LinHES remotes service uses /etc/lircd.conf so create symlink
- ln -s "/etc/lircd.conf" "${pkgdir}/etc/lirc/lircd.conf.d/mv_ir_lircd.conf"
+PKGBUILD: add sed to not use python3
lirc.install: comment out service message
diff --git a/abs/core/lz4/PKGBUILD b/abs/core/lz4/PKGBUILD
new file mode 100644
index 0000000..cce3553
--- /dev/null
+++ b/abs/core/lz4/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id$
+# Maintainer: Sébastien Luttringer
+
+# Contacted by mail, author use svn commit as release version.
+# He only push tested release code into svn and support using revision as version
+
+pkgname=lz4
+pkgver=131
+pkgrel=1
+pkgdesc='Very fast lossless compression algorithm'
+arch=('i686' 'x86_64')
+url='https://github.com/Cyan4973/lz4'
+license=('GPL2')
+makedepends=('git')
+checkdepends=('diffutils')
+depends=('glibc')
+source=("git+https://github.com/Cyan4973/lz4.git#tag=r$pkgver")
+md5sums=('SKIP')
+
+build() {
+ cd $pkgname
+ make PREFIX=/usr
+}
+
+check() {
+ $pkgname/programs/lz4 /etc/passwd passwd.lz4
+ $pkgname/programs/lz4 -d passwd.lz4 passwd
+ diff -q /etc/passwd passwd
+ rm passwd
+}
+
+package() {
+ cd $pkgname
+ make install PREFIX=/usr DESTDIR="$pkgdir"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/lzo/PKGBUILD b/abs/core/lzo/PKGBUILD
index 3cbf9e7..e344de5 100644
--- a/abs/core/lzo/PKGBUILD
+++ b/abs/core/lzo/PKGBUILD
@@ -1,22 +1,20 @@
# $Id$
# Contributor: Low Kian Seong <fastmail_low@speedymail.org>
# Maintainer: dorphell <dorphell@archlinux.org>
+
pkgname=lzo
-pkgver=2.08
-pkgrel=3
+pkgver=2.09
+pkgrel=1
pkgdesc="Portable lossless data compression library"
arch=('i686' 'x86_64')
url="http://www.oberhumer.com/opensource/lzo"
license=('GPL')
depends=('glibc')
-provides=("lzo2=$pkgver")
-replaces=('lzo2')
-conflicts=('lzo2')
source=(http://www.oberhumer.com/opensource/lzo/download/lzo-${pkgver}.tar.gz)
-md5sums=('fcec64c26a0f4f4901468f360029678f')
+sha1sums=('e2a60aca818836181e7e6f8c4f2c323aca6ac057')
build() {
- cd "${srcdir}/lzo-${pkgver}"
+ cd lzo-${pkgver}
./configure --prefix=/usr --enable-shared
make
@@ -26,13 +24,13 @@ build() {
}
check() {
- cd "${srcdir}/lzo-${pkgver}"
+ cd lzo-${pkgver}
make test # Larger test
make check
}
package() {
- cd "${srcdir}/lzo-${pkgver}"
+ cd lzo-${pkgver}
make DESTDIR=${pkgdir} install
# install minilzo
diff --git a/abs/core/make/PKGBUILD b/abs/core/make/PKGBUILD
index 3f38c53..8851f98 100644
--- a/abs/core/make/PKGBUILD
+++ b/abs/core/make/PKGBUILD
@@ -1,45 +1,25 @@
-# $Id: PKGBUILD 138005 2011-09-14 05:05:13Z allan $
+# $Id$
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=make
-pkgver=3.82
-pkgrel=4
+pkgver=4.1
+pkgrel=2
pkgdesc="GNU make utility to maintain groups of programs"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/make"
license=('GPL3')
groups=('base-devel')
-depends=('glibc' 'sh')
+depends=('glibc' 'sh' 'guile')
install=$pkgname.install
-source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2
- bug30612.patch
- bug30723.patch
- make-3.82-sort-blank.patch
- make-3.82-makeflags.patch)
-md5sums=('1a11100f3c63fcf5753818e59d63088f'
- 'c8f496b22191f9fb9420ab14c1a19a47'
- '662e6450e19a5acdaa5c9fcb8ad78dea'
- '7d01a99f389d8f08dec93ed479071ee4'
- 'bc12ad4d0c6e6c0e72d9fb61054f446b')
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig})
+md5sums=('57a7a224a822f94789a587ccbcedff69'
+ 'SKIP')
+validpgpkeys=('3D2554F0A15338AB9AF1BB9D96B047156338B6D4') # Paul Smith
build() {
cd ${srcdir}/${pkgname}-${pkgver}
-
- # http://savannah.gnu.org/bugs/?30612
- patch -Np1 -i $srcdir/bug30612.patch
-
- # http://savannah.gnu.org/bugs/?30723
- patch -Np1 -i $srcdir/bug30723.patch
-
- # https://bugs.archlinux.org/task/22733 (fix from Fedora)
- patch -Np1 -i $srcdir/make-3.82-sort-blank.patch
-
- # https://savannah.gnu.org/support/index.php?107487
- # https://savannah.gnu.org/bugs/?33873
- patch -Np0 -i $srcdir/make-3.82-makeflags.patch
-
./configure --prefix=/usr
make
}
diff --git a/abs/core/make/bug30612.patch b/abs/core/make/make-3.82-bug30612.patch
index fb843bc..9867a15 100644
--- a/abs/core/make/bug30612.patch
+++ b/abs/core/make/make-3.82-bug30612.patch
@@ -1,4 +1,3 @@
-diff -Naur make-3.82-orig/main.c make-3.82-fix30612//main.c
--- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000
+++ make-3.82-fix30612//main.c 2010-09-23 23:33:37.908855839 +1000
@@ -1,3 +1,4 @@
@@ -64,3 +63,29 @@ diff -Naur make-3.82-orig/read.c make-3.82-fix30612//read.c
/* Find and set the new end. Massage names if necessary. */
while (1)
+diff --git make-3.82-orig/read.c make-3.82-fix30612/read.c
+index c87d4a7..b012094 100644
+--- make-3.82-orig/read.c
++++ make-3.82-fix30612/read.c
+@@ -3044,16 +3044,16 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
+ nlen -= (n + 1) - tp;
+ tp = n + 1;
+
+- /* If we have just "lib(", part of something like
+- "lib( a b)", go to the next item. */
+- if (! nlen)
+- continue;
+-
+ /* We can stop looking now. */
+ break;
+ }
+ }
+ while (*e != '\0');
++
++ /* If we have just "lib(", part of something like "lib( a b)",
++ go to the next item. */
++ if (! nlen)
++ continue;
+ }
+ }
+
diff --git a/abs/core/make/bug30723.patch b/abs/core/make/make-3.82-bug30723.patch
index 84e7ebe..84e7ebe 100644
--- a/abs/core/make/bug30723.patch
+++ b/abs/core/make/make-3.82-bug30723.patch
diff --git a/abs/core/make/make-3.82-dont-prune-intermediate.patch b/abs/core/make/make-3.82-dont-prune-intermediate.patch
new file mode 100644
index 0000000..f4f47dd
--- /dev/null
+++ b/abs/core/make/make-3.82-dont-prune-intermediate.patch
@@ -0,0 +1,57 @@
+2012-09-09 Paul Smith <psmith@gnu.org>
+
+ * remake.c (update_file_1): Force intermediate files to be
+ considered, not pruned, if their non-intermediate parent needs to
+ be remade. Fixes Savannah bug #30653.
+
+Index: remake.c
+===================================================================
+RCS file: /sources/make/make/remake.c,v
+retrieving revision 1.153
+retrieving revision 1.154
+diff -u -r1.153 -r1.154
+--- remake.c 5 Mar 2012 14:10:45 -0000 1.153
++++ remake.c 10 Sep 2012 02:36:05 -0000 1.154
+@@ -612,6 +612,10 @@
+ d->file->dontcare = file->dontcare;
+ }
+
++ /* We may have already considered this file, when we didn't know
++ we'd need to update it. Force update_file() to consider it and
++ not prune it. */
++ d->file->considered = !considered;
+
+ dep_status |= update_file (d->file, depth);
+
+Index: tests/scripts/features/parallelism
+===================================================================
+RCS file: /sources/make/make/tests/scripts/features/parallelism,v
+retrieving revision 1.19
+retrieving revision 1.20
+diff -u -r1.19 -r1.20
+--- tests/scripts/features/parallelism 4 Mar 2012 00:24:32 -0000 1.19
++++ tests/scripts/features/parallelism 10 Sep 2012 02:36:05 -0000 1.20
+@@ -214,6 +214,23 @@
+ rmfiles(qw(foo.y foo.y.in main.bar));
+ }
+
++# Ensure intermediate/secondary files are not pruned incorrectly.
++# See Savannah bug #30653
++
++utouch(-15, 'file2');
++utouch(-10, 'file4');
++utouch(-5, 'file1');
++
++run_make_test(q!
++.INTERMEDIATE: file3
++file4: file3 ; @mv -f $< $@
++file3: file2 ; touch $@
++file2: file1 ; @touch $@
++!,
++ '--no-print-directory -j2', "touch file3");
++
++#rmfiles('file1', 'file2', 'file3', 'file4');
++
+ if ($all_tests) {
+ # Jobserver FD handling is messed up in some way.
+ # Savannah bug #28189
diff --git a/abs/core/make/make-3.82-expensive_glob.patch b/abs/core/make/make-3.82-expensive_glob.patch
new file mode 100644
index 0000000..8663f50
--- /dev/null
+++ b/abs/core/make/make-3.82-expensive_glob.patch
@@ -0,0 +1,116 @@
+Index: read.c
+===================================================================
+RCS file: /sources/make/make/read.c,v
+retrieving revision 1.198
+retrieving revision 1.200
+diff -u -r1.198 -r1.200
+--- read.c 29 Apr 2011 15:27:39 -0000 1.198
++++ read.c 7 May 2011 14:36:12 -0000 1.200
+@@ -2901,6 +2901,7 @@
+ const char *name;
+ const char **nlist = 0;
+ char *tildep = 0;
++ int globme = 1;
+ #ifndef NO_ARCHIVES
+ char *arname = 0;
+ char *memname = 0;
+@@ -3109,32 +3110,40 @@
+ }
+ #endif /* !NO_ARCHIVES */
+
+- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
+- {
+- case GLOB_NOSPACE:
+- fatal (NILF, _("virtual memory exhausted"));
+-
+- case 0:
+- /* Success. */
+- i = gl.gl_pathc;
+- nlist = (const char **)gl.gl_pathv;
+- break;
+-
+- case GLOB_NOMATCH:
+- /* If we want only existing items, skip this one. */
+- if (flags & PARSEFS_EXISTS)
+- {
+- i = 0;
+- break;
+- }
+- /* FALLTHROUGH */
+-
+- default:
+- /* By default keep this name. */
++ /* glob() is expensive: don't call it unless we need to. */
++ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL)
++ {
++ globme = 0;
+ i = 1;
+ nlist = &name;
+- break;
+- }
++ }
++ else
++ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
++ {
++ case GLOB_NOSPACE:
++ fatal (NILF, _("virtual memory exhausted"));
++
++ case 0:
++ /* Success. */
++ i = gl.gl_pathc;
++ nlist = (const char **)gl.gl_pathv;
++ break;
++
++ case GLOB_NOMATCH:
++ /* If we want only existing items, skip this one. */
++ if (flags & PARSEFS_EXISTS)
++ {
++ i = 0;
++ break;
++ }
++ /* FALLTHROUGH */
++
++ default:
++ /* By default keep this name. */
++ i = 1;
++ nlist = &name;
++ break;
++ }
+
+ /* For each matched element, add it to the list. */
+ while (i-- > 0)
+@@ -3174,7 +3183,8 @@
+ #endif /* !NO_ARCHIVES */
+ NEWELT (concat (2, prefix, nlist[i]));
+
+- globfree (&gl);
++ if (globme)
++ globfree (&gl);
+
+ #ifndef NO_ARCHIVES
+ if (arname)
+Index: tests/scripts/functions/wildcard
+===================================================================
+RCS file: /sources/make/make/tests/scripts/functions/wildcard,v
+retrieving revision 1.6
+retrieving revision 1.7
+diff -u -r1.6 -r1.7
+--- tests/scripts/functions/wildcard 13 Jun 2009 21:21:49 -0000 1.6
++++ tests/scripts/functions/wildcard 7 May 2011 14:36:11 -0000 1.7
+@@ -88,4 +88,16 @@
+ !,
+ '', "\n");
+
++# TEST #5: wildcard used to verify file existence
++
++touch('xxx.yyy');
++
++run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!,
++ '', "file=xxx.yyy\n");
++
++unlink('xxx.yyy');
++
++run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!,
++ '', "file=\n");
++
+ 1;
diff --git a/abs/core/make/make.install b/abs/core/make/make.install
index 6cf8b0d..8426085 100644
--- a/abs/core/make/make.install
+++ b/abs/core/make/make.install
@@ -2,7 +2,7 @@ infodir=usr/share/info
filelist=(make.info make.info-1 make.info-2)
post_install() {
- [ -x usr/bin/install-info ] || return 0
+ [[ -x usr/bin/install-info ]] || return 0
for file in ${filelist[@]}; do
install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
@@ -13,7 +13,7 @@ post_upgrade() {
}
pre_remove() {
- [ -x usr/bin/install-info ] || return 0
+ [[ -x usr/bin/install-info ]] || return 0
for file in ${filelist[@]}; do
install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
diff --git a/abs/core/mesa/PKGBUILD b/abs/core/mesa/PKGBUILD
index a94cdf6..c0e0a1a 100644
--- a/abs/core/mesa/PKGBUILD
+++ b/abs/core/mesa/PKGBUILD
@@ -4,25 +4,32 @@
pkgbase=mesa
pkgname=('opencl-mesa' 'libva-mesa-driver' 'mesa-vdpau' 'mesa' 'mesa-libgl')
-pkgver=10.4.0
+pkgver=11.1.1
pkgrel=1
arch=('i686' 'x86_64')
-makedepends=('python2' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto'
+makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto'
'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'llvm'
- 'systemd' 'libomxil-bellagio' 'libclc' 'clang')
+ 'systemd' 'libomxil-bellagio' 'libgcrypt' 'libclc' 'clang')
url="http://mesa3d.sourceforge.net"
license=('custom')
-source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2{,.sig}
-#source=(ftp://ftp.freedesktop.org/pub/mesa/10.3/MesaLib-${pkgver}.tar.bz2{,.sig}
+source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/mesa-${pkgver}.tar.xz{,.sig}
LICENSE)
-sha256sums=('98a7dff3a1a6708c79789de8b9a05d8042e867067f70e8f30387c15026233219'
+sha256sums=('64db074fc514136b5fb3890111f0d50604db52f0b1e94ba3fcb0fe8668a7fd20'
'SKIP'
'7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2')
+validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>
+
+prepare() {
+ cd ${srcdir}/?esa-*
+
+ # Fix detection of libLLVM when built with CMake
+ sed -i 's/LLVM_SO_NAME=.*/LLVM_SO_NAME=LLVM/' configure
+}
build() {
cd ${srcdir}/?esa-*
- autoreconf -vfi # our automake is far too new for their build system :)
+ #autoreconf -vfi # our automake is far too new for their build system :)
./configure --prefix=/usr \
--sysconfdir=/etc \
@@ -30,6 +37,7 @@ build() {
--with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast \
--with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
--with-egl-platforms=x11,drm,wayland \
+ --with-sha1=libgcrypt \
--enable-llvm-shared-libs \
--enable-egl \
--enable-gbm \
@@ -60,7 +68,7 @@ build() {
package_opencl-mesa() {
pkgdesc="OpenCL support for AMD/ATI Radeon mesa drivers"
- depends=('expat' 'libdrm' 'elfutils' 'libxfixes' 'libxext' 'libcl' 'libclc' 'clang')
+ depends=('expat' 'libdrm' 'elfutils' 'libxfixes' 'libxext' 'opencl-icd-loader' 'libclc' 'clang')
optdepends=('opencl-headers: headers necessary for OpenCL development')
install -m755 -d ${pkgdir}/etc
@@ -99,7 +107,7 @@ package_mesa-vdpau() {
package_mesa() {
pkgdesc="an open-source implementation of the OpenGL specification"
depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'systemd' 'elfutils'
- 'libomxil-bellagio' 'expat' 'libtxc_dxtn' 'llvm-libs')
+ 'libomxil-bellagio' 'expat' 'libgcrypt' 'libtxc_dxtn' 'llvm-libs')
optdepends=('opengl-man-pages: for the OpenGL API man pages'
'mesa-vdpau: for accelerated video playback'
'libva-mesa-driver: for accelerated video playback')
diff --git a/abs/core/mesa/workaround-for-robustness-and-reset-with-intel.patch b/abs/core/mesa/workaround-for-robustness-and-reset-with-intel.patch
deleted file mode 100644
index dc4a213..0000000
--- a/abs/core/mesa/workaround-for-robustness-and-reset-with-intel.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
-index e113654..5790680 100644
---- a/src/mesa/drivers/dri/i965/brw_context.c
-+++ b/src/mesa/drivers/dri/i965/brw_context.c
-@@ -645,7 +645,7 @@ brwCreateContext(gl_api api,
-
- brw_init_driver_functions(brw, &functions);
-
-- if (notify_reset)
-+ if (notify_reset && brw->gen >= 6)
- functions.GetGraphicsResetStatus = brw_get_graphics_reset_status;
-
- struct gl_context *ctx = &brw->ctx;
-
-
diff --git a/abs/core/mkinitcpio/0001-avoid-compound-conditional-leading-to-spurious-error.patch b/abs/core/mkinitcpio/0001-avoid-compound-conditional-leading-to-spurious-error.patch
deleted file mode 100644
index c1371fd..0000000
--- a/abs/core/mkinitcpio/0001-avoid-compound-conditional-leading-to-spurious-error.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ea4c4154205372154457c794513ae46b61ea4e4c Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Mon, 4 Aug 2014 08:31:37 -0400
-Subject: [mkinitcpio] [PATCH] avoid compound conditional leading to spurious
- "errors"
-
-As seen:
-
-https://bbs.archlinux.org/viewtopic.php?id=185204
-https://bbs.archlinux.org/viewtopic.php?id=185265
----
- functions | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/functions b/functions
-index 20bbffe..362d07b 100644
---- a/functions
-+++ b/functions
-@@ -423,11 +423,15 @@ add_full_dir() {
-
- for f in "$1"/*; do
- if [[ -L $f ]]; then
-- [[ $f = $filter ]] && add_symlink "$f" "$(readlink "$f")"
-+ if [[ $f = $filter ]]; then
-+ add_symlink "$f" "$(readlink "$f")"
-+ fi
- elif [[ -d $f ]]; then
- add_full_dir "$f"
- elif [[ -f $f ]]; then
-- [[ $f = $filter ]] && add_file "$f"
-+ if [[ $f = $filter ]]; then
-+ add_file "$f"
-+ fi
- fi
- done
- fi
---
-2.1.0
-
diff --git a/abs/core/mkinitcpio/PKGBUILD b/abs/core/mkinitcpio/PKGBUILD
index ad19b84..7b5b08d 100644
--- a/abs/core/mkinitcpio/PKGBUILD
+++ b/abs/core/mkinitcpio/PKGBUILD
@@ -3,13 +3,13 @@
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=mkinitcpio
-pkgver=18
-pkgrel=2
+pkgver=19
+pkgrel=1
pkgdesc="Modular initramfs image creation utility"
arch=('any')
url="https://projects.archlinux.org/mkinitcpio.git/"
license=('GPL')
-depends=('awk' 'mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive'
+depends=('awk' 'mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive>=3.1.2-10'
'coreutils' 'bash' 'findutils' 'grep' 'filesystem>=2011.10-1' 'gzip' 'systemd')
optdepends=('xz: Use lzma or xz compression for the initramfs image'
'bzip2: Use bzip2 compression for the initramfs image'
@@ -17,22 +17,17 @@ optdepends=('xz: Use lzma or xz compression for the initramfs image'
'lz4: Use lz4 compression for the initramfs image'
'mkinitcpio-nfs-utils: Support for root filesystem on NFS')
backup=('etc/mkinitcpio.conf')
-source=("ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}
- '0001-avoid-compound-conditional-leading-to-spurious-error.patch'
+source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}
'mkinitcpio.patch')
install=mkinitcpio.install
-
-prepare() {
- patch -d "$pkgname-$pkgver" -Np1 <0001-avoid-compound-conditional-leading-to-spurious-error.patch
-}
+validpgpkeys=('487EACC08557AD082088DABA1EB2638FF56C0C53' # Dave Reisner
+ '86CFFCA918CF3AF47147588051E8B148A9999C34') # Evangelos Foutras
package() {
make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
cd $pkgdir/etc
patch -Np0 < $srcdir/mkinitcpio.patch || exit 1
-
}
-md5sums=('46b83483ac1444aa05a8d09e3bbc87b5'
+md5sums=('e8b1d1059bd7f056cd4ee33706280f0f'
'SKIP'
- 'd8c693935bd8f793cc410b78b3bfaf56'
'031fd7d3013c26175ae7421781893feb')
diff --git a/abs/core/mkinitcpio/__changelog b/abs/core/mkinitcpio/__changelog
index 609b54f..a3d48dc 100644
--- a/abs/core/mkinitcpio/__changelog
+++ b/abs/core/mkinitcpio/__changelog
@@ -1 +1,2 @@
mkinitcpio.patch: update for new hooks
+PKGBUILD: change dep for libarchive to libarchive>=3.1.2-10
diff --git a/abs/core/mplayer/PKGBUILD b/abs/core/mplayer/PKGBUILD
index fbf15d9..d282afc 100644
--- a/abs/core/mplayer/PKGBUILD
+++ b/abs/core/mplayer/PKGBUILD
@@ -1,37 +1,38 @@
# $Id$
# Maintainer: Ionut Biru <ibiru@archlinux.org>
-# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgbase=mplayer
pkgname=('mplayer' 'mencoder')
-pkgver=37224
-pkgrel=5
+pkgver=37379
+pkgrel=6
arch=('i686' 'x86_64')
makedepends=(
'libxxf86dga' 'libxxf86vm' 'libmad' 'libxinerama' 'sdl' 'lame' 'libtheora'
'xvidcore' 'libmng' 'libxss' 'libgl' 'smbclient' 'aalib' 'libcaca'
- 'faac' 'faad2' 'lirc-utils' 'libxvmc' 'enca' 'libvdpau' 'opencore-amr'
+ 'faac' 'faad2' 'lirc' 'libxvmc' 'enca' 'libvdpau' 'opencore-amr'
'libdca' 'a52dec' 'schroedinger' 'libvpx' 'fribidi' 'unzip' 'mesa'
'live-media' 'yasm' 'git' 'fontconfig' 'mpg123' 'ladspa' 'libass' 'libbluray'
- 'libcdio-paranoia' 'opus' 'subversion' 'x264' 'libx264' 'rtmpdump' 'gsm'
+ 'libcdio-paranoia' 'opus' 'subversion' 'x264' 'libx264' 'rtmpdump' 'gnutls'
+ 'gsm' 'libdvdcss' 'libdvdread' 'libdvdnav'
)
license=('GPL')
url='http://www.mplayerhq.hu/'
options=('!buildflags' '!emptydirs')
source=($pkgbase-$pkgver::svn://svn.mplayerhq.hu/mplayer/trunk#revision=$pkgver
- http://ffmpeg.org/releases/ffmpeg-2.2.10.tar.bz2
+ http://ffmpeg.org/releases/ffmpeg-2.6.2.tar.bz2
mplayer.desktop
cdio-includes.patch
include-samba-4.0.patch
- giflib51.patch
+ ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
revert-icl-fixes.patch)
md5sums=('SKIP'
- 'f40a829f5075c8ee901e5dbc6d40c209'
+ 'e75d598921285d6775f20164a91936ac'
'62f44a58f072b2b1a3c3d3e4976d64b3'
'7b5be7191aafbea64218dc4916343bbc'
'868a92bdef148df7f38bfa992b26ce9d'
- '14461fb94b7aa5dda091ba4f737df2d9'
+ '71be9bcd297cb9ce833bbc5d425c0470'
'3579402002b7302fdf2d146639333efd')
pkgver() {
@@ -41,12 +42,12 @@ pkgver() {
prepare() {
cd $pkgbase-$pkgver
- mv ../ffmpeg-2.2.10 ./ffmpeg
+ mv ../ffmpeg-*/ ./ffmpeg
- patch -p0 -i ../cdio-includes.patch
- patch -p1 -i ../include-samba-4.0.patch
- patch -Np0 -i ../giflib51.patch
+ patch -Np0 -i ../cdio-includes.patch
+ patch -Np1 -i ../include-samba-4.0.patch
patch -Np0 -i ../revert-icl-fixes.patch
+ patch -d ffmpeg -Np1 <../ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
./version.sh
}
@@ -84,12 +85,12 @@ package_mplayer() {
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
depends=(
'desktop-file-utils' 'ttf-font' 'enca' 'libxss' 'a52dec' 'libvpx'
- 'lirc-utils' 'libx264' 'libmng' 'libdca' 'aalib' 'lame' 'fontconfig'
+ 'lirc' 'libx264' 'libmng' 'libdca' 'aalib' 'lame' 'fontconfig'
'libgl' 'libxinerama' 'libvdpau' 'smbclient' 'xvidcore'
'opencore-amr' 'libmad' 'sdl' 'libtheora' 'libcaca' 'libxxf86dga'
'fribidi' 'libjpeg' 'faac' 'faad2' 'libxvmc' 'schroedinger' 'mpg123'
'libass' 'libxxf86vm' 'libbluray' 'libcdio-paranoia' 'opus' 'rtmpdump'
- 'gsm'
+ 'gsm' 'gnutls' 'libdvdnav'
)
cd $pkgbase-$pkgver
@@ -112,7 +113,7 @@ package_mencoder() {
'alsa-lib' 'fontconfig' 'giflib' 'libpng' 'smbclient' 'xvidcore'
'opencore-amr' 'libmad' 'libtheora' 'fribidi' 'libjpeg' 'faac' 'faad2'
'schroedinger' 'mpg123' 'libass' 'libbluray' 'libcdio-paranoia'
- 'libvorbis' 'opus' 'rtmpdump' 'gsm'
+ 'libvorbis' 'opus' 'rtmpdump' 'gsm' 'libdvdnav'
)
make -C $pkgbase-$pkgver DESTDIR="$pkgdir" install-mencoder install-mencoder-man
diff --git a/abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch b/abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
new file mode 100644
index 0000000..15d2600
--- /dev/null
+++ b/abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
@@ -0,0 +1,41 @@
+From 6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab Mon Sep 17 00:00:00 2001
+From: James Zern <jzern@google.com>
+Date: Mon, 19 Oct 2015 22:44:11 -0700
+Subject: [PATCH] libvpxenc: remove some unused ctrl id mappings
+
+VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed
+from libvpx and the remaining values were never used here
+
+Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
+Signed-off-by: James Zern <jzern@google.com>
+---
+ libavcodec/libvpxenc.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
+index 5f39783..992122c 100644
+--- a/libavcodec/libvpxenc.c
++++ b/libavcodec/libvpxenc.c
+@@ -104,19 +104,11 @@ typedef struct VP8EncoderContext {
+
+ /** String mappings for enum vp8e_enc_control_id */
+ static const char *const ctlidstr[] = {
+- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
+- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
+- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
+- [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP",
+- [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP",
+- [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE",
+ [VP8E_SET_CPUUSED] = "VP8E_SET_CPUUSED",
+ [VP8E_SET_ENABLEAUTOALTREF] = "VP8E_SET_ENABLEAUTOALTREF",
+ [VP8E_SET_NOISE_SENSITIVITY] = "VP8E_SET_NOISE_SENSITIVITY",
+- [VP8E_SET_SHARPNESS] = "VP8E_SET_SHARPNESS",
+ [VP8E_SET_STATIC_THRESHOLD] = "VP8E_SET_STATIC_THRESHOLD",
+ [VP8E_SET_TOKEN_PARTITIONS] = "VP8E_SET_TOKEN_PARTITIONS",
+- [VP8E_GET_LAST_QUANTIZER] = "VP8E_GET_LAST_QUANTIZER",
+ [VP8E_SET_ARNR_MAXFRAMES] = "VP8E_SET_ARNR_MAXFRAMES",
+ [VP8E_SET_ARNR_STRENGTH] = "VP8E_SET_ARNR_STRENGTH",
+ [VP8E_SET_ARNR_TYPE] = "VP8E_SET_ARNR_TYPE",
+--
+1.7.10.4
+
diff --git a/abs/core/mplayer/giflib51.patch b/abs/core/mplayer/giflib51.patch
deleted file mode 100644
index e884b39..0000000
--- a/abs/core/mplayer/giflib51.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- libvo/vo_gif89a.c.orig 2014-06-11 10:06:29.243216331 +0000
-+++ libvo/vo_gif89a.c 2014-06-11 10:08:37.346078847 +0000
-@@ -75,6 +75,9 @@
- #define MakeMapObject GifMakeMapObject
- #define FreeMapObject GifFreeMapObject
- #define QuantizeBuffer GifQuantizeBuffer
-+#if defined GIFLIB_MINOR && GIFLIB_MINOR >= 1
-+#define EGifCloseFile(a) EGifCloseFile(a, NULL)
-+#endif
- #endif
-
- // how many frames per second we are aiming for during output.
---- libmpdemux/demux_gif.c.orig 2014-06-11 10:46:48.120883788 +0000
-+++ libmpdemux/demux_gif.c 2014-06-11 10:47:28.290732272 +0000
-@@ -50,6 +50,9 @@
- #define DGifOpenFileHandle(a) DGifOpenFileHandle(a, NULL)
- #define GifError() (gif ? gif->Error : 0)
- #define GifErrorString() GifErrorString(gif->Error)
-+#if defined GIFLIB_MINOR && GIFLIB_MINOR >= 1
-+#define DGifCloseFile(a) DGifCloseFile(a, NULL)
-+#endif
- #endif
-
- /* >= 4.2 prior GIFLIB did not have MAJOR/MINOR defines */
diff --git a/abs/core/mysql/PKGBUILD b/abs/core/mysql/PKGBUILD
index 0c6747e..b75dca4 100644
--- a/abs/core/mysql/PKGBUILD
+++ b/abs/core/mysql/PKGBUILD
@@ -5,8 +5,8 @@
pkgname=('mysql' 'libmysqlclient' 'mysql-clients')
pkgbase=mysql
-pkgver=5.6.23
-pkgrel=3
+pkgver=5.6.28
+pkgrel=1
pkgdesc="Fast SQL database server, community edition"
arch=('i686' 'x86_64')
makedepends=('openssl' 'zlib' 'cmake' 'systemd-tools' 'libaio' 'jemalloc')
@@ -169,10 +169,10 @@ package_mysql(){
rm "${pkgdir}/usr/share/man/man1/mysql-test-run.pl.1"
}
-md5sums=('60344f26eae136a267a0277407926e79'
+md5sums=('4bc8fde6d04fb7104df1ba8a4025b156'
'b79e65a5aa536e6b5bc60988eb0b78a2'
'2fa6e456964d4ff5e6d4f9ff0126aed6'
'81b62df0f569935109c1b107dfe9f9fa'
- '75121ffbbd47367c27ae0448f6282b57'
+ 'd30c8b6206e23972d1bae1a842721cea'
'e7eb2faeab755cbb2fe03542bf328da9'
'f2b34ac2954bb56c4abf08c66a7f840e')
diff --git a/abs/core/mysql/my.cnf b/abs/core/mysql/my.cnf
index da26759..42e1c51 100755
--- a/abs/core/mysql/my.cnf
+++ b/abs/core/mysql/my.cnf
@@ -43,6 +43,7 @@ query_cache_type = 1
query_cache_size = 64M
query_cache_limit = 2M
join_buffer_size = 2M
+ignore-db-dir = lost+found
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
diff --git a/abs/core/mythdb-initial/PKGBUILD b/abs/core/mythdb-initial/PKGBUILD
index c39f828..1e6dbc9 100755
--- a/abs/core/mythdb-initial/PKGBUILD
+++ b/abs/core/mythdb-initial/PKGBUILD
@@ -1,9 +1,9 @@
pkgname=mythdb-initial
-pkgver=8.1
+pkgver=8.4
pkgrel=3
pkgdesc="setup the initial mythtv database for linhes"
url=""
-license=""
+license=()
depends=(mysql)
makedepends=()
conflicts=()
@@ -20,6 +20,6 @@ package() {
cp $srcdir/custom.sql $pkgdir/data/database/custom.sql
}
-md5sums=('366c1fe7668739d2d5c1123f9f4ee110'
+md5sums=('5f3492d396142d394c095749363fd03d'
'ad0e57ac5e7c3677808a670e16634bba'
- 'a09c102545192d8ef090c7cd4377731d')
+ 'f57a97ca3ad0d22aafc8a2b6b34ae1c2')
diff --git a/abs/core/mythdb-initial/custom.sql b/abs/core/mythdb-initial/custom.sql
index 36ffdaf..a77f678 100644
--- a/abs/core/mythdb-initial/custom.sql
+++ b/abs/core/mythdb-initial/custom.sql
@@ -10,7 +10,7 @@ INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
('Hostpluginmythbrowser','1','apheleia'),
('Hostpluginmythcontrols','1','apheleia'),
('Hostpluginmythnetvision','0','apheleia'),
- ('Hostpluginmythgallery','1','apheleia'),
+ ('Hostpluginmythgallery','0','apheleia'),
('Hostpluginmythgame','1','apheleia'),
('HostpluginmythgameROMDB','0','apheleia'),
('Hostpluginmythgamefceux','0','apheleia'),
@@ -177,11 +177,8 @@ INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
('HOSTdatafstype', 'xfs' , 'apheleia');
-- Add a dummy tuner so BE will at least start
-INSERT INTO `capturecard` (`videodevice`,`cardtype`,`defaultinput`,`hostname`) VALUES
-('file://tmp/demo.mpg' , 'DEMO', 'Television', 'apheleia');
+INSERT INTO `capturecard` (`videodevice`,`cardtype`,`defaultinput`,`hostname`,`sourceid`) VALUES
+('file://tmp/demo.mpg' , 'DEMO', 'Television', 'apheleia', '1');
INSERT INTO `videosource` (`name`, `xmltvgrabber`) VALUES
('DEMO_VIDEO_SOURCE' , '/bin/true');
-
-INSERT INTO `cardinput` (`cardid`,`sourceid`,`inputname`) VALUES
-('1','1','MPEG2TS');
diff --git a/abs/core/mythdb-initial/mc.sql b/abs/core/mythdb-initial/mc.sql
index 2174eda..8d683f0 100644
--- a/abs/core/mythdb-initial/mc.sql
+++ b/abs/core/mythdb-initial/mc.sql
@@ -1,8 +1,8 @@
--- MySQL dump 10.13 Distrib 5.5.28, for Linux (x86_64)
+-- MySQL dump 10.13 Distrib 5.6.28, for Linux (x86_64)
--
-- Host: localhost Database: mythconverg
-- ------------------------------------------------------
--- Server version 5.5.28
+-- Server version 5.6.28
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -16,6 +16,31 @@
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
+-- Table structure for table `bdbookmark`
+--
+
+DROP TABLE IF EXISTS `bdbookmark`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `bdbookmark` (
+ `serialid` varchar(40) NOT NULL DEFAULT '',
+ `name` varchar(128) DEFAULT NULL,
+ `bdstate` varchar(4096) NOT NULL DEFAULT '',
+ `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`serialid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `bdbookmark`
+--
+
+LOCK TABLES `bdbookmark` WRITE;
+/*!40000 ALTER TABLE `bdbookmark` DISABLE KEYS */;
+/*!40000 ALTER TABLE `bdbookmark` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
-- Table structure for table `capturecard`
--
@@ -24,6 +49,7 @@ DROP TABLE IF EXISTS `capturecard`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `capturecard` (
`cardid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `parentid` int(10) unsigned NOT NULL DEFAULT '0',
`videodevice` varchar(128) DEFAULT NULL,
`audiodevice` varchar(128) DEFAULT NULL,
`vbidevice` varchar(128) DEFAULT NULL,
@@ -49,6 +75,19 @@ CREATE TABLE `capturecard` (
`hue` int(11) NOT NULL DEFAULT '0',
`diseqcid` int(10) unsigned DEFAULT NULL,
`dvb_eitscan` tinyint(1) NOT NULL DEFAULT '1',
+ `inputname` varchar(32) NOT NULL DEFAULT 'None',
+ `sourceid` int(10) unsigned NOT NULL DEFAULT '0',
+ `externalcommand` varchar(128) DEFAULT NULL,
+ `changer_device` varchar(128) DEFAULT NULL,
+ `changer_model` varchar(128) DEFAULT NULL,
+ `tunechan` varchar(10) DEFAULT NULL,
+ `startchan` varchar(10) DEFAULT NULL,
+ `displayname` varchar(64) NOT NULL DEFAULT '',
+ `dishnet_eit` tinyint(1) NOT NULL DEFAULT '0',
+ `recpriority` int(11) NOT NULL DEFAULT '0',
+ `quicktune` tinyint(4) NOT NULL DEFAULT '0',
+ `schedorder` int(10) unsigned NOT NULL DEFAULT '1',
+ `livetvorder` int(10) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`cardid`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -447,6 +486,9 @@ CREATE TABLE `diseqc_tree` (
`cmd_repeat` int(11) NOT NULL DEFAULT '1',
`lnb_pol_inv` tinyint(4) NOT NULL DEFAULT '0',
`address` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `scr_userband` int(10) unsigned NOT NULL DEFAULT '0',
+ `scr_frequency` int(10) unsigned NOT NULL DEFAULT '1400',
+ `scr_pin` int(11) NOT NULL DEFAULT '-1',
PRIMARY KEY (`diseqcid`),
KEY `parentid` (`parentid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@@ -743,6 +785,70 @@ LOCK TABLES `filemarkup` WRITE;
UNLOCK TABLES;
--
+-- Table structure for table `gallery_directories`
+--
+
+DROP TABLE IF EXISTS `gallery_directories`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `gallery_directories` (
+ `dir_id` int(11) NOT NULL AUTO_INCREMENT,
+ `filename` varchar(255) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `path` varchar(255) NOT NULL,
+ `parent_id` int(11) NOT NULL,
+ `dir_count` int(11) NOT NULL DEFAULT '0',
+ `file_count` int(11) NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`dir_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `gallery_directories`
+--
+
+LOCK TABLES `gallery_directories` WRITE;
+/*!40000 ALTER TABLE `gallery_directories` DISABLE KEYS */;
+/*!40000 ALTER TABLE `gallery_directories` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `gallery_files`
+--
+
+DROP TABLE IF EXISTS `gallery_files`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `gallery_files` (
+ `file_id` int(11) NOT NULL AUTO_INCREMENT,
+ `filename` varchar(255) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `path` varchar(255) NOT NULL,
+ `dir_id` int(11) NOT NULL DEFAULT '0',
+ `type` int(11) NOT NULL DEFAULT '0',
+ `modtime` int(11) NOT NULL DEFAULT '0',
+ `size` int(11) NOT NULL DEFAULT '0',
+ `extension` varchar(255) NOT NULL,
+ `angle` int(11) NOT NULL DEFAULT '0',
+ `date` int(11) NOT NULL DEFAULT '0',
+ `zoom` int(11) NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `orientation` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`file_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `gallery_files`
+--
+
+LOCK TABLES `gallery_files` WRITE;
+/*!40000 ALTER TABLE `gallery_files` DISABLE KEYS */;
+/*!40000 ALTER TABLE `gallery_files` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
-- Table structure for table `housekeeping`
--
@@ -753,6 +859,7 @@ CREATE TABLE `housekeeping` (
`tag` varchar(64) NOT NULL,
`hostname` varchar(64) DEFAULT NULL,
`lastrun` datetime DEFAULT NULL,
+ `lastsuccess` datetime DEFAULT NULL,
UNIQUE KEY `task` (`tag`,`hostname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -763,7 +870,7 @@ CREATE TABLE `housekeeping` (
LOCK TABLES `housekeeping` WRITE;
/*!40000 ALTER TABLE `housekeeping` DISABLE KEYS */;
-INSERT INTO `housekeeping` VALUES ('BackupDB',NULL,'2013-11-25 09:32:43');
+INSERT INTO `housekeeping` VALUES ('BackupDB',NULL,'2016-04-21 18:49:32','2016-04-21 18:49:32');
/*!40000 ALTER TABLE `housekeeping` ENABLE KEYS */;
UNLOCK TABLES;
@@ -777,7 +884,7 @@ DROP TABLE IF EXISTS `inputgroup`;
CREATE TABLE `inputgroup` (
`cardinputid` int(10) unsigned NOT NULL,
`inputgroupid` int(10) unsigned NOT NULL,
- `inputgroupname` varchar(32) NOT NULL
+ `inputgroupname` varchar(128) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -1009,7 +1116,7 @@ CREATE TABLE `keybindings` (
LOCK TABLES `keybindings` WRITE;
/*!40000 ALTER TABLE `keybindings` DISABLE KEYS */;
-INSERT INTO `keybindings` VALUES ('Global','UP','Up Arrow','Up','apheleia'),('Global','DOWN','Down Arrow','Down','apheleia'),('Global','LEFT','Left Arrow','Left','apheleia'),('Global','RIGHT','Right Arrow','Right','apheleia'),('Global','NEXT','Move to next widget','Tab','apheleia'),('Global','PREVIOUS','Move to preview widget','Backtab','apheleia'),('Global','SELECT','Select','Return,Enter,Space','apheleia'),('Global','BACKSPACE','Backspace','Backspace','apheleia'),('Global','ESCAPE','Escape','Esc','apheleia'),('Global','MENU','Pop-up menu','M','apheleia'),('Global','INFO','More information','I','apheleia'),('Global','DELETE','Delete','D','apheleia'),('Global','EDIT','Edit','E','apheleia'),('Global','SCREENSHOT','Save screenshot','','apheleia'),('Global','HANDLEMEDIA','Play a media resource','','apheleia'),('Global','PAGEUP','Page Up','PgUp','apheleia'),('Global','PAGEDOWN','Page Down','PgDown','apheleia'),('Global','PAGETOP','Page to top of list','','apheleia'),('Global','PAGEMIDDLE','Page to middle of list','','apheleia'),('Global','PAGEBOTTOM','Page to bottom of list','','apheleia'),('Global','PREVVIEW','Previous View','Home','apheleia'),('Global','NEXTVIEW','Next View','End','apheleia'),('Global','HELP','Help','F1','apheleia'),('Global','EJECT','Eject Removable Media','','apheleia'),('Global','CUT','Cut text from textedit','Ctrl+X','apheleia'),('Global','COPY','Copy text from textedit','Ctrl+C','apheleia'),('Global','PASTE','Paste text into textedit','Ctrl+V','apheleia'),('Global','NEWLINE','Insert newline into textedit','Ctrl+Return','apheleia'),('Global','UNDO','Undo','Ctrl+Z','apheleia'),('Global','REDO','Redo','Ctrl+Y','apheleia'),('Global','SEARCH','Show incremental search dialog','Ctrl+S','apheleia'),('Global','0','0','0','apheleia'),('Global','1','1','1','apheleia'),('Global','2','2','2','apheleia'),('Global','3','3','3','apheleia'),('Global','4','4','4','apheleia'),('Global','5','5','5','apheleia'),('Global','6','6','6','apheleia'),('Global','7','7','7','apheleia'),('Global','8','8','8','apheleia'),('Global','9','9','9','apheleia'),('Global','TVPOWERON','Turn the display on','','apheleia'),('Global','TVPOWEROFF','Turn the display off','','apheleia'),('Global','SYSEVENT01','Trigger System Key Event #1','','apheleia'),('Global','SYSEVENT02','Trigger System Key Event #2','','apheleia'),('Global','SYSEVENT03','Trigger System Key Event #3','','apheleia'),('Global','SYSEVENT04','Trigger System Key Event #4','','apheleia'),('Global','SYSEVENT05','Trigger System Key Event #5','','apheleia'),('Global','SYSEVENT06','Trigger System Key Event #6','','apheleia'),('Global','SYSEVENT07','Trigger System Key Event #7','','apheleia'),('Global','SYSEVENT08','Trigger System Key Event #8','','apheleia'),('Global','SYSEVENT09','Trigger System Key Event #9','','apheleia'),('Global','SYSEVENT10','Trigger System Key Event #10','','apheleia'),('Browser','ZOOMIN','Zoom in on browser window','.,>','apheleia'),('Browser','ZOOMOUT','Zoom out on browser window',',,<','apheleia'),('Browser','TOGGLEINPUT','Toggle where keyboard input goes to','F1','apheleia'),('Browser','MOUSEUP','Move mouse pointer up','2','apheleia'),('Browser','MOUSEDOWN','Move mouse pointer down','8','apheleia'),('Browser','MOUSELEFT','Move mouse pointer left','4','apheleia'),('Browser','MOUSERIGHT','Move mouse pointer right','6','apheleia'),('Browser','MOUSELEFTBUTTON','Mouse Left button click','5','apheleia'),('Browser','PAGEDOWN','Scroll down half a page','9','apheleia'),('Browser','PAGEUP','Scroll up half a page','3','apheleia'),('Browser','PAGELEFT','Scroll left half a page','7','apheleia'),('Browser','PAGERIGHT','Scroll right half a page','1','apheleia'),('Browser','NEXTLINK','Move selection to next link','Z','apheleia'),('Browser','PREVIOUSLINK','Move selection to previous link','Q','apheleia'),('Browser','FOLLOWLINK','Follow selected link','Return,Space,Enter','apheleia'),('Browser','HISTORYBACK','Go back to previous page','R,Backspace','apheleia'),('Browser','HISTORYFORWARD','Go forward to previous page','F','apheleia'),('Main Menu','EXITPROMPT','Display System Exit Prompt','Esc','apheleia'),('Main Menu','EXIT','System Exit','','apheleia');
+INSERT INTO `keybindings` VALUES ('Global','UP','Up Arrow','Up','apheleia'),('Global','DOWN','Down Arrow','Down','apheleia'),('Global','LEFT','Left Arrow','Left','apheleia'),('Global','RIGHT','Right Arrow','Right','apheleia'),('Global','NEXT','Move to next widget','Tab','apheleia'),('Global','PREVIOUS','Move to preview widget','Backtab','apheleia'),('Global','SELECT','Select','Return,Enter,Space','apheleia'),('Global','BACKSPACE','Backspace','Backspace','apheleia'),('Global','ESCAPE','Escape','Esc','apheleia'),('Global','MENU','Pop-up menu','M','apheleia'),('Global','INFO','More information','I','apheleia'),('Global','DELETE','Delete','D','apheleia'),('Global','EDIT','Edit','E','apheleia'),('Global','SCREENSHOT','Save screenshot','','apheleia'),('Global','HANDLEMEDIA','Play a media resource','','apheleia'),('Global','PAGEUP','Page Up','PgUp','apheleia'),('Global','PAGEDOWN','Page Down','PgDown','apheleia'),('Global','PAGETOP','Page to top of list','','apheleia'),('Global','PAGEMIDDLE','Page to middle of list','','apheleia'),('Global','PAGEBOTTOM','Page to bottom of list','','apheleia'),('Global','PREVVIEW','Previous View','Home','apheleia'),('Global','NEXTVIEW','Next View','End','apheleia'),('Global','HELP','Help','F1','apheleia'),('Global','EJECT','Eject Removable Media','','apheleia'),('Global','CUT','Cut text from textedit','Ctrl+X','apheleia'),('Global','COPY','Copy text from textedit','Ctrl+C','apheleia'),('Global','PASTE','Paste text into textedit','Ctrl+V','apheleia'),('Global','NEWLINE','Insert newline into textedit','Ctrl+Return','apheleia'),('Global','UNDO','Undo','Ctrl+Z','apheleia'),('Global','REDO','Redo','Ctrl+Y','apheleia'),('Global','SEARCH','Show incremental search dialog','Ctrl+S','apheleia'),('Global','0','0','0','apheleia'),('Global','1','1','1','apheleia'),('Global','2','2','2','apheleia'),('Global','3','3','3','apheleia'),('Global','4','4','4','apheleia'),('Global','5','5','5','apheleia'),('Global','6','6','6','apheleia'),('Global','7','7','7','apheleia'),('Global','8','8','8','apheleia'),('Global','9','9','9','apheleia'),('Global','TVPOWERON','Turn the display on','','apheleia'),('Global','TVPOWEROFF','Turn the display off','','apheleia'),('Global','SYSEVENT01','Trigger System Key Event #1','','apheleia'),('Global','SYSEVENT02','Trigger System Key Event #2','','apheleia'),('Global','SYSEVENT03','Trigger System Key Event #3','','apheleia'),('Global','SYSEVENT04','Trigger System Key Event #4','','apheleia'),('Global','SYSEVENT05','Trigger System Key Event #5','','apheleia'),('Global','SYSEVENT06','Trigger System Key Event #6','','apheleia'),('Global','SYSEVENT07','Trigger System Key Event #7','','apheleia'),('Global','SYSEVENT08','Trigger System Key Event #8','','apheleia'),('Global','SYSEVENT09','Trigger System Key Event #9','','apheleia'),('Global','SYSEVENT10','Trigger System Key Event #10','','apheleia'),('Browser','ZOOMIN','Zoom in on browser window','.,>','apheleia'),('Browser','ZOOMOUT','Zoom out on browser window',',,<','apheleia'),('Browser','TOGGLEINPUT','Toggle where keyboard input goes to','F1','apheleia'),('Browser','MOUSEUP','Move mouse pointer up','2','apheleia'),('Browser','MOUSEDOWN','Move mouse pointer down','8','apheleia'),('Browser','MOUSELEFT','Move mouse pointer left','4','apheleia'),('Browser','MOUSERIGHT','Move mouse pointer right','6','apheleia'),('Browser','MOUSELEFTBUTTON','Mouse Left button click','5','apheleia'),('Browser','PAGEDOWN','Scroll down half a page','9','apheleia'),('Browser','PAGEUP','Scroll up half a page','3','apheleia'),('Browser','PAGELEFT','Scroll left half a page','7','apheleia'),('Browser','PAGERIGHT','Scroll right half a page','1','apheleia'),('Browser','NEXTLINK','Move selection to next link','Z','apheleia'),('Browser','PREVIOUSLINK','Move selection to previous link','Q','apheleia'),('Browser','FOLLOWLINK','Follow selected link','Return,Space,Enter','apheleia'),('Browser','HISTORYBACK','Go back to previous page','R,Backspace','apheleia'),('Browser','HISTORYFORWARD','Go forward to previous page','F','apheleia'),('Main Menu','EXITPROMPT','Display System Exit Prompt','Esc','apheleia'),('Main Menu','EXIT','System Exit','','apheleia'),('Main Menu','STANDBYMODE','Enter Standby Mode','','apheleia');
/*!40000 ALTER TABLE `keybindings` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1363,7 +1470,7 @@ CREATE TABLE `profilegroups` (
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`,`hostname`),
KEY `cardtype` (`cardtype`)
-) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -1372,7 +1479,7 @@ CREATE TABLE `profilegroups` (
LOCK TABLES `profilegroups` WRITE;
/*!40000 ALTER TABLE `profilegroups` DISABLE KEYS */;
-INSERT INTO `profilegroups` VALUES (1,'Software Encoders (v4l based)','V4L',1,NULL),(2,'IVTV MPEG-2 Encoders','MPEG',1,NULL),(3,'Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)','MJPEG',1,NULL),(4,'Hardware HDTV','HDTV',1,NULL),(5,'Hardware DVB Encoders','DVB',1,NULL),(6,'Transcoders','TRANSCODE',1,NULL),(7,'FireWire Input','FIREWIRE',1,NULL),(8,'USB Mpeg-4 Encoder (Plextor ConvertX, etc)','GO7007',1,NULL),(14,'Import Recorder','IMPORT',1,NULL),(10,'Freebox Input','Freebox',1,NULL),(11,'HDHomeRun Recorders','HDHOMERUN',1,NULL),(12,'CRC IP Recorders','CRC_IP',1,NULL),(13,'HD-PVR Recorders','HDPVR',1,NULL),(15,'ASI Recorder (DVEO)','ASI',1,NULL),(16,'OCUR Recorder (CableLabs)','OCUR',1,NULL),(17,'Ceton Recorder','CETON',1,NULL);
+INSERT INTO `profilegroups` VALUES (1,'Software Encoders (v4l based)','V4L',1,NULL),(2,'IVTV MPEG-2 Encoders','MPEG',1,NULL),(3,'Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)','MJPEG',1,NULL),(4,'Hardware HDTV','HDTV',1,NULL),(5,'Hardware DVB Encoders','DVB',1,NULL),(6,'Transcoders','TRANSCODE',1,NULL),(7,'FireWire Input','FIREWIRE',1,NULL),(8,'USB Mpeg-4 Encoder (Plextor ConvertX, etc)','GO7007',1,NULL),(14,'Import Recorder','IMPORT',1,NULL),(10,'Freebox Input','FREEBOX',1,NULL),(11,'HDHomeRun Recorders','HDHOMERUN',1,NULL),(12,'CRC IP Recorders','CRC_IP',1,NULL),(13,'HD-PVR Recorders','HDPVR',1,NULL),(15,'ASI Recorder (DVEO)','ASI',1,NULL),(16,'OCUR Recorder (CableLabs)','OCUR',1,NULL),(17,'Ceton Recorder','CETON',1,NULL),(18,'VBox Recorder','VBOX',1,NULL);
/*!40000 ALTER TABLE `profilegroups` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1416,6 +1523,10 @@ CREATE TABLE `program` (
`audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL,
`subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL,
`videoprop` set('HDTV','WIDESCREEN','AVC') NOT NULL,
+ `inetref` varchar(40) DEFAULT '',
+ `season` int(4) NOT NULL DEFAULT '0',
+ `episode` int(4) NOT NULL DEFAULT '0',
+ `totalepisodes` int(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`chanid`,`starttime`,`manualid`),
KEY `endtime` (`endtime`),
KEY `title_pronounce` (`title_pronounce`),
@@ -1516,6 +1627,34 @@ LOCK TABLES `recgrouppassword` WRITE;
UNLOCK TABLES;
--
+-- Table structure for table `recgroups`
+--
+
+DROP TABLE IF EXISTS `recgroups`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recgroups` (
+ `recgroupid` smallint(4) NOT NULL AUTO_INCREMENT,
+ `recgroup` varchar(64) NOT NULL DEFAULT '',
+ `displayname` varchar(64) NOT NULL DEFAULT '',
+ `password` varchar(40) NOT NULL DEFAULT '',
+ `special` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`recgroupid`),
+ UNIQUE KEY `recgroup` (`recgroup`)
+) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recgroups`
+--
+
+LOCK TABLES `recgroups` WRITE;
+/*!40000 ALTER TABLE `recgroups` DISABLE KEYS */;
+INSERT INTO `recgroups` VALUES (1,'Default','','',1),(2,'LiveTV','','',1),(3,'Deleted','','',1);
+/*!40000 ALTER TABLE `recgroups` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
-- Table structure for table `record`
--
@@ -1566,20 +1705,22 @@ CREATE TABLE `record` (
`transcoder` int(11) NOT NULL DEFAULT '0',
`playgroup` varchar(32) NOT NULL DEFAULT 'Default',
`prefinput` int(10) NOT NULL DEFAULT '0',
- `next_record` datetime NOT NULL,
- `last_record` datetime NOT NULL,
- `last_delete` datetime NOT NULL,
+ `next_record` datetime DEFAULT NULL,
+ `last_record` datetime DEFAULT NULL,
+ `last_delete` datetime DEFAULT NULL,
`storagegroup` varchar(32) NOT NULL DEFAULT 'Default',
`avg_delay` int(11) NOT NULL DEFAULT '100',
`filter` int(10) unsigned NOT NULL DEFAULT '0',
+ `recgroupid` smallint(4) NOT NULL DEFAULT '1',
PRIMARY KEY (`recordid`),
- KEY `chanid` (`chanid`,`starttime`),
+ UNIQUE KEY `chanid` (`chanid`,`starttime`,`startdate`,`title`,`type`),
KEY `title` (`title`),
KEY `seriesid` (`seriesid`),
KEY `programid` (`programid`),
KEY `maxepisodes` (`maxepisodes`),
KEY `search` (`search`),
- KEY `type` (`type`)
+ KEY `type` (`type`),
+ KEY `recgroupid` (`recgroupid`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -1589,7 +1730,7 @@ CREATE TABLE `record` (
LOCK TABLES `record` WRITE;
/*!40000 ALTER TABLE `record` DISABLE KEYS */;
-INSERT INTO `record` VALUES (1,11,0,'21:57:44','2012-08-11','21:57:44','2012-08-11','Default (Template)','','',0,0,'Default','Default',0,0,0,0,0,0,'Default',6,15,'','','','',0,0,1,0,0,0,0,1,-1,'00:00:00',735091,0,0,0,'Default',0,'0000-00-00 00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','Default',100,0);
+INSERT INTO `record` VALUES (1,11,0,'21:57:44','2012-08-11','21:57:44','2012-08-11','Default (Template)','','',0,0,'Default','Default',0,0,0,0,0,0,'Default',6,15,'','','','',0,0,1,0,0,0,0,1,-1,'00:00:00',735091,0,0,0,'Default',0,NULL,NULL,NULL,'Default',100,0,1);
/*!40000 ALTER TABLE `record` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1642,14 +1783,19 @@ CREATE TABLE `recorded` (
`watched` tinyint(4) NOT NULL DEFAULT '0',
`storagegroup` varchar(32) NOT NULL DEFAULT 'Default',
`bookmarkupdate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`chanid`,`starttime`),
+ `recgroupid` smallint(4) NOT NULL DEFAULT '1',
+ `recordedid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `inputname` varchar(32) DEFAULT NULL,
+ PRIMARY KEY (`recordedid`),
+ UNIQUE KEY `chanid` (`chanid`,`starttime`),
KEY `endtime` (`endtime`),
KEY `seriesid` (`seriesid`),
KEY `programid` (`programid`),
KEY `title` (`title`),
KEY `recordid` (`recordid`),
KEY `deletepending` (`deletepending`,`lastmodified`),
- KEY `recgroup` (`recgroup`,`endtime`)
+ KEY `recgroup` (`recgroup`,`endtime`),
+ KEY `recgroupid` (`recgroupid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -1722,8 +1868,6 @@ DROP TABLE IF EXISTS `recordedfile`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `recordedfile` (
- `chanid` int(10) unsigned NOT NULL DEFAULT '0',
- `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`basename` varchar(128) NOT NULL DEFAULT '',
`filesize` bigint(20) NOT NULL DEFAULT '0',
`width` smallint(5) unsigned NOT NULL DEFAULT '0',
@@ -1731,16 +1875,22 @@ CREATE TABLE `recordedfile` (
`fps` float(6,3) NOT NULL DEFAULT '0.000',
`aspect` float(8,6) NOT NULL DEFAULT '0.000000',
`audio_sample_rate` smallint(5) unsigned NOT NULL DEFAULT '0',
- `audio_bits_per_sample` smallint(5) unsigned NOT NULL DEFAULT '0',
`audio_channels` tinyint(3) unsigned NOT NULL DEFAULT '0',
- `audio_type` varchar(255) NOT NULL DEFAULT '',
- `video_type` varchar(255) NOT NULL DEFAULT '',
+ `audio_codec` varchar(255) NOT NULL DEFAULT '',
+ `video_codec` varchar(255) NOT NULL DEFAULT '',
`comment` varchar(255) NOT NULL DEFAULT '',
`hostname` varchar(64) NOT NULL,
`storagegroup` varchar(32) NOT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
+ `recordedid` int(10) unsigned NOT NULL,
+ `container` varchar(255) NOT NULL DEFAULT '',
+ `total_bitrate` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `video_avg_bitrate` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `video_max_bitrate` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `audio_avg_bitrate` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `audio_max_bitrate` mediumint(8) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
- UNIQUE KEY `chanid` (`chanid`,`starttime`,`basename`),
+ UNIQUE KEY `recordedid` (`recordedid`),
KEY `basename` (`basename`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -1820,6 +1970,10 @@ CREATE TABLE `recordedprogram` (
`audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL,
`subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL,
`videoprop` set('HDTV','WIDESCREEN','AVC','720','1080','DAMAGED') NOT NULL,
+ `inetref` varchar(40) DEFAULT '',
+ `season` int(4) NOT NULL DEFAULT '0',
+ `episode` int(4) NOT NULL DEFAULT '0',
+ `totalepisodes` int(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`chanid`,`starttime`,`manualid`),
KEY `endtime` (`endtime`),
KEY `title` (`title`),
@@ -1913,7 +2067,7 @@ CREATE TABLE `recordfilter` (
LOCK TABLES `recordfilter` WRITE;
/*!40000 ALTER TABLE `recordfilter` DISABLE KEYS */;
-INSERT INTO `recordfilter` VALUES (0,'New episode','program.previouslyshown = 0',0),(1,'Identifiable episode','program.generic = 0',0),(2,'First showing','program.first > 0',0),(3,'Prime time','HOUR(CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\')) >= 19 AND HOUR(CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\')) < 22',0),(4,'Commercial free','channel.commmethod = -2',0),(5,'High definition','program.hdtv > 0',0),(6,'This episode','(RECTABLE.programid <> \'\' AND program.programid = RECTABLE.programid) OR (RECTABLE.programid = \'\' AND program.subtitle = RECTABLE.subtitle AND program.description = RECTABLE.description)',0),(7,'This series','(RECTABLE.seriesid <> \'\' AND program.seriesid = RECTABLE.seriesid)',0),(8,'This time','ABS(TIMESTAMPDIFF(MINUTE, CONVERT_TZ( ADDTIME(RECTABLE.startdate, RECTABLE.starttime), \'Etc/UTC\', \'SYSTEM\'), CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\'))) MOD 1440 <= 10',0),(9,'This day and time','ABS(TIMESTAMPDIFF(MINUTE, CONVERT_TZ( ADDTIME(RECTABLE.startdate, RECTABLE.starttime), \'Etc/UTC\', \'SYSTEM\'), CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\'))) MOD 10080 <= 10',0),(10,'This channel','channel.callsign = RECTABLE.station',0);
+INSERT INTO `recordfilter` VALUES (0,'New episode','program.previouslyshown = 0',0),(1,'Identifiable episode','program.generic = 0',0),(2,'First showing','program.first > 0',0),(3,'Prime time','HOUR(CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\')) >= 19 AND HOUR(CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\')) < 22',0),(4,'Commercial free','channel.commmethod = -2',0),(5,'High definition','program.hdtv > 0',0),(6,'This episode','(RECTABLE.programid <> \'\' AND program.programid = RECTABLE.programid) OR (RECTABLE.programid = \'\' AND program.subtitle = RECTABLE.subtitle AND program.description = RECTABLE.description)',0),(7,'This series','(RECTABLE.seriesid <> \'\' AND program.seriesid = RECTABLE.seriesid)',0),(8,'This time','ABS(TIMESTAMPDIFF(MINUTE, CONVERT_TZ( ADDTIME(RECTABLE.startdate, RECTABLE.starttime), \'Etc/UTC\', \'SYSTEM\'), CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\'))) MOD 1440 NOT BETWEEN 11 AND 1429',0),(9,'This day and time','ABS(TIMESTAMPDIFF(MINUTE, CONVERT_TZ( ADDTIME(RECTABLE.startdate, RECTABLE.starttime), \'Etc/UTC\', \'SYSTEM\'), CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\'))) MOD 10080 NOT BETWEEN 11 AND 10069',0),(10,'This channel','channel.callsign = RECTABLE.station',0),(11,'No episodes','program.category_type <> \'series\'',0);
/*!40000 ALTER TABLE `recordfilter` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1932,7 +2086,7 @@ CREATE TABLE `recordingprofiles` (
`profilegroup` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `profilegroup` (`profilegroup`)
-) ENGINE=MyISAM AUTO_INCREMENT=70 DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM AUTO_INCREMENT=74 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -1941,7 +2095,7 @@ CREATE TABLE `recordingprofiles` (
LOCK TABLES `recordingprofiles` WRITE;
/*!40000 ALTER TABLE `recordingprofiles` DISABLE KEYS */;
-INSERT INTO `recordingprofiles` VALUES (1,'Default',NULL,NULL,1),(2,'Live TV',NULL,NULL,1),(3,'High Quality',NULL,NULL,1),(4,'Low Quality',NULL,NULL,1),(5,'Default',NULL,NULL,2),(6,'Live TV',NULL,NULL,2),(7,'High Quality',NULL,NULL,2),(8,'Low Quality',NULL,NULL,2),(9,'Default',NULL,NULL,3),(10,'Live TV',NULL,NULL,3),(11,'High Quality',NULL,NULL,3),(12,'Low Quality',NULL,NULL,3),(13,'Default',NULL,NULL,4),(14,'Live TV',NULL,NULL,4),(15,'High Quality',NULL,NULL,4),(16,'Low Quality',NULL,NULL,4),(17,'Default',NULL,NULL,5),(18,'Live TV',NULL,NULL,5),(19,'High Quality',NULL,NULL,5),(20,'Low Quality',NULL,NULL,5),(21,'RTjpeg/MPEG4',NULL,NULL,6),(22,'MPEG2',NULL,NULL,6),(23,'Default',NULL,NULL,8),(24,'Live TV',NULL,NULL,8),(25,'High Quality',NULL,NULL,8),(26,'Low Quality',NULL,NULL,8),(27,'High Quality',NULL,NULL,6),(28,'Medium Quality',NULL,NULL,6),(29,'Low Quality',NULL,NULL,6),(30,'Default',NULL,NULL,10),(31,'Live TV',NULL,NULL,10),(32,'High Quality',NULL,NULL,10),(33,'Low Quality',NULL,NULL,10),(34,'Default',NULL,NULL,11),(35,'Live TV',NULL,NULL,11),(36,'High Quality',NULL,NULL,11),(37,'Low Quality',NULL,NULL,11),(38,'Default',NULL,NULL,12),(39,'Live TV',NULL,NULL,12),(40,'High Quality',NULL,NULL,12),(41,'Low Quality',NULL,NULL,12),(42,'Default',NULL,NULL,7),(43,'Live TV',NULL,NULL,7),(44,'High Quality',NULL,NULL,7),(45,'Low Quality',NULL,NULL,7),(46,'Default',NULL,NULL,9),(47,'Live TV',NULL,NULL,9),(48,'High Quality',NULL,NULL,9),(49,'Low Quality',NULL,NULL,9),(50,'Default',NULL,NULL,13),(51,'Live TV',NULL,NULL,13),(52,'High Quality',NULL,NULL,13),(53,'Low Quality',NULL,NULL,13),(54,'Default',NULL,NULL,14),(55,'Live TV',NULL,NULL,14),(56,'High Quality',NULL,NULL,14),(57,'Low Quality',NULL,NULL,14),(58,'Default',NULL,NULL,15),(59,'Live TV',NULL,NULL,15),(60,'High Quality',NULL,NULL,15),(61,'Low Quality',NULL,NULL,15),(62,'Default',NULL,NULL,16),(63,'Live TV',NULL,NULL,16),(64,'High Quality',NULL,NULL,16),(65,'Low Quality',NULL,NULL,16),(66,'Default',NULL,NULL,17),(67,'Live TV',NULL,NULL,17),(68,'High Quality',NULL,NULL,17),(69,'Low Quality',NULL,NULL,17);
+INSERT INTO `recordingprofiles` VALUES (1,'Default',NULL,NULL,1),(2,'Live TV',NULL,NULL,1),(3,'High Quality',NULL,NULL,1),(4,'Low Quality',NULL,NULL,1),(5,'Default',NULL,NULL,2),(6,'Live TV',NULL,NULL,2),(7,'High Quality',NULL,NULL,2),(8,'Low Quality',NULL,NULL,2),(9,'Default',NULL,NULL,3),(10,'Live TV',NULL,NULL,3),(11,'High Quality',NULL,NULL,3),(12,'Low Quality',NULL,NULL,3),(13,'Default',NULL,NULL,4),(14,'Live TV',NULL,NULL,4),(15,'High Quality',NULL,NULL,4),(16,'Low Quality',NULL,NULL,4),(17,'Default',NULL,NULL,5),(18,'Live TV',NULL,NULL,5),(19,'High Quality',NULL,NULL,5),(20,'Low Quality',NULL,NULL,5),(21,'RTjpeg/MPEG4',NULL,NULL,6),(22,'MPEG2',NULL,NULL,6),(23,'Default',NULL,NULL,8),(24,'Live TV',NULL,NULL,8),(25,'High Quality',NULL,NULL,8),(26,'Low Quality',NULL,NULL,8),(27,'High Quality',NULL,NULL,6),(28,'Medium Quality',NULL,NULL,6),(29,'Low Quality',NULL,NULL,6),(30,'Default',NULL,NULL,10),(31,'Live TV',NULL,NULL,10),(32,'High Quality',NULL,NULL,10),(33,'Low Quality',NULL,NULL,10),(34,'Default',NULL,NULL,11),(35,'Live TV',NULL,NULL,11),(36,'High Quality',NULL,NULL,11),(37,'Low Quality',NULL,NULL,11),(38,'Default',NULL,NULL,12),(39,'Live TV',NULL,NULL,12),(40,'High Quality',NULL,NULL,12),(41,'Low Quality',NULL,NULL,12),(42,'Default',NULL,NULL,7),(43,'Live TV',NULL,NULL,7),(44,'High Quality',NULL,NULL,7),(45,'Low Quality',NULL,NULL,7),(46,'Default',NULL,NULL,9),(47,'Live TV',NULL,NULL,9),(48,'High Quality',NULL,NULL,9),(49,'Low Quality',NULL,NULL,9),(50,'Default',NULL,NULL,13),(51,'Live TV',NULL,NULL,13),(52,'High Quality',NULL,NULL,13),(53,'Low Quality',NULL,NULL,13),(54,'Default',NULL,NULL,14),(55,'Live TV',NULL,NULL,14),(56,'High Quality',NULL,NULL,14),(57,'Low Quality',NULL,NULL,14),(58,'Default',NULL,NULL,15),(59,'Live TV',NULL,NULL,15),(60,'High Quality',NULL,NULL,15),(61,'Low Quality',NULL,NULL,15),(62,'Default',NULL,NULL,16),(63,'Live TV',NULL,NULL,16),(64,'High Quality',NULL,NULL,16),(65,'Low Quality',NULL,NULL,16),(66,'Default',NULL,NULL,17),(67,'Live TV',NULL,NULL,17),(68,'High Quality',NULL,NULL,17),(69,'Low Quality',NULL,NULL,17),(70,'Default',NULL,NULL,18),(71,'Live TV',NULL,NULL,18),(72,'High Quality',NULL,NULL,18),(73,'Low Quality',NULL,NULL,18);
/*!40000 ALTER TABLE `recordingprofiles` ENABLE KEYS */;
UNLOCK TABLES;
@@ -2049,7 +2203,7 @@ CREATE TABLE `settings` (
LOCK TABLES `settings` WRITE;
/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
-INSERT INTO `settings` VALUES ('mythfilldatabaseLastRunStart','',NULL),('mythfilldatabaseLastRunEnd','',NULL),('mythfilldatabaseLastRunStatus','',NULL),('DataDirectMessage','',NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1317',NULL),('DefaultTranscoder','0',NULL),('WebBrowserZoomLevel','1','apheleia'),('Language','en_US',NULL),('Country','US',NULL),('FreqTable','us-bcast',NULL),('ISO639Language0','eng',NULL),('ISO639Language1','eng',NULL),('TVFormat','NTSC',NULL),('VbiFormat','NTSC Closed Caption',NULL),('DateFormat','ddd MMM d yyyy','apheleia'),('MythArchiveDateFormat','%a %b %d %Y','apheleia'),('MythArchiveTimeFormat','%I:%M %p','apheleia'),('MythArchiveVideoFormat','NTSC','apheleia'),('ShortDateFormat','M/d','apheleia'),('TimeFormat','h:mm AP','apheleia'),('BackupDBLastRunStart','2013-11-25 09:32:42',NULL),('BackupDBLastRunEnd','2013-11-25 09:32:43',NULL),('HardwareProfileEnabled','0',NULL),('BackendServerIP','127.0.0.1','apheleia'),('BackendServerIP6','::1','apheleia'),('AllowLinkLocal','1','apheleia'),('BackendServerPort','6543','apheleia'),('BackendStatusPort','6544','apheleia'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','0',NULL),('TruncateDeletesSlowly','0','apheleia'),('HDRingbufferSize','9400',NULL),('StorageScheduler','BalancedFreeSpace',NULL),('UPnP/WMPSource','0',NULL),('DisableAutomaticBackup','0',NULL),('DisableFirewireReset','0','apheleia'),('EITTransportTimeout','5',NULL),('EITCrawIdleStart','60',NULL),('blockSDWUwithoutClient','1',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('WOLbackendConnectRetry','5',NULL),('BackendStopCommand','killall mythbackend',NULL),('BackendStartCommand','mythbackend',NULL),('JobQueueMaxSimultaneousJobs','1','apheleia'),('JobQueueCheckFrequency','60','apheleia'),('JobQueueWindowStart','00:00','apheleia'),('JobQueueWindowEnd','23:59','apheleia'),('JobQueueCPU','0','apheleia'),('JobAllowMetadata','1','apheleia'),('JobAllowCommFlag','1','apheleia'),('JobAllowTranscode','1','apheleia'),('JobAllowUserJob1','0','apheleia'),('JobAllowUserJob2','0','apheleia'),('JobAllowUserJob3','0','apheleia'),('JobAllowUserJob4','0','apheleia'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJobDesc2','User Job #2',NULL),('UserJobDesc3','User Job #3',NULL),('UserJobDesc4','User Job #4',NULL),('MythFillEnabled','1',NULL),('MythFillDatabasePath','mythfilldatabase',NULL),('MythFillMaxHour','23',NULL),('MythFillGrabberSuggestsTime','1',NULL);
+INSERT INTO `settings` VALUES ('mythfilldatabaseLastRunStart','',NULL),('mythfilldatabaseLastRunEnd','',NULL),('mythfilldatabaseLastRunStatus','',NULL),('DataDirectMessage','',NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1344',NULL),('WebBrowserZoomLevel','1','apheleia'),('Language','en_US',NULL),('Country','US',NULL),('FreqTable','us-bcast',NULL),('ISO639Language0','eng',NULL),('ISO639Language1','eng',NULL),('TVFormat','NTSC',NULL),('VbiFormat','NTSC Closed Caption',NULL),('DateFormat','ddd MMM d yyyy','apheleia'),('MythArchiveDateFormat','%a %b %d %Y','apheleia'),('MythArchiveTimeFormat','%I:%M %p','apheleia'),('MythArchiveVideoFormat','NTSC','apheleia'),('ShortDateFormat','M/d','apheleia'),('TimeFormat','h:mm AP','apheleia'),('BackupDBLastRunStart','2016-04-21 18:49:31',NULL),('BackupDBLastRunEnd','2016-04-21 18:49:32',NULL),('HardwareProfileEnabled','0',NULL),('BackendServerIP','127.0.0.1','apheleia'),('BackendServerIP6','::1','apheleia'),('AllowLinkLocal','1','apheleia'),('BackendServerPort','6543','apheleia'),('BackendStatusPort','6544','apheleia'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','0',NULL),('TruncateDeletesSlowly','0','apheleia'),('HDRingbufferSize','9400',NULL),('StorageScheduler','BalancedFreeSpace',NULL),('UPnP/WMPSource','0',NULL),('DisableAutomaticBackup','0',NULL),('DisableFirewireReset','0','apheleia'),('EITTransportTimeout','5',NULL),('EITCrawIdleStart','60',NULL),('blockSDWUwithoutClient','1',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('WOLbackendConnectRetry','5',NULL),('BackendStopCommand','killall mythbackend',NULL),('BackendStartCommand','mythbackend',NULL),('JobQueueMaxSimultaneousJobs','1','apheleia'),('JobQueueCheckFrequency','60','apheleia'),('JobQueueWindowStart','00:00','apheleia'),('JobQueueWindowEnd','23:59','apheleia'),('JobQueueCPU','0','apheleia'),('JobAllowMetadata','1','apheleia'),('JobAllowCommFlag','1','apheleia'),('JobAllowTranscode','1','apheleia'),('JobAllowUserJob1','0','apheleia'),('JobAllowUserJob2','0','apheleia'),('JobAllowUserJob3','0','apheleia'),('JobAllowUserJob4','0','apheleia'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJobDesc2','User Job #2',NULL),('UserJobDesc3','User Job #3',NULL),('UserJobDesc4','User Job #4',NULL),('MythFillEnabled','1',NULL),('MythFillDatabasePath','mythfilldatabase',NULL),('MythFillMaxHour','23',NULL),('MythFillGrabberSuggestsTime','1',NULL),('DateFormat','ddd MMM d yyyy','apheleia'),('MythArchiveDateFormat','%a %b %d %Y','apheleia'),('MythArchiveTimeFormat','%I:%M %p','apheleia'),('MythArchiveVideoFormat','NTSC','apheleia'),('ShortDateFormat','M/d','apheleia'),('TimeFormat','h:mm AP','apheleia'),('WebBrowserZoomLevel','1','apheleia'),('ImageStorageGroupName','Images',NULL),('ImageSortOrder','0',NULL),('ImageShowHiddenFiles','0',NULL),('ImageSlideShowTime','3500',NULL),('ImageTransitionType','1',NULL),('ImageTransitionTime','1000',NULL);
/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
UNLOCK TABLES;
@@ -2173,6 +2327,84 @@ LOCK TABLES `upnpmedia` WRITE;
UNLOCK TABLES;
--
+-- Table structure for table `user_permissions`
+--
+
+DROP TABLE IF EXISTS `user_permissions`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user_permissions` (
+ `userid` int(5) unsigned NOT NULL,
+ `permission` varchar(128) NOT NULL DEFAULT '',
+ PRIMARY KEY (`userid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user_permissions`
+--
+
+LOCK TABLES `user_permissions` WRITE;
+/*!40000 ALTER TABLE `user_permissions` DISABLE KEYS */;
+/*!40000 ALTER TABLE `user_permissions` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user_sessions`
+--
+
+DROP TABLE IF EXISTS `user_sessions`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user_sessions` (
+ `sessiontoken` varchar(40) NOT NULL DEFAULT '',
+ `userid` int(5) unsigned NOT NULL,
+ `client` varchar(128) NOT NULL,
+ `created` datetime NOT NULL,
+ `lastactive` datetime NOT NULL,
+ `expires` datetime NOT NULL,
+ PRIMARY KEY (`sessiontoken`),
+ UNIQUE KEY `userid_client` (`userid`,`client`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user_sessions`
+--
+
+LOCK TABLES `user_sessions` WRITE;
+/*!40000 ALTER TABLE `user_sessions` DISABLE KEYS */;
+/*!40000 ALTER TABLE `user_sessions` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `users`
+--
+
+DROP TABLE IF EXISTS `users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `users` (
+ `userid` int(5) unsigned NOT NULL AUTO_INCREMENT,
+ `username` varchar(128) NOT NULL DEFAULT '',
+ `password_digest` varchar(32) NOT NULL DEFAULT '',
+ `lastlogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`userid`),
+ KEY `username` (`username`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `users`
+--
+
+LOCK TABLES `users` WRITE;
+/*!40000 ALTER TABLE `users` DISABLE KEYS */;
+INSERT INTO `users` VALUES (1,'admin','bcd911b2ecb15ffbd6d8e6e744d60cf6','0000-00-00 00:00:00');
+/*!40000 ALTER TABLE `users` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
-- Table structure for table `videocast`
--
@@ -2552,4 +2784,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2013-11-25 9:33:39
+-- Dump completed on 2016-04-21 14:50:08
diff --git a/abs/core/mythdb-initial/mc.sql.27 b/abs/core/mythdb-initial/mc.sql.27
new file mode 100644
index 0000000..2174eda
--- /dev/null
+++ b/abs/core/mythdb-initial/mc.sql.27
@@ -0,0 +1,2555 @@
+-- MySQL dump 10.13 Distrib 5.5.28, for Linux (x86_64)
+--
+-- Host: localhost Database: mythconverg
+-- ------------------------------------------------------
+-- Server version 5.5.28
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `capturecard`
+--
+
+DROP TABLE IF EXISTS `capturecard`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `capturecard` (
+ `cardid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `videodevice` varchar(128) DEFAULT NULL,
+ `audiodevice` varchar(128) DEFAULT NULL,
+ `vbidevice` varchar(128) DEFAULT NULL,
+ `cardtype` varchar(32) DEFAULT 'V4L',
+ `defaultinput` varchar(32) DEFAULT 'Television',
+ `audioratelimit` int(11) DEFAULT NULL,
+ `hostname` varchar(64) DEFAULT NULL,
+ `dvb_swfilter` int(11) DEFAULT '0',
+ `dvb_sat_type` int(11) NOT NULL DEFAULT '0',
+ `dvb_wait_for_seqstart` int(11) NOT NULL DEFAULT '1',
+ `skipbtaudio` tinyint(1) DEFAULT '0',
+ `dvb_on_demand` tinyint(4) NOT NULL DEFAULT '0',
+ `dvb_diseqc_type` smallint(6) DEFAULT NULL,
+ `firewire_speed` int(10) unsigned NOT NULL DEFAULT '0',
+ `firewire_model` varchar(32) DEFAULT NULL,
+ `firewire_connection` int(10) unsigned NOT NULL DEFAULT '0',
+ `signal_timeout` int(11) NOT NULL DEFAULT '1000',
+ `channel_timeout` int(11) NOT NULL DEFAULT '3000',
+ `dvb_tuning_delay` int(10) unsigned NOT NULL DEFAULT '0',
+ `contrast` int(11) NOT NULL DEFAULT '0',
+ `brightness` int(11) NOT NULL DEFAULT '0',
+ `colour` int(11) NOT NULL DEFAULT '0',
+ `hue` int(11) NOT NULL DEFAULT '0',
+ `diseqcid` int(10) unsigned DEFAULT NULL,
+ `dvb_eitscan` tinyint(1) NOT NULL DEFAULT '1',
+ PRIMARY KEY (`cardid`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `capturecard`
+--
+
+LOCK TABLES `capturecard` WRITE;
+/*!40000 ALTER TABLE `capturecard` DISABLE KEYS */;
+/*!40000 ALTER TABLE `capturecard` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `cardinput`
+--
+
+DROP TABLE IF EXISTS `cardinput`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `cardinput` (
+ `cardinputid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cardid` int(10) unsigned NOT NULL DEFAULT '0',
+ `sourceid` int(10) unsigned NOT NULL DEFAULT '0',
+ `inputname` varchar(32) NOT NULL DEFAULT '',
+ `externalcommand` varchar(128) DEFAULT NULL,
+ `changer_device` varchar(128) DEFAULT NULL,
+ `changer_model` varchar(128) DEFAULT NULL,
+ `tunechan` varchar(10) DEFAULT NULL,
+ `startchan` varchar(10) DEFAULT NULL,
+ `displayname` varchar(64) NOT NULL DEFAULT '',
+ `dishnet_eit` tinyint(1) NOT NULL DEFAULT '0',
+ `recpriority` int(11) NOT NULL DEFAULT '0',
+ `quicktune` tinyint(4) NOT NULL DEFAULT '0',
+ `schedorder` int(10) unsigned NOT NULL DEFAULT '0',
+ `livetvorder` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`cardinputid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `cardinput`
+--
+
+LOCK TABLES `cardinput` WRITE;
+/*!40000 ALTER TABLE `cardinput` DISABLE KEYS */;
+/*!40000 ALTER TABLE `cardinput` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `channel`
+--
+
+DROP TABLE IF EXISTS `channel`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `channel` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `channum` varchar(10) NOT NULL DEFAULT '',
+ `freqid` varchar(10) DEFAULT NULL,
+ `sourceid` int(10) unsigned DEFAULT NULL,
+ `callsign` varchar(20) NOT NULL DEFAULT '',
+ `name` varchar(64) NOT NULL DEFAULT '',
+ `icon` varchar(255) NOT NULL DEFAULT '',
+ `finetune` int(11) DEFAULT NULL,
+ `videofilters` varchar(255) NOT NULL DEFAULT '',
+ `xmltvid` varchar(255) NOT NULL DEFAULT '',
+ `recpriority` int(10) NOT NULL DEFAULT '0',
+ `contrast` int(11) DEFAULT '32768',
+ `brightness` int(11) DEFAULT '32768',
+ `colour` int(11) DEFAULT '32768',
+ `hue` int(11) DEFAULT '32768',
+ `tvformat` varchar(10) NOT NULL DEFAULT 'Default',
+ `visible` tinyint(1) NOT NULL DEFAULT '1',
+ `outputfilters` varchar(255) NOT NULL DEFAULT '',
+ `useonairguide` tinyint(1) DEFAULT '0',
+ `mplexid` smallint(6) DEFAULT NULL,
+ `serviceid` mediumint(8) unsigned DEFAULT NULL,
+ `tmoffset` int(11) NOT NULL DEFAULT '0',
+ `atsc_major_chan` int(10) unsigned NOT NULL DEFAULT '0',
+ `atsc_minor_chan` int(10) unsigned NOT NULL DEFAULT '0',
+ `last_record` datetime NOT NULL,
+ `default_authority` varchar(32) NOT NULL DEFAULT '',
+ `commmethod` int(11) NOT NULL DEFAULT '-1',
+ `iptvid` smallint(6) unsigned DEFAULT NULL,
+ PRIMARY KEY (`chanid`),
+ KEY `channel_src` (`channum`,`sourceid`),
+ KEY `sourceid` (`sourceid`,`xmltvid`,`chanid`),
+ KEY `visible` (`visible`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `channel`
+--
+
+LOCK TABLES `channel` WRITE;
+/*!40000 ALTER TABLE `channel` DISABLE KEYS */;
+/*!40000 ALTER TABLE `channel` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `channelgroup`
+--
+
+DROP TABLE IF EXISTS `channelgroup`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `channelgroup` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `chanid` int(11) unsigned NOT NULL DEFAULT '0',
+ `grpid` int(11) NOT NULL DEFAULT '1',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `channelgroup`
+--
+
+LOCK TABLES `channelgroup` WRITE;
+/*!40000 ALTER TABLE `channelgroup` DISABLE KEYS */;
+/*!40000 ALTER TABLE `channelgroup` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `channelgroupnames`
+--
+
+DROP TABLE IF EXISTS `channelgroupnames`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `channelgroupnames` (
+ `grpid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(64) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`grpid`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `channelgroupnames`
+--
+
+LOCK TABLES `channelgroupnames` WRITE;
+/*!40000 ALTER TABLE `channelgroupnames` DISABLE KEYS */;
+INSERT INTO `channelgroupnames` VALUES (1,'Favorites');
+/*!40000 ALTER TABLE `channelgroupnames` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `channelscan`
+--
+
+DROP TABLE IF EXISTS `channelscan`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `channelscan` (
+ `scanid` int(3) unsigned NOT NULL AUTO_INCREMENT,
+ `cardid` int(3) unsigned NOT NULL,
+ `sourceid` int(3) unsigned NOT NULL,
+ `processed` tinyint(1) unsigned NOT NULL,
+ `scandate` datetime NOT NULL,
+ PRIMARY KEY (`scanid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `channelscan`
+--
+
+LOCK TABLES `channelscan` WRITE;
+/*!40000 ALTER TABLE `channelscan` DISABLE KEYS */;
+/*!40000 ALTER TABLE `channelscan` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `channelscan_channel`
+--
+
+DROP TABLE IF EXISTS `channelscan_channel`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `channelscan_channel` (
+ `transportid` int(6) unsigned NOT NULL,
+ `scanid` int(3) unsigned NOT NULL,
+ `mplex_id` smallint(6) NOT NULL,
+ `source_id` int(3) unsigned NOT NULL,
+ `channel_id` int(3) unsigned NOT NULL DEFAULT '0',
+ `callsign` varchar(20) NOT NULL DEFAULT '',
+ `service_name` varchar(64) NOT NULL DEFAULT '',
+ `chan_num` varchar(10) NOT NULL DEFAULT '',
+ `service_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `atsc_major_channel` int(4) unsigned NOT NULL DEFAULT '0',
+ `atsc_minor_channel` int(4) unsigned NOT NULL DEFAULT '0',
+ `use_on_air_guide` tinyint(1) NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `hidden_in_guide` tinyint(1) NOT NULL DEFAULT '0',
+ `freqid` varchar(10) NOT NULL DEFAULT '',
+ `icon` varchar(255) NOT NULL DEFAULT '',
+ `tvformat` varchar(10) NOT NULL DEFAULT 'Default',
+ `xmltvid` varchar(64) NOT NULL DEFAULT '',
+ `pat_tsid` int(5) unsigned NOT NULL DEFAULT '0',
+ `vct_tsid` int(5) unsigned NOT NULL DEFAULT '0',
+ `vct_chan_tsid` int(5) unsigned NOT NULL DEFAULT '0',
+ `sdt_tsid` int(5) unsigned NOT NULL DEFAULT '0',
+ `orig_netid` int(5) unsigned NOT NULL DEFAULT '0',
+ `netid` int(5) unsigned NOT NULL DEFAULT '0',
+ `si_standard` varchar(10) NOT NULL,
+ `in_channels_conf` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `in_pat` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `in_pmt` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `in_vct` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `in_nit` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `in_sdt` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `is_encrypted` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `is_data_service` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `is_audio_service` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `is_opencable` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `could_be_opencable` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `decryption_status` smallint(2) unsigned NOT NULL DEFAULT '0',
+ `default_authority` varchar(32) NOT NULL DEFAULT ''
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `channelscan_channel`
+--
+
+LOCK TABLES `channelscan_channel` WRITE;
+/*!40000 ALTER TABLE `channelscan_channel` DISABLE KEYS */;
+/*!40000 ALTER TABLE `channelscan_channel` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `channelscan_dtv_multiplex`
+--
+
+DROP TABLE IF EXISTS `channelscan_dtv_multiplex`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `channelscan_dtv_multiplex` (
+ `transportid` int(6) unsigned NOT NULL AUTO_INCREMENT,
+ `scanid` int(3) unsigned NOT NULL,
+ `mplexid` smallint(6) unsigned NOT NULL,
+ `frequency` bigint(12) unsigned NOT NULL,
+ `inversion` char(1) NOT NULL DEFAULT 'a',
+ `symbolrate` bigint(12) unsigned NOT NULL DEFAULT '0',
+ `fec` varchar(10) NOT NULL DEFAULT 'auto',
+ `polarity` char(1) NOT NULL DEFAULT '',
+ `hp_code_rate` varchar(10) NOT NULL DEFAULT 'auto',
+ `mod_sys` varchar(10) DEFAULT NULL,
+ `rolloff` varchar(4) DEFAULT NULL,
+ `lp_code_rate` varchar(10) NOT NULL DEFAULT 'auto',
+ `modulation` varchar(10) NOT NULL DEFAULT 'auto',
+ `transmission_mode` char(1) NOT NULL DEFAULT 'a',
+ `guard_interval` varchar(10) NOT NULL DEFAULT 'auto',
+ `hierarchy` varchar(10) NOT NULL DEFAULT 'auto',
+ `bandwidth` char(1) NOT NULL DEFAULT 'a',
+ `sistandard` varchar(10) NOT NULL,
+ `tuner_type` smallint(2) unsigned NOT NULL,
+ `default_authority` varchar(32) NOT NULL DEFAULT '',
+ PRIMARY KEY (`transportid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `channelscan_dtv_multiplex`
+--
+
+LOCK TABLES `channelscan_dtv_multiplex` WRITE;
+/*!40000 ALTER TABLE `channelscan_dtv_multiplex` DISABLE KEYS */;
+/*!40000 ALTER TABLE `channelscan_dtv_multiplex` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `codecparams`
+--
+
+DROP TABLE IF EXISTS `codecparams`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `codecparams` (
+ `profile` int(10) unsigned NOT NULL DEFAULT '0',
+ `name` varchar(128) NOT NULL DEFAULT '',
+ `value` varchar(128) DEFAULT NULL,
+ PRIMARY KEY (`profile`,`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `codecparams`
+--
+
+LOCK TABLES `codecparams` WRITE;
+/*!40000 ALTER TABLE `codecparams` DISABLE KEYS */;
+/*!40000 ALTER TABLE `codecparams` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `credits`
+--
+
+DROP TABLE IF EXISTS `credits`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `credits` (
+ `person` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL DEFAULT '',
+ UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`),
+ KEY `person` (`person`,`role`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `credits`
+--
+
+LOCK TABLES `credits` WRITE;
+/*!40000 ALTER TABLE `credits` DISABLE KEYS */;
+/*!40000 ALTER TABLE `credits` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `customexample`
+--
+
+DROP TABLE IF EXISTS `customexample`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `customexample` (
+ `rulename` varchar(64) NOT NULL,
+ `fromclause` varchar(10000) NOT NULL DEFAULT '',
+ `whereclause` varchar(10000) NOT NULL DEFAULT '',
+ `search` tinyint(4) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`rulename`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `customexample`
+--
+
+LOCK TABLES `customexample` WRITE;
+/*!40000 ALTER TABLE `customexample` DISABLE KEYS */;
+INSERT INTO `customexample` VALUES ('New Flix','','program.category_type = \'movie\' AND program.airdate >= \n YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR)) \nAND program.stars > 0.5 ',1);
+/*!40000 ALTER TABLE `customexample` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `diseqc_config`
+--
+
+DROP TABLE IF EXISTS `diseqc_config`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `diseqc_config` (
+ `cardinputid` int(10) unsigned NOT NULL,
+ `diseqcid` int(10) unsigned NOT NULL,
+ `value` varchar(16) NOT NULL DEFAULT '',
+ KEY `id` (`cardinputid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `diseqc_config`
+--
+
+LOCK TABLES `diseqc_config` WRITE;
+/*!40000 ALTER TABLE `diseqc_config` DISABLE KEYS */;
+/*!40000 ALTER TABLE `diseqc_config` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `diseqc_tree`
+--
+
+DROP TABLE IF EXISTS `diseqc_tree`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `diseqc_tree` (
+ `diseqcid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `parentid` int(10) unsigned DEFAULT NULL,
+ `ordinal` tinyint(3) unsigned NOT NULL,
+ `type` varchar(16) NOT NULL DEFAULT '',
+ `subtype` varchar(16) NOT NULL DEFAULT '',
+ `description` varchar(32) NOT NULL DEFAULT '',
+ `switch_ports` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `rotor_hi_speed` float NOT NULL DEFAULT '0',
+ `rotor_lo_speed` float NOT NULL DEFAULT '0',
+ `rotor_positions` varchar(255) NOT NULL DEFAULT '',
+ `lnb_lof_switch` int(10) NOT NULL DEFAULT '0',
+ `lnb_lof_hi` int(10) NOT NULL DEFAULT '0',
+ `lnb_lof_lo` int(10) NOT NULL DEFAULT '0',
+ `cmd_repeat` int(11) NOT NULL DEFAULT '1',
+ `lnb_pol_inv` tinyint(4) NOT NULL DEFAULT '0',
+ `address` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`diseqcid`),
+ KEY `parentid` (`parentid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `diseqc_tree`
+--
+
+LOCK TABLES `diseqc_tree` WRITE;
+/*!40000 ALTER TABLE `diseqc_tree` DISABLE KEYS */;
+/*!40000 ALTER TABLE `diseqc_tree` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `displayprofilegroups`
+--
+
+DROP TABLE IF EXISTS `displayprofilegroups`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `displayprofilegroups` (
+ `name` varchar(128) NOT NULL,
+ `hostname` varchar(64) NOT NULL,
+ `profilegroupid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`name`,`hostname`),
+ UNIQUE KEY `profilegroupid` (`profilegroupid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `displayprofilegroups`
+--
+
+LOCK TABLES `displayprofilegroups` WRITE;
+/*!40000 ALTER TABLE `displayprofilegroups` DISABLE KEYS */;
+/*!40000 ALTER TABLE `displayprofilegroups` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `displayprofiles`
+--
+
+DROP TABLE IF EXISTS `displayprofiles`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `displayprofiles` (
+ `profilegroupid` int(10) unsigned NOT NULL,
+ `profileid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `value` varchar(128) NOT NULL,
+ `data` varchar(255) NOT NULL DEFAULT '',
+ KEY `profilegroupid` (`profilegroupid`),
+ KEY `profileid` (`profileid`,`value`),
+ KEY `profileid_2` (`profileid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `displayprofiles`
+--
+
+LOCK TABLES `displayprofiles` WRITE;
+/*!40000 ALTER TABLE `displayprofiles` DISABLE KEYS */;
+/*!40000 ALTER TABLE `displayprofiles` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dtv_multiplex`
+--
+
+DROP TABLE IF EXISTS `dtv_multiplex`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dtv_multiplex` (
+ `mplexid` smallint(6) NOT NULL AUTO_INCREMENT,
+ `sourceid` smallint(6) DEFAULT NULL,
+ `transportid` int(11) DEFAULT NULL,
+ `networkid` int(11) DEFAULT NULL,
+ `frequency` int(11) DEFAULT NULL,
+ `inversion` char(1) DEFAULT 'a',
+ `symbolrate` int(11) DEFAULT NULL,
+ `fec` varchar(10) DEFAULT 'auto',
+ `polarity` char(1) DEFAULT NULL,
+ `modulation` varchar(10) DEFAULT 'auto',
+ `bandwidth` char(1) DEFAULT 'a',
+ `lp_code_rate` varchar(10) DEFAULT 'auto',
+ `transmission_mode` char(1) DEFAULT 'a',
+ `guard_interval` varchar(10) DEFAULT 'auto',
+ `visible` smallint(1) NOT NULL DEFAULT '0',
+ `constellation` varchar(10) DEFAULT 'auto',
+ `hierarchy` varchar(10) DEFAULT 'auto',
+ `hp_code_rate` varchar(10) DEFAULT 'auto',
+ `mod_sys` varchar(10) DEFAULT NULL,
+ `rolloff` varchar(4) DEFAULT NULL,
+ `sistandard` varchar(10) DEFAULT 'dvb',
+ `serviceversion` smallint(6) DEFAULT '33',
+ `updatetimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `default_authority` varchar(32) NOT NULL DEFAULT '',
+ PRIMARY KEY (`mplexid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dtv_multiplex`
+--
+
+LOCK TABLES `dtv_multiplex` WRITE;
+/*!40000 ALTER TABLE `dtv_multiplex` DISABLE KEYS */;
+/*!40000 ALTER TABLE `dtv_multiplex` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dtv_privatetypes`
+--
+
+DROP TABLE IF EXISTS `dtv_privatetypes`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dtv_privatetypes` (
+ `sitype` varchar(4) NOT NULL DEFAULT '',
+ `networkid` int(11) NOT NULL DEFAULT '0',
+ `private_type` varchar(20) NOT NULL DEFAULT '',
+ `private_value` varchar(100) NOT NULL DEFAULT ''
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dtv_privatetypes`
+--
+
+LOCK TABLES `dtv_privatetypes` WRITE;
+/*!40000 ALTER TABLE `dtv_privatetypes` DISABLE KEYS */;
+INSERT INTO `dtv_privatetypes` VALUES ('dvb',9018,'channel_numbers','131'),('dvb',9018,'guide_fixup','2'),('dvb',256,'guide_fixup','1'),('dvb',257,'guide_fixup','1'),('dvb',256,'tv_types','1,150,134,133'),('dvb',257,'tv_types','1,150,134,133'),('dvb',4100,'sdt_mapping','1'),('dvb',4101,'sdt_mapping','1'),('dvb',4102,'sdt_mapping','1'),('dvb',4103,'sdt_mapping','1'),('dvb',4104,'sdt_mapping','1'),('dvb',4105,'sdt_mapping','1'),('dvb',4106,'sdt_mapping','1'),('dvb',4107,'sdt_mapping','1'),('dvb',4097,'sdt_mapping','1'),('dvb',4098,'sdt_mapping','1'),('dvb',4100,'tv_types','1,145,154'),('dvb',4101,'tv_types','1,145,154'),('dvb',4102,'tv_types','1,145,154'),('dvb',4103,'tv_types','1,145,154'),('dvb',4104,'tv_types','1,145,154'),('dvb',4105,'tv_types','1,145,154'),('dvb',4106,'tv_types','1,145,154'),('dvb',4107,'tv_types','1,145,154'),('dvb',4097,'tv_types','1,145,154'),('dvb',4098,'tv_types','1,145,154'),('dvb',4100,'guide_fixup','1'),('dvb',4101,'guide_fixup','1'),('dvb',4102,'guide_fixup','1'),('dvb',4103,'guide_fixup','1'),('dvb',4104,'guide_fixup','1'),('dvb',4105,'guide_fixup','1'),('dvb',4106,'guide_fixup','1'),('dvb',4107,'guide_fixup','1'),('dvb',4096,'guide_fixup','5'),('dvb',4097,'guide_fixup','1'),('dvb',4098,'guide_fixup','1'),('dvb',94,'tv_types','1,128'),('atsc',1793,'guide_fixup','3'),('dvb',40999,'guide_fixup','4'),('dvb',70,'force_guide_present','yes'),('dvb',70,'guide_ranges','80,80,96,96'),('dvb',4112,'channel_numbers','131'),('dvb',4115,'channel_numbers','131'),('dvb',4116,'channel_numbers','131'),('dvb',12802,'channel_numbers','131'),('dvb',12803,'channel_numbers','131'),('dvb',12829,'channel_numbers','131'),('dvb',40999,'parse_subtitle_list','1070,1308,1041,1306,1307,1030,1016,1131,1068,1069'),('dvb',4096,'guide_fixup','5');
+/*!40000 ALTER TABLE `dtv_privatetypes` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dvdbookmark`
+--
+
+DROP TABLE IF EXISTS `dvdbookmark`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dvdbookmark` (
+ `serialid` varchar(16) NOT NULL DEFAULT '',
+ `name` varchar(32) DEFAULT NULL,
+ `title` smallint(6) NOT NULL DEFAULT '0',
+ `audionum` tinyint(4) NOT NULL DEFAULT '-1',
+ `subtitlenum` tinyint(4) NOT NULL DEFAULT '-1',
+ `framenum` bigint(20) NOT NULL DEFAULT '0',
+ `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `dvdstate` varchar(1024) NOT NULL DEFAULT '',
+ PRIMARY KEY (`serialid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dvdbookmark`
+--
+
+LOCK TABLES `dvdbookmark` WRITE;
+/*!40000 ALTER TABLE `dvdbookmark` DISABLE KEYS */;
+/*!40000 ALTER TABLE `dvdbookmark` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dvdinput`
+--
+
+DROP TABLE IF EXISTS `dvdinput`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dvdinput` (
+ `intid` int(10) unsigned NOT NULL,
+ `hsize` int(10) unsigned DEFAULT NULL,
+ `vsize` int(10) unsigned DEFAULT NULL,
+ `ar_num` int(10) unsigned DEFAULT NULL,
+ `ar_denom` int(10) unsigned DEFAULT NULL,
+ `fr_code` int(10) unsigned DEFAULT NULL,
+ `letterbox` tinyint(1) DEFAULT NULL,
+ `v_format` varchar(16) DEFAULT NULL,
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dvdinput`
+--
+
+LOCK TABLES `dvdinput` WRITE;
+/*!40000 ALTER TABLE `dvdinput` DISABLE KEYS */;
+INSERT INTO `dvdinput` VALUES (1,720,480,16,9,1,1,'ntsc'),(2,720,480,16,9,1,0,'ntsc'),(3,720,480,4,3,1,1,'ntsc'),(4,720,480,4,3,1,0,'ntsc'),(5,720,576,16,9,3,1,'pal'),(6,720,576,16,9,3,0,'pal'),(7,720,576,4,3,3,1,'pal'),(8,720,576,4,3,3,0,'pal');
+/*!40000 ALTER TABLE `dvdinput` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dvdtranscode`
+--
+
+DROP TABLE IF EXISTS `dvdtranscode`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dvdtranscode` (
+ `intid` int(11) NOT NULL AUTO_INCREMENT,
+ `input` int(10) unsigned DEFAULT NULL,
+ `name` varchar(128) NOT NULL,
+ `sync_mode` int(10) unsigned DEFAULT NULL,
+ `use_yv12` tinyint(1) DEFAULT NULL,
+ `cliptop` int(11) DEFAULT NULL,
+ `clipbottom` int(11) DEFAULT NULL,
+ `clipleft` int(11) DEFAULT NULL,
+ `clipright` int(11) DEFAULT NULL,
+ `f_resize_h` int(11) DEFAULT NULL,
+ `f_resize_w` int(11) DEFAULT NULL,
+ `hq_resize_h` int(11) DEFAULT NULL,
+ `hq_resize_w` int(11) DEFAULT NULL,
+ `grow_h` int(11) DEFAULT NULL,
+ `grow_w` int(11) DEFAULT NULL,
+ `clip2top` int(11) DEFAULT NULL,
+ `clip2bottom` int(11) DEFAULT NULL,
+ `clip2left` int(11) DEFAULT NULL,
+ `clip2right` int(11) DEFAULT NULL,
+ `codec` varchar(128) NOT NULL,
+ `codec_param` varchar(128) DEFAULT NULL,
+ `bitrate` int(11) DEFAULT NULL,
+ `a_sample_r` int(11) DEFAULT NULL,
+ `a_bitrate` int(11) DEFAULT NULL,
+ `two_pass` tinyint(1) DEFAULT NULL,
+ `tc_param` varchar(128) DEFAULT NULL,
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dvdtranscode`
+--
+
+LOCK TABLES `dvdtranscode` WRITE;
+/*!40000 ALTER TABLE `dvdtranscode` DISABLE KEYS */;
+INSERT INTO `dvdtranscode` VALUES (1,1,'Good',2,1,16,16,0,0,2,0,0,0,0,0,32,32,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(2,2,'Excellent',2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(3,2,'Good',2,1,0,0,8,8,0,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(4,2,'Medium',2,1,0,0,8,8,5,5,0,0,0,0,0,0,0,0,'divx5',NULL,1200,NULL,NULL,0,NULL),(5,3,'Good',2,1,0,0,0,0,0,0,0,0,2,0,80,80,8,8,'divx5',NULL,0,NULL,NULL,0,NULL),(6,4,'Excellent',2,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,'divx5',NULL,0,NULL,NULL,1,NULL),(7,4,'Good',2,1,0,0,8,8,0,2,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(8,5,'Good',1,1,16,16,0,0,5,0,0,0,0,0,40,40,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(9,6,'Good',1,1,0,0,16,16,5,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL),(10,7,'Good',1,1,0,0,0,0,1,0,0,0,0,0,76,76,8,8,'divx5',NULL,1618,NULL,NULL,0,NULL),(11,8,'Good',1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,'divx5',NULL,1618,NULL,NULL,0,NULL);
+/*!40000 ALTER TABLE `dvdtranscode` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `eit_cache`
+--
+
+DROP TABLE IF EXISTS `eit_cache`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `eit_cache` (
+ `chanid` int(10) NOT NULL,
+ `eventid` int(10) unsigned NOT NULL DEFAULT '0',
+ `tableid` tinyint(3) unsigned NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL,
+ `endtime` int(10) unsigned NOT NULL,
+ `status` tinyint(4) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`chanid`,`eventid`,`status`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `eit_cache`
+--
+
+LOCK TABLES `eit_cache` WRITE;
+/*!40000 ALTER TABLE `eit_cache` DISABLE KEYS */;
+/*!40000 ALTER TABLE `eit_cache` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `filemarkup`
+--
+
+DROP TABLE IF EXISTS `filemarkup`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `filemarkup` (
+ `filename` text NOT NULL,
+ `mark` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `offset` bigint(20) unsigned DEFAULT NULL,
+ `type` tinyint(4) NOT NULL DEFAULT '0',
+ KEY `filename` (`filename`(255))
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `filemarkup`
+--
+
+LOCK TABLES `filemarkup` WRITE;
+/*!40000 ALTER TABLE `filemarkup` DISABLE KEYS */;
+/*!40000 ALTER TABLE `filemarkup` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `housekeeping`
+--
+
+DROP TABLE IF EXISTS `housekeeping`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `housekeeping` (
+ `tag` varchar(64) NOT NULL,
+ `hostname` varchar(64) DEFAULT NULL,
+ `lastrun` datetime DEFAULT NULL,
+ UNIQUE KEY `task` (`tag`,`hostname`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `housekeeping`
+--
+
+LOCK TABLES `housekeeping` WRITE;
+/*!40000 ALTER TABLE `housekeeping` DISABLE KEYS */;
+INSERT INTO `housekeeping` VALUES ('BackupDB',NULL,'2013-11-25 09:32:43');
+/*!40000 ALTER TABLE `housekeeping` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `inputgroup`
+--
+
+DROP TABLE IF EXISTS `inputgroup`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `inputgroup` (
+ `cardinputid` int(10) unsigned NOT NULL,
+ `inputgroupid` int(10) unsigned NOT NULL,
+ `inputgroupname` varchar(32) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `inputgroup`
+--
+
+LOCK TABLES `inputgroup` WRITE;
+/*!40000 ALTER TABLE `inputgroup` DISABLE KEYS */;
+/*!40000 ALTER TABLE `inputgroup` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `internetcontent`
+--
+
+DROP TABLE IF EXISTS `internetcontent`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `internetcontent` (
+ `name` varchar(255) NOT NULL,
+ `thumbnail` varchar(255) DEFAULT NULL,
+ `type` smallint(3) NOT NULL,
+ `author` varchar(128) NOT NULL,
+ `description` text NOT NULL,
+ `commandline` text NOT NULL,
+ `version` double NOT NULL,
+ `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `search` tinyint(1) NOT NULL,
+ `tree` tinyint(1) NOT NULL,
+ `podcast` tinyint(1) NOT NULL,
+ `download` tinyint(1) NOT NULL,
+ `host` varchar(128) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `internetcontent`
+--
+
+LOCK TABLES `internetcontent` WRITE;
+/*!40000 ALTER TABLE `internetcontent` DISABLE KEYS */;
+/*!40000 ALTER TABLE `internetcontent` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `internetcontentarticles`
+--
+
+DROP TABLE IF EXISTS `internetcontentarticles`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `internetcontentarticles` (
+ `feedtitle` varchar(255) NOT NULL,
+ `path` text NOT NULL,
+ `paththumb` text NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `subtitle` varchar(255) NOT NULL,
+ `season` smallint(5) NOT NULL DEFAULT '0',
+ `episode` smallint(5) NOT NULL DEFAULT '0',
+ `description` text NOT NULL,
+ `url` text NOT NULL,
+ `type` smallint(3) NOT NULL,
+ `thumbnail` text NOT NULL,
+ `mediaURL` text NOT NULL,
+ `author` varchar(255) NOT NULL,
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `time` int(11) NOT NULL,
+ `rating` varchar(255) NOT NULL,
+ `filesize` bigint(20) NOT NULL,
+ `player` varchar(255) NOT NULL,
+ `playerargs` text NOT NULL,
+ `download` varchar(255) NOT NULL,
+ `downloadargs` text NOT NULL,
+ `width` smallint(6) NOT NULL,
+ `height` smallint(6) NOT NULL,
+ `language` varchar(128) NOT NULL,
+ `podcast` tinyint(1) NOT NULL,
+ `downloadable` tinyint(1) NOT NULL,
+ `customhtml` tinyint(1) NOT NULL,
+ `countries` varchar(255) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `internetcontentarticles`
+--
+
+LOCK TABLES `internetcontentarticles` WRITE;
+/*!40000 ALTER TABLE `internetcontentarticles` DISABLE KEYS */;
+/*!40000 ALTER TABLE `internetcontentarticles` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `inuseprograms`
+--
+
+DROP TABLE IF EXISTS `inuseprograms`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `inuseprograms` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `recusage` varchar(128) NOT NULL DEFAULT '',
+ `lastupdatetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `hostname` varchar(64) NOT NULL DEFAULT '',
+ `rechost` varchar(64) NOT NULL,
+ `recdir` varchar(255) NOT NULL DEFAULT '',
+ KEY `chanid` (`chanid`,`starttime`),
+ KEY `recusage` (`recusage`,`lastupdatetime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `inuseprograms`
+--
+
+LOCK TABLES `inuseprograms` WRITE;
+/*!40000 ALTER TABLE `inuseprograms` DISABLE KEYS */;
+/*!40000 ALTER TABLE `inuseprograms` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `iptv_channel`
+--
+
+DROP TABLE IF EXISTS `iptv_channel`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `iptv_channel` (
+ `iptvid` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
+ `chanid` int(10) unsigned NOT NULL,
+ `url` text NOT NULL,
+ `type` set('data','rfc2733-1','rfc2733-2','rfc5109-1','rfc5109-2','smpte2022-1','smpte2022-2') DEFAULT NULL,
+ `bitrate` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`iptvid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `iptv_channel`
+--
+
+LOCK TABLES `iptv_channel` WRITE;
+/*!40000 ALTER TABLE `iptv_channel` DISABLE KEYS */;
+/*!40000 ALTER TABLE `iptv_channel` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `jobqueue`
+--
+
+DROP TABLE IF EXISTS `jobqueue`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `jobqueue` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `chanid` int(10) NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `inserttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `type` int(11) NOT NULL DEFAULT '0',
+ `cmds` int(11) NOT NULL DEFAULT '0',
+ `flags` int(11) NOT NULL DEFAULT '0',
+ `status` int(11) NOT NULL DEFAULT '0',
+ `statustime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `hostname` varchar(64) NOT NULL DEFAULT '',
+ `args` blob NOT NULL,
+ `comment` varchar(128) NOT NULL DEFAULT '',
+ `schedruntime` datetime NOT NULL DEFAULT '2007-01-01 00:00:00',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `chanid` (`chanid`,`starttime`,`type`,`inserttime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `jobqueue`
+--
+
+LOCK TABLES `jobqueue` WRITE;
+/*!40000 ALTER TABLE `jobqueue` DISABLE KEYS */;
+/*!40000 ALTER TABLE `jobqueue` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `jumppoints`
+--
+
+DROP TABLE IF EXISTS `jumppoints`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `jumppoints` (
+ `destination` varchar(128) NOT NULL DEFAULT '',
+ `description` varchar(255) DEFAULT NULL,
+ `keylist` varchar(128) DEFAULT NULL,
+ `hostname` varchar(64) NOT NULL DEFAULT '',
+ PRIMARY KEY (`destination`,`hostname`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `jumppoints`
+--
+
+LOCK TABLES `jumppoints` WRITE;
+/*!40000 ALTER TABLE `jumppoints` DISABLE KEYS */;
+/*!40000 ALTER TABLE `jumppoints` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `keybindings`
+--
+
+DROP TABLE IF EXISTS `keybindings`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `keybindings` (
+ `context` varchar(32) NOT NULL DEFAULT '',
+ `action` varchar(32) NOT NULL DEFAULT '',
+ `description` varchar(255) DEFAULT NULL,
+ `keylist` varchar(128) DEFAULT NULL,
+ `hostname` varchar(64) NOT NULL DEFAULT '',
+ PRIMARY KEY (`context`,`action`,`hostname`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `keybindings`
+--
+
+LOCK TABLES `keybindings` WRITE;
+/*!40000 ALTER TABLE `keybindings` DISABLE KEYS */;
+INSERT INTO `keybindings` VALUES ('Global','UP','Up Arrow','Up','apheleia'),('Global','DOWN','Down Arrow','Down','apheleia'),('Global','LEFT','Left Arrow','Left','apheleia'),('Global','RIGHT','Right Arrow','Right','apheleia'),('Global','NEXT','Move to next widget','Tab','apheleia'),('Global','PREVIOUS','Move to preview widget','Backtab','apheleia'),('Global','SELECT','Select','Return,Enter,Space','apheleia'),('Global','BACKSPACE','Backspace','Backspace','apheleia'),('Global','ESCAPE','Escape','Esc','apheleia'),('Global','MENU','Pop-up menu','M','apheleia'),('Global','INFO','More information','I','apheleia'),('Global','DELETE','Delete','D','apheleia'),('Global','EDIT','Edit','E','apheleia'),('Global','SCREENSHOT','Save screenshot','','apheleia'),('Global','HANDLEMEDIA','Play a media resource','','apheleia'),('Global','PAGEUP','Page Up','PgUp','apheleia'),('Global','PAGEDOWN','Page Down','PgDown','apheleia'),('Global','PAGETOP','Page to top of list','','apheleia'),('Global','PAGEMIDDLE','Page to middle of list','','apheleia'),('Global','PAGEBOTTOM','Page to bottom of list','','apheleia'),('Global','PREVVIEW','Previous View','Home','apheleia'),('Global','NEXTVIEW','Next View','End','apheleia'),('Global','HELP','Help','F1','apheleia'),('Global','EJECT','Eject Removable Media','','apheleia'),('Global','CUT','Cut text from textedit','Ctrl+X','apheleia'),('Global','COPY','Copy text from textedit','Ctrl+C','apheleia'),('Global','PASTE','Paste text into textedit','Ctrl+V','apheleia'),('Global','NEWLINE','Insert newline into textedit','Ctrl+Return','apheleia'),('Global','UNDO','Undo','Ctrl+Z','apheleia'),('Global','REDO','Redo','Ctrl+Y','apheleia'),('Global','SEARCH','Show incremental search dialog','Ctrl+S','apheleia'),('Global','0','0','0','apheleia'),('Global','1','1','1','apheleia'),('Global','2','2','2','apheleia'),('Global','3','3','3','apheleia'),('Global','4','4','4','apheleia'),('Global','5','5','5','apheleia'),('Global','6','6','6','apheleia'),('Global','7','7','7','apheleia'),('Global','8','8','8','apheleia'),('Global','9','9','9','apheleia'),('Global','TVPOWERON','Turn the display on','','apheleia'),('Global','TVPOWEROFF','Turn the display off','','apheleia'),('Global','SYSEVENT01','Trigger System Key Event #1','','apheleia'),('Global','SYSEVENT02','Trigger System Key Event #2','','apheleia'),('Global','SYSEVENT03','Trigger System Key Event #3','','apheleia'),('Global','SYSEVENT04','Trigger System Key Event #4','','apheleia'),('Global','SYSEVENT05','Trigger System Key Event #5','','apheleia'),('Global','SYSEVENT06','Trigger System Key Event #6','','apheleia'),('Global','SYSEVENT07','Trigger System Key Event #7','','apheleia'),('Global','SYSEVENT08','Trigger System Key Event #8','','apheleia'),('Global','SYSEVENT09','Trigger System Key Event #9','','apheleia'),('Global','SYSEVENT10','Trigger System Key Event #10','','apheleia'),('Browser','ZOOMIN','Zoom in on browser window','.,>','apheleia'),('Browser','ZOOMOUT','Zoom out on browser window',',,<','apheleia'),('Browser','TOGGLEINPUT','Toggle where keyboard input goes to','F1','apheleia'),('Browser','MOUSEUP','Move mouse pointer up','2','apheleia'),('Browser','MOUSEDOWN','Move mouse pointer down','8','apheleia'),('Browser','MOUSELEFT','Move mouse pointer left','4','apheleia'),('Browser','MOUSERIGHT','Move mouse pointer right','6','apheleia'),('Browser','MOUSELEFTBUTTON','Mouse Left button click','5','apheleia'),('Browser','PAGEDOWN','Scroll down half a page','9','apheleia'),('Browser','PAGEUP','Scroll up half a page','3','apheleia'),('Browser','PAGELEFT','Scroll left half a page','7','apheleia'),('Browser','PAGERIGHT','Scroll right half a page','1','apheleia'),('Browser','NEXTLINK','Move selection to next link','Z','apheleia'),('Browser','PREVIOUSLINK','Move selection to previous link','Q','apheleia'),('Browser','FOLLOWLINK','Follow selected link','Return,Space,Enter','apheleia'),('Browser','HISTORYBACK','Go back to previous page','R,Backspace','apheleia'),('Browser','HISTORYFORWARD','Go forward to previous page','F','apheleia'),('Main Menu','EXITPROMPT','Display System Exit Prompt','Esc','apheleia'),('Main Menu','EXIT','System Exit','','apheleia');
+/*!40000 ALTER TABLE `keybindings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `keyword`
+--
+
+DROP TABLE IF EXISTS `keyword`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `keyword` (
+ `phrase` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `searchtype` int(10) unsigned NOT NULL DEFAULT '3',
+ UNIQUE KEY `phrase` (`phrase`,`searchtype`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `keyword`
+--
+
+LOCK TABLES `keyword` WRITE;
+/*!40000 ALTER TABLE `keyword` DISABLE KEYS */;
+/*!40000 ALTER TABLE `keyword` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `livestream`
+--
+
+DROP TABLE IF EXISTS `livestream`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `livestream` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `width` int(10) unsigned NOT NULL,
+ `height` int(10) unsigned NOT NULL,
+ `bitrate` int(10) unsigned NOT NULL,
+ `audiobitrate` int(10) unsigned NOT NULL,
+ `samplerate` int(10) unsigned NOT NULL,
+ `audioonlybitrate` int(10) unsigned NOT NULL,
+ `segmentsize` int(10) unsigned NOT NULL DEFAULT '10',
+ `maxsegments` int(10) unsigned NOT NULL DEFAULT '0',
+ `startsegment` int(10) unsigned NOT NULL DEFAULT '0',
+ `currentsegment` int(10) unsigned NOT NULL DEFAULT '0',
+ `segmentcount` int(10) unsigned NOT NULL DEFAULT '0',
+ `percentcomplete` int(10) unsigned NOT NULL DEFAULT '0',
+ `created` datetime NOT NULL,
+ `lastmodified` datetime NOT NULL,
+ `relativeurl` varchar(512) NOT NULL,
+ `fullurl` varchar(1024) NOT NULL,
+ `status` int(10) unsigned NOT NULL DEFAULT '0',
+ `statusmessage` varchar(256) NOT NULL,
+ `sourcefile` varchar(512) NOT NULL,
+ `sourcehost` varchar(64) NOT NULL,
+ `sourcewidth` int(10) unsigned NOT NULL DEFAULT '0',
+ `sourceheight` int(10) unsigned NOT NULL DEFAULT '0',
+ `outdir` varchar(256) NOT NULL,
+ `outbase` varchar(128) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `livestream`
+--
+
+LOCK TABLES `livestream` WRITE;
+/*!40000 ALTER TABLE `livestream` DISABLE KEYS */;
+/*!40000 ALTER TABLE `livestream` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `logging`
+--
+
+DROP TABLE IF EXISTS `logging`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `logging` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `host` varchar(64) NOT NULL DEFAULT '',
+ `application` varchar(64) NOT NULL DEFAULT '',
+ `pid` int(11) NOT NULL DEFAULT '0',
+ `tid` int(11) NOT NULL DEFAULT '0',
+ `thread` varchar(64) NOT NULL DEFAULT '',
+ `filename` varchar(255) NOT NULL DEFAULT '',
+ `line` int(11) NOT NULL DEFAULT '0',
+ `function` varchar(255) NOT NULL DEFAULT '',
+ `msgtime` datetime NOT NULL,
+ `level` int(11) NOT NULL DEFAULT '0',
+ `message` varchar(2048) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `host` (`host`,`application`,`pid`,`msgtime`),
+ KEY `msgtime` (`msgtime`),
+ KEY `level` (`level`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `logging`
+--
+
+LOCK TABLES `logging` WRITE;
+/*!40000 ALTER TABLE `logging` DISABLE KEYS */;
+/*!40000 ALTER TABLE `logging` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `mythlog`
+--
+
+DROP TABLE IF EXISTS `mythlog`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `mythlog` (
+ `logid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `module` varchar(32) NOT NULL DEFAULT '',
+ `priority` int(11) NOT NULL DEFAULT '0',
+ `acknowledged` tinyint(1) DEFAULT '0',
+ `logdate` datetime DEFAULT NULL,
+ `host` varchar(128) DEFAULT NULL,
+ `message` varchar(255) NOT NULL DEFAULT '',
+ `details` varchar(16000) NOT NULL DEFAULT '',
+ PRIMARY KEY (`logid`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `mythlog`
+--
+
+LOCK TABLES `mythlog` WRITE;
+/*!40000 ALTER TABLE `mythlog` DISABLE KEYS */;
+/*!40000 ALTER TABLE `mythlog` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `oldfind`
+--
+
+DROP TABLE IF EXISTS `oldfind`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `oldfind` (
+ `recordid` int(11) NOT NULL DEFAULT '0',
+ `findid` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`recordid`,`findid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `oldfind`
+--
+
+LOCK TABLES `oldfind` WRITE;
+/*!40000 ALTER TABLE `oldfind` DISABLE KEYS */;
+/*!40000 ALTER TABLE `oldfind` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `oldprogram`
+--
+
+DROP TABLE IF EXISTS `oldprogram`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `oldprogram` (
+ `oldtitle` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `airdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`oldtitle`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `oldprogram`
+--
+
+LOCK TABLES `oldprogram` WRITE;
+/*!40000 ALTER TABLE `oldprogram` DISABLE KEYS */;
+/*!40000 ALTER TABLE `oldprogram` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `oldrecorded`
+--
+
+DROP TABLE IF EXISTS `oldrecorded`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `oldrecorded` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `endtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `title` varchar(128) NOT NULL DEFAULT '',
+ `subtitle` varchar(128) NOT NULL DEFAULT '',
+ `description` varchar(16000) NOT NULL DEFAULT '',
+ `season` smallint(5) NOT NULL,
+ `episode` smallint(5) NOT NULL,
+ `category` varchar(64) NOT NULL DEFAULT '',
+ `seriesid` varchar(64) DEFAULT NULL,
+ `programid` varchar(64) DEFAULT NULL,
+ `inetref` varchar(40) NOT NULL,
+ `findid` int(11) NOT NULL DEFAULT '0',
+ `recordid` int(11) NOT NULL DEFAULT '0',
+ `station` varchar(20) NOT NULL DEFAULT '',
+ `rectype` int(10) unsigned NOT NULL DEFAULT '0',
+ `duplicate` tinyint(1) NOT NULL DEFAULT '0',
+ `recstatus` int(11) NOT NULL DEFAULT '0',
+ `reactivate` smallint(6) NOT NULL DEFAULT '0',
+ `generic` tinyint(1) NOT NULL,
+ `future` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`station`,`starttime`,`title`),
+ KEY `endtime` (`endtime`),
+ KEY `title` (`title`),
+ KEY `seriesid` (`seriesid`),
+ KEY `programid` (`programid`),
+ KEY `recordid` (`recordid`),
+ KEY `recstatus` (`recstatus`,`programid`,`seriesid`),
+ KEY `recstatus_2` (`recstatus`,`title`,`subtitle`),
+ KEY `future` (`future`),
+ KEY `chanid` (`chanid`,`starttime`),
+ KEY `subtitle` (`subtitle`),
+ KEY `description` (`description`(255))
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `oldrecorded`
+--
+
+LOCK TABLES `oldrecorded` WRITE;
+/*!40000 ALTER TABLE `oldrecorded` DISABLE KEYS */;
+/*!40000 ALTER TABLE `oldrecorded` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `people`
+--
+
+DROP TABLE IF EXISTS `people`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `people` (
+ `person` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ PRIMARY KEY (`person`),
+ UNIQUE KEY `name` (`name`(41))
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `people`
+--
+
+LOCK TABLES `people` WRITE;
+/*!40000 ALTER TABLE `people` DISABLE KEYS */;
+/*!40000 ALTER TABLE `people` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `pidcache`
+--
+
+DROP TABLE IF EXISTS `pidcache`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `pidcache` (
+ `chanid` smallint(6) NOT NULL DEFAULT '0',
+ `pid` int(11) NOT NULL DEFAULT '-1',
+ `tableid` int(11) NOT NULL DEFAULT '-1',
+ KEY `chanid` (`chanid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `pidcache`
+--
+
+LOCK TABLES `pidcache` WRITE;
+/*!40000 ALTER TABLE `pidcache` DISABLE KEYS */;
+/*!40000 ALTER TABLE `pidcache` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `playgroup`
+--
+
+DROP TABLE IF EXISTS `playgroup`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `playgroup` (
+ `name` varchar(32) NOT NULL DEFAULT '',
+ `titlematch` varchar(255) NOT NULL DEFAULT '',
+ `skipahead` int(11) NOT NULL DEFAULT '0',
+ `skipback` int(11) NOT NULL DEFAULT '0',
+ `timestretch` int(11) NOT NULL DEFAULT '0',
+ `jump` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `playgroup`
+--
+
+LOCK TABLES `playgroup` WRITE;
+/*!40000 ALTER TABLE `playgroup` DISABLE KEYS */;
+INSERT INTO `playgroup` VALUES ('Default','',30,5,100,0);
+/*!40000 ALTER TABLE `playgroup` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `powerpriority`
+--
+
+DROP TABLE IF EXISTS `powerpriority`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `powerpriority` (
+ `priorityname` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `recpriority` int(10) NOT NULL DEFAULT '0',
+ `selectclause` varchar(16000) NOT NULL DEFAULT '',
+ PRIMARY KEY (`priorityname`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `powerpriority`
+--
+
+LOCK TABLES `powerpriority` WRITE;
+/*!40000 ALTER TABLE `powerpriority` DISABLE KEYS */;
+/*!40000 ALTER TABLE `powerpriority` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `profilegroups`
+--
+
+DROP TABLE IF EXISTS `profilegroups`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `profilegroups` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(128) DEFAULT NULL,
+ `cardtype` varchar(32) NOT NULL DEFAULT 'V4L',
+ `is_default` int(1) DEFAULT '0',
+ `hostname` varchar(64) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `name` (`name`,`hostname`),
+ KEY `cardtype` (`cardtype`)
+) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `profilegroups`
+--
+
+LOCK TABLES `profilegroups` WRITE;
+/*!40000 ALTER TABLE `profilegroups` DISABLE KEYS */;
+INSERT INTO `profilegroups` VALUES (1,'Software Encoders (v4l based)','V4L',1,NULL),(2,'IVTV MPEG-2 Encoders','MPEG',1,NULL),(3,'Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)','MJPEG',1,NULL),(4,'Hardware HDTV','HDTV',1,NULL),(5,'Hardware DVB Encoders','DVB',1,NULL),(6,'Transcoders','TRANSCODE',1,NULL),(7,'FireWire Input','FIREWIRE',1,NULL),(8,'USB Mpeg-4 Encoder (Plextor ConvertX, etc)','GO7007',1,NULL),(14,'Import Recorder','IMPORT',1,NULL),(10,'Freebox Input','Freebox',1,NULL),(11,'HDHomeRun Recorders','HDHOMERUN',1,NULL),(12,'CRC IP Recorders','CRC_IP',1,NULL),(13,'HD-PVR Recorders','HDPVR',1,NULL),(15,'ASI Recorder (DVEO)','ASI',1,NULL),(16,'OCUR Recorder (CableLabs)','OCUR',1,NULL),(17,'Ceton Recorder','CETON',1,NULL);
+/*!40000 ALTER TABLE `profilegroups` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `program`
+--
+
+DROP TABLE IF EXISTS `program`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `program` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `endtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `title` varchar(128) NOT NULL DEFAULT '',
+ `subtitle` varchar(128) NOT NULL DEFAULT '',
+ `description` varchar(16000) NOT NULL DEFAULT '',
+ `category` varchar(64) NOT NULL DEFAULT '',
+ `category_type` varchar(64) NOT NULL DEFAULT '',
+ `airdate` year(4) NOT NULL DEFAULT '0000',
+ `stars` float NOT NULL DEFAULT '0',
+ `previouslyshown` tinyint(4) NOT NULL DEFAULT '0',
+ `title_pronounce` varchar(128) NOT NULL DEFAULT '',
+ `stereo` tinyint(1) NOT NULL DEFAULT '0',
+ `subtitled` tinyint(1) NOT NULL DEFAULT '0',
+ `hdtv` tinyint(1) NOT NULL DEFAULT '0',
+ `closecaptioned` tinyint(1) NOT NULL DEFAULT '0',
+ `partnumber` int(11) NOT NULL DEFAULT '0',
+ `parttotal` int(11) NOT NULL DEFAULT '0',
+ `seriesid` varchar(64) NOT NULL DEFAULT '',
+ `originalairdate` date DEFAULT NULL,
+ `showtype` varchar(30) NOT NULL DEFAULT '',
+ `colorcode` varchar(20) NOT NULL DEFAULT '',
+ `syndicatedepisodenumber` varchar(20) NOT NULL DEFAULT '',
+ `programid` varchar(64) NOT NULL DEFAULT '',
+ `manualid` int(10) unsigned NOT NULL DEFAULT '0',
+ `generic` tinyint(1) DEFAULT '0',
+ `listingsource` int(11) NOT NULL DEFAULT '0',
+ `first` tinyint(1) NOT NULL DEFAULT '0',
+ `last` tinyint(1) NOT NULL DEFAULT '0',
+ `audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL,
+ `subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL,
+ `videoprop` set('HDTV','WIDESCREEN','AVC') NOT NULL,
+ PRIMARY KEY (`chanid`,`starttime`,`manualid`),
+ KEY `endtime` (`endtime`),
+ KEY `title_pronounce` (`title_pronounce`),
+ KEY `seriesid` (`seriesid`),
+ KEY `id_start_end` (`chanid`,`starttime`,`endtime`),
+ KEY `program_manualid` (`manualid`),
+ KEY `previouslyshown` (`previouslyshown`),
+ KEY `programid` (`programid`,`starttime`),
+ KEY `starttime` (`starttime`),
+ KEY `subtitle` (`subtitle`),
+ KEY `description` (`description`(255)),
+ KEY `title_subtitle_start` (`title`,`subtitle`,`starttime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `program`
+--
+
+LOCK TABLES `program` WRITE;
+/*!40000 ALTER TABLE `program` DISABLE KEYS */;
+/*!40000 ALTER TABLE `program` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `programgenres`
+--
+
+DROP TABLE IF EXISTS `programgenres`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `programgenres` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `relevance` char(1) NOT NULL DEFAULT '',
+ `genre` varchar(30) DEFAULT NULL,
+ PRIMARY KEY (`chanid`,`starttime`,`relevance`),
+ KEY `genre` (`genre`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `programgenres`
+--
+
+LOCK TABLES `programgenres` WRITE;
+/*!40000 ALTER TABLE `programgenres` DISABLE KEYS */;
+/*!40000 ALTER TABLE `programgenres` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `programrating`
+--
+
+DROP TABLE IF EXISTS `programrating`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `programrating` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `system` varchar(8) DEFAULT NULL,
+ `rating` varchar(16) DEFAULT NULL,
+ UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`),
+ KEY `starttime` (`starttime`,`system`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `programrating`
+--
+
+LOCK TABLES `programrating` WRITE;
+/*!40000 ALTER TABLE `programrating` DISABLE KEYS */;
+/*!40000 ALTER TABLE `programrating` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recgrouppassword`
+--
+
+DROP TABLE IF EXISTS `recgrouppassword`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recgrouppassword` (
+ `recgroup` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `password` varchar(10) NOT NULL DEFAULT '',
+ PRIMARY KEY (`recgroup`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recgrouppassword`
+--
+
+LOCK TABLES `recgrouppassword` WRITE;
+/*!40000 ALTER TABLE `recgrouppassword` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recgrouppassword` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `record`
+--
+
+DROP TABLE IF EXISTS `record`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `record` (
+ `recordid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `type` int(10) unsigned NOT NULL DEFAULT '0',
+ `chanid` int(10) unsigned DEFAULT NULL,
+ `starttime` time NOT NULL DEFAULT '00:00:00',
+ `startdate` date NOT NULL DEFAULT '0000-00-00',
+ `endtime` time NOT NULL DEFAULT '00:00:00',
+ `enddate` date NOT NULL DEFAULT '0000-00-00',
+ `title` varchar(128) NOT NULL DEFAULT '',
+ `subtitle` varchar(128) NOT NULL DEFAULT '',
+ `description` varchar(16000) NOT NULL DEFAULT '',
+ `season` smallint(5) NOT NULL,
+ `episode` smallint(5) NOT NULL,
+ `category` varchar(64) NOT NULL DEFAULT '',
+ `profile` varchar(128) NOT NULL DEFAULT 'Default',
+ `recpriority` int(10) NOT NULL DEFAULT '0',
+ `autoexpire` int(11) NOT NULL DEFAULT '0',
+ `maxepisodes` int(11) NOT NULL DEFAULT '0',
+ `maxnewest` int(11) NOT NULL DEFAULT '0',
+ `startoffset` int(11) NOT NULL DEFAULT '0',
+ `endoffset` int(11) NOT NULL DEFAULT '0',
+ `recgroup` varchar(32) NOT NULL DEFAULT 'Default',
+ `dupmethod` int(11) NOT NULL DEFAULT '6',
+ `dupin` int(11) NOT NULL DEFAULT '15',
+ `station` varchar(20) NOT NULL DEFAULT '',
+ `seriesid` varchar(64) DEFAULT NULL,
+ `programid` varchar(64) DEFAULT NULL,
+ `inetref` varchar(40) NOT NULL,
+ `search` int(10) unsigned NOT NULL DEFAULT '0',
+ `autotranscode` tinyint(1) NOT NULL DEFAULT '0',
+ `autocommflag` tinyint(1) NOT NULL DEFAULT '0',
+ `autouserjob1` tinyint(1) NOT NULL DEFAULT '0',
+ `autouserjob2` tinyint(1) NOT NULL DEFAULT '0',
+ `autouserjob3` tinyint(1) NOT NULL DEFAULT '0',
+ `autouserjob4` tinyint(1) NOT NULL DEFAULT '0',
+ `autometadata` tinyint(1) NOT NULL DEFAULT '0',
+ `findday` tinyint(4) NOT NULL DEFAULT '0',
+ `findtime` time NOT NULL DEFAULT '00:00:00',
+ `findid` int(11) NOT NULL DEFAULT '0',
+ `inactive` tinyint(1) NOT NULL DEFAULT '0',
+ `parentid` int(11) NOT NULL DEFAULT '0',
+ `transcoder` int(11) NOT NULL DEFAULT '0',
+ `playgroup` varchar(32) NOT NULL DEFAULT 'Default',
+ `prefinput` int(10) NOT NULL DEFAULT '0',
+ `next_record` datetime NOT NULL,
+ `last_record` datetime NOT NULL,
+ `last_delete` datetime NOT NULL,
+ `storagegroup` varchar(32) NOT NULL DEFAULT 'Default',
+ `avg_delay` int(11) NOT NULL DEFAULT '100',
+ `filter` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`recordid`),
+ KEY `chanid` (`chanid`,`starttime`),
+ KEY `title` (`title`),
+ KEY `seriesid` (`seriesid`),
+ KEY `programid` (`programid`),
+ KEY `maxepisodes` (`maxepisodes`),
+ KEY `search` (`search`),
+ KEY `type` (`type`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `record`
+--
+
+LOCK TABLES `record` WRITE;
+/*!40000 ALTER TABLE `record` DISABLE KEYS */;
+INSERT INTO `record` VALUES (1,11,0,'21:57:44','2012-08-11','21:57:44','2012-08-11','Default (Template)','','',0,0,'Default','Default',0,0,0,0,0,0,'Default',6,15,'','','','',0,0,1,0,0,0,0,1,-1,'00:00:00',735091,0,0,0,'Default',0,'0000-00-00 00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','Default',100,0);
+/*!40000 ALTER TABLE `record` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recorded`
+--
+
+DROP TABLE IF EXISTS `recorded`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recorded` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `endtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `title` varchar(128) NOT NULL DEFAULT '',
+ `subtitle` varchar(128) NOT NULL DEFAULT '',
+ `description` varchar(16000) NOT NULL DEFAULT '',
+ `season` smallint(5) NOT NULL,
+ `episode` smallint(5) NOT NULL,
+ `category` varchar(64) NOT NULL DEFAULT '',
+ `hostname` varchar(64) NOT NULL DEFAULT '',
+ `bookmark` tinyint(1) NOT NULL DEFAULT '0',
+ `editing` int(10) unsigned NOT NULL DEFAULT '0',
+ `cutlist` tinyint(1) NOT NULL DEFAULT '0',
+ `autoexpire` int(11) NOT NULL DEFAULT '0',
+ `commflagged` int(10) unsigned NOT NULL DEFAULT '0',
+ `recgroup` varchar(32) NOT NULL DEFAULT 'Default',
+ `recordid` int(11) DEFAULT NULL,
+ `seriesid` varchar(64) DEFAULT NULL,
+ `programid` varchar(64) DEFAULT NULL,
+ `inetref` varchar(40) NOT NULL,
+ `lastmodified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `filesize` bigint(20) NOT NULL DEFAULT '0',
+ `stars` float NOT NULL DEFAULT '0',
+ `previouslyshown` tinyint(1) DEFAULT '0',
+ `originalairdate` date DEFAULT NULL,
+ `preserve` tinyint(1) NOT NULL DEFAULT '0',
+ `findid` int(11) NOT NULL DEFAULT '0',
+ `deletepending` tinyint(1) NOT NULL DEFAULT '0',
+ `transcoder` int(11) NOT NULL DEFAULT '0',
+ `timestretch` float NOT NULL DEFAULT '1',
+ `recpriority` int(11) NOT NULL DEFAULT '0',
+ `basename` varchar(255) NOT NULL,
+ `progstart` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `progend` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `playgroup` varchar(32) NOT NULL DEFAULT 'Default',
+ `profile` varchar(32) NOT NULL DEFAULT '',
+ `duplicate` tinyint(1) NOT NULL DEFAULT '0',
+ `transcoded` tinyint(1) NOT NULL DEFAULT '0',
+ `watched` tinyint(4) NOT NULL DEFAULT '0',
+ `storagegroup` varchar(32) NOT NULL DEFAULT 'Default',
+ `bookmarkupdate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`chanid`,`starttime`),
+ KEY `endtime` (`endtime`),
+ KEY `seriesid` (`seriesid`),
+ KEY `programid` (`programid`),
+ KEY `title` (`title`),
+ KEY `recordid` (`recordid`),
+ KEY `deletepending` (`deletepending`,`lastmodified`),
+ KEY `recgroup` (`recgroup`,`endtime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recorded`
+--
+
+LOCK TABLES `recorded` WRITE;
+/*!40000 ALTER TABLE `recorded` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recorded` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordedartwork`
+--
+
+DROP TABLE IF EXISTS `recordedartwork`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordedartwork` (
+ `inetref` varchar(255) NOT NULL,
+ `season` smallint(5) NOT NULL,
+ `host` text NOT NULL,
+ `coverart` text NOT NULL,
+ `fanart` text NOT NULL,
+ `banner` text NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordedartwork`
+--
+
+LOCK TABLES `recordedartwork` WRITE;
+/*!40000 ALTER TABLE `recordedartwork` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordedartwork` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordedcredits`
+--
+
+DROP TABLE IF EXISTS `recordedcredits`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordedcredits` (
+ `person` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `role` set('actor','director','producer','executive_producer','writer','guest_star','host','adapter','presenter','commentator','guest') NOT NULL DEFAULT '',
+ UNIQUE KEY `chanid` (`chanid`,`starttime`,`person`,`role`),
+ KEY `person` (`person`,`role`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordedcredits`
+--
+
+LOCK TABLES `recordedcredits` WRITE;
+/*!40000 ALTER TABLE `recordedcredits` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordedcredits` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordedfile`
+--
+
+DROP TABLE IF EXISTS `recordedfile`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordedfile` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `basename` varchar(128) NOT NULL DEFAULT '',
+ `filesize` bigint(20) NOT NULL DEFAULT '0',
+ `width` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `fps` float(6,3) NOT NULL DEFAULT '0.000',
+ `aspect` float(8,6) NOT NULL DEFAULT '0.000000',
+ `audio_sample_rate` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `audio_bits_per_sample` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `audio_channels` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `audio_type` varchar(255) NOT NULL DEFAULT '',
+ `video_type` varchar(255) NOT NULL DEFAULT '',
+ `comment` varchar(255) NOT NULL DEFAULT '',
+ `hostname` varchar(64) NOT NULL,
+ `storagegroup` varchar(32) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `chanid` (`chanid`,`starttime`,`basename`),
+ KEY `basename` (`basename`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordedfile`
+--
+
+LOCK TABLES `recordedfile` WRITE;
+/*!40000 ALTER TABLE `recordedfile` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordedfile` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordedmarkup`
+--
+
+DROP TABLE IF EXISTS `recordedmarkup`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordedmarkup` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `mark` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `type` tinyint(4) NOT NULL DEFAULT '0',
+ `data` int(11) unsigned DEFAULT NULL,
+ PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordedmarkup`
+--
+
+LOCK TABLES `recordedmarkup` WRITE;
+/*!40000 ALTER TABLE `recordedmarkup` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordedmarkup` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordedprogram`
+--
+
+DROP TABLE IF EXISTS `recordedprogram`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordedprogram` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `endtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `title` varchar(128) NOT NULL DEFAULT '',
+ `subtitle` varchar(128) NOT NULL DEFAULT '',
+ `description` varchar(16000) NOT NULL DEFAULT '',
+ `category` varchar(64) NOT NULL DEFAULT '',
+ `category_type` varchar(64) NOT NULL DEFAULT '',
+ `airdate` year(4) NOT NULL DEFAULT '0000',
+ `stars` float unsigned NOT NULL DEFAULT '0',
+ `previouslyshown` tinyint(4) NOT NULL DEFAULT '0',
+ `title_pronounce` varchar(128) NOT NULL DEFAULT '',
+ `stereo` tinyint(1) NOT NULL DEFAULT '0',
+ `subtitled` tinyint(1) NOT NULL DEFAULT '0',
+ `hdtv` tinyint(1) NOT NULL DEFAULT '0',
+ `closecaptioned` tinyint(1) NOT NULL DEFAULT '0',
+ `partnumber` int(11) NOT NULL DEFAULT '0',
+ `parttotal` int(11) NOT NULL DEFAULT '0',
+ `seriesid` varchar(64) DEFAULT NULL,
+ `originalairdate` date DEFAULT NULL,
+ `showtype` varchar(30) NOT NULL DEFAULT '',
+ `colorcode` varchar(20) NOT NULL DEFAULT '',
+ `syndicatedepisodenumber` varchar(20) NOT NULL DEFAULT '',
+ `programid` varchar(64) DEFAULT NULL,
+ `manualid` int(10) unsigned NOT NULL DEFAULT '0',
+ `generic` tinyint(1) DEFAULT '0',
+ `listingsource` int(11) NOT NULL DEFAULT '0',
+ `first` tinyint(1) NOT NULL DEFAULT '0',
+ `last` tinyint(1) NOT NULL DEFAULT '0',
+ `audioprop` set('STEREO','MONO','SURROUND','DOLBY','HARDHEAR','VISUALIMPAIR') NOT NULL,
+ `subtitletypes` set('HARDHEAR','NORMAL','ONSCREEN','SIGNED') NOT NULL,
+ `videoprop` set('HDTV','WIDESCREEN','AVC','720','1080','DAMAGED') NOT NULL,
+ PRIMARY KEY (`chanid`,`starttime`,`manualid`),
+ KEY `endtime` (`endtime`),
+ KEY `title` (`title`),
+ KEY `title_pronounce` (`title_pronounce`),
+ KEY `seriesid` (`seriesid`),
+ KEY `programid` (`programid`),
+ KEY `id_start_end` (`chanid`,`starttime`,`endtime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordedprogram`
+--
+
+LOCK TABLES `recordedprogram` WRITE;
+/*!40000 ALTER TABLE `recordedprogram` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordedprogram` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordedrating`
+--
+
+DROP TABLE IF EXISTS `recordedrating`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordedrating` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `system` varchar(8) DEFAULT NULL,
+ `rating` varchar(16) DEFAULT NULL,
+ UNIQUE KEY `chanid` (`chanid`,`starttime`,`system`,`rating`),
+ KEY `starttime` (`starttime`,`system`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordedrating`
+--
+
+LOCK TABLES `recordedrating` WRITE;
+/*!40000 ALTER TABLE `recordedrating` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordedrating` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordedseek`
+--
+
+DROP TABLE IF EXISTS `recordedseek`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordedseek` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `mark` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `offset` bigint(20) unsigned NOT NULL,
+ `type` tinyint(4) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`chanid`,`starttime`,`type`,`mark`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordedseek`
+--
+
+LOCK TABLES `recordedseek` WRITE;
+/*!40000 ALTER TABLE `recordedseek` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordedseek` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordfilter`
+--
+
+DROP TABLE IF EXISTS `recordfilter`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordfilter` (
+ `filterid` int(10) unsigned NOT NULL,
+ `description` varchar(64) DEFAULT NULL,
+ `clause` varchar(256) DEFAULT NULL,
+ `newruledefault` tinyint(1) DEFAULT '0',
+ PRIMARY KEY (`filterid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordfilter`
+--
+
+LOCK TABLES `recordfilter` WRITE;
+/*!40000 ALTER TABLE `recordfilter` DISABLE KEYS */;
+INSERT INTO `recordfilter` VALUES (0,'New episode','program.previouslyshown = 0',0),(1,'Identifiable episode','program.generic = 0',0),(2,'First showing','program.first > 0',0),(3,'Prime time','HOUR(CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\')) >= 19 AND HOUR(CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\')) < 22',0),(4,'Commercial free','channel.commmethod = -2',0),(5,'High definition','program.hdtv > 0',0),(6,'This episode','(RECTABLE.programid <> \'\' AND program.programid = RECTABLE.programid) OR (RECTABLE.programid = \'\' AND program.subtitle = RECTABLE.subtitle AND program.description = RECTABLE.description)',0),(7,'This series','(RECTABLE.seriesid <> \'\' AND program.seriesid = RECTABLE.seriesid)',0),(8,'This time','ABS(TIMESTAMPDIFF(MINUTE, CONVERT_TZ( ADDTIME(RECTABLE.startdate, RECTABLE.starttime), \'Etc/UTC\', \'SYSTEM\'), CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\'))) MOD 1440 <= 10',0),(9,'This day and time','ABS(TIMESTAMPDIFF(MINUTE, CONVERT_TZ( ADDTIME(RECTABLE.startdate, RECTABLE.starttime), \'Etc/UTC\', \'SYSTEM\'), CONVERT_TZ(program.starttime, \'Etc/UTC\', \'SYSTEM\'))) MOD 10080 <= 10',0),(10,'This channel','channel.callsign = RECTABLE.station',0);
+/*!40000 ALTER TABLE `recordfilter` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordingprofiles`
+--
+
+DROP TABLE IF EXISTS `recordingprofiles`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordingprofiles` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(128) DEFAULT NULL,
+ `videocodec` varchar(128) DEFAULT NULL,
+ `audiocodec` varchar(128) DEFAULT NULL,
+ `profilegroup` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `profilegroup` (`profilegroup`)
+) ENGINE=MyISAM AUTO_INCREMENT=70 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordingprofiles`
+--
+
+LOCK TABLES `recordingprofiles` WRITE;
+/*!40000 ALTER TABLE `recordingprofiles` DISABLE KEYS */;
+INSERT INTO `recordingprofiles` VALUES (1,'Default',NULL,NULL,1),(2,'Live TV',NULL,NULL,1),(3,'High Quality',NULL,NULL,1),(4,'Low Quality',NULL,NULL,1),(5,'Default',NULL,NULL,2),(6,'Live TV',NULL,NULL,2),(7,'High Quality',NULL,NULL,2),(8,'Low Quality',NULL,NULL,2),(9,'Default',NULL,NULL,3),(10,'Live TV',NULL,NULL,3),(11,'High Quality',NULL,NULL,3),(12,'Low Quality',NULL,NULL,3),(13,'Default',NULL,NULL,4),(14,'Live TV',NULL,NULL,4),(15,'High Quality',NULL,NULL,4),(16,'Low Quality',NULL,NULL,4),(17,'Default',NULL,NULL,5),(18,'Live TV',NULL,NULL,5),(19,'High Quality',NULL,NULL,5),(20,'Low Quality',NULL,NULL,5),(21,'RTjpeg/MPEG4',NULL,NULL,6),(22,'MPEG2',NULL,NULL,6),(23,'Default',NULL,NULL,8),(24,'Live TV',NULL,NULL,8),(25,'High Quality',NULL,NULL,8),(26,'Low Quality',NULL,NULL,8),(27,'High Quality',NULL,NULL,6),(28,'Medium Quality',NULL,NULL,6),(29,'Low Quality',NULL,NULL,6),(30,'Default',NULL,NULL,10),(31,'Live TV',NULL,NULL,10),(32,'High Quality',NULL,NULL,10),(33,'Low Quality',NULL,NULL,10),(34,'Default',NULL,NULL,11),(35,'Live TV',NULL,NULL,11),(36,'High Quality',NULL,NULL,11),(37,'Low Quality',NULL,NULL,11),(38,'Default',NULL,NULL,12),(39,'Live TV',NULL,NULL,12),(40,'High Quality',NULL,NULL,12),(41,'Low Quality',NULL,NULL,12),(42,'Default',NULL,NULL,7),(43,'Live TV',NULL,NULL,7),(44,'High Quality',NULL,NULL,7),(45,'Low Quality',NULL,NULL,7),(46,'Default',NULL,NULL,9),(47,'Live TV',NULL,NULL,9),(48,'High Quality',NULL,NULL,9),(49,'Low Quality',NULL,NULL,9),(50,'Default',NULL,NULL,13),(51,'Live TV',NULL,NULL,13),(52,'High Quality',NULL,NULL,13),(53,'Low Quality',NULL,NULL,13),(54,'Default',NULL,NULL,14),(55,'Live TV',NULL,NULL,14),(56,'High Quality',NULL,NULL,14),(57,'Low Quality',NULL,NULL,14),(58,'Default',NULL,NULL,15),(59,'Live TV',NULL,NULL,15),(60,'High Quality',NULL,NULL,15),(61,'Low Quality',NULL,NULL,15),(62,'Default',NULL,NULL,16),(63,'Live TV',NULL,NULL,16),(64,'High Quality',NULL,NULL,16),(65,'Low Quality',NULL,NULL,16),(66,'Default',NULL,NULL,17),(67,'Live TV',NULL,NULL,17),(68,'High Quality',NULL,NULL,17),(69,'Low Quality',NULL,NULL,17);
+/*!40000 ALTER TABLE `recordingprofiles` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `recordmatch`
+--
+
+DROP TABLE IF EXISTS `recordmatch`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `recordmatch` (
+ `recordid` int(10) unsigned NOT NULL,
+ `chanid` int(10) unsigned NOT NULL,
+ `starttime` datetime NOT NULL,
+ `manualid` int(10) unsigned NOT NULL,
+ `oldrecduplicate` tinyint(1) DEFAULT NULL,
+ `recduplicate` tinyint(1) DEFAULT NULL,
+ `findduplicate` tinyint(1) DEFAULT NULL,
+ `oldrecstatus` int(11) DEFAULT NULL,
+ `findid` int(11) NOT NULL DEFAULT '0',
+ UNIQUE KEY `recordid` (`recordid`,`chanid`,`starttime`),
+ KEY `chanid` (`chanid`,`starttime`,`manualid`),
+ KEY `recordid_2` (`recordid`,`findid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `recordmatch`
+--
+
+LOCK TABLES `recordmatch` WRITE;
+/*!40000 ALTER TABLE `recordmatch` DISABLE KEYS */;
+/*!40000 ALTER TABLE `recordmatch` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `scannerfile`
+--
+
+DROP TABLE IF EXISTS `scannerfile`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `scannerfile` (
+ `fileid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `filesize` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `filehash` varchar(64) NOT NULL DEFAULT '',
+ `added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`fileid`),
+ UNIQUE KEY `filehash` (`filehash`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `scannerfile`
+--
+
+LOCK TABLES `scannerfile` WRITE;
+/*!40000 ALTER TABLE `scannerfile` DISABLE KEYS */;
+/*!40000 ALTER TABLE `scannerfile` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `scannerpath`
+--
+
+DROP TABLE IF EXISTS `scannerpath`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `scannerpath` (
+ `fileid` bigint(20) unsigned NOT NULL,
+ `hostname` varchar(64) NOT NULL DEFAULT 'localhost',
+ `storagegroup` varchar(32) NOT NULL DEFAULT 'Default',
+ `filename` varchar(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`fileid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `scannerpath`
+--
+
+LOCK TABLES `scannerpath` WRITE;
+/*!40000 ALTER TABLE `scannerpath` DISABLE KEYS */;
+/*!40000 ALTER TABLE `scannerpath` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `settings`
+--
+
+DROP TABLE IF EXISTS `settings`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `settings` (
+ `value` varchar(128) NOT NULL DEFAULT '',
+ `data` varchar(16000) NOT NULL DEFAULT '',
+ `hostname` varchar(64) DEFAULT NULL,
+ KEY `value` (`value`,`hostname`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `settings`
+--
+
+LOCK TABLES `settings` WRITE;
+/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
+INSERT INTO `settings` VALUES ('mythfilldatabaseLastRunStart','',NULL),('mythfilldatabaseLastRunEnd','',NULL),('mythfilldatabaseLastRunStatus','',NULL),('DataDirectMessage','',NULL),('HaveRepeats','0',NULL),('DBSchemaVer','1317',NULL),('DefaultTranscoder','0',NULL),('WebBrowserZoomLevel','1','apheleia'),('Language','en_US',NULL),('Country','US',NULL),('FreqTable','us-bcast',NULL),('ISO639Language0','eng',NULL),('ISO639Language1','eng',NULL),('TVFormat','NTSC',NULL),('VbiFormat','NTSC Closed Caption',NULL),('DateFormat','ddd MMM d yyyy','apheleia'),('MythArchiveDateFormat','%a %b %d %Y','apheleia'),('MythArchiveTimeFormat','%I:%M %p','apheleia'),('MythArchiveVideoFormat','NTSC','apheleia'),('ShortDateFormat','M/d','apheleia'),('TimeFormat','h:mm AP','apheleia'),('BackupDBLastRunStart','2013-11-25 09:32:42',NULL),('BackupDBLastRunEnd','2013-11-25 09:32:43',NULL),('HardwareProfileEnabled','0',NULL),('BackendServerIP','127.0.0.1','apheleia'),('BackendServerIP6','::1','apheleia'),('AllowLinkLocal','1','apheleia'),('BackendServerPort','6543','apheleia'),('BackendStatusPort','6544','apheleia'),('MasterServerIP','127.0.0.1',NULL),('MasterServerPort','6543',NULL),('MasterBackendOverride','1',NULL),('DeletesFollowLinks','0',NULL),('TruncateDeletesSlowly','0','apheleia'),('HDRingbufferSize','9400',NULL),('StorageScheduler','BalancedFreeSpace',NULL),('UPnP/WMPSource','0',NULL),('DisableAutomaticBackup','0',NULL),('DisableFirewireReset','0','apheleia'),('EITTransportTimeout','5',NULL),('EITCrawIdleStart','60',NULL),('blockSDWUwithoutClient','1',NULL),('idleWaitForRecordingTime','15',NULL),('StartupSecsBeforeRecording','120',NULL),('WakeupTimeFormat','hh:mm yyyy-MM-dd',NULL),('ServerHaltCommand','sudo /sbin/halt -p',NULL),('WOLbackendConnectRetry','5',NULL),('BackendStopCommand','killall mythbackend',NULL),('BackendStartCommand','mythbackend',NULL),('JobQueueMaxSimultaneousJobs','1','apheleia'),('JobQueueCheckFrequency','60','apheleia'),('JobQueueWindowStart','00:00','apheleia'),('JobQueueWindowEnd','23:59','apheleia'),('JobQueueCPU','0','apheleia'),('JobAllowMetadata','1','apheleia'),('JobAllowCommFlag','1','apheleia'),('JobAllowTranscode','1','apheleia'),('JobAllowUserJob1','0','apheleia'),('JobAllowUserJob2','0','apheleia'),('JobAllowUserJob3','0','apheleia'),('JobAllowUserJob4','0','apheleia'),('JobsRunOnRecordHost','0',NULL),('AutoCommflagWhileRecording','0',NULL),('JobQueueCommFlagCommand','mythcommflag',NULL),('JobQueueTranscodeCommand','mythtranscode',NULL),('AutoTranscodeBeforeAutoCommflag','0',NULL),('SaveTranscoding','0',NULL),('UserJobDesc1','User Job #1',NULL),('UserJobDesc2','User Job #2',NULL),('UserJobDesc3','User Job #3',NULL),('UserJobDesc4','User Job #4',NULL),('MythFillEnabled','1',NULL),('MythFillDatabasePath','mythfilldatabase',NULL),('MythFillMaxHour','23',NULL),('MythFillGrabberSuggestsTime','1',NULL);
+/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `storagegroup`
+--
+
+DROP TABLE IF EXISTS `storagegroup`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `storagegroup` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `groupname` varchar(32) NOT NULL,
+ `hostname` varchar(64) NOT NULL DEFAULT '',
+ `dirname` varchar(235) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `grouphostdir` (`groupname`,`hostname`,`dirname`),
+ KEY `hostname` (`hostname`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `storagegroup`
+--
+
+LOCK TABLES `storagegroup` WRITE;
+/*!40000 ALTER TABLE `storagegroup` DISABLE KEYS */;
+/*!40000 ALTER TABLE `storagegroup` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `tvchain`
+--
+
+DROP TABLE IF EXISTS `tvchain`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `tvchain` (
+ `chanid` int(10) unsigned NOT NULL DEFAULT '0',
+ `starttime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `chainid` varchar(128) NOT NULL DEFAULT '',
+ `chainpos` int(10) NOT NULL DEFAULT '0',
+ `discontinuity` tinyint(1) NOT NULL DEFAULT '0',
+ `watching` int(10) NOT NULL DEFAULT '0',
+ `hostprefix` varchar(128) NOT NULL DEFAULT '',
+ `cardtype` varchar(32) NOT NULL DEFAULT 'V4L',
+ `input` varchar(32) NOT NULL DEFAULT '',
+ `channame` varchar(32) NOT NULL DEFAULT '',
+ `endtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`chanid`,`starttime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `tvchain`
+--
+
+LOCK TABLES `tvchain` WRITE;
+/*!40000 ALTER TABLE `tvchain` DISABLE KEYS */;
+/*!40000 ALTER TABLE `tvchain` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `tvosdmenu`
+--
+
+DROP TABLE IF EXISTS `tvosdmenu`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `tvosdmenu` (
+ `osdcategory` varchar(32) NOT NULL,
+ `livetv` tinyint(4) NOT NULL DEFAULT '0',
+ `recorded` tinyint(4) NOT NULL DEFAULT '0',
+ `video` tinyint(4) NOT NULL DEFAULT '0',
+ `dvd` tinyint(4) NOT NULL DEFAULT '0',
+ `description` varchar(32) NOT NULL,
+ PRIMARY KEY (`osdcategory`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `tvosdmenu`
+--
+
+LOCK TABLES `tvosdmenu` WRITE;
+/*!40000 ALTER TABLE `tvosdmenu` DISABLE KEYS */;
+/*!40000 ALTER TABLE `tvosdmenu` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `upnpmedia`
+--
+
+DROP TABLE IF EXISTS `upnpmedia`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `upnpmedia` (
+ `intid` int(10) unsigned NOT NULL DEFAULT '0',
+ `class` varchar(64) NOT NULL DEFAULT '',
+ `itemtype` varchar(128) NOT NULL DEFAULT '',
+ `parentid` int(10) unsigned NOT NULL DEFAULT '0',
+ `itemproperties` varchar(255) NOT NULL DEFAULT '',
+ `filepath` varchar(512) NOT NULL DEFAULT '',
+ `title` varchar(255) NOT NULL DEFAULT '',
+ `filename` varchar(512) NOT NULL DEFAULT '',
+ `coverart` varchar(512) NOT NULL DEFAULT '',
+ PRIMARY KEY (`intid`),
+ KEY `class` (`class`),
+ KEY `filepath` (`filepath`(333)),
+ KEY `parentid` (`parentid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `upnpmedia`
+--
+
+LOCK TABLES `upnpmedia` WRITE;
+/*!40000 ALTER TABLE `upnpmedia` DISABLE KEYS */;
+/*!40000 ALTER TABLE `upnpmedia` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videocast`
+--
+
+DROP TABLE IF EXISTS `videocast`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videocast` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cast` varchar(128) NOT NULL,
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videocast`
+--
+
+LOCK TABLES `videocast` WRITE;
+/*!40000 ALTER TABLE `videocast` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videocast` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videocategory`
+--
+
+DROP TABLE IF EXISTS `videocategory`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videocategory` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `category` varchar(128) NOT NULL,
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videocategory`
+--
+
+LOCK TABLES `videocategory` WRITE;
+/*!40000 ALTER TABLE `videocategory` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videocategory` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videocollection`
+--
+
+DROP TABLE IF EXISTS `videocollection`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videocollection` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(256) NOT NULL,
+ `contenttype` set('MOVIE','TELEVISION','ADULT','MUSICVIDEO','HOMEVIDEO') NOT NULL DEFAULT '',
+ `plot` text,
+ `network` varchar(128) DEFAULT NULL,
+ `collectionref` varchar(128) NOT NULL,
+ `certification` varchar(128) DEFAULT NULL,
+ `genre` varchar(128) DEFAULT '',
+ `releasedate` date DEFAULT NULL,
+ `language` varchar(10) DEFAULT NULL,
+ `status` varchar(64) DEFAULT NULL,
+ `rating` float DEFAULT '0',
+ `ratingcount` int(10) DEFAULT '0',
+ `runtime` smallint(5) unsigned DEFAULT '0',
+ `banner` text,
+ `fanart` text,
+ `coverart` text,
+ PRIMARY KEY (`intid`),
+ KEY `title` (`title`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videocollection`
+--
+
+LOCK TABLES `videocollection` WRITE;
+/*!40000 ALTER TABLE `videocollection` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videocollection` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videocountry`
+--
+
+DROP TABLE IF EXISTS `videocountry`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videocountry` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `country` varchar(128) NOT NULL,
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videocountry`
+--
+
+LOCK TABLES `videocountry` WRITE;
+/*!40000 ALTER TABLE `videocountry` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videocountry` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videogenre`
+--
+
+DROP TABLE IF EXISTS `videogenre`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videogenre` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `genre` varchar(128) NOT NULL,
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videogenre`
+--
+
+LOCK TABLES `videogenre` WRITE;
+/*!40000 ALTER TABLE `videogenre` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videogenre` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videometadata`
+--
+
+DROP TABLE IF EXISTS `videometadata`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videometadata` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `title` varchar(128) NOT NULL,
+ `subtitle` text NOT NULL,
+ `tagline` varchar(255) DEFAULT NULL,
+ `director` varchar(128) NOT NULL,
+ `studio` varchar(128) DEFAULT NULL,
+ `plot` text,
+ `rating` varchar(128) NOT NULL,
+ `inetref` varchar(255) NOT NULL,
+ `collectionref` int(10) NOT NULL DEFAULT '-1',
+ `homepage` text NOT NULL,
+ `year` int(10) unsigned NOT NULL,
+ `releasedate` date NOT NULL,
+ `userrating` float NOT NULL,
+ `length` int(10) unsigned NOT NULL,
+ `playcount` int(10) NOT NULL DEFAULT '0',
+ `season` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `episode` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `showlevel` int(10) unsigned NOT NULL,
+ `filename` text NOT NULL,
+ `hash` varchar(128) NOT NULL,
+ `coverfile` text NOT NULL,
+ `childid` int(11) NOT NULL DEFAULT '-1',
+ `browse` tinyint(1) NOT NULL DEFAULT '1',
+ `watched` tinyint(1) NOT NULL DEFAULT '0',
+ `processed` tinyint(1) NOT NULL DEFAULT '0',
+ `playcommand` varchar(255) DEFAULT NULL,
+ `category` int(10) unsigned NOT NULL DEFAULT '0',
+ `trailer` text,
+ `host` text NOT NULL,
+ `screenshot` text,
+ `banner` text,
+ `fanart` text,
+ `insertdate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+ `contenttype` set('MOVIE','TELEVISION','ADULT','MUSICVIDEO','HOMEVIDEO') NOT NULL DEFAULT '',
+ PRIMARY KEY (`intid`),
+ KEY `director` (`director`),
+ KEY `title` (`title`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videometadata`
+--
+
+LOCK TABLES `videometadata` WRITE;
+/*!40000 ALTER TABLE `videometadata` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videometadata` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videometadatacast`
+--
+
+DROP TABLE IF EXISTS `videometadatacast`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videometadatacast` (
+ `idvideo` int(10) unsigned NOT NULL,
+ `idcast` int(10) unsigned NOT NULL,
+ UNIQUE KEY `idvideo` (`idvideo`,`idcast`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videometadatacast`
+--
+
+LOCK TABLES `videometadatacast` WRITE;
+/*!40000 ALTER TABLE `videometadatacast` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videometadatacast` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videometadatacountry`
+--
+
+DROP TABLE IF EXISTS `videometadatacountry`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videometadatacountry` (
+ `idvideo` int(10) unsigned NOT NULL,
+ `idcountry` int(10) unsigned NOT NULL,
+ UNIQUE KEY `idvideo_2` (`idvideo`,`idcountry`),
+ KEY `idvideo` (`idvideo`),
+ KEY `idcountry` (`idcountry`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videometadatacountry`
+--
+
+LOCK TABLES `videometadatacountry` WRITE;
+/*!40000 ALTER TABLE `videometadatacountry` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videometadatacountry` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videometadatagenre`
+--
+
+DROP TABLE IF EXISTS `videometadatagenre`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videometadatagenre` (
+ `idvideo` int(10) unsigned NOT NULL,
+ `idgenre` int(10) unsigned NOT NULL,
+ UNIQUE KEY `idvideo_2` (`idvideo`,`idgenre`),
+ KEY `idvideo` (`idvideo`),
+ KEY `idgenre` (`idgenre`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videometadatagenre`
+--
+
+LOCK TABLES `videometadatagenre` WRITE;
+/*!40000 ALTER TABLE `videometadatagenre` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videometadatagenre` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videopart`
+--
+
+DROP TABLE IF EXISTS `videopart`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videopart` (
+ `fileid` bigint(20) unsigned NOT NULL,
+ `videoid` int(10) unsigned NOT NULL,
+ `order` smallint(5) unsigned NOT NULL DEFAULT '1',
+ PRIMARY KEY (`videoid`,`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videopart`
+--
+
+LOCK TABLES `videopart` WRITE;
+/*!40000 ALTER TABLE `videopart` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videopart` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videopathinfo`
+--
+
+DROP TABLE IF EXISTS `videopathinfo`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videopathinfo` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `path` text,
+ `contenttype` set('MOVIE','TELEVISION','ADULT','MUSICVIDEO','HOMEVIDEO') NOT NULL DEFAULT '',
+ `collectionref` int(10) DEFAULT '0',
+ `recurse` tinyint(1) DEFAULT '0',
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videopathinfo`
+--
+
+LOCK TABLES `videopathinfo` WRITE;
+/*!40000 ALTER TABLE `videopathinfo` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videopathinfo` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videosource`
+--
+
+DROP TABLE IF EXISTS `videosource`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videosource` (
+ `sourceid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(128) NOT NULL DEFAULT '',
+ `xmltvgrabber` varchar(128) DEFAULT NULL,
+ `userid` varchar(128) NOT NULL DEFAULT '',
+ `freqtable` varchar(16) NOT NULL DEFAULT 'default',
+ `lineupid` varchar(64) DEFAULT NULL,
+ `password` varchar(64) DEFAULT NULL,
+ `useeit` smallint(6) NOT NULL DEFAULT '0',
+ `configpath` varchar(4096) DEFAULT NULL,
+ `dvb_nit_id` int(6) DEFAULT '-1',
+ PRIMARY KEY (`sourceid`),
+ UNIQUE KEY `name` (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videosource`
+--
+
+LOCK TABLES `videosource` WRITE;
+/*!40000 ALTER TABLE `videosource` DISABLE KEYS */;
+/*!40000 ALTER TABLE `videosource` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `videotypes`
+--
+
+DROP TABLE IF EXISTS `videotypes`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `videotypes` (
+ `intid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `extension` varchar(128) NOT NULL,
+ `playcommand` varchar(255) NOT NULL,
+ `f_ignore` tinyint(1) DEFAULT NULL,
+ `use_default` tinyint(1) DEFAULT NULL,
+ PRIMARY KEY (`intid`)
+) ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `videotypes`
+--
+
+LOCK TABLES `videotypes` WRITE;
+/*!40000 ALTER TABLE `videotypes` DISABLE KEYS */;
+INSERT INTO `videotypes` VALUES (1,'txt','',1,0),(2,'log','',1,0),(3,'mpg','Internal',0,0),(4,'avi','',0,1),(5,'vob','Internal',0,0),(6,'mpeg','Internal',0,0),(8,'iso','Internal',0,0),(9,'img','Internal',0,0),(10,'mkv','Internal',0,0),(11,'mp4','Internal',0,0),(12,'m2ts','Internal',0,0),(13,'evo','Internal',0,0),(14,'divx','Internal',0,0),(15,'mov','Internal',0,0),(16,'qt','Internal',0,0),(17,'wmv','Internal',0,0),(18,'3gp','Internal',0,0),(19,'asf','Internal',0,0),(20,'ogg','Internal',0,0),(21,'ogm','Internal',0,0),(22,'flv','Internal',0,0),(23,'ogv','Internal',0,0),(25,'nut','Internal',0,0),(26,'mxf','Internal',0,0),(27,'m4v','Internal',0,0),(28,'rm','Internal',0,0),(29,'ts','Internal',0,0),(30,'swf','Internal',0,0),(31,'f4v','Internal',0,0),(32,'nuv','Internal',0,0);
+/*!40000 ALTER TABLE `videotypes` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2013-11-25 9:33:39
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.cpp
index cfd7fb3..c0c859f 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/autocard.cpp
@@ -17,7 +17,7 @@ void AutoCard::popup_menu(void)
QString uniqid = name.section(' ', -1);
QString description = name.section('*',-3,-3);
description = description.section('.',1);
- description = description.stripWhiteSpace();
+ description = description.simplified();
// //cout << uniqid << endl;
// //cout << "descriptn" << endl;
// //cout << description << endl;
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h b/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h
index bc2c4cb..5f6825f 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/compat-mv.h
@@ -27,7 +27,7 @@ protected:
virtual ~ImageSelectSetting();
protected:
- vector<QImage*> images;
+ std::vector<QImage*> images;
QWidget *bxwidget;
QLabel *imagelabel;
MythComboBox *combo;
@@ -40,4 +40,4 @@ class MPUBLIC HostImageSelect : public ImageSelectSetting, public HostDBStorage
public:
HostImageSelect(const QString &name) :
ImageSelectSetting(this), HostDBStorage(this, name) { }
-}; \ No newline at end of file
+};
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.cpp
index 58804a5..d09efd7 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/fileshare.cpp
@@ -1,9 +1,8 @@
#include <unistd.h>
#include "misc_settings.h"
#include "mv_common.h"
-//Added by qt3to4:
-#include <Q3TextStream>
+#include <QTextStream>
#include <unistd.h>
#include <stdio.h>
#include <QtNetwork>
@@ -190,8 +189,8 @@ static HostComboBox *HostServiceSamba_domain()
QFile file("/tmp/smbdomainlist");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.startsWith("domain"))
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.cpp
index cd56683..ae53011 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/infrared.cpp
@@ -1,7 +1,7 @@
#include <unistd.h>
#include <stdlib.h>
#include "infrared.h"
-#include <Q3TextStream>
+#include <QTextStream>
using namespace std;
@@ -36,7 +36,7 @@ HostRemoteTypeIR_favorites::HostRemoteTypeIR_favorites():
{
continue;
}
- QImage* previewImage = new QImage(preview_global.absFilePath());
+ QImage* previewImage = new QImage(preview_global.absoluteFilePath());
addImageSelection(remote.fileName(), previewImage);
}
};
@@ -71,7 +71,7 @@ HostRemoteTypeIR_other::HostRemoteTypeIR_other():
{
continue;
}
- QImage* previewImage = new QImage(preview_global.absFilePath());
+ QImage* previewImage = new QImage(preview_global.absoluteFilePath());
addImageSelection(remote.fileName(), previewImage);
}
};
@@ -107,7 +107,7 @@ HostRemoteTypeIR_hauppauge::HostRemoteTypeIR_hauppauge():
{
continue;
}
- QImage* previewImage = new QImage(preview_global.absFilePath());
+ QImage* previewImage = new QImage(preview_global.absoluteFilePath());
addImageSelection(remote.fileName(), previewImage);
}
};
@@ -144,7 +144,7 @@ HostRemoteTypeIR_ATI::HostRemoteTypeIR_ATI():
{
continue;
}
- QImage* previewImage = new QImage(preview_global.absFilePath());
+ QImage* previewImage = new QImage(preview_global.absoluteFilePath());
addImageSelection(remote.fileName(), previewImage);
}
};
@@ -182,12 +182,12 @@ HostRemoteTypeIR_user::HostRemoteTypeIR_user():
{
continue;
}
- QImage* previewImage = new QImage(preview_global.absFilePath());
+ QImage* previewImage = new QImage(preview_global.absoluteFilePath());
addImageSelection(remote.fileName(), previewImage);
count++;
}
QFileInfo preview_global(previewpath);
- QImage* previewImage = new QImage(preview_global.absFilePath());
+ QImage* previewImage = new QImage(preview_global.absoluteFilePath());
if ( count == 0 )
addImageSelection("none found", previewImage);
@@ -253,8 +253,8 @@ static HostComboBox *HostHDHRlirc_device()
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.startsWith("hdhomerun device"))
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp
index 80bd5d5..96866dc 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installationtype.cpp
@@ -1,13 +1,11 @@
#include <mythcontext.h>
#include <unistd.h>
#include "installationtype.h"
-//Added by qt3to4:
-#include <Q3TextStream>
+#include <QTextStream>
#include <qdir.h>
#include "mv_common.h"
-
int mythinstalltype (QString tmp_install_drive)
{
@@ -94,21 +92,25 @@ static HostSpinBox *HOSTSWAPsize()
QFile file("/proc/meminfo");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
+ QTextStream t( &file ); // use a text stream
line = t.readLine();
if ( line.startsWith("MemTotal:"))
{
- currentitem = line.simplifyWhiteSpace();
+ currentitem = line.simplified();
currentitem = currentitem.section( " ", 1, 1 );
}
}
file.close();
bool ok;
int mem = currentitem.toInt( &ok, 10 ); // dec == 0, ok == FALSE
+ //QTextStream(stdout) << mem << endl;
mem = mem/1024 ;
+ //QTextStream(stdout) << mem << endl;
+
if ( ! ok )
- mem = 120 ;
- HostSpinBox *gc = new HostSpinBox("HOSTSWAPsize", 128, 128000, 128, true);
+ mem = 257 ;
+ //QTextStream(stdout) << mem << endl;
+ HostSpinBox *gc = new HostSpinBox("HOSTSWAPsize", 256, 256000, 256, true);
gc->setLabel(QObject::tr("Swapspace size (MB)"));
gc->setValue(mem);
gc->setHelpText(QObject::tr("Amount of space allocated for the swap partition." ));
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp
index e18da49..1724da7 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp
@@ -1,12 +1,11 @@
#include <qapplication.h>
-//Added by qt3to4:
-#include <Q3TextStream>
+#include <QTextStream>
#include <unistd.h>
#include <fstream>
#include "mythcontext.h"
//#include "tv.h"
-#include "uitypes.h"
+//#include "uitypes.h"
#include "installdialog.h"
#include "installsettings.h"
#include "installationtype.h"
@@ -100,7 +99,7 @@ bool WelcomeDialog::Create(void)
void WelcomeDialog::shutdownNow(int rc)
{
QString NETBOOT = getenv("NETBOOT");
- NETBOOT=NETBOOT.stripWhiteSpace();
+ NETBOOT=NETBOOT.simplified();
// system("rm -f /tmp/.install_state");
// system("rm -f /tmp/.install_percent");
// system("rm -f /tmp/.install_error");
@@ -118,7 +117,8 @@ void WelcomeDialog::runLIVECD(void)
QString PAINTER = gCoreContext->GetSetting("ThemePainter");
QString SERVERIP = gCoreContext->GetSetting("HostMysqlServer");
QString startFECmd = ("MYTHCONFDIR=/tmp mythfrontend -O ThemePainter=" + PAINTER + " -O AudioOutputDevice=ALSA:default -O MasterServerIP=" + SERVERIP );
- myth_system(startFECmd.ascii());
+// myth_system(startFECmd.ascii());
+ myth_system(startFECmd);
}
else
{
@@ -156,8 +156,10 @@ bool WelcomeDialog::keyPressEvent(QKeyEvent *event)
QString cmd = gCoreContext->GetSetting("MythShutdownXTermCmd", "");
if (!cmd.isEmpty())
{
- QByteArray tmp = cmd.toAscii();
- system(tmp);
+// QByteArray tmp = cmd.toAscii();
+// QByteArray tmp = cmd;
+// system(tmp);
+ system(qPrintable(cmd));
}
}
else
@@ -203,13 +205,13 @@ void WelcomeDialog::updateTime(void)
QFile file(releasefile);
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
+ QTextStream t( &file ); // use a text stream
distro_line = t.readLine();
file.close();
}
QString s="";
s.append(distro_line);
- s.append( "\nMythtv source:" );
+ s.append( "\nMythTV Branch: " );
//s.append(MYTH_SOURCE_VERSION);
//s.append(" ");
s.append(MYTH_SOURCE_PATH);
@@ -227,7 +229,7 @@ void WelcomeDialog::updateScreen(void)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh " );
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
recording_text=" ";
mythvantage_text=" ";
error_text=" ";
@@ -238,21 +240,21 @@ void WelcomeDialog::updateScreen(void)
QFile mylog("/tmp/mythvantage_install.log");
if ( mystatus.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &mystatus ); // use a text stream
+ QTextStream t( &mystatus ); // use a text stream
scheduled_text = t.readLine();
mystatus.close();
}
if ( mypercent.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &mypercent ); // use a text stream
+ QTextStream t( &mypercent ); // use a text stream
recording_text = t.readLine();
mypercent.close();
}
if ( myerror.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &myerror ); // use a text stream
+ QTextStream t( &myerror ); // use a text stream
error_text = t.readLine();
myerror.close();
scheduled_text = error_text;
@@ -264,7 +266,7 @@ void WelcomeDialog::updateScreen(void)
{
if ( mylog.open( QIODevice::ReadOnly| QIODevice::Text ) )
{
- Q3TextStream t( &mylog );
+ QTextStream t( &mylog );
while ( !t.atEnd() )
{
mythvantage_text=t.readLine();
@@ -282,7 +284,8 @@ void WelcomeDialog::updateScreen(void)
install_text = "";
m_status_text->SetText(install_text );
- m_updateScreenTimer->start(UPDATE_SCREEN_INTERVAL, true);
+// m_updateScreenTimer->start(UPDATE_SCREEN_INTERVAL, true);
+ m_updateScreenTimer->start(UPDATE_SCREEN_INTERVAL);
if ( scheduled_text == "Done" )
{
Reboot_popup () ;
@@ -530,7 +533,8 @@ QString WelcomeDialog::findinstallsouce(void)
{
int ndx = line.find(" ");
currentitem =QString::fromStdString(line.substr(0,ndx));
- ndx = currentitem.findRev("/");
+// ndx = currentitem.findRev("/");
+ ndx = currentitem.lastIndexOf("/");
currentitem = currentitem.mid(ndx+1,3);
return currentitem;
};
@@ -555,7 +559,7 @@ void WelcomeDialog::showPopup_2(void)
bool installsource = false;
QString NETBOOT = getenv("NETBOOT");
- NETBOOT=NETBOOT.stripWhiteSpace();
+ NETBOOT=NETBOOT.simplified();
if ( NETBOOT == "YES" )
m_menuPopup->AddButton(("Diskless Frontend " ), SLOT(install_net() ) );
@@ -611,9 +615,8 @@ void WelcomeDialog::showPopup_2(void)
void WelcomeDialog::GO_popup(QString go_text)
{
DialogCode retval = MythPopupBox::Show2ButtonPopup(GetMythMainWindow(),
- QString("Start the process"),
- QObject::tr(go_text),
- QObject::tr("Start the process"), QObject::tr("Cancel"), kDialogCodeButton0);
+ "", go_text, tr("Start the process"),
+ tr("Cancel"), kDialogCodeButton0);
if ( retval == kDialogCodeButton0 )
{
@@ -783,7 +786,7 @@ void WelcomeDialog::write_install_conf(QString rootdisk)
sqlsize=sqlsize + "000";
QFile f( "/etc/install_layout" );
- if( !f.open( IO_WriteOnly ) )
+ if( !f.open( QIODevice::WriteOnly | QIODevice::Text ) )
std::cout << "Failed to open file /etc/install_layout." << std::endl;
QTextStream myfile( &f );
@@ -859,7 +862,7 @@ void WelcomeDialog::install_generic(void)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh find_update " + install_drive +" &");
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
busy_find_oldsettings();
bool flag = false;
QString line;
@@ -867,8 +870,8 @@ void WelcomeDialog::install_generic(void)
QFile file("/etc/systemconfig");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.startsWith("hostname"))
@@ -888,8 +891,8 @@ void WelcomeDialog::install_generic(void)
QFile file("/tmp/etc/LinHES-release");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.contains("8.") )
@@ -992,14 +995,14 @@ int WelcomeDialog::ask_validate_network(void)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it setup_network &");
- retval = system(cmdtxt);
+ retval = system(qPrintable(cmdtxt));
busy_network();
if (network_check)
{
network_check->setProgress(2);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_self");
- retval = system(cmdtxt);
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1012,7 +1015,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(3);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_gw");
- retval = system(cmdtxt);
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1025,7 +1028,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(4);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_ns");
- retval = system(cmdtxt);
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1038,7 +1041,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(5);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_names");
- retval = system(cmdtxt);
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1051,7 +1054,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(6);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it host_names");
- retval = system(cmdtxt);
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1068,7 +1071,12 @@ int WelcomeDialog::ask_validate_network(void)
if (retval != 0 )
{
- DialogCode val = MythPopupBox::Show2ButtonPopup(GetMythMainWindow(), QString(""), QObject::tr(pop_text), QObject::tr("Continue"), QObject::tr("Try again"), kDialogCodeButton0);
+ DialogCode val = MythPopupBox::Show2ButtonPopup(
+ GetMythMainWindow(),
+ "", pop_text,
+ tr("Continue"),
+ tr("Try again"),
+ kDialogCodeButton0);
if (kDialogCodeButton0 == val )
retval = 0;
}
@@ -1118,17 +1126,17 @@ void WelcomeDialog::install_it(void)
QFile file("/proc/meminfo");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
+ QTextStream t( &file ); // use a text stream
line = t.readLine();
if ( line.startsWith("MemTotal:"))
{
- currentitem = line.simplifyWhiteSpace();
+ currentitem = line.simplified();
currentitem = currentitem.section( " ", 1, 1 );
}
}
file.close();
- bool ok;
- int mem = currentitem.toInt( &ok, 10 ); // dec == 0, ok == FALSE
+// bool ok;
+// int mem = currentitem.toInt( &ok, 10 ); // dec == 0, ok == FALSE
// if ( mem >= 500000 )
@@ -1141,14 +1149,14 @@ void WelcomeDialog::install_it(void)
QString cmdtxt=MV_ROOT ;
//cmdtxt.append("bin/install_proxy.sh full_install_it " + install_drive + " " + rootfs + " " + rootsize + " " + datafs + " " + datasize + " " + swapsize + "&");
cmdtxt.append("bin/install_proxy.sh full_install_it &");
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
}
else if ( installtype == "Upgrade" )
{
QString cmdtxt=MV_ROOT ;
//cmdtxt.append("bin/install_proxy.sh upgrade_it " + install_drive + " " + uprootfs + "&");
cmdtxt.append("bin/install_proxy.sh upgrade_it &");
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
}
else if (installtype=="NET")
{
@@ -1165,11 +1173,11 @@ void WelcomeDialog::install_it(void)
QString h;
h=localhostname;
cmdtxt.append("bin/restore_default_settings.sh -c save -t syssettings -d 127.0.0.1 -h " + h);
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
cmdtxt=MV_ROOT ;
//cmdtxt.append("bin/install_proxy.sh NETBOOT " + install_drive + " &");
cmdtxt.append("bin/install_proxy.sh NETBOOT &");
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
}
WORKING_ON_INSTALL = true;
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.h b/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.h
index 9d54c39..432ea19 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.h
@@ -2,7 +2,6 @@
#define WELCOMEDIALOG_H_
#include <iostream>
-//Added by qt3to4:
#include <QKeyEvent>
using namespace std;
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp
index 05acc5e..aa599ee 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.cpp
@@ -4,8 +4,7 @@
#include <QtNetwork>
-//Added by qt3to4:
-#include <Q3TextStream>
+#include <QTextStream>
//#include "tv.h"
#include <stdlib.h>
#include "mythprogressdialog.h"
@@ -21,7 +20,7 @@
-int timezone_unknown = FALSE;
+int timezone_unknown = false;
extern HostParms hostparm;
//extern DDCinfo ddcinfo;
@@ -141,13 +140,13 @@ QString findnet()
QFile file("/tmp/.netinfo");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.contains("HWaddr"))
{
- QString s = line.simplifyWhiteSpace();
+ QString s = line.simplified();
s = s.section( " ", 0, 0 ); // s == "surname"
netdev+=s;
netdev+=" ";
@@ -168,13 +167,13 @@ QString findnet_wireless()
QFile file("/tmp/.netinfo_wireless");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.contains("Nickname") || line.contains("ESSID"))
{
- QString s = line.simplifyWhiteSpace();
+ QString s = line.simplified();
s = s.section( " ", 0, 0 ); // s == "surname"
netdev+=s;
netdev+=" ";
@@ -222,7 +221,7 @@ static HostComboBox *HostNetDevice()
return gc;
};
-
+/*
static HostCheckBox *HostActiveonboot()
{
HostCheckBox *gc = new HostCheckBox("HostActiveonboot");
@@ -232,7 +231,6 @@ static HostCheckBox *HostActiveonboot()
return gc;
};
-/*
static HostCheckBox *HostServiceSamba()
{
HostCheckBox *gc = new HostCheckBox("HostServiceSamba");
@@ -292,8 +290,8 @@ static HostComboBox *HostServiceSamba_domain()
QFile file("/tmp/smbdomainlist");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.startsWith("domain"))
@@ -307,7 +305,7 @@ static HostComboBox *HostServiceSamba_domain()
}
gc->addSelection("type_workgroup_here");
return gc;
-};*/
+};
static HostCheckBox *HostLircWait()
{
@@ -317,7 +315,7 @@ static HostCheckBox *HostLircWait()
gc->setHelpText(QObject::tr("System will wait for lirc before starting the UI "));
return gc;
};
-
+*/
static HostCheckBox *HostBEWait()
{
HostCheckBox *gc = new HostCheckBox("HostBEWait");
@@ -376,33 +374,32 @@ static HostCheckBox *HostServiceMythWEB()
return gc;
};
-// static HostCheckBox *HostServiceHobbitclient()
-// {
-// HostCheckBox *gc = new HostCheckBox("HostServiceHobbitclient");
-// gc->setLabel(QObject::tr("Hobbit-client"));
-// gc->setValue(false);
-// gc->setHelpText(QObject::tr("Report stats and other stuff to the master backend"));
-// return gc;
-// };
-//
-// static GlobalCheckBox *GlobalServiceHobbitserver()
-// {
-// GlobalCheckBox *gc = new GlobalCheckBox("GlobalServiceHobbitserver");
-// gc->setLabel(QObject::tr("Hobbit-server"));
-// gc->setValue(true);
-// gc->setHelpText(QObject::tr("Run the hobbit server to collect stats and other stuff"));
-// return gc;
-// };
+static HostCheckBox *HostServiceHobbitclient()
+{
+ HostCheckBox *gc = new HostCheckBox("HostServiceHobbitclient");
+ gc->setLabel(QObject::tr("Hobbit-client"));
+ gc->setValue(false);
+ gc->setHelpText(QObject::tr("Report stats and other stuff to the master backend"));
+ return gc;
+};
+static GlobalCheckBox *GlobalServiceHobbitserver()
+{
+ GlobalCheckBox *gc = new GlobalCheckBox("GlobalServiceHobbitserver");
+ gc->setLabel(QObject::tr("Hobbit-server"));
+ gc->setValue(true);
+ gc->setHelpText(QObject::tr("Run the hobbit server to collect stats and other stuff"));
+ return gc;
+};
-// static HostCheckBox *HostServiceRRD()
-// {
-// HostCheckBox *gc = new HostCheckBox("HostServiceRRD");
-// gc->setLabel(QObject::tr("rrd_stats"));
-// gc->setValue(false);
-// gc->setHelpText(QObject::tr("Collect stats and create graphs of various system resources."));
-// return gc;
-// };
+static HostCheckBox *HostServiceRRD()
+{
+ HostCheckBox *gc = new HostCheckBox("HostServiceRRD");
+ gc->setLabel(QObject::tr("rrd_stats"));
+ gc->setValue(false);
+ gc->setHelpText(QObject::tr("Collect stats and create graphs of various system resources."));
+ return gc;
+};
static HostCheckBox *HostUseDHCP()
{
@@ -462,8 +459,8 @@ static HostComboBox *HostMysqlserverip_listbox()
QFile file("/tmp/mysqllist");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.startsWith(" address"))
@@ -484,7 +481,7 @@ static HostComboBox *HostMysqlserverip_listbox()
gc->setHelpText(QObject::tr("The IP address of the MasterBackend MySQL server."));
QString NETBOOT = getenv("NETBOOT");
- NETBOOT=NETBOOT.stripWhiteSpace();
+ NETBOOT=NETBOOT.simplified();
if ( NETBOOT != "YES" )
{
if ( ((gCoreContext->GetSetting("HostaccesshostypeSystemtype")) == "0" ))
@@ -676,8 +673,8 @@ static HostComboBox *HostGScreensaverTheme()
QFile file(dirtxt);
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
gc->addSelection(line);
@@ -700,8 +697,8 @@ static HostComboBox *HostXScreensaverTheme()
QFile file(dirtxt);
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
gc->addSelection(line);
@@ -1090,26 +1087,6 @@ static HostCheckBox *Hostpluginmythweather()
};
-//static HostCheckBox *HostMiro()
-//{
-// HostCheckBox *gc = new HostCheckBox("HostMiro");
-// gc->setLabel(QObject::tr("Miro"));
-// gc->setValue(false);
-// gc->setHelpText(QObject::tr("Miro is a popular, free, and open internet TV application. It brings video channels from thousands of sources and has more free HD than any other platform."));
-// return gc;
-//};
-
-
-// static HostCheckBox *HostXine()
-// {
-// HostCheckBox *gc = new HostCheckBox("HostXine");
-// gc->setLabel(QObject::tr("Xine"));
-// gc->setValue(false);
-// gc->setHelpText(QObject::tr("Xine is a free multimedia player"));
-// return gc;
-// };
-
-
static HostCheckBox *Hostwebmin()
{
HostCheckBox *gc = new HostCheckBox("Hostwebmin");
@@ -1161,9 +1138,18 @@ static HostCheckBox *HostXBMC()
static HostCheckBox *HostPLEXHT()
{
HostCheckBox *gc = new HostCheckBox("HostPLEXHT");
- gc->setLabel(QObject::tr("Plex Home Theater"));
+ gc->setLabel(QObject::tr("OpenPHT"));
+ gc->setValue(false);
+ gc->setHelpText(QObject::tr("OpenPHT is a community driven fork of Plex Home Theater. OpenPHT is a full-featured, powerful App that connects to Plex Media Server and is designed to be used in the living room from the comfort of your lounge."));
+ return gc;
+};
+
+static HostCheckBox *HostPLEXMS()
+{
+ HostCheckBox *gc = new HostCheckBox("HostPLEXMS");
+ gc->setLabel(QObject::tr("Plex Media Server"));
gc->setValue(false);
- gc->setHelpText(QObject::tr("Plex organizes all of your personal media, wherever you keep it, so you can enjoy it on any device."));
+ gc->setHelpText(QObject::tr("Plex is a centralized home media playback system with a powerful central server - the Plex Media Server - that streams its media to many Plex player Apps."));
return gc;
};
@@ -1188,7 +1174,7 @@ static HostComboBox *Hostfoldingusername()
if ((new_line = strchr (username, '\n')))
new_line[0] = 0;
- cout << "found old username " << username << endl;
+ std::cout << "found old username " << username << endl;
//FIXME??
//gCoreContext->SetSetting("Hostfoldingusername", username);
gCoreContext->SaveSetting("Hostfoldingusername", username);
@@ -2386,20 +2372,20 @@ QString NetworkOptionsFrame::find_hostname()
cmdtxt.append("bin/systemconfig.py -m dhcp_request -d " );
cmdtxt.append(hostparm.ThisHostDefaultInterface);
myth_system(cmdtxt);
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
QString line;
QFile file("/tmp/mvnetwork.dhcpinfo");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.contains("new_host_name"))
{
- QString s = line.simplifyWhiteSpace();
+ QString s = line.simplified();
s = s.section( "=", 1, 1 ); // s == "surname"
- new_host = s.simplifyWhiteSpace();
+ new_host = s.simplified();
}
}
file.close();
@@ -2431,14 +2417,14 @@ static HostCheckBox *HostAutodown()
return gc;
};
-static HostSpinBox *HostWakeupTime()
-{
- HostSpinBox *gc = new HostSpinBox("HostWakeupTime", -1, 23, 1, true);
- gc->setLabel(QObject::tr("Power on time"));
- gc->setValue(6);
- gc->setHelpText(QObject::tr("Select the hour to auto poweron this system. Use -1 to disable" ));
- return gc;
-}
+//static HostSpinBox *HostWakeupTime()
+//{
+// HostSpinBox *gc = new HostSpinBox("HostWakeupTime", -1, 23, 1, true);
+// gc->setLabel(QObject::tr("Power on time"));
+// gc->setValue(6);
+// gc->setHelpText(QObject::tr("Select the hour to auto poweron this system. Use -1 to disable" ));
+// return gc;
+//}
static HostSpinBox *HostShutdownTime()
{
@@ -2460,23 +2446,23 @@ static HostSpinBox *HostShutdownTime2()
-static HostCheckBox *HostUseWOL()
-{
- HostCheckBox *gc = new HostCheckBox("HostUseWOL");
- gc->setLabel(QObject::tr("Use Wake on Lan to turn on system"));
- gc->setValue(true);
- gc->setHelpText(QObject::tr("Unless you know what your doing leave it checked"));
- return gc;
-};
+//static HostCheckBox *HostUseWOL()
+//{
+// HostCheckBox *gc = new HostCheckBox("HostUseWOL");
+// gc->setLabel(QObject::tr("Use Wake on Lan to turn on system"));
+// gc->setValue(true);
+// gc->setHelpText(QObject::tr("Unless you know what your doing leave it checked"));
+// return gc;
+//};
-static HostCheckBox *HostUseNVRAM()
-{
- HostCheckBox *gc = new HostCheckBox("HostUseNVRAM");
- gc->setLabel(QObject::tr("Use nvram to turn on system"));
- gc->setValue(true);
- gc->setHelpText(QObject::tr("Leaved checked unless nvram causes problems."));
- return gc;
-};
+//static HostCheckBox *HostUseNVRAM()
+//{
+// HostCheckBox *gc = new HostCheckBox("HostUseNVRAM");
+// gc->setLabel(QObject::tr("Use nvram to turn on system"));
+// gc->setValue(true);
+// gc->setHelpText(QObject::tr("Leaved checked unless nvram causes problems."));
+// return gc;
+//};
static HostCheckBox *HostUseXLargeMouse()
@@ -2766,31 +2752,6 @@ SoundSettings::SoundSettings():
addChild(HostAudiotype);
setTrigger(HostAudiotype);
-// HostsyncXine = new HostCheckBox("HostsyncXine");
-// HostsyncXine->setLabel(QObject::tr("Xine"));
-// HostsyncXine->setValue(true);
-//
-// HostsyncMplayer = new HostCheckBox("HostsyncMplayer");
-// HostsyncMplayer->setLabel(QObject::tr("mplayer"));
-// HostsyncMplayer->setValue(true);
-//
-// HostsyncMythMusic = new HostCheckBox("HostsyncMythMusic");
-// HostsyncMythMusic->setLabel(QObject::tr("mythmusic"));
-// HostsyncMythMusic->setValue(true);
-//
-// HostsyncMythFrontend = new HostCheckBox("HostsyncMythFrontend");
-// HostsyncMythFrontend->setLabel(QObject::tr("mythfrontend"));
-// HostsyncMythFrontend->setValue(true);
-
-
-
-
-// HorizontalConfigurationGroup *syncboxes = new HorizontalConfigurationGroup(false, false, true, true);
-// syncboxes->addChild(HostsyncXine);
-// syncboxes->addChild(HostsyncMplayer);
-// syncboxes->addChild(HostsyncMythMusic);
-// syncboxes->addChild(HostsyncMythFrontend);
-
HorizontalConfigurationGroup *lp = new HorizontalConfigurationGroup(false, false, true, true);
HorizontalConfigurationGroup *lpalsa = new HorizontalConfigurationGroup(false, false, true, true);
@@ -2801,13 +2762,13 @@ SoundSettings::SoundSettings():
TransButtonSetting *TestAudiobutton = new TransButtonSetting();
TestAudiobutton->setLabel(tr("Test Device"));
- TestAudiobutton->setHelpText(QObject::tr("Will play a sound using the selected default device."));
+ TestAudiobutton->setHelpText(QObject::tr("Play a sound using the selected default device."));
lp->addChild(TestAudiobutton);
lp->addChild(LoadOSSbutton);
TransButtonSetting *TestALSAAudiobutton = new TransButtonSetting();
TestALSAAudiobutton->setLabel(tr("Test Device"));
- TestALSAAudiobutton->setHelpText(QObject::tr("Will play a sound using the selected default device."));
+ TestALSAAudiobutton->setHelpText(QObject::tr("Play a sound using the selected default device."));
lpalsa->addChild(TestALSAAudiobutton);
lpalsa->addChild(LoadALSAbutton);
@@ -2822,7 +2783,6 @@ SoundSettings::SoundSettings():
ConfigurationGroup* osssettings = new VerticalConfigurationGroup(false);
osssettings->addChild(osslabel);
osssettings->addChild(OSS);
- // osssettings->addChild(syncboxes);
osssettings->addChild(lp);
connect(this, SIGNAL(oss_sig()),
OSS, SLOT(soundossgathersettings()));
@@ -2836,7 +2796,6 @@ SoundSettings::SoundSettings():
ConfigurationGroup* alsasettings = new VerticalConfigurationGroup(false);
alsasettings->addChild(AlsaLabel);
alsasettings->addChild(ALSA);
-// alsasettings->addChild(syncboxes);
alsasettings->addChild(lpalsa);
connect(this, SIGNAL(alsa_sig()),
@@ -2854,54 +2813,26 @@ SoundOSSsettings::SoundOSSsettings():
TriggeredConfigurationGroup(true,false,true,true,true,true,true,true)
{
SetVertical(true);
- HostSoundTypeout = new HostComboBox("HostSoundTypeout");
- HostSoundTypeout->setLabel(QObject::tr("Audio Type"));
- HostSoundTypeout->addSelection("Analog");
- HostSoundTypeout->addSelection("Digital");
- HostSoundTypeout->setHelpText(QObject::tr("Select the connection type, Analog or Digital."));
-
- HostSoundOssAnalog = new HostComboBox("HostSoundOssAnalog");
- HostSoundOssAnalog->setLabel(QObject::tr("Default Device"));
- HostSoundOssAnalog->setHelpText(QObject::tr("Select the default audio output device for the system."));
- HostSoundOssDigital = new HostComboBox("HostSoundOssDigital");
- HostSoundOssDigital->setLabel(QObject::tr("Default Device"));
- HostSoundOssDigital->setHelpText(QObject::tr("Select the default audio output device for the system."));
+ HostSoundOssAll = new HostComboBox("HostSoundOssAll");
+ HostSoundOssAll->setLabel(QObject::tr("Default Device"));
+ HostSoundOssAll->setHelpText(QObject::tr("Select the default audio output device for the system."));
fillossselection();
- int findossanalog=HostSoundOssAnalog->findSelection(hostparm.OLDHostSoundOSSAnalog );
- int findossdigital=HostSoundOssDigital->findSelection(hostparm.OLDHostSoundOSSDigital );
- HostSoundOssAnalog->setValue(findossanalog);
- HostSoundOssDigital->setValue(findossdigital);
- addChild(HostSoundTypeout);
- setTrigger(HostSoundTypeout);
- addTarget("Analog", HostSoundOssAnalog);
- addTarget("Digital", HostSoundOssDigital);
+ int findossall=HostSoundOssAll->findSelection(hostparm.OLDHostSoundOSSAll );
+ HostSoundOssAll->setValue(findossall);
+ addTarget("All", HostSoundOssAll);
};
SoundALSAsettings::SoundALSAsettings():
TriggeredConfigurationGroup(true,false,true,true,true,true,true,true)
{
SetVertical(true);
- HostSoundALSATypeout = new HostComboBox("HostSoundALSATypeout");
- HostSoundALSATypeout->setLabel(QObject::tr("Audio Type"));
- HostSoundALSATypeout->addSelection("Analog");
- HostSoundALSATypeout->addSelection("Digital");
- HostSoundALSATypeout->setHelpText(QObject::tr("Select the connection type, Analog or Digital."));
-
- HostSoundALSAAnalog = new HostComboBox("HostSoundALSAAnalog");
- HostSoundALSAAnalog->setLabel(QObject::tr("Default Device"));
- HostSoundALSAAnalog->setHelpText(QObject::tr("Select the default audio output device for the system. Chrome, aplay and other programs that use the default system device for audio will use this device. Mplayer will be set to use this device."));
- HostSoundALSADigital = new HostComboBox("HostSoundALSADigital");
- HostSoundALSADigital->setLabel(QObject::tr("Default Device"));
- HostSoundALSADigital->setHelpText(QObject::tr("Select the default audio output device for the system. Chrome, aplay and other programs that use the default system device for audio will use this device. Mplayer will be set to use this device."));
+ HostSoundALSAAll = new HostComboBox("HostSoundALSAAll");
+ HostSoundALSAAll->setLabel(QObject::tr("Default Device"));
+ HostSoundALSAAll->setHelpText(QObject::tr("Select the default audio output device for the system. Chrome, aplay and other programs that use the default system device for audio will use this device. Mplayer will be set to use this device."));
fillALSAselection();
- int findalsaanalog=HostSoundALSAAnalog->findSelection(hostparm.OLDHostSoundALSAAnalog );
- int findalsadigital=HostSoundALSADigital->findSelection(hostparm.OLDHostSoundALSADigital );
- HostSoundALSAAnalog->setValue(findalsaanalog);
- HostSoundALSADigital->setValue(findalsadigital);
- addChild(HostSoundALSATypeout);
- setTrigger(HostSoundALSATypeout);
- addTarget("Analog", HostSoundALSAAnalog);
- addTarget("Digital", HostSoundALSADigital);
+ int findalsaall=HostSoundALSAAll->findSelection(hostparm.OLDHostSoundALSAAll );
+ HostSoundALSAAll->setValue(findalsaall);
+ addTarget("All", HostSoundALSAAll);
};
void SoundOSSsettings::loadossdriver()
@@ -2911,7 +2842,7 @@ void SoundOSSsettings::loadossdriver()
cmdtxt="sudo ";
cmdtxt.append(MV_ROOT) ;
cmdtxt.append("bin/soundconfig.sh -t LOAD -i OSS &");
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
int return_code = 0;
QString msgtext = "Loading OSS driver" ;
@@ -2920,6 +2851,7 @@ void SoundOSSsettings::loadossdriver()
MythUIBusyDialog *busyPopup = new MythUIBusyDialog(msgtext, popupStack,
"ossbusy");
+
int progressbar=1;
MythProgressDialog *popupProgress = NULL;
popupProgress = new MythProgressDialog(msgtext, 50);
@@ -2957,7 +2889,6 @@ void SoundOSSsettings::loadossdriver()
busyPopup = NULL;
}
-
if (popupProgress)
{
popupProgress->Close();
@@ -2965,7 +2896,6 @@ void SoundOSSsettings::loadossdriver()
}
fillossselection();
-
}
void SoundALSAsettings::loadalsadriver()
{
@@ -2973,9 +2903,11 @@ void SoundALSAsettings::loadalsadriver()
cmdtxt="sudo ";
cmdtxt.append(MV_ROOT) ;
cmdtxt.append("bin/soundconfig.sh -t LOAD -i ALSA &");
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
int return_code = 0;
+
QString msgtext = "Loading ALSA driver" ;
+
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
MythUIBusyDialog *busyPopup = new MythUIBusyDialog(msgtext, popupStack,"installbusy");
if (busyPopup->Create())
@@ -3022,11 +2954,7 @@ void SoundALSAsettings::loadalsadriver()
popupProgress->deleteLater();
}
- HostSoundALSAAnalog-> clearSelections();
- HostSoundALSADigital-> clearSelections();
-
fillALSAselection();
-
}
void SoundOSSsettings::fillossselection()
{
@@ -3040,14 +2968,12 @@ void SoundOSSsettings::fillossselection()
QRegExp sep( "\t" );
QFile file(currentfile);
QString ossfound="false";
- HostSoundOssAnalog->clearSelections();
- HostSoundOssDigital-> clearSelections();
-
+ HostSoundOssAll->clearSelections();
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if (line.contains("device index") )
@@ -3055,24 +2981,20 @@ void SoundOSSsettings::fillossselection()
legacy_device = t.readLine();
legacy_device= legacy_device.section( "/",2,2);
currentitemtext=line.section( "/" , 0 ,0 );
- simpleitem = currentitemtext.simplifyWhiteSpace();
+ simpleitem = currentitemtext.simplified();
simpleitem = simpleitem.remove ( "(" );
simpleitem = simpleitem.remove ( ")" );
simpleitem.append(" (");
simpleitem.append(legacy_device);
simpleitem.append(")");
- if (line.contains("spdout") || line.contains("digital") )
- HostSoundOssDigital->addSelection(simpleitem);
- else
- HostSoundOssAnalog->addSelection(simpleitem);
+ HostSoundOssAll->addSelection(simpleitem);
ossfound="true";
}
}
if (ossfound=="false")
{
- simpleitem="No cards found, try loading the OSS drivers";
- HostSoundOssAnalog->addSelection(simpleitem);
- HostSoundOssDigital->addSelection(simpleitem);
+ simpleitem="No devices found, try loading the OSS driver";
+ HostSoundOssAll->addSelection(simpleitem);
}
}
return ;
@@ -3081,9 +3003,8 @@ void SoundOSSsettings::fillossselection()
void SoundALSAsettings::fillALSAselection()
{
- HostSoundALSAAnalog-> clearSelections();
- HostSoundALSADigital-> clearSelections();
- myth_system("aplay -l > /tmp/alsadevices");
+ HostSoundALSAAll-> clearSelections();
+ myth_system("aplay -l > /tmp/alsadevices 2>&1");
QString currentfile = "/tmp/alsadevices";
QString line;
QString hwdevice;
@@ -3092,24 +3013,25 @@ void SoundALSAsettings::fillALSAselection()
QString temphwdevice;
QString simpleitem;
QFile file(currentfile);
+
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
+ if (line.contains("no soundcards found..."))
+ {
+ simpleitem="No devices found, try loading the ALSA driver";
+ HostSoundALSAAll->addSelection(simpleitem);
+ break;
+ }
if (line.startsWith("card") )
{
- if (line.contains("snd_ctl_card_info"))
- {
- simpleitem="Try loading the alsa drivers";
- HostSoundALSAAnalog->addSelection(simpleitem);
- HostSoundALSADigital->addSelection(simpleitem);
- break;
- }
//card 0: I82801DBICH4:q [Intel 82801DB-ICH4], device 0: Intel ICH [Intel 82801DB-ICH4]
alsadescription=line.section( ", " , 0 ,0 );
- alsadescription=alsadescription.section(":",1,1);
+ alsadescription=alsadescription.section(": ",1,1);
+ alsadescription=alsadescription.section(" ",0,0);
alsadescription2=line.section( ", " , 1 ,1 );
//alsadescription2=alsadescription.section(":",0,0);
@@ -3122,11 +3044,8 @@ void SoundALSAsettings::fillALSAselection()
temphwdevice=temphwdevice.section(" ",-1,-1 );
hwdevice.append(",");
hwdevice.append(temphwdevice);
- simpleitem=alsadescription2 + "(plughw:" + hwdevice + ")";
- if (line.contains("IEC958") || line.contains("Digital") || line.contains("PCM") || line.contains("HDMI"))
- HostSoundALSADigital->addSelection(simpleitem);
- else
- HostSoundALSAAnalog->addSelection(simpleitem);
+ simpleitem=alsadescription + " " + alsadescription2 + "(plughw:" + alsadescription + "," + temphwdevice + ")";
+ HostSoundALSAAll->addSelection(simpleitem);
}
}
}
@@ -3135,15 +3054,15 @@ void SoundALSAsettings::fillALSAselection()
QFile file1(currentfile);
if ( file1.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file1 ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file1 ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if (line.startsWith("iec958:") )
{
alsadescription=line;
simpleitem=alsadescription + "(plug:iec958)";
- HostSoundALSADigital->addSelection(simpleitem);
+ HostSoundALSAAll->addSelection(simpleitem);
break;
}
}
@@ -3154,20 +3073,12 @@ void SoundALSAsettings::fillALSAselection()
void SoundSettings::soundossgathersettings_1 (void)
{
hostparm.ThisHostAudiotype = HostAudiotype->getValue();
-// hostparm.ThisHostsyncXine = HostsyncXine->getValue();
-// hostparm.ThisHostsyncMplayer = HostsyncMplayer->getValue();
-// hostparm.ThisHostsyncMythMusic = HostsyncMythMusic->getValue();
-// hostparm.ThisHostsyncMythFrontend = HostsyncMythFrontend->getValue();
// emit the signal to call soundossgathersetting.
emit oss_sig();
};
void SoundSettings::soundalsagathersettings_1 (void)
{
hostparm.ThisHostAudiotype = HostAudiotype->getValue();
-// hostparm.ThisHostsyncXine = HostsyncXine->getValue();
-// hostparm.ThisHostsyncMplayer = HostsyncMplayer->getValue();
-// hostparm.ThisHostsyncMythMusic = HostsyncMythMusic->getValue();
-// hostparm.ThisHostsyncMythFrontend = HostsyncMythFrontend->getValue();
// emit the signal to call soundALSAgathersetting.
emit alsa_sig();
};
@@ -3175,18 +3086,9 @@ void SoundSettings::soundalsagathersettings_1 (void)
void SoundOSSsettings::soundossgathersettings(void)
{
- hostparm.ThisHostSoundTypeout = HostSoundTypeout->getValue() ;
- hostparm.ThisHostSoundOSSAnalog = HostSoundOssAnalog->getValue();
- hostparm.ThisHostSoundOSSDigital = HostSoundOssDigital->getValue();
+ hostparm.ThisHostSoundOSSAll = HostSoundOssAll->getValue();
QString tempdevice;
- if ( hostparm.ThisHostSoundTypeout == "Analog" )
- {
- tempdevice = hostparm.ThisHostSoundOSSAnalog ;
- }
- else
- {
- tempdevice = hostparm.ThisHostSoundOSSDigital ;
- };
+ tempdevice = hostparm.ThisHostSoundOSSAll ;
tempdevice = tempdevice.section( "(", 1,1 );
tempdevice = tempdevice.section( ")", 0,0 );
hostparm.ThisHostSoundDevice = "/dev/";
@@ -3194,8 +3096,8 @@ void SoundOSSsettings::soundossgathersettings(void)
// Add info popup right here
QString cmdtxt;
cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/soundconfig.sh -t test -i OSS -d " + hostparm.ThisHostSoundDevice + "&");
- system(cmdtxt);
+ cmdtxt.append("bin/soundconfig.sh -t test -i OSS -d " + hostparm.ThisHostSoundDevice + "&");
+ system(qPrintable(cmdtxt));
int return_code = 0;
QString msgtext = "Playing Test Audio" ;
@@ -3210,10 +3112,6 @@ void SoundOSSsettings::soundossgathersettings(void)
popupProgress->setProgress(progressbar);
}
-
-
-
-
if (busyPopup->Create())
{
popupStack->AddScreen(busyPopup, false);
@@ -3224,9 +3122,6 @@ void SoundOSSsettings::soundossgathersettings(void)
busyPopup = NULL;
}
-
-
-
while ( return_code == 0 )
{
progressbar++;
@@ -3256,19 +3151,10 @@ void SoundOSSsettings::soundossgathersettings(void)
void SoundALSAsettings::soundalsagathersettings(void)
{
- hostparm.ThisHostSoundALSATypeout = HostSoundALSATypeout->getValue() ;
- hostparm.ThisHostSoundALSAAnalog = HostSoundALSAAnalog->getValue();
- hostparm.ThisHostSoundALSADigital = HostSoundALSADigital->getValue();
+ hostparm.ThisHostSoundALSAAll = HostSoundALSAAll->getValue();
QString tempdevice;
- if ( hostparm.ThisHostSoundALSATypeout == "Analog" )
- {
- tempdevice = hostparm.ThisHostSoundALSAAnalog ;
- }
- else
- {
- tempdevice = hostparm.ThisHostSoundALSADigital ;
- };
+ tempdevice = hostparm.ThisHostSoundALSAAll ;
tempdevice = tempdevice.section( "(", 1,1 );
tempdevice = tempdevice.section( ")", 0,0 );
hostparm.ThisHostSoundDevice = tempdevice;
@@ -3276,7 +3162,7 @@ void SoundALSAsettings::soundalsagathersettings(void)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/soundconfig.sh -t test -i ALSA -d " + hostparm.ThisHostSoundDevice + "&");
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
int return_code = 0;
QString msgtext = "Playing Test Audio" ;
MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
@@ -3300,7 +3186,6 @@ void SoundALSAsettings::soundalsagathersettings(void)
}
-
while ( return_code == 0 )
{
progressbar++;
@@ -3326,9 +3211,6 @@ void SoundALSAsettings::soundalsagathersettings(void)
popupProgress->deleteLater();
}
-
-
-
};
@@ -3480,7 +3362,7 @@ void pre_writesettings ()
//I don't think this is needed anymore
tz=gCoreContext->GetSetting("HostTimeZone");
if ( tz.isEmpty() || (tz == "Unknown"))
- timezone_unknown = TRUE;
+ timezone_unknown = true;
//-----------
tregion=gCoreContext->GetSetting("HostTimeZoneRegion");
@@ -3918,27 +3800,15 @@ void writesettings ()
// AUDIO SETTINGS
//******************************************************************************************
hostparm.ThisHostAudiotype = gCoreContext->GetSetting("HostAudiotype");
-// hostparm.ThisHostsyncXine = gCoreContext->GetSetting("HostsyncXine");
-// hostparm.ThisHostsyncMplayer = gCoreContext->GetSetting("HostsyncMplayer");
-// hostparm.ThisHostsyncMythMusic = gCoreContext->GetSetting("HostsyncMythMusic");
-// hostparm.ThisHostsyncMythFrontend = gCoreContext->GetSetting("HostsyncMythFrontend");
- hostparm.ThisHostSoundTypeout = gCoreContext->GetSetting("HostSoundTypeout") ;
- hostparm.ThisHostSoundOSSAnalog = gCoreContext->GetSetting("HostSoundOssAnalog");
- hostparm.ThisHostSoundOSSDigital = gCoreContext->GetSetting("HostSoundOssDigital");
- hostparm.ThisHostSoundALSATypeout = gCoreContext->GetSetting("HostSoundALSATypeout") ;
- hostparm.ThisHostSoundALSAAnalog = gCoreContext->GetSetting("HostSoundALSAAnalog");
- hostparm.ThisHostSoundALSADigital = gCoreContext->GetSetting("HostSoundALSADigital");
+ hostparm.ThisHostSoundOSSAll = gCoreContext->GetSetting("HostSoundOssAll");
+ hostparm.ThisHostSoundALSAAll = gCoreContext->GetSetting("HostSoundALSAAll");
if ( hostparm.ThisHostAudiotype == "OSS" )
{
QString tempdevice;
QChar tempchar ;
hostparm.ThisHostSoundDevice = "/dev/dsp";
- if ( hostparm.ThisHostSoundTypeout == "Analog" )
- tempdevice = hostparm.ThisHostSoundOSSAnalog ;
-
- if ( hostparm.ThisHostSoundTypeout == "Digital" )
- tempdevice = hostparm.ThisHostSoundOSSDigital ;
+ tempdevice = hostparm.ThisHostSoundOSSAll ;
int tlength=(tempdevice.length() -2 );
if ( tlength > 0 )
@@ -3952,19 +3822,12 @@ void writesettings ()
if ( hostparm.ThisHostAudiotype == "ALSA" )
{
QString tempdevice;
- hostparm.ThisHostSoundTypeout = hostparm.ThisHostSoundALSATypeout;
- if ( hostparm.ThisHostSoundTypeout == "Digital" )
- tempdevice=hostparm.ThisHostSoundALSADigital;
- if ( hostparm.ThisHostSoundTypeout == "Analog" )
- tempdevice=hostparm.ThisHostSoundALSAAnalog;
+ tempdevice=hostparm.ThisHostSoundALSAAll;
tempdevice = tempdevice.section( "(", 1,1 );
tempdevice = tempdevice.section( ")", 0,0 );
hostparm.ThisHostSoundDevice = tempdevice;
}
-// Turn off internal audio controls is digital audio is seleced
- if ( hostparm.ThisHostSoundTypeout == "Digital" )
- gCoreContext->SaveSetting("MythControlsVolume","0");
// LCD TYPE
hostparm.ThisHostLCDType = gCoreContext->GetSetting("HostLCDType");
@@ -3994,16 +3857,15 @@ void writesettings ()
hostparm.ThisHostpluginmythvideo_dvdcss = gCoreContext->GetSetting("Hostpluginmythvideo_dvdcss");
hostparm.ThisHostpluginmythappletrailers= gCoreContext->GetSetting("Hostpluginmythappletrailers");
-// hostparm.ThisHostMiro= gCoreContext->GetSetting("HostMiro");
hostparm.ThisHostpluginmythgameMednafen= gCoreContext->GetSetting("HostpluginmythgameMednafen");
hostparm.ThisHostpluginmythgameROMDB= gCoreContext->GetSetting("HostpluginmythgameROMDB");
hostparm.ThisHostpluginmythgameMupen64= gCoreContext->GetSetting("HostpluginmythgameMupen64");
-// hostparm.ThisHostXine = gCoreContext->GetSetting("HostXine");
hostparm.ThisHostwebmin = gCoreContext->GetSetting("Hostwebmin");
hostparm.ThisHostHuluDesktop = gCoreContext->GetSetting("HostHuluDesktop");
hostparm.ThisHostwebonlinhes = gCoreContext->GetSetting("HostWebonlinhes");
hostparm.ThisHostXBMC = gCoreContext->GetSetting("HostXBMC");
hostparm.ThisHostPLEXHT = gCoreContext->GetSetting("HostPLEXHT");
+ hostparm.ThisHostPLEXMS = gCoreContext->GetSetting("HostPLEXMS");
hostparm.ThisHostfoldingathome = gCoreContext->GetSetting("Hostfoldingathome");
hostparm.ThisHostfoldingusername = gCoreContext->GetSetting("Hostfoldingusername");
@@ -4088,7 +3950,7 @@ void writesettings ()
QString divider;
QFile f( "/etc/systemconfig" );
- if( !f.open( IO_WriteOnly ) )
+ if( !f.open( QIODevice::WriteOnly | QIODevice::Text ) )
std::cout << "Failed to open file /etc/systemconfig." << std::endl;
QTextStream myfile( &f );
@@ -4298,12 +4160,7 @@ void writesettings ()
myfile << systemheader ;
myfile << divider ;
myfile << "Audiotype=\"" + hostparm.ThisHostAudiotype + "\"\n";
- myfile << "Audiotypeout=\"" + hostparm.ThisHostSoundTypeout + "\"\n";
myfile << "SoundDevice=\"" + hostparm.ThisHostSoundDevice+ "\"\n";
-// myfile << "syncXine=\"" + hostparm.ThisHostsyncXine + "\"\n";
-// myfile << "syncMplayer=\"" + hostparm.ThisHostsyncMplayer + "\"\n";
-// myfile << "syncMythMusic=\"" + hostparm.ThisHostsyncMythMusic + "\"\n";
-// myfile << "syncMythFrontend=\"" + hostparm.ThisHostsyncMythFrontend + "\"\n";
systemheader= "\n# Software settings\n" ;
@@ -4333,15 +4190,14 @@ void writesettings ()
myfile << "dvdcss=\"" + hostparm.ThisHostpluginmythvideo_dvdcss + "\"\n";
myfile << "mythappletrailers=\"" + hostparm.ThisHostpluginmythappletrailers + "\"\n";
-// myfile << "miro=\"" + hostparm.ThisHostMiro + "\"\n";
myfile << "webonlinhes=\"" + hostparm.ThisHostwebonlinhes + "\"\n";
myfile << "huludesktop=\"" + hostparm.ThisHostHuluDesktop + "\"\n";
myfile << "kodi=\"" + hostparm.ThisHostXBMC + "\"\n";
myfile << "plexhometheater=\"" + hostparm.ThisHostPLEXHT + "\"\n";
+ myfile << "plexmediaserver=\"" + hostparm.ThisHostPLEXMS + "\"\n";
myfile << "foldingathome=\"" + hostparm.ThisHostfoldingathome + "\"\n";
myfile << "foldingusername=\"" + hostparm.ThisHostfoldingusername + "\"\n";
myfile << "foldingworksize=\"" + hostparm.ThisHostfoldingworksize + "\"\n";
- // myfile << "xine=\"" + hostparm.ThisHostXine + "\"\n";
myfile << "webmin=\"" + hostparm.ThisHostwebmin + "\"\n";
@@ -4656,23 +4512,33 @@ MythInstallSettings::MythInstallSettings()
{
//remove old sound card setting from the db. This is useful for when the saved setting is no longer valid for this machine.
// Later search the list and set the value to the old setting if found in the dropdown.
- hostparm.OLDHostSoundOSSAnalog = gCoreContext->GetSetting("HostSoundOssAnalog");
- hostparm.OLDHostSoundOSSDigital = gCoreContext->GetSetting("HostSoundOssDigital");
- hostparm.OLDHostSoundALSAAnalog = gCoreContext->GetSetting("HostSoundALSAAnalog");
- hostparm.OLDHostSoundALSADigital= gCoreContext->GetSetting("HostSoundALSADigital");
+ hostparm.OLDHostSoundOSSAll = gCoreContext->GetSetting("HostSoundOssAll");
+ hostparm.OLDHostSoundALSAAll = gCoreContext->GetSetting("HostSoundALSAAll");
MSqlQuery query(MSqlQuery::InitCon());
+ query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundOssAll'; " );
+ query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
+ query.exec();
query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundOssAnalog'; " );
query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
query.exec();
+ query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundOssDigital'; " );
+ query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
+ query.exec();
+ query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundALSAAll'; " );
+ query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
+ query.exec();
query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundALSAAnalog'; " );
query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
query.exec();
query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundALSADigital'; " );
query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
query.exec();
- query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundOssDigital'; " );
+ query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundALSATypeout'; " );
+ query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
+ query.exec();
+ query.prepare( "delete from settings where hostname=:HOSTNAME and value = 'HOSTSoundTypeout'; " );
query.bindValue( ":HOSTNAME" , gCoreContext->GetHostName() );
query.exec();
@@ -4758,15 +4624,14 @@ MythInstallSettings::MythInstallSettings()
ConfigurationGroup *GridShowPlugin4 = new GridConfigurationGroup(2,false);
GridShowPlugin4->setLabel(QObject::tr("Programs (3/4)"));
GridShowPlugin4->addChild(Hostpluginmythappletrailers());
- //GridShowPlugin4->addChild(HostMiro());
- //GridShowPlugin4->addChild(HostXine());
GridShowPlugin4->addChild(HostHuluDesktop());
GridShowPlugin4->addChild(HostPLEXHT());
+ GridShowPlugin4->addChild(HostPLEXMS());
GridShowPlugin4->addChild(Hostwebmin());
GridShowPlugin4->addChild(Hostwebonlinhes());
GridShowPlugin4->addChild(HostXBMC());
- ConfigurationGroup *GridShowPlugin5 = new GridConfigurationGroup(2);
+ //ConfigurationGroup *GridShowPlugin5 = new GridConfigurationGroup(2);
ConfigurationGroup *GridShowPlugin6 = new VerticalConfigurationGroup(false,true);
GridShowPlugin6->setLabel(QObject::tr("Programs (4/4)"));
@@ -4859,5 +4724,3 @@ MythInstallSettings::MythInstallSettings()
}
};
-
-
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h
index cd2983b..3a53048 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installsettings.h
@@ -190,10 +190,6 @@ class SoundSettings: public TriggeredConfigurationGroup {
public:
SoundSettings();
HostComboBox *HostAudiotype;
- HostCheckBox *HostsyncXine;
- HostCheckBox *HostsyncMplayer;
- HostCheckBox *HostsyncMythMusic;
- HostCheckBox *HostsyncMythFrontend;
signals:
@@ -210,9 +206,7 @@ class SoundOSSsettings: public TriggeredConfigurationGroup {
Q_OBJECT
public:
SoundOSSsettings();
- HostComboBox *HostSoundOssAnalog;
- HostComboBox *HostSoundOssDigital;
- HostComboBox *HostSoundTypeout;
+ HostComboBox *HostSoundOssAll;
void fillossselection();
public slots:
void soundossgathersettings();
@@ -223,9 +217,7 @@ class SoundALSAsettings: public TriggeredConfigurationGroup {
Q_OBJECT
public:
SoundALSAsettings();
- HostComboBox *HostSoundALSAAnalog;
- HostComboBox *HostSoundALSADigital;
- HostComboBox *HostSoundALSATypeout;
+ HostComboBox *HostSoundALSAAll;
void fillALSAselection();
public slots:
void soundalsagathersettings();
@@ -483,28 +475,14 @@ struct HostParms
QString ThisHostXNvidia1080i;
QString ThisHostXNvidia720p;
QString ThisHostXNvidia480p;
- QString ThisHostAudiotype;
-
- QString ThisHostSoundTypeout;
- QString ThisHostSoundOSSAnalog;
- QString OLDHostSoundOSSAnalog;
- QString ThisHostSoundOSSDigital;
- QString OLDHostSoundOSSDigital;
- QString ThisHostSoundDigital;
+ QString ThisHostAudiotype;
+ QString ThisHostSoundOSSAll;
+ QString OLDHostSoundOSSAll;
QString ThisHostSoundDevice;
+ QString ThisHostSoundALSAAll;
+ QString OLDHostSoundALSAAll;
- QString ThisHostSoundALSAAnalog;
- QString OLDHostSoundALSAAnalog;
- QString ThisHostSoundALSADigital;
- QString OLDHostSoundALSADigital;
- QString ThisHostSoundALSATypeout;
-
-
- QString ThisHostsyncXine;
- QString ThisHostsyncMplayer;
- QString ThisHostsyncMythMusic;
- QString ThisHostsyncMythFrontend;
QString ThisHostLCDType;
QString ThisHostRemoteBackup;
QString ThisHostRemoteBackupDir;
@@ -521,10 +499,10 @@ struct HostParms
QString ThisHostpluginmythvideo_dvdcss;
QString ThisHostpluginmythappletrailers;
-// QString ThisHostMiro;
QString ThisHostwebonlinhes;
QString ThisHostXBMC;
QString ThisHostPLEXHT;
+ QString ThisHostPLEXMS;
QString ThisHostHuluDesktop;
QString ThisHostpluginmythgameMame;
@@ -536,7 +514,6 @@ struct HostParms
QString ThisHostpluginmythgameDolphin;
QString ThisHostpluginmythgameXe;
-// QString ThisHostXine;
QString ThisHostwebmin;
QString ThisHostfoldingathome;
QString ThisHostfoldingusername;
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
index 4c243b5..b6e66cd 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
@@ -1,7 +1,4 @@
//#include <qapplication.h>
-//Added by qt3to4:
-#include <Q3TextStream>
-
#include "installdialog.h"
#include "installsettings.h"
@@ -16,7 +13,7 @@
#include <QApplication>
#include <QFileInfo>
#include <QDir>
-
+#include <QTextStream>
#include <cstdlib>
@@ -151,7 +148,8 @@ int main(int argc, char **argv)
bShowSettings = true;
LOG(VB_GENERAL, LOG_INFO, QString("mythinstall: Screen stuff"));
QString tmpArg = (cmdline.toString("screen")) ;
- QStringList pairs = QStringList::split(",", tmpArg);
+// QStringList pairs = QStringList::split(",", tmpArg);
+ QStringList pairs = tmpArg.split(",");
for (int index = 0; index < pairs.size(); ++index)
{
if ( pairs[index] == "network" )
@@ -330,7 +328,8 @@ int main(int argc, char **argv)
"mythweather",
"mythzoneminder",
"huludesktop",
- "plex-home-theater",
+ "openpht",
+ "plex-media-server",
"kodi",
"webmin",
"web-on-linhes",
@@ -356,6 +355,7 @@ int main(int argc, char **argv)
"Hostpluginmythzoneminder",
"HostHuluDesktop",
"HostPLEXHT",
+ "HostPLEXMS",
"HostXBMC",
"Hostwebmin",
"Hostwebonlinhes",
@@ -399,10 +399,9 @@ int main(int argc, char **argv)
int status = system("diff /tmp/systemconfig.bak /etc/systemconfig");
bool restart = false;
//save my settings in case db switches
- QString cmdtxt;
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb);
- system(cmdtxt);
+ QString cmdtxt=MV_ROOT;
+ cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb);
+ system(qPrintable(cmdtxt));
if ( status != 0 )
{
@@ -415,9 +414,9 @@ int main(int argc, char **argv)
restart = true;
//db changed save setting from olddb
QString cmdtxt;
- cmdtxt=MV_ROOT ;
+ cmdtxt=MV_ROOT;
cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb ) ;
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
}
if ( runconfig )
@@ -458,7 +457,7 @@ int main(int argc, char **argv)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/systemconfig.sh reloadfe" );
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
}
gCoreContext->ActivateSettingsCache(false);
gCoreContext->ClearSettingsCache();
@@ -594,8 +593,8 @@ int main(int argc, char **argv)
QFile file("/usr/MythVantage/README");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
problems->append(line);
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.cpp
index 2914630..77e9152 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/misc_settings.cpp
@@ -1,8 +1,7 @@
#include <unistd.h>
#include "misc_settings.h"
#include "mv_common.h"
-//Added by qt3to4:
-#include <Q3TextStream>
+//#include <QTextStream>
#include "mythuihelper.h"
#include "mythsystemlegacy.h"
@@ -121,7 +120,7 @@ QString MiscMainFrame::mf_show_tz(QString tz)
{
QString GTimezone;
int rc;
- bool showLabels;
+ //bool showLabels;
if (autoLaunchTimer->isActive())
{
autoLaunchTimer->stop();
@@ -153,19 +152,19 @@ QString MiscMainFrame::mf_show_tz(QString tz)
QFile file("/tmp/.selected_tz");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.contains("/"))
{
- GTimezone = line.simplifyWhiteSpace();
+ GTimezone = line.simplified();
break;
}
}
file.close();
}
- timezone_unknown = FALSE;
+ timezone_unknown = false;
emit update_timezone(GTimezone);
}
@@ -224,11 +223,14 @@ QStringList findFilesRecursively ( QStringList paths, QString fileTypes ) {
{ // inefficient...whatever
QDir dir( paths[i] );
dir.setSorting( QDir::Reversed );
- more = dir.entryList( fileTypes, QDir::Files );
+ dir.setFilter( QDir::Files );
+ dir.setNameFilters( QStringList()<<fileTypes );
+ more = dir.entryList();
for ( it = more.begin() ; it != more.end() ; ++it )
result.append( paths[i] + "/" + *it );
+ dir.setFilter( QDir::Dirs | QDir::NoDotAndDotDot );
// reg exp in next line excludes . and .. dirs (and .* actually)
- more = dir.entryList( QDir::Dirs ).grep( QRegExp( "[^.]" ) );
+ more = dir.entryList();
for ( it = more.begin() ; it != more.end() ; ++it )
*it = paths[i] + "/" + *it;
more = findFilesRecursively( more, fileTypes );
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
index 225d755..8f069e6 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
@@ -3,8 +3,8 @@
PREFIX = /usr/include/mythtv
-LIBVERSION = 0.27
-VERSION = 0.27.0
+LIBVERSION = 0.28
+VERSION = 0.28.0
@@ -49,7 +49,5 @@ QMAKE_CLEAN += $(TARGET)
HEADERS += installdialog.h commandlineparser.h installsettings.h settemplate.h installationtype.h autocard.h xorgsettings.h password_manage.h misc_settings.h mv_common.h infrared.h compat-mv.h supplemental.h vnc.h fileshare.h
SOURCES += main.cpp commandlineparser.cpp installdialog.cpp installsettings.cpp settemplate.cpp installationtype.cpp autocard.cpp xorgsettings.cpp password_manage.cpp misc_settings.cpp infrared.cpp compat-mv.cpp supplemental.cpp vnc.cpp fileshare.cpp
-
-#The following line was inserted by qt3to4
-QT += qt3support sql xml network
+QT += sql xml network widgets
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp
index ed7d369..11e2974 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.cpp
@@ -1,14 +1,14 @@
#include <unistd.h>
#include "password_manage.h"
-//Added by qt3to4:
-#include <Q3TextStream>
+#include <QTextStream>
#include <qapplication.h>
#include "mythmiscutil.h"
#include "mythsystemlegacy.h"
#include <qdir.h>
#include <iostream>
+using namespace std;
/****************************************************************************/
typedef enum {
@@ -17,7 +17,7 @@ typedef enum {
UseraddPopup_DELETE
}
UseraddPopupResult;
-bool passtoggle = TRUE;
+bool passtoggle = true;
QString invalid_chars = "&<>/~`;:!";
class AddUserPopup
@@ -30,7 +30,7 @@ public:
UseraddPopupResult AddUserPopup::showPopup(MythMainWindow *parent,
QString title, QString message, QString& text)
{
- MythPopupBox *popup = new MythPopupBox(parent, title);
+ MythPopupBox *popup = new MythPopupBox(parent, title.toLatin1().constData());
popup->addLabel(message);
MythLineEdit *textEdit = new MythLineEdit(popup, "chooseEdit");
@@ -63,8 +63,8 @@ void UserManagement::user_fillselection()
QFile file("/etc/passwd");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
user = line.section(":",0,0);
@@ -78,7 +78,7 @@ void UserManagement::user_fillselection()
}
-bool UserManagement::user_exisit_check(QString name)
+bool UserManagement::user_exist_check(QString name)
{
QString line;
QString user;
@@ -89,8 +89,8 @@ bool UserManagement::user_exisit_check(QString name)
QFile file("/etc/passwd");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
user = line.section(":",0,0);
@@ -118,13 +118,13 @@ bool UserManagement::user_valid_check(QString check_string)
upperlimit = invalid_chars.length() -1 ;
for(i= 0; i <= upperlimit; i++)
{
- found_char = FALSE;
+ found_char = false;
current_char = invalid_chars.at(i);
- found_char = check_string.contains(current_char,FALSE);
+ found_char = check_string.contains(current_char, Qt::CaseInsensitive);
if ( found_char )
- return FALSE;
+ return false;
}
- return TRUE ;
+ return true ;
}
@@ -142,7 +142,7 @@ UserManagement::UserManagement():
userpass1= new TransLineEditSetting(true);
userpass1->setLabel("Password");
userpass1->SetPasswordEcho(passtoggle);
- userpass1->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars));
+ userpass1->setHelpText("The following characters will not be accepted: " + invalid_chars);
passToggleButton = new TransButtonSetting;
@@ -157,7 +157,7 @@ UserManagement::UserManagement():
usercreateButton = new TransButtonSetting;
usercreateButton->setLabel("Create New User Account");
- usercreateButton->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars));
+ usercreateButton->setHelpText("The following characters will not be accepted: " + invalid_chars);
userdeleteButton = new TransButtonSetting;
userdeleteButton->setLabel("Delete User Account");
@@ -240,8 +240,8 @@ void UserManagement::usercreatepopup()
tr("Enter New User Name"), name);
if (result == UseraddPopup_CANCEL)
return;
- //check if name exisit || add it
- if ( user_exisit_check(name) )
+ //check if name exist || add it
+ if ( user_exist_check(name) )
{
info->setValue("User name " + name + " already exists. Cannot create user.");
userlist->setFocus();
@@ -327,12 +327,12 @@ WebPassword::WebPassword():
webAuth->setValue(false);
webuser = new HostLineEdit("Hostwebuser");
webuser->setLabel("Username");
- webuser->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars));
+ webuser->setHelpText("The following characters will not be accepted: " + invalid_chars);
webpassword = new HostLineEdit("Hostwebpassword");
webpassword->setLabel("Password");
webpassword->SetPasswordEcho(passtoggle);
- webpassword->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars));
+ webpassword->setHelpText("The following characters will not be accepted: " + invalid_chars);
webpassToggleButton = new TransButtonSetting;
webpassToggleButton->setLabel("Toggle Password View");
@@ -374,22 +374,20 @@ void WebPassword::togglepass()
bool WebPassword::valid_check(QString check_string)
{
- // QString invalid_chars;
QChar current_char;
int upperlimit;
bool found_char;
int i ;
- //invalid_chars = "&<>/~`;";
upperlimit = invalid_chars.length() -1 ;
for(i= 0; i <= upperlimit; i++)
{
- found_char = FALSE;
+ found_char = false;
current_char = invalid_chars.at(i);
- found_char = check_string.contains(current_char,FALSE);
+ found_char = check_string.contains(current_char, Qt::CaseInsensitive);
if ( found_char )
- return FALSE;
+ return false;
}
- return TRUE ;
+ return true ;
}
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h
index 3b4b471..049cbce 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/password_manage.h
@@ -1,11 +1,12 @@
#include <settings.h>
#include "mythdialogs.h"
-#include "libmyth/mythdialogs.h"
+//#include "libmyth/mythdialogs.h"
#include "libmyth/mythwidgets.h"
#include "installsettings.h"
+#include <QTextStream>
-
-class UserManagement: public VerticalConfigurationGroup {
+class UserManagement: public
+ VerticalConfigurationGroup {
Q_OBJECT
public:
UserManagement();
@@ -19,7 +20,7 @@ public:
TransCheckBoxSetting *lockaccount;
HostCheckBox *rootSSH;
void user_fillselection(void);
- bool user_exisit_check(QString);
+ bool user_exist_check(QString);
bool user_valid_check(QString);
public slots:
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp
index f7f9963..8d9e671 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/settemplate.cpp
@@ -32,7 +32,7 @@ void restart_frontend ()
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/systemconfig.sh reloadfe" );
//cout << "Calling systemconfig.sh reloadfe" << endl;
- system(cmdtxt);
+ system(qPrintable(cmdtxt));
//system("/root/systemconfig.sh reloadfe" );
}
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.cpp
index 26d83ee..4df8234 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/supplemental.cpp
@@ -1,8 +1,6 @@
#include <unistd.h>
#include "misc_settings.h"
#include "mv_common.h"
-//Added by qt3to4:
-#include <Q3TextStream>
#include "mythuihelper.h"
#include "supplemental.h"
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp
index 9f53f18..96cb107 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/vnc.cpp
@@ -1,8 +1,6 @@
#include <unistd.h>
#include "misc_settings.h"
#include "mv_common.h"
-//Added by qt3to4:
-#include <Q3TextStream>
#include "mythuihelper.h"
#include "vnc.h"
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp
index 00a375e..eb6c893 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.cpp
@@ -1,9 +1,6 @@
#include <unistd.h>
-
-
-//Added by qt3to4:
-#include <Q3TextStream>
+#include <QTextStream>
#include "mythcontext.h"
//#include "tv.h"
#include <stdlib.h>
@@ -25,8 +22,8 @@ void ReadDDCvalues (void)
QFile file("/tmp/ddcinfo");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.contains("Timing ranges:") )
@@ -43,7 +40,7 @@ void ReadDDCvalues (void)
file.close();
}
};
-
+/*
static HostCheckBox *HostXUseAdvanced()
{
HostCheckBox *gc = new HostCheckBox("HostXUseAdvanced");
@@ -64,7 +61,7 @@ static HostComboBox *HostXgeneric_connection()
gc->setHelpText(QObject::tr("Video-out"));
return gc;
}
-
+*/
static HostCheckBox *HostXIgnoreEDID()
{
@@ -157,8 +154,8 @@ void AdvancedXGeneric_modelines::generic_fillselection(QString modelinefile )
QFile file(currentfile);
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.startsWith("ModeLine"))
@@ -363,8 +360,8 @@ void AdvancedXNvidia_modelines::Nvidia_fillselection(QString modelinefile )
QFile file(currentfile);
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
if ( line.startsWith("ModeLine"))
@@ -512,7 +509,7 @@ AdvancedXcardtype::AdvancedXcardtype():
addChild(HostXcardtype);
setTrigger(HostXcardtype);
- AdvancedXGeneric_modelines *ADVANCEDXGENERICMODELINES = new AdvancedXGeneric_modelines;
+ //AdvancedXGeneric_modelines *ADVANCEDXGENERICMODELINES = new AdvancedXGeneric_modelines;
AdvancedXNvidiaConnections *ADVANCEDXNVIDIACONNECTIONS = new AdvancedXNvidiaConnections;
@@ -605,9 +602,9 @@ AdvancedXSettings::AdvancedXSettings():
HostXIgnoreConfig->setLabel(QObject::tr("User Supplied Configuration"));
HostXIgnoreConfig->setValue(false);
#ifdef __MVAPP__
- HostXIgnoreConfig->setHelpText(QObject::tr("If checked, the system will use the configuration file provided by YOU. Place your configuration file in /data/home/mythtv/templates/xorg.user."));
+ HostXIgnoreConfig->setHelpText(QObject::tr("If checked, the system will use the configuration file provided by YOU. Place your configuration file in /home/mythtv/templates/xorg.user."));
#else
- HostXIgnoreConfig->setHelpText(QObject::tr("If checked, the system will use the configuration file provided by YOU. Place your configuration file in /data/home/mythtv/templates/xorg.user."));
+ HostXIgnoreConfig->setHelpText(QObject::tr("If checked, the system will use the configuration file provided by YOU. Place your configuration file in /home/mythtv/templates/xorg.user."));
#endif
Setting* Advancedxsettings = HostXIgnoreConfig;
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
index f8985cd..88f202c 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
@@ -4,7 +4,7 @@
#include "libmyth/mythwidgets.h"
#include "installsettings.h"
-#include <Q3TextStream>
+#include <QTextStream>
#include <qdir.h>
@@ -114,8 +114,8 @@ static HostComboBox *HostXres()
QString line;
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
- Q3TextStream t( &file ); // use a text stream
- while ( !t.eof() )
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
{
line = t.readLine();
gc->addSelection(line) ;
@@ -126,5 +126,3 @@ static HostComboBox *HostXres()
return gc;
}
-
-
diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index 901f6ad..45b963d 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,11 +1,11 @@
# Maintainer: Jams
pkgname=mythinstall
-pkgver=8.3
-pkgrel=6
+pkgver=8.4
+pkgrel=4
pkgdesc="LinHES installer/systemconfig GUI."
arch=('i686' 'x86_64')
-depends=('mythtv>=0.27')
-makedepends=('mythtv>=0.27')
+depends=('mythtv>=0.28')
+makedepends=('mythtv>=0.28')
logofiles=`ls logo*.png`
source=('install-ui.xml' $logofiles)
@@ -14,7 +14,7 @@ build() {
rsync -au $startdir/MythVantage-app $srcdir
msg "Building mythinstall"
- cd $srcdir/MythVantage-app/mythinstall && qmake-qt4
+ cd $srcdir/MythVantage-app/mythinstall && qmake-qt5
make || exit 1
}
@@ -34,10 +34,11 @@ package() {
}
md5sums=('39d6b7bd1ee305c5523a3cf66d4c2338'
+ 'c4c26977b723a4b5d6435ede73051d1b'
+ '27ce7f89a83864dfc5abe23c61964c0c'
'3291ad55fe6d7884fc732313f1cc2924'
'80c0326a253df275afbe875a8ec14a3c'
- 'f7507a6c218c81228d2a3fbcd02565bb'
- '27ce7f89a83864dfc5abe23c61964c0c'
'2e85a1b9559557dade6e87daf2abb673'
'532c5d9f1f8e1aef575ceecb69cc9c96'
- '91393e9cca0e6168f772fb48c88d3829')
+ '91393e9cca0e6168f772fb48c88d3829'
+ 'f7507a6c218c81228d2a3fbcd02565bb')
diff --git a/abs/core/mythinstall/logo-1.png b/abs/core/mythinstall/logo-1.png
index a63adab..7a7afeb 100644..100755
--- a/abs/core/mythinstall/logo-1.png
+++ b/abs/core/mythinstall/logo-1.png
Binary files differ
diff --git a/abs/core/mythinstall/logo-2.png b/abs/core/mythinstall/logo-2.png
index 2b6e9b7..81012a3 100644
--- a/abs/core/mythinstall/logo-2.png
+++ b/abs/core/mythinstall/logo-2.png
Binary files differ
diff --git a/abs/core/mythinstall/logo-3.png b/abs/core/mythinstall/logo-3.png
index 800fefc..a63adab 100644
--- a/abs/core/mythinstall/logo-3.png
+++ b/abs/core/mythinstall/logo-3.png
Binary files differ
diff --git a/abs/core/mythinstall/logo-4.png b/abs/core/mythinstall/logo-4.png
index 81012a3..2b6e9b7 100644
--- a/abs/core/mythinstall/logo-4.png
+++ b/abs/core/mythinstall/logo-4.png
Binary files differ
diff --git a/abs/core/mythinstall/logo-9.png b/abs/core/mythinstall/logo-9.png
new file mode 100644
index 0000000..800fefc
--- /dev/null
+++ b/abs/core/mythinstall/logo-9.png
Binary files differ
diff --git a/abs/core/mythtv/stable-0.27/git_src/git_hash b/abs/core/mythtv/stable-0.27/git_src/git_hash
index 9e121ae..54aea3a 100644
--- a/abs/core/mythtv/stable-0.27/git_src/git_hash
+++ b/abs/core/mythtv/stable-0.27/git_src/git_hash
@@ -1 +1 @@
-ca4a2d68aab8723e4424cd808d6865bad2b950f1
+d8dc0e730d93cd9aad597b61374f9a90f675884f
diff --git a/abs/core/mythtv/stable-0.27/git_src/git_hash_web b/abs/core/mythtv/stable-0.27/git_src/git_hash_web
index e1c323c..6cb1e85 100644
--- a/abs/core/mythtv/stable-0.27/git_src/git_hash_web
+++ b/abs/core/mythtv/stable-0.27/git_src/git_hash_web
@@ -1 +1 @@
-e0c2a3aea94bc96be5836472a1c53e62b5e43c93
+e1fdde1387ec6a5300be0917b95ada9ef5915d80
diff --git a/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD
index 193c126..5ee9832 100644
--- a/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD
+++ b/abs/core/mythtv/stable-0.27/mythplugins/PKGBUILD
@@ -8,8 +8,8 @@ pkgname=('mytharchive'
'mythnews'
'mythweather'
'mythzoneminder')
-pkgver=0.27.4
-pkgrel=10
+pkgver=0.27.6
+pkgrel=3
arch=('i686' 'x86_64')
url="http://www.mythtv.org"
license=('GPL')
diff --git a/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD
index 89cc513..4b9f732 100644
--- a/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythtv
-pkgver=0.27.4
-pkgrel=10
+pkgver=0.27.6
+pkgrel=3
commit_hash=`cat ../git_src/git_hash`
pkgdesc="A Homebrew PVR project $commit_hash"
arch=('i686' 'x86_64')
@@ -20,9 +20,13 @@ backup=()
install='mythtv.install'
patches=('myth_settings.patch'
+ 'ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch'
'videoAlwaysUseBookmark.patch'
- 'suggestedstarttime.patch.v1')
- #http://code.mythtv.org/trac/ticket/11562 next mythfilldatabase run in mythweb
+ 'fixQTvirtualkeyboard.patch'
+ 'suggestedstarttime.patch.v1'
+ )
+ #fixQTvirtualkeyboard.patch: https://code.mythtv.org/trac/ticket/12347
+ #suggestedstarttime.patch.v1: http://code.mythtv.org/trac/ticket/11562 next mythfilldatabase run in mythweb
optdepends=()
replaces=('mythvideo' 'myththemes')
@@ -102,6 +106,8 @@ package() {
}
md5sums=('5f3e43567e62afe17bad39f5a9b604cf'
+ 'c09908eb42a8c842d6528bfe436dc4b2'
'41098e898361a5a3cde3eaae358482a8'
+ 'a853dff0f5c92ca58fcc1e389cd16266'
'35a7fd3e3057691e3b1bf355bb9e8b16'
- '65a08d8949431ecdeb51a686dc6f9c21')
+ '928de4b070d9f3b784d55c0db415eaf3')
diff --git a/abs/core/mythtv/stable-0.27/mythtv/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch b/abs/core/mythtv/stable-0.27/mythtv/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
new file mode 100644
index 0000000..e142829
--- /dev/null
+++ b/abs/core/mythtv/stable-0.27/mythtv/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
@@ -0,0 +1,41 @@
+From 6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab Mon Sep 17 00:00:00 2001
+From: James Zern <jzern@google.com>
+Date: Mon, 19 Oct 2015 22:44:11 -0700
+Subject: [PATCH] libvpxenc: remove some unused ctrl id mappings
+
+VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed
+from libvpx and the remaining values were never used here
+
+Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
+Signed-off-by: James Zern <jzern@google.com>
+---
+ libavcodec/libvpxenc.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
+index 5f39783..992122c 100644
+--- a/mythtv/external/FFmpeg/libavcodec/libvpxenc.c
++++ b/mythtv/external/FFmpeg/libavcodec/libvpxenc.c
+@@ -104,19 +104,11 @@ typedef struct VP8EncoderContext {
+
+ /** String mappings for enum vp8e_enc_control_id */
+ static const char *const ctlidstr[] = {
+- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
+- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
+- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
+- [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP",
+- [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP",
+- [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE",
+ [VP8E_SET_CPUUSED] = "VP8E_SET_CPUUSED",
+ [VP8E_SET_ENABLEAUTOALTREF] = "VP8E_SET_ENABLEAUTOALTREF",
+ [VP8E_SET_NOISE_SENSITIVITY] = "VP8E_SET_NOISE_SENSITIVITY",
+- [VP8E_SET_SHARPNESS] = "VP8E_SET_SHARPNESS",
+ [VP8E_SET_STATIC_THRESHOLD] = "VP8E_SET_STATIC_THRESHOLD",
+ [VP8E_SET_TOKEN_PARTITIONS] = "VP8E_SET_TOKEN_PARTITIONS",
+- [VP8E_GET_LAST_QUANTIZER] = "VP8E_GET_LAST_QUANTIZER",
+ [VP8E_SET_ARNR_MAXFRAMES] = "VP8E_SET_ARNR_MAXFRAMES",
+ [VP8E_SET_ARNR_STRENGTH] = "VP8E_SET_ARNR_STRENGTH",
+ [VP8E_SET_ARNR_TYPE] = "VP8E_SET_ARNR_TYPE",
+--
+1.7.10.4
+
diff --git a/abs/core/mythtv/stable-0.27/mythtv/fixQTvirtualkeyboard.patch b/abs/core/mythtv/stable-0.27/mythtv/fixQTvirtualkeyboard.patch
new file mode 100644
index 0000000..1688bd6
--- /dev/null
+++ b/abs/core/mythtv/stable-0.27/mythtv/fixQTvirtualkeyboard.patch
@@ -0,0 +1,45 @@
+--- src/mythtv/libs/libmythui/mythmainwindow.cpp.orig 2015-08-19 21:24:59.990554429 +0000
++++ src/mythtv/libs/libmythui/mythmainwindow.cpp 2015-08-19 21:23:33.851546588 +0000
+@@ -1380,7 +1380,7 @@
+ .arg(::GetCurrentThreadId()));
+ #endif
+ if (currentWidget())
+- {
++#ifdef Q_OS_MAC
+ // don't disable the current widget, instead we disable all its children
+ // on mac, disabling the current active widget entirely prevent keyboard to
+ // work on the newly opened widget.
+@@ -1395,8 +1395,9 @@
+ d->enabledWidgets[w] = true;
+ }
+ }
+- }
+-
++#else
++ currentWidget()->setEnabled(false);
++#endif
+ d->widgetList.push_back(child);
+ child->winId();
+ child->raise();
+@@ -1419,11 +1420,8 @@
+ d->widgetList.erase(it);
+ QWidget *current = currentWidget();
+ if (!current)
+- {
+ current = this;
+- // We're be to the main window, enable it just in case
+- setEnabled(true);
+- }
++#ifdef Q_OS_MAC
+ else
+ {
+ QList<QWidget*> list = current->findChildren<QWidget *>();
+@@ -1438,6 +1436,8 @@
+ }
+ }
+ current->raise();
++#endif
++ current->setEnabled(true);
+ current->setFocus();
+ current->setMouseTracking(true);
+
diff --git a/abs/core/mythtv/stable-0.27/mythtv/menu-xml/HOST_SETTINGS.xml b/abs/core/mythtv/stable-0.27/mythtv/menu-xml/HOST_SETTINGS.xml
index e454959..c9ec7fa 100644
--- a/abs/core/mythtv/stable-0.27/mythtv/menu-xml/HOST_SETTINGS.xml
+++ b/abs/core/mythtv/stable-0.27/mythtv/menu-xml/HOST_SETTINGS.xml
@@ -50,7 +50,7 @@
<button>
<type>MV_MISC_SETUP_MENU</type>
- <text>Miscellanous</text>
+ <text>Miscellaneous</text>
<description>Set timezone, shortcuts &amp; auto updates</description>
<action>EXEC mythinstall -s misc </action>
</button>
diff --git a/abs/core/mythtv/stable-0.27/mythtv/recordings b/abs/core/mythtv/stable-0.27/mythtv/recordings
index 7fdde51..984fea9 100644
--- a/abs/core/mythtv/stable-0.27/mythtv/recordings
+++ b/abs/core/mythtv/stable-0.27/mythtv/recordings
@@ -1,5 +1,112 @@
#!/bin/bash
+
+#START=$(date +%s)
+
+#check if mythbackend is running and was just started
+for i in 1 2
+do
+if [ `cat /service/mythbackend/supervise/pid` ]
+then
+ now=$(date +%s)
+ mythbackendStartTime=`stat -c %Y /service/mythbackend/supervise/pid`
+ if [[ $(( $now - $mythbackendStartTime )) -lt 59 ]]
+ then
+ #echo "mythbackend started less than a minute ago. Sleeping..."
+ sleep 60
+ fi
+else
+ #echo "mythbackend not running. exiting."
+ exit
+fi
+done
+
if [ -f /usr/share/mythtv/contrib/user_jobs/mythlink.pl ]
then
- su - mythtv -c "perl /usr/share/mythtv/contrib/user_jobs/mythlink.pl --link /data/storage/disk0/media/recordings"
+ recdir="/data/storage/disk0/media/recordings"
+ tmprecdir="/data/storage/disk0/media/tmp/recordings"
+ rm -r $tmprecdir
+ su - mythtv -c "perl /usr/share/mythtv/contrib/user_jobs/mythlink.pl --format '%U/%T/%T %- S%ssE%ep %- %oY-%om-%od = %S' --link '$tmprecdir'"
+
+ #delete Deleted recgroup and move files out of other dirs
+ if [ -d "$tmprecdir/Deleted" ]
+ then
+ rm -r "$tmprecdir/Deleted"
+ fi
+ #move all links in recgroup dirs out to tmprecdir
+ for recgroup in $tmprecdir/*
+ do
+ if [ -d "$recgroup" ]
+ then
+ rsync -a "$recgroup/" "$tmprecdir"
+ rm -r "$recgroup"
+ fi
+ done
+ #replace SE if no season/episode is in myth
+ for link in $tmprecdir/**/*\ -\ SE\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE - / - /'`
+ mv "$link" "$newlink"
+ done
+ #replace SEyy if no season is in myth
+ for link in $tmprecdir/**/*\ -\ SE[0-9][0-9]\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE/ - S00E/'`
+ mv "$link" "$newlink"
+ done
+ #replace SyyE if no episode is in myth
+ for link in $tmprecdir/**/*\ -\ S[0-9][0-9]E\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/E - /E00 - /'`
+ mv "$link" "$newlink"
+ done
+ #replace blank original date
+ for link in $tmprecdir/**/*\ -\ 0000-00-00\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - 0000-00-00 - / - /'`
+ mv "$link" "$newlink"
+ done
+ #add dash pt suffix if filename before the subtitle is the same
+ #so that plex will scan and include in library
+ uniqs="$(ls $tmprecdir/**/* | sed 's/ = .*//' | sort | uniq -d)"
+ SAVEIFS=$IFS
+ IFS=$'\n'
+ for link in $uniqs
+ do
+ i=1
+ for dup in `ls -v $link*`
+ do
+ newlink=`echo "$dup" | sed "s/ = /-pt$i = /"`
+ mv "$dup" "$newlink"
+ i=$((i+1))
+ done
+ done
+ IFS=$SAVEIFS
+
+ #change symlinks mtime to match the file it is linked to
+# for link in $tmprecdir/**/*
+# do
+# if [ -L "$link" ]
+# then
+# file=`readlink "$link"`
+# touch -hr "$file" "$link"
+# fi
+# done
+
+ #sync tmprecdir to recdir
+ #rsync -aOP --delete --ignore-existing "$tmprecdir/" "$recdir/"
+ rsync -aO --delete "$tmprecdir/" "$recdir/"
+
+ #check if plex media server is running
+ if [[ `pidof "Plex Media Server"` ]]
+ then
+ #get plex section and update
+ /usr/LH/bin/plexmediascanner.sh -l | grep -i myth | cut -d: -f1 | while read -r line
+ do
+ /usr/LH/bin/plexmediascanner.sh --scan --refresh --section $line
+ done
+ fi
fi
+
+#END=$(date +%s)
+#DIFF=$(( $END - $START ))
+#echo "It took $DIFF seconds"
diff --git a/abs/core/mythtv/stable-0.27/mythweb/PKGBUILD b/abs/core/mythtv/stable-0.27/mythweb/PKGBUILD
index 9239c46..94f9527 100644
--- a/abs/core/mythtv/stable-0.27/mythweb/PKGBUILD
+++ b/abs/core/mythtv/stable-0.27/mythweb/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythweb
-pkgver=0.27
-pkgrel=6
+pkgver=0.27.6
+pkgrel=2
commit_hash=`cat ../git_src/git_hash_web`
pkgdesc="Web interface for MythTV's backend, $commit_hash"
arch=('i686' 'x86_64')
diff --git a/abs/core/mythtv/stable-0.28/git_src/checkout_mythtv.sh b/abs/core/mythtv/stable-0.28/git_src/checkout_mythtv.sh
new file mode 100755
index 0000000..b579873
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/git_src/checkout_mythtv.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+#Quick script used to checkout the MythTV source
+#This source should be used build all mythplugins & main program
+
+_gitroot="https://github.com/MythTV/mythtv.git"
+_gitname="mythtv"
+_gitbranch="fixes/0.28"
+
+startdir=`pwd`
+
+#Set this to True, to update mythtv to the latest.
+#If not true then it will use the hash stored in git_hash
+_current="True"
+
+_checkoutHASH=`cat git_hash`
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ git checkout $_gitbranch
+ git pull
+ echo "The local files are updated."
+ cd $startdir
+else
+ git clone -b $_gitbranch $_gitroot
+fi
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ if [ $_current == True ]
+ then
+ git rev-parse HEAD > $startdir/git_hash
+ else
+ git checkout $_checkoutHASH
+ fi
+ cd mythtv
+ sh ./version.sh `pwd`
+fi
+echo "GIT checkout done or server timeout"
diff --git a/abs/core/mythtv/stable-0.28/git_src/checkout_mythweb.sh b/abs/core/mythtv/stable-0.28/git_src/checkout_mythweb.sh
new file mode 100755
index 0000000..94b872e
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/git_src/checkout_mythweb.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+#Quick script used to checkout the Mythweb source
+#This source should be used build all mythplugins & main program
+
+_gitroot="https://github.com/MythTV/mythweb.git"
+_gitname="mythweb"
+_gitbranch="fixes/0.28"
+
+startdir=`pwd`
+
+#Set this to True, to update mythtv to the latest.
+#If not true then it will use the hash stored in git_hash
+_current="True"
+
+_checkoutHASH=`cat git_hash_web`
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ git checkout $_gitbranch
+ git pull
+ echo "The local files are updated."
+ cd $startdir
+else
+ git clone -b $_gitbranch $_gitroot
+fi
+
+if [ -d $_gitname ]
+then
+ cd $_gitname
+ if [ $_current == True ]
+ then
+ git rev-parse HEAD > $startdir/git_hash_web
+ else
+ git checkout $_checkoutHASH
+ fi
+fi
+echo "GIT checkout done or server timeout"
diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash b/abs/core/mythtv/stable-0.28/git_src/git_hash
new file mode 100644
index 0000000..535d15a
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/git_src/git_hash
@@ -0,0 +1 @@
+370dd71fa4a6affb09f989c6000c9dea7097bb15
diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash_web b/abs/core/mythtv/stable-0.28/git_src/git_hash_web
new file mode 100644
index 0000000..542ef2e
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/git_src/git_hash_web
@@ -0,0 +1 @@
+a1f2cdf03978427eaa9e35fa18162a0ba6be829d
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
new file mode 100644
index 0000000..7ce684e
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
@@ -0,0 +1,125 @@
+pkgbase=mythplugins
+pkgname=('mytharchive'
+ 'mythbrowser'
+ 'mythgallery'
+ 'mythgame'
+ 'mythmusic'
+ 'mythnetvision'
+ 'mythnews'
+ 'mythweather'
+ 'mythzoneminder')
+pkgver=0.28
+pkgrel=13
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org"
+license=('GPL')
+makedepends=('cdrkit' 'dcraw' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'flac' 'libexif'
+ 'libvorbis' 'mesa' 'libgl' 'mplayer' "mythtv>=${pkgver}"
+ 'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size'
+ 'perl-json' 'perl-libwww' 'perl-soap-lite' 'perl-xml-sax'
+ 'perl-xml-simple' 'perl-xml-xpath' 'python-oauth' 'python2-pillow'
+ 'python-pycurl' 'zlib')
+source=('mythburn.py-aspectratio.patch' 'archivemenu.xml.patch' 'archiveutils.xml.patch'
+ 'cdparanoia.patch')
+
+build() {
+ if [ -e ${srcdir}/mythplugins ]
+ then
+ msg "Removing old mythplugins src"
+ rm -rf ${srcdir}/mythplugins
+ fi
+
+ cd ${startdir}
+ msg "Copying in mythplugins git_src"
+ cp -rp ../git_src/mythtv/mythplugins $srcdir
+ cd ${srcdir}/${pkgbase}
+
+ msg "Patching configure"
+ patch -Np1 -i "$srcdir/cdparanoia.patch"
+
+ msg "Configuring mythplugins"
+ ./configure --prefix=/usr \
+ --enable-all \
+ --python=/usr/bin/python2
+
+ msg "Compiling mythplugins"
+ qmake-qt5 mythplugins.pro || return 1
+ make || return 1
+}
+
+package_mytharchive() {
+ pkgdesc="Create DVDs or archive recorded shows in MythTV"
+ depends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' "mythtv>=${pkgver}"
+ 'mjpegtools' 'python2-pillow')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mytharchive"
+ patch mythburn/scripts/mythburn.py < $srcdir/mythburn.py-aspectratio.patch || return 1
+ patch theme/menus/archivemenu.xml < $srcdir/archivemenu.xml.patch || return 1
+ patch theme/menus/archiveutils.xml < $srcdir/archiveutils.xml.patch || return 1
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythbrowser() {
+ pkgdesc="Mini web browser for MythTV"
+ depends=("mythtv>=${pkgver}")
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythbrowser"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythgallery() {
+ pkgdesc="Image gallery plugin for MythTV"
+ depends=('libexif' "mythtv>=${pkgver}" 'dcraw')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythgallery"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythgame() {
+ pkgdesc="Game emulator plugin for MythTV"
+ depends=("mythtv>=${pkgver}" 'zlib')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythgame"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythmusic() {
+ pkgdesc="Music playing plugin for MythTV"
+ depends=('cdparanoia' 'fftw' 'flac' 'libcdaudio' 'libcdio-paranoia'
+ 'libvisual-plugins' 'libvorbis' "mythtv>=${pkgver}" 'taglib')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythmusic"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythnetvision() {
+ pkgdesc="MythNetvision plugin for MythTV"
+ depends=("mythtv>=${pkgver}" 'python-pycurl' 'python-oauth'
+ 'python2-lxml' 'python2')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythnetvision"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythnews() {
+ pkgdesc="News checking plugin for MythTV"
+ depends=("mythtv>=${pkgver}")
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythnews"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythweather() {
+ pkgdesc="Weather checking plugin for MythTV"
+ depends=("mythtv>=${pkgver}" 'perl-date-manip' 'perl-json' 'perl-soap-lite'
+ 'perl-xml-sax' 'perl-xml-simple' 'perl-xml-xpath' 'perl-image-size'
+ 'perl-datetime-format-iso8601')
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythweather"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+package_mythzoneminder() {
+ pkgdesc="View CCTV footage from zoneminder in MythTV"
+ depends=("mythtv>=${pkgver}")
+# install=mythplugins-mythzoneminder.install
+ cd "${srcdir}/${_gitname}/${pkgbase}/mythzoneminder"
+ make INSTALL_ROOT="${pkgdir}" install || return 1
+}
+
+md5sums=('e98c2a09bcb051fdde959fb4bb2e5ab2'
+ '0364d2613f22943f3d4c9d5ee43c1982'
+ '1063cf62878cd341476f28f63cb12782'
+ '5de8dd79d0b8a2b006f3c3258938b6b7')
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/__changelog b/abs/core/mythtv/stable-0.28/mythplugins/__changelog
new file mode 100644
index 0000000..48cdce8
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythplugins/__changelog
@@ -0,0 +1 @@
+placeholder
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/archivemenu.xml.patch b/abs/core/mythtv/stable-0.28/mythplugins/archivemenu.xml.patch
new file mode 100644
index 0000000..f53e9d0
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythplugins/archivemenu.xml.patch
@@ -0,0 +1,32 @@
+--- archivemenu.xml.orig 2014-02-11 23:01:41.292364208 +0000
++++ archivemenu.xml 2014-02-11 23:02:13.544892518 +0000
+@@ -3,12 +3,14 @@
+ <button>
+ <type>ARCHIVE_CREATE_DVD</type>
+ <text>Create DVD</text>
++ <description>Save recordings and videos to video DVD</description>
+ <action>ARCHIVE_CREATE_DVD</action>
+ </button>
+
+ <button>
+ <type>ARCHIVE_CREATE_ARCHIVE</type>
+ <text>Create Archive</text>
++ <description>Save recordings and videos to a native archive</description>
+ <action>ARCHIVE_CREATE_ARCHIVE</action>
+ </button>
+
+@@ -22,12 +24,14 @@
+ <button>
+ <type>ARCHIVE_IMPORT_VIDEO</type>
+ <text>Import Archive</text>
++ <description>Import recordings from a native archive</description>
+ <action>ARCHIVE_IMPORT_VIDEO</action>
+ </button>
+
+ <button>
+ <type>ARCHIVE_UTILITIES</type>
+ <text>Archive Utilities</text>
++ <description>Utilities for MythArchive</description>
+ <action>MENU archiveutils.xml</action>
+ </button>
+
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/archiveutils.xml.patch b/abs/core/mythtv/stable-0.28/mythplugins/archiveutils.xml.patch
new file mode 100644
index 0000000..9c17678
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythplugins/archiveutils.xml.patch
@@ -0,0 +1,27 @@
+--- archiveutils.xml.orig 2014-02-11 23:01:41.292364208 +0000
++++ archiveutils.xml 2014-02-11 23:02:13.544892518 +0000
+@@ -2,19 +2,22 @@
+
+ <button>
+ <type>ARCHIVE_LAST_LOG</type>
+- <text>Show Log Viewer</text>
++ <text>Log Viewer</text>
++ <description>Show the Archive Log Viewer</description>
+ <action>ARCHIVE_LAST_LOG</action>
+ </button>
+
+ <button>
+ <type>ARCHIVE_TEST_DVD</type>
+ <text>Play Created DVD</text>
++ <description>Play the last created archive DVD</description>
+ <action>ARCHIVE_TEST_DVD</action>
+ </button>
+
+ <button>
+ <type>ARCHIVE_BURN_DVD</type>
+- <text>Burn DVD</text>
++ <text>Burn Created DVD</text>
++ <description>Burn the last created archive to DVD</description>
+ <action>ARCHIVE_BURN_DVD</action>
+ </button>
+
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/cdparanoia.patch b/abs/core/mythtv/stable-0.28/mythplugins/cdparanoia.patch
new file mode 100644
index 0000000..b4d1449
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythplugins/cdparanoia.patch
@@ -0,0 +1,52 @@
+diff -Nru a/configure b/configure
+--- a/configure 2012-10-02 23:30:24.000000000 +1300
++++ b/configure 2013-01-09 14:54:40.448916370 +1300
+@@ -649,7 +649,7 @@
+ echo "MythMusic requires FLAC."
+ fi
+
+- if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
++ if ! check_lib cdio/cdio.h cdio_open -lcdio || ! check_lib cdio/paranoia/cdda.h cdio_cddap_open -lcdio_cdda || ! check_lib cdio/paranoia/paranoia.h cdio_paranoia_init -lcdio_paranoia ; then
+ disable cdio
+ fi
+
+diff -Nru a/mythmusic/mythmusic/cddecoder.cpp b/mythmusic/mythmusic/cddecoder.cpp
+--- a/mythmusic/mythmusic/cddecoder.cpp 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cddecoder.cpp 2013-01-09 14:53:37.031690618 +1300
+@@ -14,7 +14,7 @@
+ #include <QString>
+
+ // libcdio
+-#include <cdio/cdda.h>
++#include <cdio/paranoia/cdda.h>
+ #include <cdio/logging.h>
+
+ // MythTV
+diff -Nru a/mythmusic/mythmusic/cddecoder.h b/mythmusic/mythmusic/cddecoder.h
+--- a/mythmusic/mythmusic/cddecoder.h 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cddecoder.h 2013-01-09 14:53:12.328140979 +1300
+@@ -11,8 +11,8 @@
+ #endif
+
+ #ifdef HAVE_CDIO
+-# include <cdio/cdda.h>
+-# include <cdio/paranoia.h>
++# include <cdio/paranoia/cdda.h>
++# include <cdio/paranoia/paranoia.h>
+ #endif
+
+ class Metadata;
+diff -Nru a/mythmusic/mythmusic/cdrip.cpp b/mythmusic/mythmusic/cdrip.cpp
+--- a/mythmusic/mythmusic/cdrip.cpp 2012-10-02 23:30:24.000000000 +1300
++++ b/mythmusic/mythmusic/cdrip.cpp 2013-01-09 14:54:11.815330268 +1300
+@@ -8,8 +8,8 @@
+
+ #include "config.h"
+ #ifdef HAVE_CDIO
+-# include <cdio/cdda.h>
+-# include <cdio/paranoia.h>
++# include <cdio/paranoia/cdda.h>
++# include <cdio/paranoia/paranoia.h>
+ #endif //def HAVE_CDIO
+
+ // C++ includes
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/mythburn.py-aspectratio.patch b/abs/core/mythtv/stable-0.28/mythplugins/mythburn.py-aspectratio.patch
new file mode 100644
index 0000000..377de95
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythplugins/mythburn.py-aspectratio.patch
@@ -0,0 +1,138 @@
+--- mythburn.py.orig 2013-12-16 22:41:31.532703825 +0000
++++ mythburn.py 2013-12-16 22:40:52.191109409 +0000
+@@ -98,6 +98,7 @@
+ from fcntl import ioctl
+ import CDROM
+ from shutil import copy
++from subprocess import Popen, PIPE
+
+ import MythTV
+ from MythTV import datetime
+@@ -440,7 +441,7 @@
+ os.remove(os.path.join(root, name))
+
+ #############################################################
+-# Romoves all the objects from a directory
++# Removes all the objects from a directory
+
+ def deleteEverythingInFolder(folder):
+ for root, dirs, files in os.walk(folder, topdown=False):
+@@ -666,14 +667,14 @@
+ # Gets the aspect ratio of a video file from its stream info file
+
+ def getAspectRatioOfVideo(index):
+- """Returns the aspect ratio of the video file (1.333, 1.778, etc)"""
++ """Returns the aspect ratio of the original video file (1.333, 1.778, etc)"""
+
+ #open the XML containing information about this file
+- infoDOM = xml.dom.minidom.parse(os.path.join(getItemTempPath(index), 'streaminfo.xml'))
++ infoDOM = xml.dom.minidom.parse(os.path.join(getItemTempPath(index), 'streaminfo_orig.xml'))
+
+ #error out if its the wrong XML
+ if infoDOM.documentElement.tagName != "file":
+- fatalError("Stream info file doesn't look right (%s)" % os.path.join(getItemTempPath(index), 'streaminfo.xml'))
++ fatalError("Stream info file doesn't look right (%s)" % os.path.join(getItemTempPath(index), 'streaminfo_orig.xml'))
+ video = infoDOM.getElementsByTagName("file")[0].getElementsByTagName("streams")[0].getElementsByTagName("video")[0]
+ if video.attributes["aspectratio"].value != 'N/A':
+ aspect_ratio = float(video.attributes["aspectratio"].value)
+@@ -1695,6 +1696,37 @@
+ fatalError("Failed while running mytharchivehelper to get stream information.\n"
+ "Result: %d, Command was %s" % (result, command))
+
++ #open the XML containing information about this file
++ infoDOM = xml.dom.minidom.parse(xmlFilename)
++
++ #error out if its the wrong XML
++ if infoDOM.documentElement.tagName != "file":
++ fatalError("This info file doesn't look right (%s)." % xmlFilename)
++
++ file = infoDOM.getElementsByTagName("file")[0]
++ video = infoDOM.getElementsByTagName("file")[0].getElementsByTagName("streams")[0].getElementsByTagName("video")[0]
++
++ #use ffmpeg to get display aspect ratio (DAR) of video
++ cmd = "mythffmpeg -i " + quoteCmdArg(file.attributes["filename"].value) + " 2>&1"
++ aspect_ratio = Popen(cmd, shell=True, stdout=PIPE).stdout.read()
++ if "DAR" in aspect_ratio:
++ #clean DAR string
++ aspect_ratio = aspect_ratio.split("DAR ")[-1].split(",")[0]
++ aspect_ratio = ''.join([c for c in aspect_ratio if c in '1234567890:']).split(":")
++ else:
++ #calculate aspect from video size
++ aspect_ratio = getVideoSize(xmlFilename)
++
++ #convert to decimal+
++ aspect_ratio = float(aspect_ratio[0]) / float(aspect_ratio[1])
++
++ write("Video %s aspect ratio is: %s" % (filename, aspect_ratio))
++
++ #set aspect ratio
++ video.setAttribute("aspectratio",str(aspect_ratio))
++
++ WriteXMLToFile (infoDOM,xmlFilename)
++
+ # print out the streaminfo.xml file to the log
+ infoDOM = xml.dom.minidom.parse(xmlFilename)
+ write(xmlFilename + ":-\n" + infoDOM.toprettyxml(" ", ""), False)
+@@ -2010,7 +2042,7 @@
+ #############################################################
+ # Re-encodes a file to mpeg2
+
+-def encodeVideoToMPEG2(source, destvideofile, video, audio1, audio2, aspectratio, profile):
++def encodeVideoToMPEG2(source, destvideofile, video, folder, audio1, audio2, aspectratio, profile):
+ """Encodes an unknown video source file eg. AVI to MPEG2 video and AC3 audio, use mythffmpeg"""
+
+ profileNode = findEncodingProfile(profile)
+@@ -2035,6 +2067,35 @@
+ value = quoteCmdArg(destvideofile)
+ if value == "%aspect":
+ value = aspectratio
++ if value == "720x480" or value == "720x576":
++ videores, fps, videoAR = getVideoParams(folder)
++ videoWidth = int(videores.split("x")[0])
++ videoHeight = int(videores.split("x")[1])
++
++ #add padding to correct for aspects > than 1.9:1
++ if float(videoAR) >= 1.9:
++ #check which video type and set the correct height
++ if videomode == "ntsc":
++ videoModeHeight = 480
++ else:
++ videoModeHeight = 576
++
++ #calculate the video height based on the aspect ratio of the video
++ #multiply by 1.185 to compensate for dvds non-square pixels
++ calVideoHeight = int(round((720 / float(videoAR)) * 1.185))
++ if calVideoHeight % 2 == 1:
++ calVideoHeight = calVideoHeight + 1
++ #write("calVideoHeight: %s" % calVideoHeight)
++
++ #use original video height if the calculated video height is close
++ if (calVideoHeight + 20 < videoHeight) or (calVideoHeight - 20 > videoHeight):
++ videoHeight = calVideoHeight
++
++ cropPixels = videoModeHeight - videoHeight
++
++ write("Crop Pixels Total: %s" % cropPixels)
++ name = "-vf"
++ value = "\"scale=720:%d, setsar=1:1, pad=720:%d:0:%d:black\"" % (videoModeHeight - cropPixels, videoModeHeight, cropPixels / 2)
+
+ # only re-encode the audio if it is not already in AC3 format
+ if audio1[AUDIO_CODEC] == "AC3":
+@@ -4608,7 +4669,7 @@
+
+ #do the re-encode
+ encodeVideoToMPEG2(mediafile, os.path.join(folder, "newfile2.mpg"), video,
+- audio1, audio2, aspectratio, profile)
++ folder, audio1, audio2, aspectratio, profile)
+ mediafile = os.path.join(folder, 'newfile2.mpg')
+
+ #remove the old mediafile that was run through mythtranscode
+@@ -4762,7 +4823,7 @@
+
+ #do the re-encode
+ encodeVideoToMPEG2(mediafile, os.path.join(folder, "newfile2.mpg"), video,
+- audio1, audio2, aspectratio, profile)
++ folder, audio1, audio2, aspectratio, profile)
+ mediafile = os.path.join(folder, 'newfile2.mpg')
+
+ #remove an intermediate file
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/mythplugins-mythzoneminder.install b/abs/core/mythtv/stable-0.28/mythplugins/mythplugins-mythzoneminder.install
new file mode 100644
index 0000000..a4e0c0d
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythplugins/mythplugins-mythzoneminder.install
@@ -0,0 +1,11 @@
+post_install() {
+ . /etc/systemconfig
+ if [ $SystemType = Master_backend -o $SystemType = Standalone ]
+ then
+ echo "This looks a zoneminder server install"
+ echo "Installing zoneminder"
+ #for reference the pacman statement below will not work because of a db lock.
+ pacman -S zoneminder
+ fi
+
+}
diff --git a/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
new file mode 100644
index 0000000..f2b877d
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
@@ -0,0 +1,115 @@
+pkgname=mythtv
+pkgver=0.28
+pkgrel=13
+commit_hash=`cat ../git_src/git_hash`
+pkgdesc="A Homebrew PVR project $commit_hash"
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org/"
+license=('GPL')
+depends=('avahi' 'faad2' 'fftw' 'glew' 'exiv2' 'lame' 'libass' 'libavc1394' 'libcdio'
+ 'libcec' 'libcrystalhd-git' 'libiec61883' 'libva' 'libvdpau' 'libvpx'
+ 'libxinerama' 'libxrandr' 'libxml2' 'LinHES-config>=8.1-6'
+ 'LinHES-system>=8.4-4' 'lirc-utils' 'mysql-clients' 'mysql-python'
+ 'openssl' 'perl-date-manip' 'perl-dbd-mysql'
+ 'perl-io-socket-inet6' 'perl-libwww' 'perl-math-round'
+ 'perl-net-upnp' 'perl-soap-lite' 'perl-xml-sax' 'python2-pycurl'
+ 'python2-lxml' 'qt5-script' 'qt5-webkit' 'sdl' 'taglib' 'urlgrabber' 'wget'
+ 'x264' 'xmltv')
+makedepends=('mesa' 'libgl' 'yasm' 'git' 'rsync')
+replaces=()
+groups=('pvr')
+backup=()
+install='mythtv.install'
+
+patches=(
+ 'myth_settings.patch'
+ 'videoAlwaysUseBookmark.patch'
+ 'autoskip_reduce_commskip_jumpback.patch'
+ 'change_msg_types.patch'
+ 'disable_mythnotification_tuner_failure.patch'
+ 'tv.cpp_fix_caps.patch'
+ 'add_categorytype_Program.pm.patch'
+ )
+
+optdepends=()
+source=(`echo ${patches[@]:0}` 'recordings')
+
+build() {
+ if [ -e ${srcdir}/mythtv ]
+ then
+ msg "Removing old mythtv src"
+ rm -rf ${srcdir}/mythtv
+ fi
+
+ cd ${startdir}
+ msg "Copying in mythtv git_src"
+ cp -rp ../git_src/mythtv/mythtv $srcdir
+ cd ${srcdir}/$pkgname
+ echo "#!/bin/bash" > version.sh
+
+ msg "--------------------------applying patches------------------------------"
+ for i in `echo ${patches[@]:0}`
+ do
+ echo applying $i
+ patch -Np2 -i ${startdir}/src/$i || return 1
+ echo "-----------------------------"
+ done
+ msg "--------------------------done applying patches-------------------------"
+
+ msg "Configuring mythtv"
+ ARCH=${CARCH/_/-}
+ #disable mythlogserver due to http://code.mythtv.org/trac/ticket/11230
+ ./configure --prefix=/usr \
+ --cpu=${ARCH} \
+ --disable-altivec \
+ --disable-audio-jack \
+ --disable-audio-pulseoutput \
+ --disable-distcc \
+ --disable-mythlogserver \
+ --dvb-path=/usr/include \
+ --enable-libmp3lame \
+ --enable-libvpx \
+ --enable-libxvid \
+ --enable-libx264 \
+ --enable-sdl \
+ --python=python2 \
+ --with-bindings=perl,python || return 1
+ msg "Compiling mythtv"
+ make all || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ # basic install
+ make INSTALL_ROOT="${pkgdir}" install
+ # install contrib files
+ rsync -arp --exclude .svn --delete-excluded contrib ${pkgdir}/usr/share/mythtv/ || return 1
+ # install database structure
+ rsync -arp --exclude .svn --delete-excluded database ${pkgdir}/usr/share/mythtv/ || return 1
+ # install docs
+ rsync -arp --exclude .svn --delete-excluded docs ${pkgdir}/usr/share/mythtv/ || return 1
+
+ # patch the xml LinHES style
+ cp -r ${startdir}/menu-xml/*.xml ${pkgdir}/usr/share/mythtv/themes/defaultmenu/
+ cd ${pkgdir}/usr/share/mythtv
+ patch -p0 < ${startdir}/menu-xml/mainmenu.xml.patch || return 1
+ patch -p0 < ${startdir}/menu-xml/optical_menu.xml.patch || return 1
+ patch -p0 < ${startdir}/menu-xml/library.xml.patch || return 1
+
+ # make mythtv log dir for old scripts that use it
+ mkdir -p ${pkgdir}/var/log/mythtv
+ chown 1000.1000 ${pkgdir}/var/log/mythtv
+
+ #install recordings (was pretty)
+ mkdir -p ${pkgdir}/etc/cron.hourly/
+ install -m0755 ${srcdir}/recordings ${pkgdir}/etc/cron.hourly/
+}
+
+md5sums=('e30b482dcd5f3e71c6419fd753bab2b1'
+ '41098e898361a5a3cde3eaae358482a8'
+ '0bf5e92c0609a7eda8f253bf2e032590'
+ 'f8a56ac814722b110dc9859169b9bda9'
+ '1cd668136deea20efb79cf3e6310effc'
+ '62c42b1043ebf65959fa9eced9ca3ed8'
+ 'a38f26576662afdc02d11c7096839321'
+ 'cc9e81a297f82e9df4ad72428c4f37c6')
diff --git a/abs/core/mythtv/stable-0.28/mythtv/__changelog b/abs/core/mythtv/stable-0.28/mythtv/__changelog
new file mode 100644
index 0000000..91a959c
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/__changelog
@@ -0,0 +1,2 @@
+update to 0.27-fixes
+
diff --git a/abs/core/mythtv/stable-0.28/mythtv/add_categorytype_Program.pm.patch b/abs/core/mythtv/stable-0.28/mythtv/add_categorytype_Program.pm.patch
new file mode 100644
index 0000000..0bff554
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/add_categorytype_Program.pm.patch
@@ -0,0 +1,10 @@
+--- src/mythtv/bindings/perl/MythTV/Program.pm.orig 2016-04-28 20:31:49.230576243 +0000
++++ src/mythtv/bindings/perl/MythTV/Program.pm 2016-04-28 20:28:29.779523866 +0000
+@@ -346,6 +346,7 @@
+ ($fields{'S'} = ($self->{'subtitle'} or '')) =~ s/%/%%/g;
+ ($fields{'R'} = ($self->{'description'} or '')) =~ s/%/%%/g;
+ ($fields{'C'} = ($self->{'category'} or '')) =~ s/%/%%/g;
++ ($fields{'Ct'} = ($self->{'categorytype'} or '')) =~ s/%/%%/g;
+ ($fields{'U'} = ($self->{'recgroup'} or '')) =~ s/%/%%/g;
+ # Misc
+ ($fields{'hn'} = ($self->{'hostname'} or '')) =~ s/%/%%/g;
diff --git a/abs/core/mythtv/stable-0.28/mythtv/autoskip_reduce_commskip_jumpback.patch b/abs/core/mythtv/stable-0.28/mythtv/autoskip_reduce_commskip_jumpback.patch
new file mode 100644
index 0000000..b1c90ed
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/autoskip_reduce_commskip_jumpback.patch
@@ -0,0 +1,61 @@
+--- src/mythtv/libs/libmythtv/commbreakmap.cpp 2016-04-08 13:35:22.657983969 +0000
++++ src/mythtv/libs/libmythtv/commbreakmap.cpp 2016-04-13 21:42:51.461959071 +0000
+@@ -233,7 +233,7 @@
+ if (kCommSkipOn == autocommercialskip)
+ {
+ //: %1 is the skip time
+- comm_msg = tr("Skip %1").arg(skipTime);
++ comm_msg = tr("Skip Commercial: %1").arg(skipTime);
+ }
+ else
+ {
+@@ -269,10 +269,9 @@
+ if ((skipcommercials == (0 - lastCommSkipDirection)) &&
+ ((time(NULL) - lastCommSkipTime) <= 5))
+ {
+- comm_msg = tr("Skipping Back.");
+-
+- if (lastCommSkipStart > (2.0 * video_frame_rate))
+- lastCommSkipStart -= (long long) (2.0 * video_frame_rate);
++ comm_msg = tr("Skipping Back");
++ if (lastCommSkipStart > (video_frame_rate))
++ lastCommSkipStart -= (long) (video_frame_rate);
+ lastCommSkipDirection = 0;
+ lastCommSkipTime = time(NULL);
+ jumpToFrame = lastCommSkipStart;
+@@ -287,7 +286,7 @@
+ if ((commBreakIter == commBreakMap.begin()) &&
+ (skipcommercials < 0))
+ {
+- comm_msg = tr("Start of program.");
++ comm_msg = tr("Start of Program");
+ jumpToFrame = 0;
+ return true;
+ }
+@@ -297,7 +296,7 @@
+ ((totalFrames) &&
+ ((commBreakIter.key() + (10 * video_frame_rate)) > totalFrames))))
+ {
+- comm_msg = tr("At End, cannot Skip.");
++ comm_msg = tr("At End, Cannot Skip");
+ return false;
+ }
+
+@@ -313,7 +312,7 @@
+ {
+ if (commBreakIter == commBreakMap.begin())
+ {
+- comm_msg = tr("Start of program.");
++ comm_msg = tr("Start of Program");
+ jumpToFrame = 0;
+ return true;
+ }
+@@ -341,7 +340,7 @@
+ ((commBreakIter.key() + (10 * video_frame_rate)) >
+ totalFrames)))
+ {
+- comm_msg = tr("At End, cannot Skip.");
++ comm_msg = tr("At End, Cannot Skip");
+ return false;
+ }
+ }
diff --git a/abs/core/mythtv/stable-0.28/mythtv/change_msg_types.patch b/abs/core/mythtv/stable-0.28/mythtv/change_msg_types.patch
new file mode 100644
index 0000000..5db23c9
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/change_msg_types.patch
@@ -0,0 +1,71 @@
+--- src/mythtv/libs/libmythtv/tv_play.cpp.orig 2016-04-12 21:18:14.577336824 +0000
++++ src/mythtv/libs/libmythtv/tv_play.cpp 2016-04-14 20:18:44.680018060 +0000
+@@ -10905,7 +10905,7 @@
+ else if (action == ACTION_TOGGLEOSDDEBUG)
+ ToggleOSDDebug(actx);
+ else if (action == "TOGGLEMANUALZOOM")
+- SetManualZoom(actx, true, tr("Zoom Mode ON"));
++ SetManualZoom(actx, true, tr("Zoom Mode On"));
+ else if (action == "TOGGLESTRETCH")
+ ToggleTimeStretch(actx);
+ else if (action == ACTION_ENABLEUPMIX)
+@@ -12228,7 +12228,7 @@
+ {
+ active = m_tvm_is_on;
+ BUTTON2(actionName,
+- tr("Turn Auto-Expire OFF"), tr("Turn Auto-Expire ON"));
++ tr("Turn Auto-Expire Off"), tr("Turn Auto-Expire On"));
+ }
+ }
+ else if (actionName == "QUEUETRANSCODE")
+@@ -12705,18 +12705,18 @@
+ if (ctx->playingInfo->QueryAutoExpire() != kDisableAutoExpire)
+ {
+ ctx->playingInfo->SaveAutoExpire(kDisableAutoExpire);
+- desc = tr("Auto-Expire OFF");
++ desc = tr("Auto-Expire Off");
+ }
+ else
+ {
+ ctx->playingInfo->SaveAutoExpire(kNormalAutoExpire);
+- desc = tr("Auto-Expire ON");
++ desc = tr("Auto-Expire On");
+ }
+
+ ctx->UnlockPlayingInfo(__FILE__, __LINE__);
+
+ if (!desc.isEmpty())
+- UpdateOSDSeekMessage(ctx, desc, kOSDTimeout_Med);
++ SetOSDMessage(ctx, desc);
+ }
+
+ void TV::SetAutoCommercialSkip(const PlayerContext *ctx,
+@@ -12733,7 +12733,7 @@
+ ctx->UnlockDeletePlayer(__FILE__, __LINE__);
+
+ if (!desc.isEmpty())
+- UpdateOSDSeekMessage(ctx, desc, kOSDTimeout_Med);
++ SetOSDMessage(ctx, desc);
+ }
+
+ void TV::SetManualZoom(const PlayerContext *ctx, bool zoomON, QString desc)
+--- ../git_src/mythtv/mythtv/libs/libmythtv/mythplayer.cpp 2016-04-12 21:18:14.574003917 +0000
++++ src/mythtv/libs/libmythtv/mythplayer.cpp 2016-04-14 20:05:49.146211278 +0000
+@@ -4267,7 +4267,7 @@
+ else if (action == ACTION_SELECT)
+ {
+ deleteMap.NewCut(frame);
+- SetOSDMessage(tr("New cut added."), kOSDTimeout_Short);
++ SetOSDMessage(tr("New Cut Added"), kOSDTimeout_Short);
+ refresh = true;
+ }
+ else if (action == "DELETE")
+@@ -4303,7 +4303,7 @@
+ if (handled && (action == "CUTTOBEGINNING" ||
+ action == "CUTTOEND" || action == "NEWCUT"))
+ {
+- SetOSDMessage(tr("New cut added."), kOSDTimeout_Short);
++ SetOSDMessage(tr("New Cut Added"), kOSDTimeout_Short);
+ }
+ else if (handled && action == "UNDO")
+ {
diff --git a/abs/core/mythtv/stable-0.28/mythtv/disable_mythnotification_tuner_failure.patch b/abs/core/mythtv/stable-0.28/mythtv/disable_mythnotification_tuner_failure.patch
new file mode 100644
index 0000000..dee880d
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/disable_mythnotification_tuner_failure.patch
@@ -0,0 +1,42 @@
+--- src/mythtv/libs/libmythtv/tv_rec.cpp.orig 2016-04-15 16:17:06.197470998 +0000
++++ src/mythtv/libs/libmythtv/tv_rec.cpp 2016-04-15 16:17:53.558049686 +0000
+@@ -3931,19 +3931,6 @@
+ newRecStatus = RecStatus::Failing;
+ curRecording->SaveVideoProperties(VID_DAMAGED, VID_DAMAGED);
+
+- QString desc = tr("Good signal seen after %1 ms")
+- .arg(genOpt.channel_timeout +
+- startRecordingDeadline.msecsTo(MythDate::current()));
+- QString title = curRecording->GetTitle();
+- if (!curRecording->GetSubtitle().isEmpty())
+- title += " - " + curRecording->GetSubtitle();
+-
+- MythNotification mn(MythNotification::Check, desc,
+- "Recording", title,
+- tr("See 'Tuning timeout' in mythtv-setup "
+- "for this input."));
+- gCoreContext->SendEvent(MythEvent(mn));
+-
+ LOG(VB_GENERAL, LOG_WARNING, LOC +
+ QString("It took longer than %1 ms to get a signal lock. "
+ "Keeping status of '%2'")
+@@ -3984,19 +3971,6 @@
+
+ SendMythSystemRecEvent("REC_FAILING", curRecording);
+
+- QString desc = tr("Taking more than %1 ms to get a lock.")
+- .arg(genOpt.channel_timeout);
+- QString title = curRecording->GetTitle();
+- if (!curRecording->GetSubtitle().isEmpty())
+- title += " - " + curRecording->GetSubtitle();
+-
+- MythNotification mn(MythNotification::Error, desc,
+- "Recording", title,
+- tr("See 'Tuning timeout' in mythtv-setup "
+- "for this input."));
+- mn.SetDuration(30);
+- gCoreContext->SendEvent(MythEvent(mn));
+-
+ LOG(VB_GENERAL, LOG_WARNING, LOC +
+ QString("TuningSignalCheck: taking more than %1 ms to get a lock. "
+ "marking this recording as '%2'.")
diff --git a/abs/core/mythtv/stable-0.28/mythtv/fixQTvirtualkeyboard.patch.28 b/abs/core/mythtv/stable-0.28/mythtv/fixQTvirtualkeyboard.patch.28
new file mode 100644
index 0000000..bfaad97
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/fixQTvirtualkeyboard.patch.28
@@ -0,0 +1,46 @@
+--- src/mythtv/libs/libmythui/mythmainwindow.cpp.orig 2016-03-15 17:30:19.608956780 +0000
++++ src/mythtv/libs/libmythui/mythmainwindow.cpp 2016-03-15 17:37:17.368720092 +0000
+@@ -1458,6 +1458,7 @@
+ #endif
+ if (currentWidget())
+ {
++#ifdef Q_OS_MAC
+ // don't disable the current widget, instead we disable all its children
+ // on mac, disabling the current active widget entirely prevent keyboard to
+ // work on the newly opened widget.
+@@ -1473,6 +1474,9 @@
+ }
+ }
+ }
++#else
++ currentWidget()->setEnabled(false);
++#endif
+ #ifdef USE_OPENGL_QT5
+ else
+ {
+@@ -1506,8 +1510,6 @@
+ if (!current)
+ {
+ current = this;
+- // We're be to the main window, enable it just in case
+- setEnabled(true);
+ #ifdef USE_OPENGL_QT5
+ // Restore WA_PaintOnScreen, used by OpenGL GUI painter
+ setAttribute(Qt::WA_PaintOnScreen, d->m_bSavedPOS);
+@@ -1515,6 +1517,7 @@
+ QTimer::singleShot(2, d->paintwin, SLOT(update()));
+ #endif
+ }
++#ifdef Q_OS_MAC
+ else
+ {
+ QList<QWidget*> list = current->findChildren<QWidget *>();
+@@ -1529,6 +1532,8 @@
+ }
+ }
+ current->raise();
++#endif
++ current->setEnabled(true);
+ current->setFocus();
+ current->setMouseTracking(true);
+
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/HOST_SETTINGS.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/HOST_SETTINGS.xml
new file mode 100644
index 0000000..c9ec7fa
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/HOST_SETTINGS.xml
@@ -0,0 +1,114 @@
+<mythmenu name="HOST_SETTINGS">
+ <button>
+ <type>MV_ACCESS_SETUP_MENU</type>
+ <text>Access</text>
+ <description>Manage which LinHES Settings can be used</description>
+ <action>EXEC mythinstall -s accesscontrol </action>
+ </button>
+
+ <button>
+ <type>MV_ADVANCED_SETUP_MENU</type>
+ <text>Advanced</text>
+ <description>Manage various Advanced Settings</description>
+ <action>EXEC mythinstall -s advanced</action>
+ </button>
+
+ <button>
+ <type>MV_AUDIO_SETUP_MENU</type>
+ <text>Audio</text>
+ <description>Manage Audio drivers, cards &amp; devices</description>
+ <action>EXEC mythinstall -s sound </action>
+ </button>
+
+ <button>
+ <type>MV_ADVANCED_X_SETUP_MENU</type>
+ <text>Display</text>
+ <description>Set the display resolution</description>
+ <action>EXEC mythinstall -s advancedX</action>
+ </button>
+
+ <button>
+ <type>MV_NETWORK_SETUP_MENU</type>
+ <text>Dynamic DNS</text>
+ <description>Manage your dyndns.com account</description>
+ <action>EXEC mythinstall -s ddns </action>
+ </button>
+
+ <button>
+ <type>MV_FILESHARES_MENU</type>
+ <text>File Sharing</text>
+ <description>Manage file sharing via NFS or SMB</description>
+ <action>EXEC mythinstall -s fileshare</action>
+ </button>
+
+ <button>
+ <type>MV_SYSTEM_SETUP_MENU</type>
+ <text>Host</text>
+ <description>Manage LinHES system type, pointer size &amp; MythWelcome</description>
+ <action>EXEC mythinstall -s hostype </action>
+ </button>
+
+ <button>
+ <type>MV_MISC_SETUP_MENU</type>
+ <text>Miscellaneous</text>
+ <description>Set timezone, shortcuts &amp; auto updates</description>
+ <action>EXEC mythinstall -s misc </action>
+ </button>
+
+ <button>
+ <type>MV_NETWORK_SETUP_MENU</type>
+ <text>Network</text>
+ <description>Manage network devices &amp; hostname</description>
+ <action>EXEC mythinstall -s network </action>
+ </button>
+
+ <button>
+ <type>MV_SOFTWARE_MENU</type>
+ <text>Programs</text>
+ <description>Manage programs for LinHES</description>
+ <action>EXEC mythinstall -s plugins,software </action>
+ </button>
+
+ <button>
+ <type>MV_IR_SETUP_MENU</type>
+ <text>Remotes</text>
+ <description>Manage remotes, receivers &amp; blasters</description>
+ <action>EXEC mythinstall -s ir </action>
+ </button>
+
+ <button>
+ <type>MV_SCREENSAVER_SETUP_MENU</type>
+ <text>Screensaver</text>
+ <description>Manage the Screensaver</description>
+ <action>EXEC mythinstall -s screensaver </action>
+ </button>
+
+ <button>
+ <type>MV_VNC_SETUP_MENU</type>
+ <text>Screen Sharing</text>
+ <description>Manage VNC and XVNC screen sharing</description>
+ <action>EXEC mythinstall -s vnc </action>
+ </button>
+
+ <button>
+ <type>MV_SHUTDOWN_SETUP_MENU</type>
+ <text>Shutdown</text>
+ <description>Set when to turn off LinHES</description>
+ <action>EXEC mythinstall -s sleep </action>
+ </button>
+<!-- disabled in the db so no need to show
+ <button>
+ <type>MV_USER_SETUP_MENU</type>
+ <text>User Accounts</text>
+ <description>Manage Users on LinHES</description>
+ <action>EXEC mythinstall -s user </action>
+ </button>
+-->
+ <button>
+ <type>MV_WEBACCESS_SETUP_MENU</type>
+ <text>Web Security</text>
+ <description>Manage local website security</description>
+ <action>EXEC mythinstall -s webuser </action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/dvd_backup.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/dvd_backup.xml
new file mode 100644
index 0000000..2647d81
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/dvd_backup.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<mythmenu name="OPTICAL_DISK">
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>Mirror DVD</text>
+ <description>Creates a mirror of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh m &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>ISO of DVD</text>
+ <description>Creates an ISO of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh i &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>High Quality</text>
+ <description>Creates a high quality MPEG4 of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh h &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>Normal Quality</text>
+ <description>Creates a normal quality MPEG4 of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh n &amp;</action>
+ </button>
+
+ <button>
+ <type>DVD_RIP</type>
+ <text>Low Quality</text>
+ <description>Creates a low quality MPEG4 of your DVD</description>
+ <action>EXEC /usr/LH/bin/ripD_eject.sh l &amp;</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/game.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/game.xml
new file mode 100644
index 0000000..293a9e6
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/game.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<mythmenu name="GAME">
+
+ <button>
+ <type>GAME</type>
+ <text>MythGame</text>
+ <description>Play video games</description>
+ <action>PLUGIN mythgame</action>
+ <depends>mythgame</depends>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/info_menu.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/info_menu.xml
new file mode 100644
index 0000000..017f90b
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/info_menu.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<mythmenu name="INFO">
+
+ <button>
+ <type>NEWS</type>
+ <text>News Feeds</text>
+ <description>Keep up with the news</description>
+ <action>PLUGIN mythnews</action>
+ <depends>mythnews</depends>
+ </button>
+
+ <button>
+ <type>MYTHTWITTER_TIMELINE</type>
+ <text>Twitter</text>
+ <description>Send and receive tweets</description>
+ <action>JUMP MythTwitter_Timeline</action>
+ <depends>mythtwitter</depends>
+ </button>
+
+ <button>
+ <type>WEATHER</type>
+ <text>Weather</text>
+ <action>PLUGIN mythweather</action>
+ <description>Local weather forecast</description>
+ <depends>mythweather</depends>
+ </button>
+
+ <button>
+ <type>WEATHER</type>
+ <text>Weather Station</text>
+ <action>PLUGIN mythwstation</action>
+ <depends>mythwstation</depends>
+ </button>
+
+ <button>
+ <type>WEBPAGE</type>
+ <text>Web</text>
+ <description>Browse the web</description>
+ <action>PLUGIN mythbrowser</action>
+ <depends>mythbrowser</depends>
+ </button>
+
+ <button>
+ <type>RECIPE</type>
+ <text>Recipes</text>
+ <description>Start cooking!</description>
+ <action>PLUGIN mythRecipe</action>
+ <depends>mythrecipe</depends>
+ </button>
+
+ <button>
+ <type>TV_STATUS</type>
+ <text>System Status</text>
+ <description>See what your system is doing</description>
+ <action>TV_STATUS</action>
+ </button>
+
+ <button>
+ <type>ZONEMINDER</type>
+ <text>ZoneMinder</text>
+ <description>Home surveillance</description>
+ <action>PLUGIN mythzoneminder</action>
+ <depends>mythzoneminder</depends>
+ </button>
+
+<!--
+ <button>
+ <type>SMOLT</type>
+ <text>Hardware profile</text>
+ <description>Tell us what hardware you have so we can support it</description>
+ <action>PLUGIN mythsmolt</action>
+ <depends>mythsmolt</depends>
+ </button>
+ -->
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/is.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/is.xml
new file mode 100644
index 0000000..19efc34
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/is.xml
@@ -0,0 +1,3 @@
+<mythmenu name="INTERNET_STREAMS">
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/lh_backend_control.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/lh_backend_control.xml
new file mode 100644
index 0000000..0b0cc17
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/lh_backend_control.xml
@@ -0,0 +1,24 @@
+<mythmenu name="LH_BACKEND">
+
+ <button>
+ <type></type>
+ <text>Start MythBackend</text>
+ <description>Start the Master MythBackend</description>
+ <action>EXEC lh_backend_control.sh start</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>Stop MythBackend</text>
+ <description>Stop the Master MythBackend</description>
+ <action>EXEC lh_backend_control.sh stop</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>Restart MythBackend</text>
+ <description>Restart the Master MythBackend</description>
+ <action>EXEC lh_backend_control.sh restart</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/library.xml.patch b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/library.xml.patch
new file mode 100644
index 0000000..0c0177a
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/library.xml.patch
@@ -0,0 +1,25 @@
+--- themes/defaultmenu/library.xml.orig 2014-11-26 20:21:35.092552944 +0000
++++ themes/defaultmenu/library.xml 2014-11-26 20:22:43.103983263 +0000
+@@ -56,6 +56,13 @@
+ </button>
+
+ <button>
++ <type>STREAM</type>
++ <text>Online Content</text>
++ <description>Play content from online sources</description>
++ <action>MENU gen_is.xml</action>
++ </button>
++
++ <button>
+ <type>IMAGES</type>
+ <text>Image Gallery</text>
+ <description>Look at Pictures</description>
+@@ -67,7 +74,7 @@
+ <type>GAME</type>
+ <text>Play Games</text>
+ <description>Play video games</description>
+- <action>PLUGIN mythgame</action>
++ <action>MENU game.xml</action>
+ <depends>mythgame</depends>
+ </button>
+
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes.xml
new file mode 100644
index 0000000..fe7640d
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes.xml
@@ -0,0 +1,70 @@
+<mythmenu name="LH_SERVICE_MENU">
+
+ <button>
+ <type>SETUP_GENERAL</type>
+ <text>MythTV Settings</text>
+ <text lang="IT">Impostazioni</text>
+ <text lang="ES">Configuración</text>
+ <text lang="DE">Zubehör / Konfiguration</text>
+ <text lang="DA">Tilbehør/Indstillinger</text>
+ <text lang="IS">Uppsetning</text>
+ <text lang="NL">Configuratie</text>
+ <text lang="PT">Utensílios</text>
+ <text lang="SV">Verktyg / Inställningar</text>
+ <text lang="JA">設å®~Z</text>
+ <text lang="FI">Oheis/Asetukset</text>
+ <text lang="ZH_TW">å·¥å~E·/設å®~Z</text>
+ <text lang="SL">Nastavitve</text>
+ <text lang="ET">Utiliidid / sätted</text>
+ <text lang="RU">УÑ~BилиÑ~BÑ~K / Ð~]аÑ~AÑ~BÑ~@ойки</text>
+ <text lang="AR">تضبÙ~Jطات</text>
+ <text lang="PL">NarzÄ~Ydzia / ustawienia</text>
+ <text lang="HE">×¢×~Vר×~Y×~] / ×~T×~R×~Sר×~Uת</text>
+ <text lang="HU">Eszközök / Beállítások</text>
+ <alttext lang="DE">Verschiedenes</alttext>
+ <alttext lang="SV">Inställningar</alttext>
+ <alttext lang="ET">Sätted</alttext>
+ <alttext lang="RU">Ð~]аÑ~AÑ~BÑ~@ойки</alttext>
+ <alttext lang="AR">تضبÙ~Jطات</alttext>
+ <description>Configure MythTV and Plugins</description>
+ <description lang="DE">MythTV und Plugins konfigurieren</description>
+ <action>MENU util_menu.xml</action>
+ </button>
+
+ <button>
+ <type>LINHES_SETUP</type>
+ <text>LinHES Settings</text>
+ <description>Configure the LinHES System</description>
+ <action>MENU HOST_SETTINGS.xml</action>
+ </button>
+
+ <button>
+ <type>TOOLS</type>
+ <text>LinHES Tools</text>
+ <description>Utilities for LinHES System</description>
+ <action>MENU linhes_tools.xml</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>Backup LinHES</text>
+ <description>Backup the LinHES System</description>
+ <action>MENU mythbackup.xml</action>
+ </button>
+
+ <button>
+ <type>RESTORE</type>
+ <text>Restore LinHES</text>
+ <description>Restore the LinHES System</description>
+ <action>MENU mythrestore.xml</action>
+ </button>
+
+<!--#Check for updates-->
+ <button>
+ <type>UPGRADE</type>
+ <text>Update LinHES</text>
+ <description>Update the LinHES System</description>
+ <action>MENU update.xml</action>
+ </button>
+<!--#Check for updates-->
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes_tools.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes_tools.xml
new file mode 100644
index 0000000..feabe8e
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/linhes_tools.xml
@@ -0,0 +1,31 @@
+<mythmenu name="LH_TOOLS">
+
+ <button>
+ <type></type>
+ <text>Show Help</text>
+ <description>Display the LinHES help screen</description>
+ <action>EXEC mythinstall -H</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>Toggle Pointer</text>
+ <description>Show/Hide the mouse pointer</description>
+ <action>EXEC unclutter-toggle.sh</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>MythBackend</text>
+ <description>Start/Stop MythBackend</description>
+ <action>MENU lh_backend_control.xml</action>
+ </button>
+
+ <button>
+ <type></type>
+ <text>MythTV-Setup</text>
+ <description>Open mythtv-setup</description>
+ <action>EXEC mythtv-setup</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mainmenu.xml.patch b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mainmenu.xml.patch
new file mode 100644
index 0000000..3ddce0b
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mainmenu.xml.patch
@@ -0,0 +1,15 @@
+--- themes/defaultmenu/mainmenu.xml.orig 2014-09-02 20:03:34.658600292 +0000
++++ themes/defaultmenu/mainmenu.xml 2014-09-03 15:49:34.820056829 +0000
+@@ -45,9 +45,9 @@
+
+ <button>
+ <type>MENU_UTILITIES_SETUP</type>
+- <text>Setup</text>
+- <description>Configure MythTV and plugins</description>
+- <action>MENU main_settings.xml</action>
++ <text>Service Menu</text>
++ <description>Configure your system</description>
++ <action>MENU linhes.xml</action>
+ <password>SetupPinCode</password>
+ </button>
+
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythbackup.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythbackup.xml
new file mode 100644
index 0000000..176591b
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythbackup.xml
@@ -0,0 +1,22 @@
+<mythmenu name="LH_BACKUP">
+ <button>
+ <type>BACKUP</type>
+ <text>Backup Now?</text>
+ <description></description>
+ <action>NONE</action>
+ </button>
+
+ <button>
+ <type>BACKUP</type>
+ <text>Yes</text>
+ <description>Start Backup</description>
+ <action>EXEC sudo /usr/LH/bin/lh_system_backup &amp;</action>
+ </button>
+
+ <button>
+ <type>JUMP_RELOAD_THEME</type>
+ <text>No</text>
+ <description>Return to Main Menu</description>
+ <action>JUMP Reload Theme</action>
+ </button>
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythrestore.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythrestore.xml
new file mode 100644
index 0000000..d37ba2b
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/mythrestore.xml
@@ -0,0 +1,24 @@
+<mythmenu name="LH_RESTORE">
+
+ <button>
+ <type>RESTORE</type>
+ <text>Restore Now?</text>
+ <description>Restore the database from the most recent backup</description>
+ <action>NONE</action>
+ </button>
+
+ <button>
+ <type>RESTORE</type>
+ <text>Yes</text>
+ <description>Start Restore</description>
+ <action>EXEC sudo /usr/LH/bin/lh_system_restore &amp;</action>
+ </button>
+
+ <button>
+ <type>JUMP_RELOAD_THEME</type>
+ <text>No</text>
+ <description>Return to Main Menu</description>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/optical_menu.xml.patch b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/optical_menu.xml.patch
new file mode 100644
index 0000000..b836e85
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/optical_menu.xml.patch
@@ -0,0 +1,23 @@
+--- themes/defaultmenu/optical_menu.xml.orig 2012-05-02 18:41:38.000000000 +0000
++++ themes/defaultmenu/optical_menu.xml 2012-07-30 05:33:03.000000000 +0000
+@@ -17,6 +17,20 @@
+ </button>
+
+ <button>
++ <type>DVD_RIP</type>
++ <text>Backup DVD</text>
++ <description>Backup your DVDs</description>
++ <action>MENU dvd_backup.xml</action>
++ </button>
++
++ <button>
++ <type>DVD_RIP</type>
++ <text>Import Files from DVD</text>
++ <description>Import all files from a data DVD</description>
++ <action>EXEC /usr/LH/bin/importfiles.sh &amp;</action>
++ </button>
++
++ <button>
+ <type>MUSIC_RIP</type>
+ <text>Import CD</text>
+ <description>Import music from an audio CD</description>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/original/create_patch.sh b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/original/create_patch.sh
new file mode 100644
index 0000000..34d8b8c
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/original/create_patch.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+for i in *.xml
+do
+ diff -u $i.orig $i > ../$i.patch
+done
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/siriusmenu.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/siriusmenu.xml
new file mode 100644
index 0000000..e317b36
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/siriusmenu.xml
@@ -0,0 +1,419 @@
+<mythmenu name="SIRIUS">
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Hits 1</text>
+ <action>EXEC /usr/bin/cliSipie siriushits1</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>StarLite</text>
+ <action>EXEC /usr/bin/cliSipie starlite</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Love</text>
+ <action>EXEC /usr/bin/cliSipie siriuslove</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Movin EZ</text>
+ <action>EXEC /usr/bin/cliSipie movineasy</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Gold</text>
+ <action>EXEC /usr/bin/cliSipie siriusgold</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>'60s Vibrations</text>
+ <action>EXEC /usr/bin/cliSipie 60svibrations</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Totally '70s</text>
+ <action>EXEC /usr/bin/cliSipie totally70s</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Big '80s</text>
+ <action>EXEC /usr/bin/cliSipie big80s</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>ThePulse</text>
+ <action>EXEC /usr/bin/cliSipie thepulse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Bridge</text>
+ <action>EXEC /usr/bin/cliSipie thebridge</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BBC Radio 1</text>
+ <action>EXEC /usr/bin/cliSipie bbcradio1</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Super Shuffle</text>
+ <action>EXEC /usr/bin/cliSipie supershuffle</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Elvis Radio</text>
+ <action>EXEC /usr/bin/cliSipie elvisradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Classic Vinyl</text>
+ <action>EXEC /usr/bin/cliSipie classicvinyl</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Classic Rewind</text>
+ <action>EXEC /usr/bin/cliSipie classicrewind</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>TheVault</text>
+ <action>EXEC /usr/bin/cliSipie thevault</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Jam_ON</text>
+ <action>EXEC /usr/bin/cliSipie jamon</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spectrum</text>
+ <action>EXEC /usr/bin/cliSipie thespectrum</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BuzzSaw</text>
+ <action>EXEC /usr/bin/cliSipie buzzsaw</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Octane</text>
+ <action>EXEC /usr/bin/cliSipie octane</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Alt Nation</text>
+ <action>EXEC /usr/bin/cliSipie altnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>1st Wave</text>
+ <action>EXEC /usr/bin/cliSipie firstwave</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hair Nation</text>
+ <action>EXEC /usr/bin/cliSipie hairnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>'90s Alternative</text>
+ <action>EXEC /usr/bin/cliSipie 90salternative</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Garage</text>
+ <action>EXEC /usr/bin/cliSipie undergroundgarage</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Left of Center</text>
+ <action>EXEC /usr/bin/cliSipie leftofcenter</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hard Attack</text>
+ <action>EXEC /usr/bin/cliSipie hardattack</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Faction</text>
+ <action>EXEC /usr/bin/cliSipie faction</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Punk</text>
+ <action>EXEC /usr/bin/cliSipie punk</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>The Coffee House</text>
+ <action>EXEC /usr/bin/cliSipie coffeehouse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Margaritaville</text>
+ <action>EXEC /usr/bin/cliSipie radiomargaritaville</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Disorder</text>
+ <action>EXEC /usr/bin/cliSipie siriusdisorder</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Reggae</text>
+ <action>EXEC /usr/bin/cliSipie reggaerhythms</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Area 33</text>
+ <action>EXEC /usr/bin/cliSipie area33</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Boombox</text>
+ <action>EXEC /usr/bin/cliSipie boombox</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Chill</text>
+ <action>EXEC /usr/bin/cliSipie chill</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>The Beat</text>
+ <action>EXEC /usr/bin/cliSipie thebeat</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Strobe</text>
+ <action>EXEC /usr/bin/cliSipie thestrobe</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hip-Hop Nation</text>
+ <action>EXEC /usr/bin/cliSipie hiphopnation</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>BackSpin</text>
+ <action>EXEC /usr/bin/cliSipie backspin</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Shade 45</text>
+ <action>EXEC /usr/bin/cliSipie shade45</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Hot Jamz</text>
+ <action>EXEC /usr/bin/cliSipie hotjamz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Heart &amp; Soul</text>
+ <action>EXEC /usr/bin/cliSipie heartandsoul</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>SoulTown</text>
+ <action>EXEC /usr/bin/cliSipie soultown</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>New Country</text>
+ <action>EXEC /usr/bin/cliSipie newcountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Prime Country</text>
+ <action>EXEC /usr/bin/cliSipie primecountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Roadhouse</text>
+ <action>EXEC /usr/bin/cliSipie theroadhouse</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Outlaw Country</text>
+ <action>EXEC /usr/bin/cliSipie outlawcountry</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Bluegrass</text>
+ <action>EXEC /usr/bin/cliSipie bluegrass</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spirit</text>
+ <action>EXEC /usr/bin/cliSipie spirit</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Praise</text>
+ <action>EXEC /usr/bin/cliSipie praise</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Planet Jazz</text>
+ <action>EXEC /usr/bin/cliSipie planetjazz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>JazzCafe</text>
+ <action>EXEC /usr/bin/cliSipie jazzcafe</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>PureJazz</text>
+ <action>EXEC /usr/bin/cliSipie purejazz</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Spa 73</text>
+ <action>EXEC /usr/bin/cliSipie spa73</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Blues</text>
+ <action>EXEC /usr/bin/cliSipie siriusblues</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Siriusly Sinatra</text>
+ <action>EXEC /usr/bin/cliSipie siriuslysinatra</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Broadway's Best</text>
+ <action>EXEC /usr/bin/cliSipie broadwaysbest</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Symphony Hall</text>
+ <action>EXEC /usr/bin/cliSipie symphonyhall</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Met Opera Radio</text>
+ <action>EXEC /usr/bin/cliSipie metropolitanopera</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Pops</text>
+ <action>EXEC /usr/bin/cliSipie siriuspops</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Universo Latino</text>
+ <action>EXEC /usr/bin/cliSipie universolatino</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Rumbon</text>
+ <action>EXEC /usr/bin/cliSipie rumbon</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Martha Stewart</text>
+ <action>EXEC /usr/bin/cliSipie marthastewartlivingradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius Stars</text>
+ <action>EXEC /usr/bin/cliSipie siriusstars</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>OutQ Gay Radio</text>
+ <action>EXEC /usr/bin/cliSipie siriusoutq</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Patriot</text>
+ <action>EXEC /usr/bin/cliSipie siriuspatriot</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Left</text>
+ <action>EXEC /usr/bin/cliSipie siriusleft</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>CNN</text>
+ <action>EXEC /usr/bin/cliSipie cnn</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>wrn</text>
+ <action>EXEC /usr/bin/cliSipie wrn</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Blue Collar Comedy</text>
+ <action>EXEC /usr/bin/cliSipie bluecollarcomedy</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Raw Dog Comedy</text>
+ <action>EXEC /usr/bin/cliSipie rawdog</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Laugh Break Comedy</text>
+ <action>EXEC /usr/bin/cliSipie laughbreak</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>thefoxxhole</text>
+ <action>EXEC /usr/bin/cliSipie thefoxxhole</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>lime</text>
+ <action>EXEC /usr/bin/cliSipie lime</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Kids Stuff</text>
+ <action>EXEC /usr/bin/cliSipie kidsstuff</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Catholic Channel</text>
+ <action>EXEC /usr/bin/cliSipie thecatholicchannel</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>EWTN</text>
+ <action>EXEC /usr/bin/cliSipie ewtnglobal</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>christiantalk</text>
+ <action>EXEC /usr/bin/cliSipie christiantalk</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Sirius NFL Radio</text>
+ <action>EXEC /usr/bin/cliSipie siriusnflradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Maxim Radio</text>
+ <action>EXEC /usr/bin/cliSipie maximradio</action>
+ </button>
+ <button>
+ <type>MUSIC</type>
+ <text>Cosmo Radio</text>
+ <action>EXEC /usr/bin/cliSipie cosmopolitanradio</action>
+ </button>
+ <button>
+ <type>TV_DELETE</type>
+ <text>Stop Listening</text>
+ <action>EXEC /usr/bin/sipie_kill</action>
+ </button>
+
+</mythmenu>
+
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/update.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/update.xml
new file mode 100644
index 0000000..2d47e7d
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/update.xml
@@ -0,0 +1,11 @@
+<mythmenu name="LH_UPDATE">
+
+ <button>
+ <type>JUMP Reload Theme</type>
+ <text>Check for Updates</text>
+ <description>Search for LinHES system updates</description>
+ <action>EXEC sudo /usr/LH/bin/linhes_update.sh</action>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/update2.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/update2.xml
new file mode 100644
index 0000000..4eee8cc
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/update2.xml
@@ -0,0 +1,25 @@
+<mythmenu name="LH_UPDATE">
+
+ <button>
+ <type>UPGRADE</type>
+ <text>Install Updates</text>
+ <description>Install updates for the LinHES system</description>
+ <action>EXEC sudo /usr/LH/bin/linhes_update2.sh install</action>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+ <button>
+ <type>JUMP_RELOAD_THEME</type>
+ <text>Cancel Updates</text>
+ <description>Return to Main Menu</description>
+ <action>EXEC sudo /usr/LH/bin/linhes_update2.sh</action>
+ <action>JUMP Reload Theme</action>
+ </button>
+
+ <button>
+ <type>UPGRADE</type>
+ <text>View Updates</text>
+ <description>Displays the packages to be updated</description>
+ <action>MENU update3.xml</action>
+ </button>
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/menu-xml/xmmenu.xml b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/xmmenu.xml
new file mode 100644
index 0000000..6b26d11
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/menu-xml/xmmenu.xml
@@ -0,0 +1,574 @@
+<!-- Current as of April 25, 2007 -->
+<mythmenu name="XM">
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '40s</text>
+ <action>EXEC /usr/bin/xamp kill 4</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '50s</text>
+ <action>EXEC /usr/bin/xamp kill 5</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '60s</text>
+ <action>EXEC /usr/bin/xamp kill 6</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '70s</text>
+ <action>EXEC /usr/bin/xamp kill 7</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '80s</text>
+ <action>EXEC /usr/bin/xamp kill 8</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The '90s</text>
+ <action>EXEC /usr/bin/xamp kill 9</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>America</text>
+ <action>EXEC /usr/bin/xamp kill 10</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>X Country</text>
+ <action>EXEC /usr/bin/xamp kill 12</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Willie's Place</text>
+ <action>EXEC /usr/bin/xamp kill 13</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bluegrass Junction</text>
+ <action>EXEC /usr/bin/xamp kill 14</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Village</text>
+ <action>EXEC /usr/bin/xamp kill 15</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Highway 16</text>
+ <action>EXEC /usr/bin/xamp kill 16</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>US Country</text>
+ <action>EXEC /usr/bin/xamp kill 17</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>20 on 20</text>
+ <action>EXEC /usr/bin/xamp kill 20</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Heart</text>
+ <action>EXEC /usr/bin/xamp kill 23</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Blend</text>
+ <action>EXEC /usr/bin/xamp kill 25</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Flight 26</text>
+ <action>EXEC /usr/bin/xamp kill 26</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Cinemagic</text>
+ <action>EXEC /usr/bin/xamp kill 27</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>On Broadway</text>
+ <action>EXEC /usr/bin/xamp kill 28</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>U-Pop</text>
+ <action>EXEC /usr/bin/xamp kill 29</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Hitlist</text>
+ <action>EXEC /usr/bin/xamp kill 30</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Torch</text>
+ <action>EXEC /usr/bin/xamp kill 31</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Message</text>
+ <action>EXEC /usr/bin/xamp kill 32</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Spirit</text>
+ <action>EXEC /usr/bin/xamp kill 33</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>enLighten</text>
+ <action>EXEC /usr/bin/xamp kill 34</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Deep Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 40</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Boneyard</text>
+ <action>EXEC /usr/bin/xamp kill 41</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Liquid Metal</text>
+ <action>EXEC /usr/bin/xamp kill 42</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XMU</text>
+ <action>EXEC /usr/bin/xamp kill 43</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fred</text>
+ <action>EXEC /usr/bin/xamp kill 44</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Cafe</text>
+ <action>EXEC /usr/bin/xamp kill 45</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Top Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 46</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Ethel</text>
+ <action>EXEC /usr/bin/xamp kill 47</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Squizz</text>
+ <action>EXEC /usr/bin/xamp kill 48</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Big Tracks</text>
+ <action>EXEC /usr/bin/xamp kill 49</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Loft</text>
+ <action>EXEC /usr/bin/xamp kill 50</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Music Lab</text>
+ <action>EXEC /usr/bin/xamp kill 51</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Verge</text>
+ <action>EXEC /usr/bin/xamp kill 52</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fungus</text>
+ <action>EXEC /usr/bin/xamp kill 53</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Lucy</text>
+ <action>EXEC /usr/bin/xamp kill 54</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Soul Street</text>
+ <action>EXEC /usr/bin/xamp kill 60</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Flow</text>
+ <action>EXEC /usr/bin/xamp kill 61</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Suite 62</text>
+ <action>EXEC /usr/bin/xamp kill 62</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Groove</text>
+ <action>EXEC /usr/bin/xamp kill 64</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Rhyme</text>
+ <action>EXEC /usr/bin/xamp kill 65</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>RAW</text>
+ <action>EXEC /usr/bin/xamp kill 66</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The City</text>
+ <action>EXEC /usr/bin/xamp kill 67</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Heat</text>
+ <action>EXEC /usr/bin/xamp kill 68</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Real Jazz</text>
+ <action>EXEC /usr/bin/xamp kill 70</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Watercolors</text>
+ <action>EXEC /usr/bin/xamp kill 71</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Beyond Jazz</text>
+ <action>EXEC /usr/bin/xamp kill 72</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>High Standards</text>
+ <action>EXEC /usr/bin/xamp kill 73</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bluesville</text>
+ <action>EXEC /usr/bin/xamp kill 74</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Hear Music</text>
+ <action>EXEC /usr/bin/xamp kill 75</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fine Tuning</text>
+ <action>EXEC /usr/bin/xamp kill 76</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Audio Visions</text>
+ <action>EXEC /usr/bin/xamp kill 77</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Escape</text>
+ <action>EXEC /usr/bin/xamp kill 78</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>On The Rocks</text>
+ <action>EXEC /usr/bin/xamp kill 79</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Move</text>
+ <action>EXEC /usr/bin/xamp kill 80</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>BPM</text>
+ <action>EXEC /usr/bin/xamp kill 81</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The System</text>
+ <action>EXEC /usr/bin/xamp kill 82</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Chrome</text>
+ <action>EXEC /usr/bin/xamp kill 83</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM-Chill</text>
+ <action>EXEC /usr/bin/xamp kill 84</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Fuego</text>
+ <action>EXEC /usr/bin/xamp kill 90</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Viva</text>
+ <action>EXEC /usr/bin/xamp kill 91</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Aguila</text>
+ <action>EXEC /usr/bin/xamp kill 92</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Caliente</text>
+ <action>EXEC /usr/bin/xamp kill 94</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Luna</text>
+ <action>EXEC /usr/bin/xamp kill 95</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Air Musique</text>
+ <action>EXEC /usr/bin/xamp kill 100</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Joint</text>
+ <action>EXEC /usr/bin/xamp kill 101</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Sur La Route</text>
+ <action>EXEC /usr/bin/xamp kill 102</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>World Zone</text>
+ <action>EXEC /usr/bin/xamp kill 103</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Ngoma</text>
+ <action>EXEC /usr/bin/xamp kill 104</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Classics</text>
+ <action>EXEC /usr/bin/xamp kill 110</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Vox</text>
+ <action>EXEC /usr/bin/xamp kill 112</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Pops</text>
+ <action>EXEC /usr/bin/xamp kill 113</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Kids</text>
+ <action>EXEC /usr/bin/xamp kill 116</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Bob Edwards Show</text>
+ <action>EXEC /usr/bin/xamp kill 133</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>XM Comedy</text>
+ <action>EXEC /usr/bin/xamp kill 150</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Laugh USA</text>
+ <action>EXEC /usr/bin/xamp kill 151</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Special X</text>
+ <action>EXEC /usr/bin/xamp kill 154</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Agenda</text>
+ <action>EXEC /usr/bin/xamp kill 134</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Oprah and Friends</text>
+ <action>EXEC /usr/bin/xamp kill 156</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>The Virus</text>
+ <action>EXEC /usr/bin/xamp kill 202</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>1 Hit Wonders</text>
+ <action>EXEC /usr/bin/xamp kill 300</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Metalcore</text>
+ <action>EXEC /usr/bin/xamp kill 301</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Indie First</text>
+ <action>EXEC /usr/bin/xamp kill 302</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Late Night Mix</text>
+ <action>EXEC /usr/bin/xamp kill 303</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Sessions@AOL</text>
+ <action>EXEC /usr/bin/xamp kill 304</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>Shuffle</text>
+ <action>EXEC /usr/bin/xamp kill 305</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Rock First</text>
+ <action>EXEC /usr/bin/xamp kill 306</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Country First</text>
+ <action>EXEC /usr/bin/xamp kill 307</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Hip Hop First</text>
+ <action>EXEC /usr/bin/xamp kill 308</action>
+ </button>
+
+ <button>
+ <type>MUSIC</type>
+ <text>New Pop First</text>
+ <action>EXEC /usr/bin/xamp kill 309</action>
+ </button>
+
+ <button>
+ <type>TV_DELETE</type>
+ <text>Stop Listening</text>
+ <action>EXEC /usr/bin/xamp kill</action>
+ </button>
+
+</mythmenu>
diff --git a/abs/core/mythtv/stable-0.28/mythtv/myth_settings.patch b/abs/core/mythtv/stable-0.28/mythtv/myth_settings.patch
new file mode 100644
index 0000000..8b7f731
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/myth_settings.patch
@@ -0,0 +1,1972 @@
+commit 0bfb6515f1c6f10d4d9d5d7297ca56a18ac3c138
+Author: James Meyer <james.meyer@operamail.com>
+Date: Sun Nov 17 18:58:50 2013 -0600
+
+ mythutil updated with myth_settings for .27
+
+diff --git a/mythtv/libs/libmythbase/mythcorecontext.cpp b/mythtv/libs/libmythbase/mythcorecontext.cpp
+index e9cc880..4f7a3bd 100644
+--- a/mythtv/libs/libmythbase/mythcorecontext.cpp
++++ b/mythtv/libs/libmythbase/mythcorecontext.cpp
+@@ -1262,6 +1262,90 @@ void MythCoreContext::ResetLanguage(void)
+ d->language.clear();
+ }
+
++//JM ADDED
++void MythCoreContext::savesettings_togroup (QString src_hostname,
++ QString saved_settingsgroupname )
++{
++ return d->m_database->savesettings_togroup(src_hostname,
++ saved_settingsgroupname);
++}
++
++void MythCoreContext::deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname)
++{
++ return d->m_database->deletesettings(delete_hostname,
++ saved_settingsgroupname);
++}
++
++QMap<QString,QStringList> MythCoreContext::list_settingsgroupname()
++{
++ return d->m_database->list_settingsgroupname();
++}
++
++QMap<QString,QStringList> MythCoreContext::diff_settingsgroupname(
++ QString diff_hostname1,
++ QString diff_hostname2,
++ QStringList table_list)
++{
++ return d->m_database->diff_settingsgroupname(diff_hostname1,
++ diff_hostname2,
++ table_list);
++}
++
++void MythCoreContext::clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone,
++ QString dest_hostname)
++{
++ return d->m_database->clonesettings(src_hostname,
++ saved_settingsgroupname,
++ table_list,
++ is_full_clone,
++ dest_hostname);
++}
++
++void MythCoreContext::restoresettings(QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list )
++{
++ return d->m_database->restoresettings( dest_hostname,
++ saved_settingsgroupname,
++ table_list);
++}
++
++void MythCoreContext::change_hostname(QString old_hostname,
++ QString new_hostname)
++{
++ return d->m_database->change_hostname(old_hostname, new_hostname) ;
++}
++
++bool MythCoreContext::settings_check(QString src_hostname,
++ QString saved_settingsgroupname)
++{
++ return d->m_database->settings_check(src_hostname,saved_settingsgroupname);
++}
++
++void MythCoreContext::import_settings(QMap<QString,QString> vp_map,
++ QString table)
++{
++ return d->m_database->import_settings(vp_map, table);
++}
++
++
++QMap<QString, QMap<QString,QString> > MythCoreContext::export_settings(
++ QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list, bool skip_host )
++{
++ return d->m_database->export_settings(src_hostname,
++ saved_settingsgroupname,
++ table_list , skip_host );
++}
++
++//END JM ADDED
++
++
+ void MythCoreContext::InitLocale(void )
+ {
+ if (!d->m_locale)
+diff --git a/mythtv/libs/libmythbase/mythcorecontext.h b/mythtv/libs/libmythbase/mythcorecontext.h
+index aed83d7..3f0de5e 100644
+--- a/mythtv/libs/libmythbase/mythcorecontext.h
++++ b/mythtv/libs/libmythbase/mythcorecontext.h
+@@ -198,7 +198,42 @@ class MBASE_PUBLIC MythCoreContext : public QObject, public MythObservable, publ
+ void emitTVPlaybackUnpaused(void) { emit TVPlaybackUnpaused(); }
+ void emitTVPlaybackAborted(void) { emit TVPlaybackAborted(); }
+ void emitTVPlaybackPlaying(void) { emit TVPlaybackPlaying(); }
+-
++
++ //JM ADDED
++ void savesettings_togroup(QString src_hostname,
++ QString saved_settingsgroupname );
++
++ void deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname);
++
++ QMap<QString,QStringList> list_settingsgroupname();
++ QMap<QString,QStringList> diff_settingsgroupname(QString diff_hostname1,
++ QString diff_hostname2,
++ QStringList table_list);
++
++ void clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone = true,
++ QString dest_hostname="");
++
++ void restoresettings (QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list);
++
++ void change_hostname (QString old_hostname, QString new_hostname);
++
++ bool settings_check (QString src_hostname ,QString saved_settingsgroupname);
++ void import_settings(QMap<QString,QString> vp_map, QString table);
++
++ QMap<QString,QMap <QString,QString> > export_settings(
++ QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool skip_host = false );
++ //END JM ADDED
++
++
+ signals:
+ void TVPlaybackStarted(void);
+ //// TVPlaybackStopped signal should be used in combination with
+@@ -211,6 +246,7 @@ class MBASE_PUBLIC MythCoreContext : public QObject, public MythObservable, publ
+ void TVPlaybackAboutToStart(void);
+ void TVPlaybackPlaying(void);
+
++
+ private:
+ MythCoreContextPrivate *d;
+
+diff --git a/mythtv/libs/libmythbase/mythdb.cpp b/mythtv/libs/libmythbase/mythdb.cpp
+index e60fce0..ed3bdf7 100644
+--- a/mythtv/libs/libmythbase/mythdb.cpp
++++ b/mythtv/libs/libmythbase/mythdb.cpp
+@@ -896,6 +896,1015 @@ void MythDB::WriteDelayedSettings(void)
+ }
+ }
+
++//JM ADDED
++void MythDB::savesettings_togroup(QString src_hostname,
++ QString saved_settingsgroupname )
++{
++ LOG(VB_GENERAL, LOG_ERR, QString("Using hostname of : %1")
++ .arg(src_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Saving to group: %1")
++ .arg(saved_settingsgroupname));
++ if ( settings_check( src_hostname , "current" ) )
++ {
++ QStringList table_list;
++ QString hostname_clause;
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ if ( src_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ foreach (QString table, table_list)
++ {
++ QString dest_tablename = table +"_" + saved_settingsgroupname ;
++ create_new_table(dest_tablename,table);
++
++ QString query_string;
++ // Remove old saved values
++ MSqlQuery query(MSqlQuery::InitCon());
++ query_string = QString("DELETE FROM %1 WHERE %2")
++ .arg(dest_tablename)
++ .arg(hostname_clause);
++
++ //query_string = QString("DELETE FROM %1 WHERE "
++ // "hostname = :HOSTNAME").arg(dest_tablename);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" ,src_hostname);
++ query.exec();
++
++ //insert all new settings
++ query_string = QString("REPLACE INTO %1 "
++ "SELECT * from %2 where %3")
++ .arg(dest_tablename)
++ .arg(table)
++ .arg(hostname_clause);
++// query_string = QString("REPLACE INTO %1 "
++// "SELECT * from %2 where hostname = :HOSTNAME)")
++// .arg(dest_tablename)
++// .arg(table);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",src_hostname);
++ query.exec();
++ }
++ }
++ else
++ LOG(VB_GENERAL| VB_STDIO|VB_FLUSH, LOG_ERR,
++ QString("Couldn't find settings for: %1 \n").arg(src_hostname));
++ return;
++
++};
++
++void MythDB::deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname)
++{
++ LOG(VB_GENERAL, LOG_ERR, QString("Using hostname of : %1")
++ .arg(delete_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Deleting: %1")
++ .arg(saved_settingsgroupname));
++ int tempItem;
++ QString src_tablename;
++ QStringList table_list;
++
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ QString hostname_clause;
++ if ( delete_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ foreach (QString table, table_list)
++ {
++ src_tablename = find_group_table_name(table, saved_settingsgroupname);
++ MSqlQuery query(MSqlQuery::InitCon());
++ // Remove old saved values
++ if ( does_table_exist(src_tablename))
++ {
++ QString query_string = QString("DELETE from %1 "
++ "WHERE %2")
++ .arg(src_tablename)
++ .arg(hostname_clause);
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" ,delete_hostname);
++ query.exec();
++
++ //check if ok to delete table
++ query_string = QString("SELECT count(*) from %1")
++ .arg(src_tablename);
++ query.prepare(query_string);
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ query.next();
++ tempItem = query.value(0).toInt();
++ if ( tempItem == 0 )
++ drop_temp_table(src_tablename);
++ }
++ }
++ else
++ LOG(VB_GENERAL, LOG_ERR,
++ QString("Couldn't find table: %1").arg(src_tablename));
++ }
++ return;
++}; // end delete settings
++
++
++QMap<QString,QStringList> MythDB::list_settingsgroupname()
++{
++ //Returns a QMAP of "settings_groups: hostname"
++ MSqlQuery query(MSqlQuery::InitCon());
++ MSqlQuery subquery(MSqlQuery::InitCon());
++ QString tempItem;
++ QString temp_hostnameItem;
++ QStringList hostname_list;
++ QMap<QString,QStringList> return_list;
++ QString full_table_name;
++ query.prepare( "show tables like \"settings%\" " );
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ full_table_name = query.value(0).toString();
++ tempItem=query.value(0).toString().remove(QRegExp("settings_"));
++ if ( tempItem != "distro_default" )
++ {
++ //loop over tables looking for hostnames
++ QString query_string = QString("SELECT DISTINCT "
++ "hostname from %1")
++ .arg(full_table_name);
++ subquery.prepare(query_string);
++
++ if (subquery.exec() && subquery.isActive()
++ && subquery.size() > 0)
++ {
++ while (subquery.next())
++ {
++ temp_hostnameItem = subquery.value(0).toString();
++ hostname_list.append(temp_hostnameItem);
++ }
++ }
++ //Special case of naming for the settings table;
++ //This only affects output.
++ if ( tempItem == "settings" )
++ return_list["current"] = hostname_list;
++ else
++ return_list[tempItem] = hostname_list;
++
++ //reset hostname_list for the next group
++ hostname_list = QStringList();
++ }
++ }
++ }
++ return return_list;
++}; // end list_settingsgroupname
++
++QMap<QString,QStringList> MythDB::diff_settingsgroupname(
++ QString diff_hostname1 ,
++ QString diff_hostname2,
++ QStringList table_list )
++{
++ // Returns a QMAP of tablename : diff results
++ LOG(VB_GENERAL, LOG_ERR, QString("Comparing settings for:"));
++ LOG(VB_GENERAL, LOG_ERR, QString("host 1: %1").arg(diff_hostname1));
++ LOG(VB_GENERAL, LOG_ERR, QString("host 2: %1").arg(diff_hostname2));
++
++ QString qstr;
++ QString tempItem;
++ QString tempString;
++
++ QStringList diff_list;
++ QStringList settings_list;
++ QStringList keybinding_list;
++
++ QMap<QString,QStringList> return_list;
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ }
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ foreach (QString table, table_list)
++ {
++ if ( table == "settings")
++ {
++
++ qstr= "SELECT distinct settings.value, :DIFF_HOSTNAME1 AS `hostname`, settings_a.data, :DIFF_HOSTNAME2 AS `hostname`"
++ " , settings_b.data FROM settings LEFT JOIN settings AS settings_a ON settings_a.value = settings.value AND settings_a.hostname = :DIFF_HOSTNAME1"
++ " LEFT JOIN settings AS settings_b ON settings_b.value = settings.value AND settings_b.hostname = :DIFF_HOSTNAME2"
++ " WHERE settings_a.data != settings_b.data OR "
++ " (settings_a.data IS NULL AND settings_b.data IS NOT NULL) OR (settings_a.data IS NOT NULL AND settings_b.data IS NULL);";
++
++ query.prepare(qstr);
++ query.bindValue(":DIFF_HOSTNAME1" , diff_hostname1);
++ query.bindValue(":DIFF_HOSTNAME2" , diff_hostname2);
++
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ tempString="";
++ //value
++ tempItem = query.value(0).toString();
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname_1
++ tempItem = query.value(1).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname1;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //data
++ tempItem = query.value(2).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname_2
++ tempItem = query.value(3).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname2;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //data
++ tempItem = query.value(4).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++
++ settings_list.append(tempString);
++ }
++ return_list["Settings"] = settings_list;
++ }
++ }
++ else if ( table == "keybindings")
++ {
++
++ qstr="SELECT distinct keybindings.context, keybindings.action, :DIFF_HOSTNAME1 AS `hostname`, keybindings_a.keylist, :DIFF_HOSTNAME2 AS `hostname`, keybindings_b.keylist FROM keybindings "
++ " LEFT JOIN keybindings AS keybindings_a ON keybindings_a.context = keybindings.context AND keybindings_a.action = keybindings.action "
++ " AND keybindings_a.hostname = :DIFF_HOSTNAME1 "
++ " LEFT JOIN keybindings AS keybindings_b ON keybindings_b.context = keybindings.context "
++ " AND keybindings_b.action = keybindings.action AND keybindings_b.hostname = :DIFF_HOSTNAME2 "
++ " WHERE keybindings_a.keylist != keybindings_b.keylist OR "
++ " (keybindings_a.keylist IS NULL AND keybindings_b.keylist IS NOT NULL) OR (keybindings_a.keylist IS NOT NULL AND keybindings_b.keylist IS NULL);";
++ query.prepare(qstr);
++ query.bindValue(":DIFF_HOSTNAME1" , diff_hostname1);
++ query.bindValue(":DIFF_HOSTNAME2" , diff_hostname2);
++
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ tempString="";
++ //context
++ tempItem = query.value(0).toString();
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //action
++ tempItem = query.value(1).toString();
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname
++ tempItem = query.value(2).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname1;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //keylist
++ tempItem = query.value(3).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //hostname
++ tempItem = query.value(4).toString();
++ if (tempItem.isEmpty())
++ tempItem=diff_hostname2;
++ tempString.append(tempItem);
++ tempString.append("|");
++
++ //keylist
++ tempItem = query.value(5).toString();
++ if (tempItem.isEmpty())
++ tempItem="NULL";
++ tempString.append(tempItem);
++ keybinding_list.append(tempString);
++ }
++ return_list["Keybindings"] = keybinding_list;
++ }
++ }
++
++ }
++ return return_list;
++}; //end diff_settingsgroupname
++
++void MythDB::clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone, QString dest_hostname)
++{
++ LOG(VB_GENERAL, LOG_ERR, QString("Using src hostname of : %1")
++ .arg(src_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Using dest hostname of : %1")
++ .arg(dest_hostname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Cloning setting group: %1")
++ .arg(saved_settingsgroupname));
++ LOG(VB_GENERAL, LOG_ERR, QString("Full Copy : %1")
++ .arg(is_full_clone));
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ QStringList::Iterator it;
++ QString current_table;
++ QString dest_tablename;
++ QString temptable;
++
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ }
++
++ for ( it = table_list.begin(); it != table_list.end(); ++it )
++ {
++ current_table = *it ;
++ dest_tablename = find_group_table_name(current_table,
++ saved_settingsgroupname);
++
++ if ( does_table_exist(dest_tablename))
++ {
++ // create temp table for merging settings
++ temptable="temp_table_" + dest_tablename;
++ create_temp_table(temptable, current_table );
++
++ // copy in stored settings
++ QString query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2 where hostname = :HOSTNAME)")
++ .arg(temptable)
++ .arg(dest_tablename);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",src_hostname );
++ query.exec();
++
++ // update hostname for dest_hostname
++ query_string = QString("UPDATE %1 set hostname = :HOSTNAME")
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , dest_hostname );
++ query.exec();
++
++ //if not full clone remove HOST% settings from temp table;
++ if ( current_table == "settings" && !is_full_clone)
++ {
++ query_string = QString("DELETE FROM %1 WHERE "
++ "hostname=:HOSTNAME and value like 'HOST%' " )
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.bindValue( ":HOSTNAME" , dest_hostname );
++ query.exec();
++ }
++
++ //remove current settings from dest table,
++ //if not full clone, then leave HOST%
++ //Need to remove because the old table allows for duplicates
++
++ if ( current_table == "settings" && !is_full_clone)
++ query_string = QString ("DELETE FROM %1 WHERE "
++ "hostname = :HOSTNAME "
++ "and value not like 'HOST%'")
++ .arg(dest_tablename);
++
++ else
++ query_string = QString ("DELETE FROM %1 WHERE "
++ "hostname = :HOSTNAME ")
++ .arg(dest_tablename);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",dest_hostname);
++ query.exec();
++
++ // copy new settings from temp to current
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2)")
++ .arg(dest_tablename)
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.exec();
++
++ // drop temptable
++ drop_temp_table(temptable);
++ }
++ else
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Couldn't find table: %1")
++ .arg(dest_tablename));
++ }
++}; //end clonesettings
++
++void MythDB::restoresettings (QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list )
++{
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Restoring Settings:"));
++ LOG(VB_GENERAL, LOG_NOTICE, QString(" src: %1")
++ .arg(saved_settingsgroupname));
++ LOG(VB_GENERAL, LOG_NOTICE, QString(" dest:%1")
++ .arg(dest_hostname));
++
++ QString hostname_clause;
++ if ( dest_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ bool table_check;
++ if ( saved_settingsgroupname == "distro_default" )
++ table_check = settings_check ( "distro_default" , saved_settingsgroupname );
++ else
++ table_check = settings_check ( dest_hostname , saved_settingsgroupname );
++
++
++ if ( table_check == true )
++ {
++ MSqlQuery query(MSqlQuery::InitCon());
++ QStringList::Iterator it;
++ QString current_table;
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ }
++
++ for ( it = table_list.begin(); it != table_list.end(); ++it )
++ {
++ current_table = *it ;
++ //find tablenames to use
++ QString src_tablename = find_group_table_name(current_table,
++ saved_settingsgroupname);
++
++ QString temptable="temp_table_" + src_tablename;
++ if ( ! does_table_exist(src_tablename))
++ {
++ LOG(VB_GENERAL, LOG_NOTICE, QString("table does not exist: %1")
++ .arg(src_tablename));
++ continue;
++ }
++ // create temp table for merging settings
++ create_temp_table(temptable, current_table );
++
++ //could copy in current settings here to account for new stuff
++
++
++
++ // copy in stored settings
++ QString query_string;
++ if ( saved_settingsgroupname == "distro_default" )
++ { //special case for restoring default settings
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2 WHERE %3)")
++ .arg(temptable)
++ .arg(src_tablename)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", "distro_default" );
++ query.exec();
++
++ // update hostname in temp table from distro_default
++ query_string = QString("UPDATE %1 set hostname = :HOSTNAME")
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , dest_hostname );
++ query.exec();
++
++ }
++ else
++ { //normal use case
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2 WHERE %3)")
++ .arg(temptable)
++ .arg(src_tablename)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",dest_hostname );
++ query.exec();
++ }
++
++ //Remove current settings.
++ //Need to remove because the old table allows for duplicates
++ query_string = QString("DELETE FROM %1 WHERE "
++ "%2")
++ .arg(current_table)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME",dest_hostname);
++ query.exec();
++
++ // copy new settings from temp to current
++ query_string = QString("REPLACE INTO %1 "
++ "(SELECT * from %2)")
++ .arg(current_table)
++ .arg(temptable);
++
++ query.prepare(query_string);
++ query.exec();
++ // drop temptable
++ drop_temp_table(temptable);
++ }
++ }
++}; //end restore settings
++
++void MythDB::change_hostname (QString old_hostname, QString new_hostname)
++{
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Changing hostname from %1 -> %2")
++ .arg(old_hostname)
++ .arg(new_hostname));
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ query.prepare( "SHOW TABLES" );
++
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ QString table_name = query.value(0).toString();
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Scanning %1")
++ .arg(table_name));
++
++ // LOOP OVER TABLES, CHECK IF IT HAS A HOSTNAME FIELD
++ QString query_string=QString("SHOW COLUMNS from %1 "
++ "where field='hostname'")
++ .arg(table_name);
++ sub_query.prepare(query_string);
++
++ if (sub_query.exec() && sub_query.size() > 0)
++ { //update hostname
++ LOG(VB_GENERAL, LOG_NOTICE, QString(" Updating hostname in: %1")
++ .arg(table_name));
++ query_string = QString("UPDATE %1 SET hostname = :NEW_HOSTNAME "
++ "WHERE hostname = :OLD_HOSTNAME")
++ .arg(table_name);
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":NEW_HOSTNAME" , new_hostname);
++ sub_query.bindValue(":OLD_HOSTNAME" , old_hostname);
++ sub_query.exec();
++ }
++ }
++ }
++
++
++
++
++
++
++}
++
++bool MythDB::settings_check(QString src_hostname,
++ QString saved_settingsgroupname)
++{
++ int tempItem;
++ bool returncode = false ;
++ QString table="settings";
++
++ QString tablename = find_group_table_name(table, saved_settingsgroupname);
++ QString hostname_clause;
++ if ( src_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ if (does_table_exist (tablename))
++ {
++ MSqlQuery query(MSqlQuery::InitCon());
++ QString query_string = QString("SELECT COUNT(data) from %1 "
++ "WHERE %2")
++ .arg(tablename)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , src_hostname );
++
++ if (query.exec() && query.isActive() && query.size() > 0 )
++ {
++ while (query.next())
++ {
++ tempItem = query.value(0).toInt();
++ if ( tempItem >= 1 )
++ returncode = true;
++ else
++ {
++ LOG(VB_GENERAL, LOG_NOTICE,
++ QString("Group %1 does not contain"
++ " valid settings")
++ .arg(saved_settingsgroupname));
++ }
++ }
++ }
++ }
++ else
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Couldn't find table: %1")
++ .arg(tablename));
++ return returncode;
++}; // end settings_check
++
++void MythDB::import_settings(QMap<QString,QString> vp_map,
++ QString table)
++{
++ MSqlQuery query(MSqlQuery::InitCon());
++
++ //IMPORT SETTINGS TABLE
++ if (table.startsWith("settings"))
++ {
++ if ( table != "settings" )
++ create_new_table(table,"settings");
++ QString hostname = vp_map.value("hostname");
++ QString value = vp_map.value("value");
++ QString data = vp_map.value("data");
++
++ QString hostname_clause;
++ QVariant import_hostname = QVariant(QVariant::String);
++
++ if ( hostname.isEmpty())
++ hostname_clause = "hostname IS NULL";
++ else
++ {
++ hostname_clause ="hostname = :HOSTNAME";
++ import_hostname = hostname;
++ }
++
++ QString query_string=QString("SELECT value, data, hostname "
++ "FROM %1 "
++ "WHERE %2 AND value = :VALUE "
++ "ORDER BY value")
++ .arg(table)
++ .arg(hostname_clause);
++
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", hostname);
++ query.bindValue(":VALUE", value);
++
++ // if already exisiting records then update, otherwise insert
++ if (query.exec() && query.isActive())
++ {
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ if ( query.size() > 0 )
++ {
++ query_string = QString("UPDATE "
++ "%1 "
++ "set data = :DATA "
++ "WHERE %2 AND "
++ "value = :VALUE ")
++ .arg(table)
++ .arg(hostname_clause);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", import_hostname);
++ sub_query.bindValue(":VALUE", value);
++ sub_query.bindValue(":DATA", data);
++ sub_query.exec();
++ }
++ else
++ {
++ query_string = QString("INSERT INTO "
++ " %1 "
++ "(value,data,hostname) "
++ "VALUES ( :VALUE , :DATA , :HOSTNAME)").arg(table);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", import_hostname);
++ sub_query.bindValue(":VALUE", value);
++ sub_query.bindValue(":DATA", data);
++ sub_query.exec();
++ }
++ }
++ }
++ //KEYBINDINGS TABLE
++ else if (table.startsWith("keybindings"))
++ {
++ if ( table != "keybindings" )
++ create_new_table(table,"keybindings");
++ QString hostname = vp_map.value("hostname");
++ QString context = vp_map.value("context");
++ QString action = vp_map.value("action");
++ QString description = vp_map.value("description");
++ QString keylist = vp_map.value("keylist");
++
++ QString query_string=QString("SELECT context,action,hostname "
++ "FROM %1 "
++ "WHERE hostname = :HOSTNAME AND "
++ "context = :CONTEXT "
++ "AND action = :ACTION ").arg(table);
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", hostname);
++ query.bindValue(":CONTEXT", context);
++ query.bindValue(":ACTION", action);
++
++ if (query.exec() && query.isActive())
++ {
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ if ( query.size() > 0 )
++ {
++ query_string = QString("UPDATE "
++ " %1 "
++ "set keylist = :KEYLIST "
++ "WHERE hostname = :HOSTNAME AND "
++ "context = :CONTEXT "
++ "AND action = :ACTION ").arg(table);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":CONTEXT", context);
++ sub_query.bindValue(":ACTION", action);
++ sub_query.exec();
++ }
++ else
++ {
++ query_string = QString("INSERT INTO "
++ " %1 "
++ " (context , action , description , keylist , hostname) "
++ " VALUES( "
++ " :CONTEXT ,"
++ " :ACTION , "
++ " :DESCRIPTION , "
++ " :KEYLIST , "
++ " :HOSTNAME)").arg(table) ;
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":CONTEXT", context);
++ sub_query.bindValue(":ACTION", action);
++ sub_query.bindValue(":DESCRIPTION", description);
++ sub_query.exec();
++ }
++ }
++ }
++ //JUMP POINTS
++ else if (table.startsWith("jumppoints"))
++ {
++ if ( table != "jumppoints" )
++ create_new_table(table,"jumppoints");
++ QString hostname = vp_map.value("hostname");
++ QString description = vp_map.value("description");
++ QString destination = vp_map.value("destination");
++ QString keylist = vp_map.value("keylist");
++
++ QString query_string=QString("SELECT destination, keylist "
++ "FROM %1 "
++ "WHERE hostname = :HOSTNAME AND "
++ "destination = :DESTINATION "
++ "AND keylist = :KEYLIST ").arg(table);
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME", hostname);
++ query.bindValue(":DESTINATION", destination);
++ query.bindValue(":KEYLIST", keylist);
++
++ if (query.exec() && query.isActive())
++ {
++ MSqlQuery sub_query(MSqlQuery::InitCon());
++ if ( query.size() > 0 )
++ {
++ query_string = QString("UPDATE "
++ " %1 "
++ "set keylist = :KEYLIST "
++ "WHERE hostname = :HOSTNAME AND "
++ "destination = :DESTINATION ").arg(table);
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":DESTINATION", destination);
++ sub_query.exec();
++ }
++ else
++ {
++ query_string = QString("INSERT INTO "
++ " %1 "
++ " (description , destination, keylist , hostname) "
++ " VALUES( "
++ " :DESCRIPTION ,"
++ " :DESTINATION , "
++ " :KEYLIST , "
++ " :HOSTNAME)").arg(table) ;
++
++ sub_query.prepare(query_string);
++ sub_query.bindValue(":HOSTNAME", hostname);
++ sub_query.bindValue(":KEYLIST", keylist);
++ sub_query.bindValue(":DESTINATION", destination);
++ sub_query.bindValue(":DESCRIPTION", description);
++ sub_query.exec();
++ }
++ }
++ }
++}; //end import_settings
++
++QMap<QString, QMap<QString,QString> >
++ MythDB::export_settings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list, bool skip_host )
++{
++ QMap<QString, QMap<QString,QString> > result_set;
++ QStringList::Iterator it;
++ QString current_table;
++ int record_count = 0;
++
++ if ( table_list.isEmpty() )
++ {
++ table_list.append("settings");
++ table_list.append("keybindings");
++ table_list.append("jumppoints");
++ }
++
++ MSqlQuery query(MSqlQuery::InitCon());
++ QString query_string;
++
++ //loop over tablelist
++ for ( it = table_list.begin(); it != table_list.end(); ++it )
++ {
++ current_table = *it ;
++ QString sub_sql;
++ QStringList fields;
++ QString field_query;
++
++ QString table_name = find_group_table_name(current_table,
++ saved_settingsgroupname);
++
++ QString hostname_clause;
++ if ( src_hostname == "GLOBAL" )
++ hostname_clause = "hostname IS NULL";
++ else
++ hostname_clause ="hostname = :HOSTNAME";
++
++ // find field names
++ query_string = QString("SHOW COLUMNS from %1").arg(table_name);
++ query.prepare(query_string);
++
++ //build up field name vars
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ if (! field_query.isEmpty())
++ field_query +=',';
++ QString tempItem = query.value(0).toString();
++ fields.append(tempItem);
++ field_query += tempItem;
++ }
++ }
++ // when working with settings table skip HOST if skip_host is true
++ if ( current_table == "settings" && skip_host == true )
++ {
++ QString skip_host_clause;
++ skip_host_clause = " VALUE not like 'HOST%' AND DATA not like 'HardwareProfile%UUID'" ;
++ query_string = QString("SELECT %1 FROM %2 WHERE %3 AND %4")
++ .arg(field_query)
++ .arg(table_name)
++ .arg(hostname_clause)
++ .arg(skip_host_clause);
++
++ }
++ else
++ {
++ query_string = QString("SELECT %1 FROM %2 WHERE %3")
++ .arg(field_query)
++ .arg(table_name)
++ .arg(hostname_clause);
++ }
++ query.prepare(query_string);
++ query.bindValue(":HOSTNAME" , src_hostname);
++
++ //looping over each record in the table query
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ //construct qmap of elements
++ //add table name
++ QMap<QString,QString> value_pair;
++ value_pair["table"]=table_name;
++
++ for ( int i=0 ; i < fields.size();i++ )
++ {
++ QString tempvalue = fields[i];
++ QString tempItem = query.value(i).toString();
++ value_pair[tempvalue]=tempItem;
++ }
++ result_set[QString(record_count)] = value_pair;
++ record_count++;
++ }
++ }
++
++ } // end table loop
++ return result_set;
++}; //end export_settings
++
++
++void MythDB::create_new_table (QString create_table_name,QString like_name)
++{
++ if ( ! does_table_exist(create_table_name))
++ {
++ MSqlQuery query(MSqlQuery::InitCon());
++ QString query_string = QString("CREATE TABLE %1 like %2")
++ .arg(create_table_name)
++ .arg(like_name);
++
++ query.prepare(query_string);
++ query.exec();
++ }
++ else
++ LOG(VB_GENERAL, LOG_NOTICE, QString("Table is already present,"
++ "will not create it: %1")
++ .arg(create_table_name));
++};
++
++
++void MythDB::drop_temp_table (QString table_name)
++{
++ MSqlQuery query(MSqlQuery::InitCon());
++ if (table_name == "settings" | table_name == "keybindings" | table_name == "jumppoints")
++ return;
++ QString query_string = QString("DROP TABLE %1").arg(table_name);
++ query.prepare(query_string);
++ query.exec();
++ return;
++}
++
++void MythDB::create_temp_table (QString create_table_name,QString like_name)
++{
++ MSqlQuery query(MSqlQuery::InitCon());
++ create_new_table(create_table_name,like_name);
++ QString query_string;
++ if ( like_name == "settings")
++ {
++ query_string = QString ("ALTER TABLE %1 ADD UNIQUE( value)")
++ .arg(create_table_name);
++ query.prepare(query_string);
++ query.exec();
++ }
++
++ query_string = QString("TRUNCATE %1").arg(create_table_name);
++ query.prepare(query_string);
++ query.exec();
++ return;
++}
++
++bool MythDB::does_table_exist(QString table_name)
++{
++ bool table_exist = false;
++ QString full_table_name;
++ MSqlQuery query(MSqlQuery::InitCon());
++
++ query.prepare( "SHOW TABLES" );
++ if (query.exec() && query.isActive() && query.size() > 0)
++ {
++ while (query.next())
++ {
++ full_table_name = query.value(0).toString();
++ if (table_name == full_table_name)
++ {
++ table_exist = true;
++ break;
++ }
++ }
++ }
++ return table_exist;
++};
++
++
++QString MythDB::find_group_table_name(QString current_table,
++ QString saved_settingsgroupname)
++{
++ QString table_name;
++ if ( saved_settingsgroupname.toLower() == "current" )
++ table_name = current_table ;
++ else
++ table_name = current_table + "_" + saved_settingsgroupname ;
++
++ return table_name;
++};
++//END JM ADDED
++
+ /**
+ * \brief Set a flag indicating we have successfully connected to the database
+ */
+diff --git a/mythtv/libs/libmythbase/mythdb.h b/mythtv/libs/libmythbase/mythdb.h
+index ac2a8ec..f3689a5 100644
+--- a/mythtv/libs/libmythbase/mythdb.h
++++ b/mythtv/libs/libmythbase/mythdb.h
+@@ -74,6 +74,49 @@ class MBASE_PUBLIC MythDB
+
+ void WriteDelayedSettings(void);
+
++ //JM ADDED
++ void savesettings_togroup(QString src_hostname,
++ QString saved_settingsgroupname );
++ void deletesettings(QString delete_hostname,
++ QString saved_settingsgroupname);
++
++ QMap<QString,QStringList> list_settingsgroupname();
++
++ QMap<QString,QStringList> diff_settingsgroupname(QString diff_hostname1,
++ QString diff_hostname2,
++ QStringList table_list);
++
++ void clonesettings(QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool is_full_clone = true,
++ QString dest_hostname="");
++
++ void restoresettings (QString dest_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list);
++
++ void change_hostname (QString old_hostname, QString new_hostname);
++ bool settings_check (QString src_hostname, QString saved_settingsgroupname);
++ void import_settings(QMap<QString,QString> vp_map, QString table);
++
++
++ QMap<QString,QMap <QString,QString> > export_settings(
++ QString src_hostname,
++ QString saved_settingsgroupname,
++ QStringList table_list,
++ bool skip_host = false);
++
++ void create_new_table (QString create_table_name,QString like_name);
++ void drop_temp_table (QString table_name);
++ void create_temp_table (QString create_table_name,QString like_name);
++ bool does_table_exist(QString table_name);
++ QString find_group_table_name(QString current_table,
++ QString saved_settingsgroupname);
++ //END JM ADDED
++
++
++
+ void SetHaveDBConnection(bool connected);
+ void SetHaveSchema(bool schema);
+ bool HaveSchema(void) const;
+diff --git a/mythtv/programs/mythutil/commandlineparser.cpp b/mythtv/programs/mythutil/commandlineparser.cpp
+index 902314d..d86b548 100644
+--- a/mythtv/programs/mythutil/commandlineparser.cpp
++++ b/mythtv/programs/mythutil/commandlineparser.cpp
+@@ -144,6 +144,37 @@ void MythUtilCommandLineParser::LoadArguments(void)
+ << add("--print-notification-template", "printntemplate", false,
+ "Print the template to be sent to the frontend", "")
+ ->SetGroup("Messaging")
++
++ //settingsutil.cpp
++ << add("--save-settings", "savesettings", false,
++ "Save current settings", "")
++ ->SetGroup("Settings")
++ << add("--delete-settings", "deletesettings", false,
++ "Delete current settings", "")
++ ->SetGroup("Settings")
++ << add("--restore-settings", "restoresettings", false,
++ "Restore settings from previous backup", "")
++ ->SetGroup("Settings")
++ << add("--list-groups", "listgroups", false,
++ "List hosts and groups of settings", "")
++ ->SetGroup("Settings")
++ << add("--copy-settings", "copysettings", false,
++ "Copy or Clone settings from one host to another", "")
++ ->SetGroup("Settings")
++ << add("--diff-settings", "diffsettings", false,
++ "Show settings that are different between two hosts", "")
++ ->SetGroup("Settings")
++ << add("--change-hostname", "changehostname", false,
++ "Change the hostname", "")
++ ->SetGroup("Settings")
++ << add("--import-settings", "importsettings", false,
++ "import settings", "")
++ ->SetRequiredChild("infile")
++
++ << add("--export-settings", "exportsettings", false,
++ "export settings", "")
++ ->SetRequiredChild("outfile")
++
+
+ // musicmetautils.cpp
+ << add("--scanmusic", "scanmusic", false,
+@@ -194,6 +225,59 @@ void MythUtilCommandLineParser::LoadArguments(void)
+ add("--type", "type", "type", "(optional) type of notification (normal, error, warning, check, busy", "")
+ ->SetChildOf("notification");
+
++ //settingsutils.cpp
++ add("--groupname", "groupname", "", "Group of settings name", "")
++ ->SetRequiredChildOf("savesettings")
++ ->SetRequiredChildOf("restoresettings")
++ ->SetRequiredChildOf("deletesettings")
++ ->SetChildOf("copysettings");
++
++ add("--hostname", "hostname", "", "System name to save/restore settings", "")
++ ->SetChildOf("savesettings")
++ ->SetChildOf("restoresettings")
++ ->SetChildOf("copysettings")
++ ->SetChildOf("deletesettings")
++ ->SetChildOf("exportsettings")
++ ->SetChildOf("importsettings");
++
++ add("--host_1", "host_1", "", "First host in compare list", "")
++ ->SetRequiredChildOf("diffsettings");
++
++ add("--host_2", "host_2", "", "Second host in compare list", "")
++ ->SetRequiredChildOf("diffsettings");
++
++
++ add("--tablelist", "table_list", "", "List of tables to operate on "
++ "[keybindings,settings]", "")
++ ->SetChildOf("diffsettings")
++ ->SetChildOf("restoresettings")
++ ->SetChildOf("copysettings")
++ ->SetChildOf("exportsettings");
++
++ add("--clone", "fullclone", false, "Enable copy of all settings, "
++ "including those that are unique to each system.", "")
++ ->SetChildOf("copysettings");
++
++
++ add("--old-host", "oldhost", "", "Hostname to change", "")
++ ->SetRequiredChildOf("changehostname");
++
++ add("--new-host", "newhost", "", "New hostname", "")
++ ->SetRequiredChildOf("changehostname")
++ ->SetRequiredChildOf("copysettings");
++
++ add("--format", "format", false, "Format output of differences", "")
++ ->SetChildOf("diffsettings");
++ add("--distro-default", "distro-default", false, "Export settings for"
++ "import into the default table", "")
++ ->SetChildOf("exportsettings");
++ add("--generic", "generic", false, "export settings without saving "
++ "the hostname", "")
++ ->SetChildOf("exportsettings");
++
++
++
++
+ // Generic Options used by more than one utility
+ addRecording();
+ addInFile(true);
+diff --git a/mythtv/programs/mythutil/main.cpp b/mythtv/programs/mythutil/main.cpp
+index 0bc49f2..faada3d 100644
+--- a/mythtv/programs/mythutil/main.cpp
++++ b/mythtv/programs/mythutil/main.cpp
+@@ -26,6 +26,7 @@
+ #include "musicmetautils.h"
+ #include "recordingutils.h"
+ #include "signalhandling.h"
++#include "settingsutils.h"
+
+
+ int main(int argc, char *argv[])
+@@ -110,6 +111,7 @@
+ registerJobUtils(utilMap);
+ registerMarkupUtils(utilMap);
+ registerMessageUtils(utilMap);
++ registerSettingsUtils(utilMap);
+ registerMusicUtils(utilMap);
+ registerRecordingUtils(utilMap);
+
+diff --git a/mythtv/programs/mythutil/mythutil.pro b/mythtv/programs/mythutil/mythutil.pro
+index f0ecbf5..f9472fc 100644
+--- a/mythtv/programs/mythutil/mythutil.pro
++++ b/mythtv/programs/mythutil/mythutil.pro
+@@ -22,8 +22,10 @@ QMAKE_CLEAN += $(TARGET)
+ HEADERS += backendutils.h fileutils.h jobutils.h markuputils.h
+ HEADERS += messageutils.h mpegutils.h musicmetautils.h
+ HEADERS += recordingutils.h
++HEADERS += settingsutils.h
+ SOURCES += main.cpp mythutil.cpp commandlineparser.cpp
+ SOURCES += backendutils.cpp fileutils.cpp jobutils.cpp markuputils.cpp
+ SOURCES += messageutils.cpp mpegutils.cpp musicmetautils.cpp eitutils.cpp
+ SOURCES += recordingutils.cpp
++SOURCES += settingsutils.cpp
+
+ mingw|win32-msvc*: LIBS += -lwinmm -lws2_32
+diff --git a/mythtv/programs/mythutil/settingsutils.cpp b/mythtv/programs/mythutil/settingsutils.cpp
+new file mode 100644
+index 0000000..8fc7b0e
+--- /dev/null
++++ b/mythtv/programs/mythutil/settingsutils.cpp
+@@ -0,0 +1,586 @@
++// C++ includes
++#include <iostream>
++using namespace std;
++
++//QT includes
++#include <qdom.h>
++#include <QFile>
++#include <QDomElement>
++
++// libmyth* includes
++#include "compat.h"
++#include "exitcodes.h"
++#include "mythlogging.h"
++#include "mythcontext.h"
++
++
++#include "settingsutils.h"
++
++
++static int SaveSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QString src_hostname;
++ QString groupname;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++
++ if (cmdline.toBool("hostname"))
++ src_hostname = cmdline.toString("hostname");
++ else
++ src_hostname = gCoreContext->GetHostName();
++
++ gCoreContext->savesettings_togroup(src_hostname,groupname);
++ return GENERIC_EXIT_OK;
++}
++
++static int DeleteSettings(const MythUtilCommandLineParser &cmdline)
++{
++
++ QString delete_hostname;
++ QString groupname;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++
++ if (cmdline.toBool("hostname"))
++ delete_hostname = cmdline.toString("hostname");
++ else
++ delete_hostname = gCoreContext->GetHostName();
++
++
++ gCoreContext->deletesettings(delete_hostname,groupname);
++
++ return GENERIC_EXIT_OK;
++}
++
++
++static int RestoreSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QString dest_hostname;
++ QString groupname;
++ QString tablestring;
++ QStringList table_list;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++
++
++ if (cmdline.toBool("hostname"))
++ dest_hostname = cmdline.toString("hostname");
++ else
++ dest_hostname = gCoreContext->GetHostName();
++
++ if (cmdline.toBool("table_list"))
++ {
++ tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++
++ gCoreContext->restoresettings(dest_hostname,
++ groupname,
++ table_list);
++
++ return GENERIC_EXIT_OK;
++}
++
++
++static int CopySettings(const MythUtilCommandLineParser &cmdline)
++{
++ QString src_hostname;
++ QString groupname;
++ QString tablestring;
++ QStringList table_list;
++ bool is_full_clone;
++ QString dest_hostname;
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++ else
++ groupname = "Current";
++
++ if (cmdline.toBool("hostname"))
++ src_hostname = cmdline.toString("hostname");
++ else
++ src_hostname = gCoreContext->GetHostName();
++
++ if (cmdline.toBool("newhost"))
++ dest_hostname = cmdline.toString("newhost");
++
++ if (cmdline.toBool("table_list"))
++ {
++ tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++
++ if (cmdline.toBool("fullclone"))
++ is_full_clone = true;
++ else
++ is_full_clone = false;
++
++ gCoreContext->clonesettings(src_hostname,
++ groupname,
++ table_list,
++ is_full_clone,
++ dest_hostname);
++
++ return GENERIC_EXIT_OK;
++}
++
++void print_out_diff_formated(QMap<QString, QStringList> resultset)
++{
++ QString settings_header;
++ QString keybindings_header;
++ QString tempString;
++ QString tempItem;
++ QString dashline_settings;
++ QString dashline_key;
++ QStringList tempList;
++
++ QString host_1;
++ QString host_2;
++ QString data_1;
++ QString data_2;
++ QString value;
++ QString context;
++ QString action;
++
++ int value_width = 35;
++ int data_width = 40;
++
++ int context_width = 22;
++ int action_width = 22;
++ int key_width = 35;
++
++ dashline_key = (tempString.fill('-', 133));
++ dashline_settings = (tempString.fill('-', 130));
++
++ QMap<QString, QStringList>::iterator i;
++
++
++ for (i = resultset.begin(); i != resultset.end(); ++i)
++ {
++ cout << endl<<i.key().toLocal8Bit().constData() << ": \t" << endl;;
++ //construct the headers
++ if (i.key() == "Settings")
++ {
++ //settings header
++ tempList = (i.value().at(0)).split("|", QString::SkipEmptyParts);
++ host_1 = tempList.at(1);
++ host_2 = tempList.at(3);
++ tempString="|";
++ tempItem = "Value";
++ tempString.append(tempItem.leftJustified(value_width));
++ tempString.append("|");
++ tempItem = host_1; //hostname 1
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ tempItem = host_2; //hostname 2
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ settings_header = tempString;
++
++ cout << settings_header.toLocal8Bit().constData() << endl;;
++ cout << dashline_settings.toLocal8Bit().constData() << endl;
++ }
++
++ if (i.key() == "Keybindings")
++ {
++ //keybindings_header
++ tempList = (i.value().at(0)).split("|", QString::SkipEmptyParts);
++ host_1 = tempList.at(2);
++ host_2 = tempList.at(4);
++ tempString="|";
++ tempItem = "Context";
++ tempString.append(tempItem.leftJustified(context_width));
++ tempString.append("|");
++ tempItem = "Action";
++ tempString.append(tempItem.leftJustified(action_width));
++ tempString.append("|");
++ tempItem = host_1;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ tempItem = host_2;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ keybindings_header = tempString;
++
++ cout << keybindings_header.toLocal8Bit().constData() << endl;;
++ cout << dashline_key.toLocal8Bit().constData() << endl;
++
++ }
++ // format each line
++ for (int y = 0; y < i.value().size(); ++y)
++ {
++ if (i.key() == "Settings")
++ {
++ tempList = (i.value().at(y)).split("|",
++ QString::SkipEmptyParts);
++ data_1 = tempList.at(2);
++ data_2 = tempList.at(4);
++ value = tempList.at(0);
++ tempString="|";
++ tempItem = value;
++ tempString.append(tempItem.leftJustified(value_width));
++ tempString.append("|");
++ tempItem = data_1;
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ tempItem = data_2;
++ tempString.append(tempItem.leftJustified(data_width));
++ tempString.append("|");
++ }
++ if (i.key() == "Keybindings")
++ {
++ tempList = (i.value().at(y)).split("|",
++ QString::SkipEmptyParts);
++ data_1 = tempList.at(3);
++ data_2 = tempList.at(5);
++ context = tempList.at(0);
++ action = tempList.at(1);
++
++ tempString="|";
++ tempItem = context;
++ tempString.append(tempItem.leftJustified(context_width));
++ tempString.append("|");
++ tempItem = action;
++ tempString.append(tempItem.leftJustified(action_width));
++ tempString.append("|");
++ tempItem = data_1;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ tempItem = data_2;
++ tempString.append(tempItem.leftJustified(key_width));
++ tempString.append("|");
++ }
++
++ cout << tempString.toLocal8Bit().constData()<<endl;
++ }
++ }
++};
++
++static int DiffSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QMap<QString, QStringList> resultset;
++ QString diff_hostname1;
++ QString diff_hostname2;
++ QStringList table_list;
++ bool format_results = false;
++ QMap<QString, QStringList>::iterator i;
++
++ if (cmdline.toBool("host_1"))
++ diff_hostname1 = cmdline.toString("host_1");
++ if (cmdline.toBool("host_2"))
++ diff_hostname2 = cmdline.toString("host_2");
++
++ if (cmdline.toBool("table_list"))
++ {
++ QString tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++
++ if (cmdline.toBool("format"))
++ format_results = true;
++
++ resultset = gCoreContext->diff_settingsgroupname(diff_hostname1,
++ diff_hostname2,
++ table_list);
++ if (resultset.isEmpty())
++ cout << "No differences found" << endl;
++ else
++ {
++ if (format_results)
++ print_out_diff_formated(resultset);
++ else
++ {
++ for (i = resultset.begin(); i != resultset.end(); ++i)
++ {
++ cout << i.key().toLocal8Bit().constData() << " : \t" << endl;;
++ for (int y = 0; y < i.value().size(); ++y)
++ cout << i.value().at(y).toLocal8Bit().constData()<<endl;
++ cout << endl;
++ }
++ }
++ }
++ return GENERIC_EXIT_OK;
++};// DiffSettings
++
++static int ListGroups(const MythUtilCommandLineParser &cmdline)
++{
++ QMap<QString, QStringList> resultset;
++ resultset = gCoreContext->list_settingsgroupname();
++ QMap<QString, QStringList>::iterator i;
++ cout << endl;
++ for (i = resultset.begin(); i != resultset.end(); ++i)
++ {
++ cout << i.key().toLocal8Bit().constData() << " : \t";
++ for (int y = 0; y < i.value().size(); ++y)
++ cout << i.value().at(y).toLocal8Bit().constData()<<" " ;
++ cout << endl;
++ }
++ return GENERIC_EXIT_OK;
++};
++
++static int ImportSettings(const MythUtilCommandLineParser &cmdline)
++{
++
++ if (cmdline.toString("infile").isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing --infile option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++ QString import_hostname;
++ bool change_name = false;
++ if (cmdline.toBool("hostname"))
++ {
++ change_name = true;
++ import_hostname = cmdline.toString("hostname");
++ }
++ QString import_filename = cmdline.toString("infile");
++ QFile myFile(import_filename);
++
++ QDomDocument doc( "exported_xml" );
++ doc.setContent( &myFile );
++
++ QDomElement docElement = doc.documentElement();
++ QDomElement record_element;
++
++ if ( docElement.nodeName() != "exported_xml" )
++ {
++ cout << "not a valid exported xml file" << endl;
++ return 1;
++ }
++
++ QString out_string = "Importing records, please be patient";
++ cout << out_string.toLocal8Bit().constData() << endl;
++ //Gives list of records in the file + count
++ QDomNodeList nodeList = docElement.childNodes();
++ int total_records = nodeList.count();
++ out_string = QString("\nFound %1 records \n").arg(total_records);
++ cout << out_string.toLocal8Bit().constData() << endl;
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, out_string);
++
++ for(QDomNode n = docElement.firstChild(); !n.isNull(); n = n.nextSibling())
++ {
++ QString table_name=QString();
++ QMap<QString,QString> value_pair_map ;
++
++ //find table name for this record
++ QDomNode tablenode=n.namedItem("table");
++ record_element = tablenode.toElement();
++ table_name = record_element.text();
++
++ //loop over childern of n and convert to element
++ for(QDomNode subn = n.firstChild();
++ !subn.isNull();
++ subn = subn.nextSibling())
++ {
++ record_element = subn.toElement();
++ if ( record_element.nodeName() == "table" )
++ continue;
++ if ( change_name && record_element.nodeName() == "hostname" )
++ value_pair_map[record_element.nodeName()] = import_hostname;
++ else
++ value_pair_map[record_element.nodeName()] = record_element.text();
++ }
++ if (import_filename.endsWith("syssettings.xml"))
++ {
++ if ( value_pair_map["value"] == "BackendServerIP")
++ {
++ out_string = "sysettings, ignoring backendserver ip record";
++ cout << out_string.toLocal8Bit().constData() << endl;
++ }
++ else
++ gCoreContext->import_settings(value_pair_map,table_name);
++ }
++ else
++ //perform insert
++ gCoreContext->import_settings(value_pair_map,table_name);
++ }
++ return GENERIC_EXIT_OK;
++}; //end ImportSettings
++
++
++static int ExportSettings(const MythUtilCommandLineParser &cmdline)
++{
++ QMap<QString, QMap<QString,QString> > records;
++ QString src_hostname;
++ QString groupname;
++ QStringList table_list;
++ QString tablestring;
++ bool distro_default = false;
++ bool generic = false;
++ bool skip_host = false;
++
++
++
++ QDomDocument doc("mythutils_exported_settings");
++
++ if (cmdline.toBool("groupname"))
++ groupname = cmdline.toString("groupname");
++ else
++ groupname = "current";
++
++ if (cmdline.toBool("hostname"))
++ src_hostname = cmdline.toString("hostname");
++ else
++ src_hostname = gCoreContext->GetHostName();
++
++ if (cmdline.toBool("distro-default"))
++ {
++ distro_default = true;
++ skip_host = true;
++ }
++ if (cmdline.toBool("generic"))
++ {
++ generic = true;
++ //skip_host = true;
++ }
++ if (cmdline.toBool("table_list"))
++ {
++ tablestring = QString(cmdline.toString("table_list"));
++ table_list = tablestring.split(",", QString::SkipEmptyParts);
++ }
++ else
++ table_list << "settings" <<"keybindings" <<"jumppoints" ;
++
++ if (cmdline.toString("outfile").isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing --outfile option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++
++ QString export_filename = cmdline.toString("outfile");
++
++ records = gCoreContext->export_settings(src_hostname,groupname,
++ table_list, skip_host);
++
++ QDomElement exported_xml = doc.createElement("exported_xml");
++ doc.appendChild(exported_xml);
++
++ QMap<QString,int> record_count;
++ QMap<QString,QMap<QString,QString> >::iterator i;
++ for (i = records.begin(); i != records.end(); ++i )
++ {
++ QDomElement record = doc.createElement("record");
++ exported_xml.appendChild(record);
++
++ //loop over all values in the record
++ QMap<QString,QString> value_pair = i.value();
++ QMap<QString, QString>::iterator y;
++ //because we don't know the name of the key, we loop over it
++ for (y = value_pair.begin(); y != value_pair.end(); ++y)
++ {
++ //add key/pair to xml document
++ QDomElement tag = doc.createElement(y.key());
++ record.appendChild(tag);
++ QDomText t;
++ if ( distro_default == true )
++ { // If exporting distro_default then change hostname + table
++ if ( y.key() == "hostname" )
++ { //check for global values here, empty value means global
++ if ( y.value().isEmpty() )
++ t = doc.createTextNode(y.value());
++ else
++ t = doc.createTextNode("distro_default");
++ }
++ else if ( y.key() == "table")
++ t = doc.createTextNode(y.value()+"_distro_default");
++ else
++ t = doc.createTextNode(y.value());
++ }
++
++ else if ( generic == true )
++ { // If exporting generic then change hostname
++ if ( y.key() == "hostname" )
++ { //check for global values here, empty value means global
++ if ( y.value().isEmpty() )
++ t = doc.createTextNode(y.value());
++ else
++ t = doc.createTextNode("REPLACE_ME");
++ }
++ else
++ t = doc.createTextNode(y.value());
++ }
++ else
++ t = doc.createTextNode(y.value());
++
++ tag.appendChild(t);
++ //create record counts
++ if ( y.key() == "table" )
++ {
++ if ( record_count.contains( y.value()) )
++ {
++ int record_num = record_count[y.value()];
++ record_count[y.value()] = ++record_num;
++ }
++ else
++ record_count[y.value()] = 1;
++ }
++ }
++ }
++ QFile file( export_filename );
++
++ if( !file.open(QIODevice::WriteOnly) )
++ return -1;
++
++ QTextStream ts( &file );
++ ts << doc.toString();
++ file.close();
++ QMap<QString, int >::iterator rc_it;
++ for ( rc_it = record_count.begin(); rc_it != record_count.end(); ++rc_it)
++ {
++ QString table = rc_it.key();
++ int rc_count = rc_it.value();
++ QString out_string = QString ("Exported table %1: %2 records")
++ .arg(table)
++ .arg(rc_count);
++ cout << out_string.toLocal8Bit().constData() << endl;
++ }
++ return GENERIC_EXIT_OK;
++}; // end export_settings
++
++
++static int ChangeHostname(const MythUtilCommandLineParser &cmdline)
++{
++
++ QString old_hostname;
++ QString new_hostname;
++
++
++ if (cmdline.toBool("oldhost"))
++ old_hostname = cmdline.toString("oldhost");
++
++ if (cmdline.toBool("newhost"))
++ new_hostname = cmdline.toString("newhost");
++
++ if (old_hostname.isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing or empty --old-host option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++
++ if (new_hostname.isEmpty())
++ {
++ LOG(VB_STDIO|VB_FLUSH, LOG_ERR, "Missing or empty --new-host option\n");
++ return GENERIC_EXIT_INVALID_CMDLINE;
++ }
++
++ gCoreContext->change_hostname(old_hostname, new_hostname);
++
++ return GENERIC_EXIT_OK;
++}; //end ChangeHostname
++
++void registerSettingsUtils(UtilMap &utilMap)
++{
++ utilMap["savesettings"] = &SaveSettings;
++ utilMap["deletesettings"] = &DeleteSettings;
++ utilMap["restoresettings"] = &RestoreSettings;
++ utilMap["copysettings"] = &CopySettings;
++ utilMap["diffsettings"] = &DiffSettings;
++ utilMap["listgroups"] = &ListGroups;
++ utilMap["importsettings"] = &ImportSettings;
++ utilMap["exportsettings"] = &ExportSettings;
++ utilMap["changehostname"] = &ChangeHostname;
++}
++
++/* vim: set expandtab tabstop=4 shiftwidth=4: */
+\ No newline at end of file
+diff --git a/mythtv/programs/mythutil/settingsutils.h b/mythtv/programs/mythutil/settingsutils.h
+new file mode 100644
+index 0000000..413496c
+--- /dev/null
++++ b/mythtv/programs/mythutil/settingsutils.h
+@@ -0,0 +1,3 @@
++#include "mythutil.h"
++
++void registerSettingsUtils(UtilMap &utilMap);
diff --git a/abs/core/mythtv/stable-0.28/mythtv/mythtv.install b/abs/core/mythtv/stable-0.28/mythtv/mythtv.install
new file mode 100644
index 0000000..aedebbf
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/mythtv.install
@@ -0,0 +1,34 @@
+# arg 1: the new package version
+post_install() {
+ gen_is_xml.py
+ gen_lib_xml.py
+ systemconfig.py -m config_xml
+}
+
+pre_upgrade() {
+ if [ "`vercmp $2 0.28`" -lt 0 ]
+ then
+ . /etc/systemconfig
+ if [ $SystemType = "Master_backend" -o $SystemType = "Standalone" ]
+ then
+ echo "upgrading from 0.27, adding new storage groups..."
+ add_storage.py --reconstruct_sg
+ fi
+ fi
+ /bin/true
+}
+
+post_upgrade() {
+ post_install
+}
+
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core/mythtv/stable-0.28/mythtv/recordings b/abs/core/mythtv/stable-0.28/mythtv/recordings
new file mode 100644
index 0000000..c1fe28a
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/recordings
@@ -0,0 +1,134 @@
+#!/bin/bash
+
+#START=$(date +%s)
+
+#check if mythbackend is running and was just started
+for i in 1 2
+do
+if [ `cat /service/mythbackend/supervise/pid` ]
+then
+ now=$(date +%s)
+ mythbackendStartTime=`stat -c %Y /service/mythbackend/supervise/pid`
+ if [[ $(( $now - $mythbackendStartTime )) -lt 59 ]]
+ then
+ #echo "mythbackend started less than a minute ago. Sleeping..."
+ sleep 60
+ fi
+else
+ #echo "mythbackend not running. exiting."
+ exit
+fi
+done
+
+if [ -f /usr/share/mythtv/contrib/user_jobs/mythlink.pl ]
+then
+ recdir="/data/storage/disk0/media/recordings"
+ tmprecdir="/data/storage/disk0/media/tmp/recordings"
+ rm -r $tmprecdir
+ su - mythtv -c "perl /usr/share/mythtv/contrib/user_jobs/mythlink.pl --format '%Ct/%U/%T/%T %- S%ssE%ep %- %oY-%om-%od = %S' --link '$tmprecdir'"
+
+ # rename category_types (%Ct) from numbers to names
+ for cattype in $tmprecdir/*
+ do
+ if [ $cattype == "$tmprecdir/1" ]
+ then
+ rsync -a "$cattype/" "$tmprecdir/Movies"
+ rm -r "$cattype"
+ elif [[ $cattype == "$tmprecdir/2" ]] || [[ $cattype == "$tmprecdir/4" ]]
+ then
+ rsync -a "$cattype/" "$tmprecdir/TV Shows"
+ rm -r "$cattype"
+ elif [ $cattype == "$tmprecdir/3" ]
+ then
+ rsync -a "$cattype/" "$tmprecdir/Sports"
+ rm -r "$cattype"
+ fi
+ done
+
+ #delete Deleted recgroup
+ for link in $tmprecdir/**/Deleted
+ do
+ rm -r "$link"
+ done
+
+ #move all links in recgroup dirs out to parent dir
+ for recgroup in $tmprecdir/**/*
+ do
+ if [ -d "$recgroup" ]
+ then
+ cd "$recgroup"
+ rsync -a "$recgroup/" ..
+ cd "$tmprecdir"
+ rm -r "$recgroup"
+ fi
+ done
+
+ #replace SE if no season/episode is in myth
+ for link in $tmprecdir/**/**/*\ -\ SE\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE - / - /'`
+ mv "$link" "$newlink"
+ done
+ #replace SEyy if no season is in myth
+ for link in $tmprecdir/**/**/*\ -\ SE[0-9][0-9]\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - SE/ - S00E/'`
+ mv "$link" "$newlink"
+ done
+ #replace SyyE if no episode is in myth
+ for link in $tmprecdir/**/**/*\ -\ S[0-9][0-9]E\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/E - /E00 - /'`
+ mv "$link" "$newlink"
+ done
+ #replace blank original date
+ for link in $tmprecdir/**/**/*\ -\ 0000-00-00\ -\ *
+ do
+ newlink=`echo "$link" | sed 's/ - 0000-00-00 - / - /'`
+ mv "$link" "$newlink"
+ done
+ #add dash pt suffix if filename before the subtitle is the same
+ #so that plex will scan and include in library
+ uniqs="$(ls $tmprecdir/**/**/* | sed 's/ = .*//' | sort | uniq -d)"
+ SAVEIFS=$IFS
+ IFS=$'\n'
+ for link in $uniqs
+ do
+ i=1
+ for dup in `ls -v $link*`
+ do
+ newlink=`echo "$dup" | sed "s/ = /-pt$i = /"`
+ mv "$dup" "$newlink"
+ i=$((i+1))
+ done
+ done
+ IFS=$SAVEIFS
+
+ #change symlinks mtime to match the file it is linked to
+# for link in $tmprecdir/**/*
+# do
+# if [ -L "$link" ]
+# then
+# file=`readlink "$link"`
+# touch -hr "$file" "$link"
+# fi
+# done
+
+ #sync tmprecdir to recdir
+ #rsync -aOP --delete --ignore-existing "$tmprecdir/" "$recdir/"
+ rsync -aO --delete "$tmprecdir/" "$recdir/"
+
+ #check if plex media server is running
+ if [[ `pidof "Plex Media Server"` ]]
+ then
+ #get plex section and update
+ /usr/LH/bin/plexmediascanner.sh -l | grep -i myth | cut -d: -f1 | while read -r line
+ do
+ /usr/LH/bin/plexmediascanner.sh --scan --refresh --section $line
+ done
+ fi
+fi
+
+#END=$(date +%s)
+#DIFF=$(( $END - $START ))
+#echo "It took $DIFF seconds"
diff --git a/abs/core/mythtv/stable-0.28/mythtv/suggestedstarttime.patch.v1 b/abs/core/mythtv/stable-0.28/mythtv/suggestedstarttime.patch.v1
new file mode 100644
index 0000000..26d4c36
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/suggestedstarttime.patch.v1
@@ -0,0 +1,32 @@
+diff --git a/mythtv/programs/mythbackend/httpstatus.cpp b/mythtv/programs/mythbackend/httpstatus.cpp
+index 8571a58..be0272f 100644
+--- a/mythtv/programs/mythbackend/httpstatus.cpp
++++ b/mythtv/programs/mythbackend/httpstatus.cpp
+@@ -1392,13 +1392,17 @@ int HttpStatus::PrintMachineInfo( QTextStream &os, QDomElement info )
+ QString sStatus = e.attribute( "status" , "" );
+ QDateTime next = MythDate::fromString( e.attribute( "next" , "" ));
+ QString sNext = next.isNull() ? "" :
+- MythDate::toString(next, MythDate::kDatabase);
++ MythDate::toString(next, MythDate::kDateTimeFull);
+ QString sMsg = "";
+
+ QDateTime thru = MythDate::fromString( e.attribute( "guideThru", "" ));
+
+ QDomText text = e.firstChild().toText();
+
++ QString mfdblrs =
++ gCoreContext->GetSetting("mythfilldatabaseLastRunStart");
++ QDateTime lastrunstart = MythDate::fromString(mfdblrs);
++
+ if (!text.isNull())
+ sMsg = text.nodeValue();
+
+@@ -1412,7 +1416,7 @@ int HttpStatus::PrintMachineInfo( QTextStream &os, QDomElement info )
+
+ os << sStatus << "<br />\r\n";
+
+- if (!next.isNull() && sNext >= sStart)
++ if (!next.isNull() && next >= lastrunstart)
+ {
+ os << " Suggested next mythfilldatabase run: "
+ << sNext << ".<br />\r\n";
diff --git a/abs/core/mythtv/stable-0.28/mythtv/tv.cpp_fix_caps.patch b/abs/core/mythtv/stable-0.28/mythtv/tv.cpp_fix_caps.patch
new file mode 100644
index 0000000..dbe9553
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/tv.cpp_fix_caps.patch
@@ -0,0 +1,13 @@
+--- src/mythtv/libs/libmythtv/tv.cpp.orig 2016-04-15 16:11:21.498478075 +0000
++++ src/mythtv/libs/libmythtv/tv.cpp 2016-04-15 16:11:49.338228155 +0000
+@@ -82,8 +82,8 @@
+ {
+ const QString kCommSkipTitles[] =
+ {
+- QObject::tr("Auto-Skip OFF"),
+- QObject::tr("Auto-Skip ON"),
++ QObject::tr("Auto-Skip Off"),
++ QObject::tr("Auto-Skip On"),
+ QObject::tr("Auto-Skip Notify"),
+ };
+
diff --git a/abs/core/mythtv/stable-0.28/mythtv/videoAlwaysUseBookmark.patch b/abs/core/mythtv/stable-0.28/mythtv/videoAlwaysUseBookmark.patch
new file mode 100644
index 0000000..7a0b428
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/videoAlwaysUseBookmark.patch
@@ -0,0 +1,22 @@
+--- src/mythtv/programs/mythfrontend/main.cpp.orig 2014-10-05 21:16:54.226667223 +0000
++++ src/mythtv/programs/mythfrontend/main.cpp 2014-10-06 20:31:16.822482368 +0000
+@@ -1166,14 +1166,11 @@
+
+ if (useBookmark && bookmarkPresent)
+ {
+- MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+- BookmarkDialog *bookmarkdialog = new BookmarkDialog(pginfo, mainStack);
+- if (!bookmarkdialog->Create())
+- {
+- delete bookmarkdialog;
+- delete pginfo;
+- return res;
+- }
++ TV::StartTV(pginfo, kStartTVNoFlags);
++
++ res = 0;
++
++ delete pginfo;
+ }
+ else
+ {
diff --git a/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
new file mode 100644
index 0000000..035a03a
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
@@ -0,0 +1,58 @@
+pkgname=mythweb
+pkgver=0.28
+pkgrel=5
+commit_hash=`cat ../git_src/git_hash_web`
+pkgdesc="Web interface for MythTV's backend, $commit_hash"
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org"
+license=('GPL')
+depends=('lighttpd' "mythtv>=${pkgver}" 'php' 'supplemental-web')
+groups=('mythtv-extras')
+install=mythweb.install
+
+patches=()
+source=(`echo ${patches[@]:0}`
+ 'mythweb.include'
+ 'mythweb_gen_light.conf')
+
+build() {
+ if [ -e ${srcdir}/mythweb ]
+ then
+ msg "Removing old mythweb src"
+ rm -rf ${srcdir}/mythweb
+ fi
+
+ cd ${startdir}
+ msg "Copying in mythweb git_src"
+ cp -rp ../git_src/mythweb $srcdir
+ cd ${srcdir}/$pkgname
+
+ msg "--------------------------applying patches------------------------------"
+ for i in `echo ${patches[@]:0} `
+ do
+ echo applying $i
+ echo "-----------------------------"
+ patch -Np0 -i ${srcdir}/$i || return 1
+ done
+ msg "--------------------------done applying patches-------------------------"
+
+ [ "$CARCH" = "i686" ] && ARCH="i686"
+ [ "$CARCH" = "x86_64" ] && ARCH="x86-64"
+}
+
+package() {
+ DOCROOT=/data/srv/httpd/mythweb
+ mkdir -p $pkgdir/$DOCROOT/{image_cache,php_sessions,data}
+ rsync -arp --exclude .git* --delete-excluded $srcdir/mythweb/* $pkgdir/$DOCROOT
+ rm $pkgdir/$DOCROOT/README
+ chown -R http:http $pkgdir/$DOCROOT
+ chmod -R 775 $pkgdir/$DOCROOT/{image_cache,php_sessions,data}
+
+ #install conf files for lighttpd
+ mkdir -p $pkgdir/etc/lighttpd
+ install -D -m 644 $srcdir/mythweb.include $pkgdir/etc/lighttpd/
+ #gen_light_conf
+ install -D -m0744 ${srcdir}/mythweb_gen_light.conf ${pkgdir}/etc/gen_light_conf.d/mythweb.conf
+}
+md5sums=('7645a6399434cbba35639713ac5d88e0'
+ 'df190116b3aba35720fb6631885f973f')
diff --git a/abs/core/mythtv/stable-0.28/mythweb/mythweb.include b/abs/core/mythtv/stable-0.28/mythweb/mythweb.include
new file mode 100644
index 0000000..18e9be1
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythweb/mythweb.include
@@ -0,0 +1,8 @@
+alias.url += ( "/mythweb" => "/data/srv/httpd/mythweb/")
+
+url.rewrite-once = (
+"^/{1,2}mythweb/(css|data|images|js|themes|skins|[a-z_]+\.(php|pl)).*" => "$0",
+"^/{1,2}mythweb/(pl(/.*)?)$" => "/mythweb/mythweb.pl/$1",
+"^/{1,2}mythweb/(.+)$" => "/mythweb/mythweb.php/$1",
+"^/{1,2}mythweb/(.*)$" => "/mythweb/mythweb.php"
+) \ No newline at end of file
diff --git a/abs/core/mythtv/stable-0.28/mythweb/mythweb.install b/abs/core/mythtv/stable-0.28/mythweb/mythweb.install
new file mode 100644
index 0000000..b8e31a8
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythweb/mythweb.install
@@ -0,0 +1,22 @@
+post_install() {
+ echo "==> Setting mythweb permissions."
+ chmod -R 755 /data/srv/httpd/mythweb/
+ chown mythtv:http /data/srv/httpd/mythweb/data/tv_icons
+ chmod -R 775 /data/srv/httpd/mythweb/{image_cache,php_sessions,data}
+ echo "==> Reading lighttpd's configuration file."
+ gen_light_include.py
+ echo "==> Restarting lighttpd."
+ /sbin/sv hup /service/lighttpd
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ gen_light_include.py
+ echo
+ echo "==> Forcing a re-read of lighttpd's configuration file."
+ echo ""
+ /sbin/sv hup /service/lighttpd
+}
diff --git a/abs/core/mythtv/stable-0.28/mythweb/mythweb_gen_light.conf b/abs/core/mythtv/stable-0.28/mythweb/mythweb_gen_light.conf
new file mode 100644
index 0000000..ddf0d2f
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythweb/mythweb_gen_light.conf
@@ -0,0 +1 @@
+include "/etc/lighttpd/mythweb.include"
diff --git a/abs/core/nano/PKGBUILD b/abs/core/nano/PKGBUILD
index 29daecb..63f3a0b 100644
--- a/abs/core/nano/PKGBUILD
+++ b/abs/core/nano/PKGBUILD
@@ -1,23 +1,24 @@
-# $Id: PKGBUILD 142207 2011-11-06 08:47:48Z andyrtr $
+# $Id$
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Judd <judd@archlinux.org>
pkgname=nano
-pkgver=2.2.6
+pkgver=2.5.3
pkgrel=2
pkgdesc="Pico editor clone with enhancements"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.nano-editor.org"
groups=('base')
-depends=('ncurses' 'sh')
+depends=('ncurses' 'file' 'sh')
backup=('etc/nanorc')
-install=nano.install
-source=(http://www.nano-editor.org/dist/v2.2/${pkgname}-${pkgver}.tar.gz)
-md5sums=('03233ae480689a008eb98feb1b599807')
+source=(http://www.nano-editor.org/dist/v2.5/${pkgname}-${pkgver}.tar.gz{,.asc})
+md5sums=('a04d77611422ab4b6a7b489650c7a793'
+ 'SKIP')
+validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7') # "Chris Allegretta <chrisa@asty.org>"
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr \
--sysconfdir=/etc \
--enable-color \
@@ -28,7 +29,7 @@ build() {
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
install -DTm644 ${srcdir}/${pkgname}-${pkgver}/doc/nanorc.sample ${pkgdir}/etc/nanorc
}
diff --git a/abs/core/nasm/PKGBUILD b/abs/core/nasm/PKGBUILD
index a9baa88..eff9c02 100644
--- a/abs/core/nasm/PKGBUILD
+++ b/abs/core/nasm/PKGBUILD
@@ -1,25 +1,29 @@
-# $Id: PKGBUILD 74603 2010-03-31 18:55:53Z giovanni $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-# Committer: Judd Vinet <jvinet@zeroflux.org>
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=nasm
-pkgver=2.08.01
+pkgver=2.11.08
pkgrel=1
-pkgdesc="80x86 assembler designed for portability and modularity"
-url="http://www.nasm.us"
-license=('LGPL')
+pkgdesc="An 80x86 assembler designed for portability and modularity"
arch=('i686' 'x86_64')
+url="http://www.nasm.us"
+license=('BSD')
depends=('glibc')
-source=(http://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('1e3ebc1289c2be5963571c0937b7a211')
+install=nasm.install
+source=(http://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${pkgname}-${pkgver}.tar.xz)
+sha1sums=('6908296ac437b3ade79fadfaad0efcfd99582f70')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure --prefix=/usr || return 1
- make || return 1
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+ make -C doc info
}
+
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make INSTALLROOT="${pkgdir}" install || return 1
+ cd ${pkgname}-${pkgver}
+ make INSTALLROOT="${pkgdir}" install install_rdf
+ install -dm755 "${pkgdir}"/usr/share/info
+ install -m644 doc/info/* "${pkgdir}"/usr/share/info/
+ install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/nasm/LICENSE
}
diff --git a/abs/core/nano/nano.install b/abs/core/nasm/nasm.install
index a320c40..e4baa98 100644
--- a/abs/core/nano/nano.install
+++ b/abs/core/nasm/nasm.install
@@ -1,10 +1,10 @@
-infodir=/usr/share/info
-filelist=(nano.info.gz)
+infodir=usr/share/info
+filelist=(nasm.info)
post_install() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -15,6 +15,6 @@ post_upgrade() {
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core/nettle/PKGBUILD b/abs/core/nettle/PKGBUILD
index a017c92..486f7a3 100644
--- a/abs/core/nettle/PKGBUILD
+++ b/abs/core/nettle/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: bender02 at gmx dot com
pkgname=nettle
-pkgver=2.7.1
+pkgver=3.2
pkgrel=1
pkgdesc="A low-level cryptographic library"
arch=('i686' 'x86_64')
@@ -11,27 +11,26 @@ url="http://www.lysator.liu.se/~nisse/nettle/"
license=('GPL2')
install=$pkgname.install
depends=('gmp')
-source=(http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz{,.sig})
-md5sums=('003d5147911317931dd453520eb234a5'
+checkdepends=('valgrind')
+source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz{,.sig})
+md5sums=('afb15b4764ebf1b4e6d06c62bd4d29e4'
'SKIP')
+validpgpkeys=('343C2FF0FBEE5EC2EDBEF399F3599FF828C67298') # Niels Möller <nisse@lysator.liu.se>
build() {
- cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr --libdir=/usr/lib \
- --enable-shared
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --disable-static
make
}
check() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make -k check
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir/" install
-
- # remove static libs #--disable-static - build would break (since nettle 2.6) - and had no effect before
- rm -f ${pkgdir}/usr/lib/{libhogweed,libnettle}.a
}
diff --git a/abs/core/nvidia-304xx-utils/PKGBUILD b/abs/core/nvidia-304xx-utils/PKGBUILD
index 95a9c50..9cd105c 100644
--- a/abs/core/nvidia-304xx-utils/PKGBUILD
+++ b/abs/core/nvidia-304xx-utils/PKGBUILD
@@ -1,27 +1,27 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgbase=nvidia-304xx-utils
pkgname=('nvidia-304xx-utils' 'nvidia-304xx-libgl' 'opencl-nvidia-304xx')
-pkgver=304.125
+pkgver=304.131
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
license=('custom')
makedepends=('zlib')
options=('!strip')
+source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+sha512sums_i686=('3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e')
+sha512sums_x86_64=('07e529e4e81c42b43861475029aa0f223f8f3d299be9ddfe820c583e26aae49223a9b0dfee6d66ab09c526554bb581e5f8cf755eda600cb9e0bdac7d5f4acb93')
if [ "$CARCH" = "i686" ]; then
_arch='x86'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}"
- source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('bc3b0ac291fa998d5109a6f7e94fb2d4')
elif [ "$CARCH" = "x86_64" ]; then
_arch='x86_64'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
- source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('291d41ccdbcc08f752a38f9e0a7eeea0')
fi
create_links() {
@@ -158,6 +158,9 @@ package_nvidia-304xx-utils() {
install -D -m644 NVIDIA_Changelog "${pkgdir}/usr/share/doc/nvidia-304xx/NVIDIA_Changelog"
ln -s nvidia-304xx "${pkgdir}/usr/share/doc/nvidia-304xx-utils"
+ # distro specific files must be installed in /usr/share/X11/xorg.conf.d
+ install -m755 -d "${pkgdir}/usr/share/X11/xorg.conf.d"
+ install -m644 nvidia-drm-outputclass.conf "${pkgdir}/usr/share/X11/xorg.conf.d/"
+
create_links
}
-md5sums=('291d41ccdbcc08f752a38f9e0a7eeea0')
diff --git a/abs/core/nvidia-304xx/PKGBUILD b/abs/core/nvidia-304xx/PKGBUILD
index 56595a6..9d20b29 100644
--- a/abs/core/nvidia-304xx/PKGBUILD
+++ b/abs/core/nvidia-304xx/PKGBUILD
@@ -2,41 +2,35 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>
-pkgname=nvidia-304xx
-pkgver=304.125
-_extramodules=extramodules-3.18-ARCH
-pkgrel=7
-pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
+pkgbase=nvidia-304xx
+pkgname=(nvidia-304xx nvidia-304xx-dkms)
+pkgver=304.131
+_extramodules=extramodules-4.4-ARCH
+pkgrel=8
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
-depends=('linux>=3.18' 'linux<3.19' 'nvidia-304xx-libgl' "nvidia-304xx-utils=${pkgver}")
-makedepends=('linux-headers>=3.18' 'linux-headers<3.19')
+makedepends=('nvidia-304xx-libgl' "nvidia-304xx-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5')
conflicts=('nvidia')
license=('custom')
-install=nvidia.install
-options=(!strip)
-
-if [ "$CARCH" = "i686" ]; then
- _arch='x86'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
- source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('bc3b0ac291fa998d5109a6f7e94fb2d4')
-elif [ "$CARCH" = "x86_64" ]; then
- _arch='x86_64'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
- source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('291d41ccdbcc08f752a38f9e0a7eeea0')
-fi
-
-source+=('nv-drm.patch')
-md5sums+=('79671a27131da619a33eb02ed0c2c031')
+options=('!strip')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
+ "http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+ disable-mtrr.patch)
+sha512sums=('3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e'
+ '07e529e4e81c42b43861475029aa0f223f8f3d299be9ddfe820c583e26aae49223a9b0dfee6d66ab09c526554bb581e5f8cf755eda600cb9e0bdac7d5f4acb93'
+ '54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774')
+
+[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
+[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
prepare() {
cd "${srcdir}"
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
# patches here
- patch -p0 -i "$srcdir/nv-drm.patch"
+
+ # FS#47092
+ (cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch)
}
build() {
@@ -45,13 +39,33 @@ build() {
make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
}
-package() {
+package_nvidia-304xx() {
+ pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
+ depends=('linux>=4.4' 'linux<4.5' 'libgl' "nvidia-304xx-utils=${pkgver}")
+ conflicts+=('nvidia-304xx-dkms')
+ install=nvidia-304xx.install
+
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
- sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
+ sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/${pkgname}.install"
gzip "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
# the license file is part of nvidia-304xx-utils - the module depends on it, so we don't ship it another time.
}
+
+package_nvidia-304xx-dkms() {
+ pkgdesc="NVIDIA driver sources for linux, 304xx legacy branch"
+ depends=('dkms' "nvidia-304xx-utils=$pkgver")
+ optdepends=('linux-headers: Build the module for Arch kernel'
+ 'linux-lts-headers: Build the module for LTS Arch kernel')
+ conflicts+=('nvidia-304xx')
+ install=nvidia-304xx-dkms.install
+
+ cd ${_pkg}
+ make -C kernel clean
+ install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
+ cp -dr --no-preserve='ownership' kernel "${pkgdir}"/usr/src/nvidia-${pkgver}
+ echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
+}
diff --git a/abs/core/nvidia-304xx/disable-mtrr.patch b/abs/core/nvidia-304xx/disable-mtrr.patch
new file mode 100644
index 0000000..9be9e2c
--- /dev/null
+++ b/abs/core/nvidia-304xx/disable-mtrr.patch
@@ -0,0 +1,24 @@
+Author: Luca Boccassi <luca.boccassi@gmail.com>
+Description: Disable MTRR on kernel >= 4.3
+ From kernel 4.3 and newer (commit 2baa891e42d84) mtrr_add and mtrr_del are no
+ longer exported. The Nvidia kernel shim still uses it as of 304.131, causing
+ the module to error out when loading. Disable MTRR if running on 4.3 or greater
+ until upstream fixes it.
+--- a/nv-linux.h
++++ b/nv-linux.h
+@@ -256,6 +256,15 @@
+ #include <linux/seq_file.h>
+ #endif
+
++/*
++ * As of version 304.131, os-agp.c and os-mtrr.c still use deprecated
++ * kernel APIs for mtrr which are no longer exported since 4.3, causing
++ * the module to error out when loaded.
++ */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
++#undef CONFIG_MTRR
++#endif
++
+ #if !defined(NV_VMWARE) && defined(CONFIG_MTRR)
+ #include <asm/mtrr.h>
+ #endif
diff --git a/abs/core/nvidia-304xx/nv-drm.patch b/abs/core/nvidia-304xx/nv-drm.patch
deleted file mode 100644
index 4c6a393..0000000
--- a/abs/core/nvidia-304xx/nv-drm.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- kernel/nv-drm.c~ 2014-09-12 00:33:06.000000000 +0200
-+++ kernel/nv-drm.c 2014-10-14 11:35:52.854400737 +0200
-@@ -18,6 +18,11 @@
-
- #include <drm/drmP.h>
-
-+/* 3.18-rc0+ */
-+#ifndef drm_gem_object
-+#include <drm/drm_gem.h>
-+#endif
-+
- extern nv_linux_state_t *nv_linux_devices;
-
- struct nv_gem_object {
-diff --git a/kernel/nv-drm.c~ b/kernel/nv-drm.c
-index ecc982a..60d7aae 100644
---- kernel/nv-drm.c~
-+++ kernel/nv-drm.c
-@@ -129,6 +129,8 @@ static struct drm_driver nv_drm_driver = {
- .gem_prime_vmap = nv_gem_prime_vmap,
- .gem_prime_vunmap = nv_gem_prime_vunmap,
-
-+ .set_busid = drm_pci_set_busid,
-+
- .name = "nvidia-drm",
- .desc = "NVIDIA DRM driver",
- .date = "20130102",
diff --git a/abs/core/nvidia-304xx/nvidia-304xx-dkms.install b/abs/core/nvidia-304xx/nvidia-304xx-dkms.install
new file mode 100644
index 0000000..3d9b74d
--- /dev/null
+++ b/abs/core/nvidia-304xx/nvidia-304xx-dkms.install
@@ -0,0 +1,30 @@
+#/bin/sh
+
+# arg 1: the new package version
+post_install() {
+ dkms add nvidia/${1%-*}
+ cat << EOF
+==> To build and install your modules run: dkms install nvidia/${1%-*}
+==> To do this automatically at startup run: systemctl enable dkms.service
+EOF
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ pre_remove "$2"
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install "$1"
+}
+
+# arg 1: the old package version
+pre_remove() {
+ # Remove modules using dkms
+ [ -n "${1%-*}" ] && dkms remove nvidia/${1%-*} --all &>/dev/null || true
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/nvidia-304xx/nvidia-304xx.install b/abs/core/nvidia-304xx/nvidia-304xx.install
new file mode 100644
index 0000000..0979433
--- /dev/null
+++ b/abs/core/nvidia-304xx/nvidia-304xx.install
@@ -0,0 +1,13 @@
+post_install() {
+ EXTRAMODULES='extramodules-4.4-ARCH'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ echo 'In order to use nvidia module, reboot the system.'
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/core/nvidia-304xx/nvidia.install b/abs/core/nvidia-304xx/nvidia.install
deleted file mode 100644
index a83edad..0000000
--- a/abs/core/nvidia-304xx/nvidia.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
- echo 'In order to use nvidia module, reboot the system.'
-}
-
-post_upgrade() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
-}
-
-post_remove() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
-}
diff --git a/abs/core/nvidia-340xx-utils/PKGBUILD b/abs/core/nvidia-340xx-utils/PKGBUILD
index 46681f7..1645256 100644
--- a/abs/core/nvidia-340xx-utils/PKGBUILD
+++ b/abs/core/nvidia-340xx-utils/PKGBUILD
@@ -2,18 +2,21 @@
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>
+
pkgbase=nvidia-340xx-utils
pkgname=('nvidia-340xx-utils' 'nvidia-340xx-libgl' 'opencl-nvidia-340xx')
-pkgver=340.65
+pkgver=340.96
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
-source=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
- "ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha1sums=('051a5b6aad243c5b57ed18455a91f9aa028de86d'
- '2b1a102e87740ebb5367a5e8cd76d4f38de2add1')
+source=(nvidia-drm-outputclass.conf)
+source_i686=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+source_x86_64=("ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+sha1sums=('4ca2fbb2389d0bcb7a2c6f614860522d9ddf58ab')
+sha1sums_i686=('082e5218059b565f652236a69e61d8426696098c')
+sha1sums_x86_64=('49a1038f8f709a0a8855c7071db5923749d071e2')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -179,5 +182,9 @@ package_nvidia-340xx-utils() {
cp -r html "${pkgdir}/usr/share/doc/nvidia/"
ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils"
+ # distro specific files must be installed in /usr/share/X11/xorg.conf.d
+ install -m755 -d "${pkgdir}/usr/share/X11/xorg.conf.d"
+ install -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/"
+
create_links
}
diff --git a/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install b/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install
index df17a32..1955c64 100644
--- a/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install
+++ b/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install
@@ -1,14 +1,10 @@
-post_install() {
- if ! getent group nvidia-persistenced >/dev/null; then
- groupadd -g 143 nvidia-persistenced
- fi
- if ! getent passwd nvidia-persistenced >/dev/null; then
- useradd -c 'NVIDIA Persistence Daemon' -u 143 -g nvidia-persistenced -d '/' -s /sbin/nologin nvidia-persistenced
- fi
+post_upgrade() {
+ echo "If you run into trouble with CUDA not being available, run nvidia-modprobe first."
}
-post_remove() {
- if getent group nvidia-persistenced >/dev/null; then
- userdel -f nvidia-persistenced
- fi
+post_install() {
+ getent group nvidia-persistenced &>/dev/null || groupadd -g 143 nvidia-persistenced
+ getent passwd nvidia-persistenced &>/dev/null || useradd -c 'NVIDIA Persistence Daemon' -u 143 -g nvidia-persistenced -d '/' -s /sbin/nologin nvidia-persistenced
+
+ post_upgrade
}
diff --git a/abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf b/abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf
new file mode 100644
index 0000000..40c1e08
--- /dev/null
+++ b/abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf
@@ -0,0 +1,6 @@
+Section "OutputClass"
+ Identifier "nvidia"
+ MatchDriver "nvidia-drm"
+ Driver "nvidia"
+EndSection
+
diff --git a/abs/core/nvidia-340xx/PKGBUILD b/abs/core/nvidia-340xx/PKGBUILD
index 30134be..194a2c6 100644
--- a/abs/core/nvidia-340xx/PKGBUILD
+++ b/abs/core/nvidia-340xx/PKGBUILD
@@ -1,25 +1,22 @@
-# $Id: PKGBUILD 221857 2014-09-17 20:29:16Z tpowa $
-# Maintainer : Thomas Baechler <thomas@archlinux.org>
-
-pkgname=nvidia-340xx
-pkgver=340.65
-_extramodules=extramodules-3.18-ARCH
-pkgrel=8
-pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Thomas Baechler <thomas@archlinux.org>
+
+pkgbase=nvidia-340xx
+pkgname=(nvidia-340xx nvidia-340xx-dkms)
+pkgver=340.96
+_extramodules=extramodules-4.4-ARCH
+pkgrel=7
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
-depends=('linux>=3.18' 'linux<3.19' "nvidia-340xx-libgl" "nvidia-340xx-utils=${pkgver}")
-makedepends=('linux-headers>=3.18' 'linux-headers<3.19')
+makedepends=("nvidia-340xx-libgl=${pkgver}" "nvidia-340xx-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5')
conflicts=('nvidia')
license=('custom')
-install=${pkgname}.install
options=(!strip)
-source=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
- "ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
- nv-drm.patch)
-md5sums=('4aa6039b8543312b41a924bb87b0b2db'
- '4558104f8601d27c7fd3e5cec7892345'
- '79671a27131da619a33eb02ed0c2c031')
+source_i686+=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+source_x86_64+=("ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+md5sums_i686=('cb64b165b638671bcdc75bcf297b8d90')
+md5sums_x86_64=('7bdbcee13bade63227933d9217571882')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -28,7 +25,6 @@ prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
# patches here
- patch -p0 -i ../nv-drm.patch
}
build() {
@@ -40,7 +36,12 @@ build() {
make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
}
-package() {
+package_nvidia-340xx() {
+ pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
+ depends=('linux>=4.4' 'linux<4.5' 'libgl' "nvidia-340xx-utils=${pkgver}")
+ conflict+=('nvidia-340xx-dkms')
+ install=nvidia-340xx.install
+
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
install -D -m644 "${srcdir}/${_pkg}/kernel/uvm/nvidia-uvm.ko" \
@@ -49,3 +50,19 @@ package() {
install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
+
+package_nvidia-340xx-dkms() {
+ pkgdesc="NVIDIA driver sources for linux, 340xx legacy branch"
+ depends=('dkms' "nvidia-340xx-utils=$pkgver")
+ optdepends=('linux-headers: Build the module for Arch kernel'
+ 'linux-lts-headers: Build the module for LTS Arch kernel')
+ conflicts+=('nvidia-340xx')
+ install=nvidia-340xx-dkms.install
+
+ cd ${_pkg}
+ make -C kernel clean
+ install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
+ cp -dr --no-preserve='ownership' kernel "${pkgdir}"/usr/src/nvidia-${pkgver}
+ echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
+ cat "${pkgdir}"/usr/src/nvidia-${pkgver}/uvm/dkms.conf.fragment >> "${pkgdir}"/usr/src/nvidia-${pkgver}/dkms.conf
+}
diff --git a/abs/core/nvidia-340xx/nv-drm.patch b/abs/core/nvidia-340xx/nv-drm.patch
deleted file mode 100644
index 4c6a393..0000000
--- a/abs/core/nvidia-340xx/nv-drm.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- kernel/nv-drm.c~ 2014-09-12 00:33:06.000000000 +0200
-+++ kernel/nv-drm.c 2014-10-14 11:35:52.854400737 +0200
-@@ -18,6 +18,11 @@
-
- #include <drm/drmP.h>
-
-+/* 3.18-rc0+ */
-+#ifndef drm_gem_object
-+#include <drm/drm_gem.h>
-+#endif
-+
- extern nv_linux_state_t *nv_linux_devices;
-
- struct nv_gem_object {
-diff --git a/kernel/nv-drm.c~ b/kernel/nv-drm.c
-index ecc982a..60d7aae 100644
---- kernel/nv-drm.c~
-+++ kernel/nv-drm.c
-@@ -129,6 +129,8 @@ static struct drm_driver nv_drm_driver = {
- .gem_prime_vmap = nv_gem_prime_vmap,
- .gem_prime_vunmap = nv_gem_prime_vunmap,
-
-+ .set_busid = drm_pci_set_busid,
-+
- .name = "nvidia-drm",
- .desc = "NVIDIA DRM driver",
- .date = "20130102",
diff --git a/abs/core/nvidia-340xx/nvidia-340xx-dkms.install b/abs/core/nvidia-340xx/nvidia-340xx-dkms.install
new file mode 100644
index 0000000..3d9b74d
--- /dev/null
+++ b/abs/core/nvidia-340xx/nvidia-340xx-dkms.install
@@ -0,0 +1,30 @@
+#/bin/sh
+
+# arg 1: the new package version
+post_install() {
+ dkms add nvidia/${1%-*}
+ cat << EOF
+==> To build and install your modules run: dkms install nvidia/${1%-*}
+==> To do this automatically at startup run: systemctl enable dkms.service
+EOF
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ pre_remove "$2"
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install "$1"
+}
+
+# arg 1: the old package version
+pre_remove() {
+ # Remove modules using dkms
+ [ -n "${1%-*}" ] && dkms remove nvidia/${1%-*} --all &>/dev/null || true
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/nvidia-340xx/nvidia-340xx.install b/abs/core/nvidia-340xx/nvidia-340xx.install
index a83edad..0979433 100644
--- a/abs/core/nvidia-340xx/nvidia-340xx.install
+++ b/abs/core/nvidia-340xx/nvidia-340xx.install
@@ -1,15 +1,13 @@
post_install() {
- EXTRAMODULES='extramodules-3.18-ARCH'
+ EXTRAMODULES='extramodules-4.4-ARCH'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
echo 'In order to use nvidia module, reboot the system.'
}
post_upgrade() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ post_install
}
post_remove() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ post_install
}
diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD
index 9e9cd62..db332fc 100644
--- a/abs/core/nvidia-utils/PKGBUILD
+++ b/abs/core/nvidia-utils/PKGBUILD
@@ -2,21 +2,27 @@
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>
+
pkgbase=nvidia-utils
pkgname=('nvidia-utils' 'nvidia-libgl' 'opencl-nvidia')
-pkgver=346.35
-pkgrel=2
+pkgver=364.16
+pkgrel=3
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
-source=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
- "ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha1sums=('b011f4767ac6fef2aa677923626dc235317af2c6'
- 'deb4535a9546b56ee1dbd1053bc56a3dd9c62117')
+# source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+# source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+# Change this back to the above when this driver goes into the main FTP. I know this is non-reproducible but
+# we'll keep this one in testing anyway.
+source_i686=("NVIDIA-Linux-x86-${pkgver}.run::https://developer.nvidia.com/linux32bit")
+source_x86_64=("NVIDIA-Linux-x86_64-${pkgver}.run::https://developer.nvidia.com/linux64bit")
+md5sums_i686=('c25de6f7e328c6eab5305be0cd0b02d5')
+md5sums_x86_64=('5d954bfb0be8532779a4ca1741851493')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
-[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}"
+# [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
create_links() {
# create soname links
@@ -43,7 +49,7 @@ package_opencl-nvidia() {
# OpenCL
install -D -m644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd"
install -D -m755 "libnvidia-compiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-compiler.so.${pkgver}"
- install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}"
+ install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}"
create_links
@@ -63,21 +69,17 @@ package_nvidia-libgl() {
ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so.1"
ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so"
- ln -s "/usr/lib/nvidia/libGL.so.${pkgver}" "${pkgdir}/usr/lib/libGL.so.${pkgver}"
- ln -s "libGL.so.${pkgver}" "${pkgdir}/usr/lib/libGL.so.1"
- ln -s "libGL.so.${pkgver}" "${pkgdir}/usr/lib/libGL.so"
+ ln -s "/usr/lib/nvidia/libGL.so.1" "${pkgdir}/usr/lib/libGL.so.1"
+ ln -s "libGL.so.1" "${pkgdir}/usr/lib/libGL.so"
- ln -s "/usr/lib/nvidia/libEGL.so.${pkgver}" "${pkgdir}/usr/lib/libEGL.so.${pkgver}"
- ln -s "libEGL.so.${pkgver}" "${pkgdir}/usr/lib/libEGL.so.1"
- ln -s "libEGL.so.${pkgver}" "${pkgdir}/usr/lib/libEGL.so"
+ ln -s "/usr/lib/nvidia/libEGL.so.1" "${pkgdir}/usr/lib/libEGL.so.1"
+ ln -s "libEGL.so.1" "${pkgdir}/usr/lib/libEGL.so"
- ln -s "/usr/lib/nvidia/libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM.so.${pkgver}"
- ln -s "libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM.so.1"
- ln -s "libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM.so"
+ ln -s "/usr/lib/nvidia/libGLESv1_CM.so.1" "${pkgdir}/usr/lib/libGLESv1_CM.so.1"
+ ln -s "libGLESv1_CM.so.1" "${pkgdir}/usr/lib/libGLESv1_CM.so"
- ln -s "/usr/lib/nvidia/libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2.so.${pkgver}"
- ln -s "libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2.so.2"
- ln -s "libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2.so"
+ ln -s "/usr/lib/nvidia/libGLESv2.so.2" "${pkgdir}/usr/lib/libGLESv2.so.2"
+ ln -s "libGLESv2.so.2" "${pkgdir}/usr/lib/libGLESv2.so"
mkdir -p "${pkgdir}/usr/share/licenses"
ln -s nvidia "${pkgdir}/usr/share/licenses/nvidia-libgl"
@@ -85,8 +87,8 @@ package_nvidia-libgl() {
package_nvidia-utils() {
pkgdesc="NVIDIA drivers utilities"
- depends=('xorg-server')
- optdepends=('gtk2: nvidia-settings'
+ depends=('xorg-server' 'libglvnd')
+ optdepends=('nvidia-settings: configuration tool'
'xorg-server-devel: nvidia-xconfig'
'opencl-nvidia: OpenCL support')
install="${pkgname}.install"
@@ -98,12 +100,14 @@ package_nvidia-utils() {
# GLX extension module for X
install -D -m755 "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/modules/extensions/libglx.so.${pkgver}"
ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/modules/extensions/libglx.so" # X doesn't find glx otherwise
+ install -D -m755 "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_nvidia.so.${pkgver}"
+ ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_indirect.so.0"
# OpenGL libraries
- install -D -m755 "libGL.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libGL.so.${pkgver}"
- install -D -m755 "libEGL.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libEGL.so.${pkgver}"
- install -D -m755 "libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libGLESv1_CM.so.${pkgver}"
- install -D -m755 "libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libGLESv2.so.${pkgver}"
+ install -D -m755 "libEGL.so.1" "${pkgdir}/usr/lib/nvidia/libEGL.so.1"
+ install -D -m755 "libEGL_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libEGL_nvidia.so.${pkgver}"
+ install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM_nvidia.so.${pkgver}"
+ install -D -m755 "libGLESv2_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2_nvidia.so.${pkgver}"
# OpenGL core library
install -D -m755 "libnvidia-glcore.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-glcore.so.${pkgver}"
@@ -117,16 +121,26 @@ package_nvidia-utils() {
install -D -m755 "libnvidia-cfg.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-cfg.so.${pkgver}"
install -D -m755 "libnvidia-ml.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ml.so.${pkgver}"
+ # Vulkan ICD
+ install -D -m644 "nvidia_icd.json" "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
+
# VDPAU
install -D -m755 "libvdpau_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/vdpau/libvdpau_nvidia.so.${pkgver}"
# nvidia-tls library
- install -D -m755 "tls/libnvidia-tls.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-tls.so.${pkgver}"
+ install -D -m755 "libnvidia-tls.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-tls.so.${pkgver}"
+ install -D -m755 "tls/libnvidia-tls.so.${pkgver}" "${pkgdir}/usr/lib/tls/libnvidia-tls.so.${pkgver}"
# CUDA
install -D -m755 "libcuda.so.${pkgver}" "${pkgdir}/usr/lib/libcuda.so.${pkgver}"
install -D -m755 "libnvcuvid.so.${pkgver}" "${pkgdir}/usr/lib/libnvcuvid.so.${pkgver}"
+ # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
+ install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ptxjitcompiler.so.${pkgver}"
+
+ # Fat (multiarchitecture) binary loader
+ install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-fatbinaryloader.so.${pkgver}"
+
# DEBUG
install -D -m755 nvidia-debugdump "${pkgdir}/usr/bin/nvidia-debugdump"
@@ -134,15 +148,6 @@ package_nvidia-utils() {
install -D -m755 nvidia-xconfig "${pkgdir}/usr/bin/nvidia-xconfig"
install -D -m644 nvidia-xconfig.1.gz "${pkgdir}/usr/share/man/man1/nvidia-xconfig.1.gz"
- # nvidia-settings
- install -D -m755 nvidia-settings "${pkgdir}/usr/bin/nvidia-settings"
- install -D -m644 nvidia-settings.1.gz "${pkgdir}/usr/share/man/man1/nvidia-settings.1.gz"
- install -D -m644 nvidia-settings.desktop "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
- install -D -m644 nvidia-settings.png "${pkgdir}/usr/share/pixmaps/nvidia-settings.png"
- install -D -m755 "libnvidia-gtk2.so.$pkgver" "$pkgdir/usr/lib/libnvidia-gtk2.so.$pkgver"
- install -D -m755 "libnvidia-gtk3.so.$pkgver" "$pkgdir/usr/lib/libnvidia-gtk3.so.$pkgver"
- sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
-
# nvidia-bug-report
install -D -m755 nvidia-bug-report.sh "${pkgdir}/usr/bin/nvidia-bug-report.sh"
@@ -176,6 +181,9 @@ package_nvidia-utils() {
install -D -m644 NVIDIA_Changelog "${pkgdir}/usr/share/doc/nvidia/NVIDIA_Changelog"
cp -r html "${pkgdir}/usr/share/doc/nvidia/"
ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils"
-
+
+ # distro specific files must be installed in /usr/share/X11/xorg.conf.d
+ install -D -m644 nvidia-drm-outputclass.conf "${pkgdir}/usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf"
+
create_links
}
diff --git a/abs/core/nvidia-utils/nvidia-utils.install b/abs/core/nvidia-utils/nvidia-utils.install
index df17a32..1955c64 100644
--- a/abs/core/nvidia-utils/nvidia-utils.install
+++ b/abs/core/nvidia-utils/nvidia-utils.install
@@ -1,14 +1,10 @@
-post_install() {
- if ! getent group nvidia-persistenced >/dev/null; then
- groupadd -g 143 nvidia-persistenced
- fi
- if ! getent passwd nvidia-persistenced >/dev/null; then
- useradd -c 'NVIDIA Persistence Daemon' -u 143 -g nvidia-persistenced -d '/' -s /sbin/nologin nvidia-persistenced
- fi
+post_upgrade() {
+ echo "If you run into trouble with CUDA not being available, run nvidia-modprobe first."
}
-post_remove() {
- if getent group nvidia-persistenced >/dev/null; then
- userdel -f nvidia-persistenced
- fi
+post_install() {
+ getent group nvidia-persistenced &>/dev/null || groupadd -g 143 nvidia-persistenced
+ getent passwd nvidia-persistenced &>/dev/null || useradd -c 'NVIDIA Persistence Daemon' -u 143 -g nvidia-persistenced -d '/' -s /sbin/nologin nvidia-persistenced
+
+ post_upgrade
}
diff --git a/abs/core/nvidia/PKGBUILD b/abs/core/nvidia/PKGBUILD
index 991e153..c5f65b7 100644
--- a/abs/core/nvidia/PKGBUILD
+++ b/abs/core/nvidia/PKGBUILD
@@ -1,56 +1,89 @@
# $Id$
-# Maintainer : Thomas Baechler <thomas@archlinux.org>
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Thomas Baechler <thomas@archlinux.org>
-pkgname=nvidia
-pkgver=346.35
-_extramodules=extramodules-3.18-ARCH
-pkgrel=4
+pkgbase=nvidia
+pkgname=(nvidia nvidia-dkms)
+pkgver=364.16
+_extramodules=extramodules-4.4-ARCH
+pkgrel=3
pkgdesc="NVIDIA drivers for linux"
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
-depends=('linux>=3.18' 'linux<3.19' "nvidia-libgl" "nvidia-utils=${pkgver}")
-makedepends=('linux-headers>=3.18' 'linux-headers<3.19')
+makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.6')
license=('custom')
-install=nvidia.install
-options=(!strip)
-source=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
- "ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
- nv-drm-343.36.patch)
-md5sums=('d2b8f7f90ef5037f03f94519f9809511'
- '9ca9f07f91361362f304ca8317ddd453'
- 'ff8a5f979e4428f8c847423fb007042c')
+options=('!strip')
+# See nvidia-utils
+# source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+# source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}.run")
+source_i686=("NVIDIA-Linux-x86-${pkgver}.run::https://developer.nvidia.com/linux32bit")
+source_x86_64=("NVIDIA-Linux-x86_64-${pkgver}.run::https://developer.nvidia.com/linux64bit")
+md5sums_i686=('c25de6f7e328c6eab5305be0cd0b02d5')
+md5sums_x86_64=('5d954bfb0be8532779a4ca1741851493')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
-[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}"
+# [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
-prepare() {
+prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
# patches here
- patch -p1 -i ../nv-drm-343.36.patch
+
+ cp -a kernel kernel-dkms
+ cd kernel-dkms
+ sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf
+ sed -i 's/__JOBS/`nproc`/' dkms.conf
+ sed -i 's/__DKMS_MODULES//' dkms.conf
+ sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[1]="nvidia-uvm"\
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[2]="nvidia-modeset"\
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[3]="nvidia-drm"\
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf
}
build() {
_kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
cd "${_pkg}"/kernel
make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
-
- if [[ "$CARCH" = "x86_64" ]]; then
- cd uvm
- make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
- fi
}
-package() {
+package_nvidia() {
+ pkgdesc="NVIDIA drivers for linux"
+ depends=('linux>=4.4' 'linux<4.5' "nvidia-utils=${pkgver}" 'libgl')
+ install=nvidia.install
+
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
+ install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-modeset.ko" \
+ "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-modeset.ko"
+ install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-drm.ko" \
+ "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-drm.ko"
if [[ "$CARCH" = "x86_64" ]]; then
- install -D -m644 "${srcdir}/${_pkg}/kernel/uvm/nvidia-uvm.ko" \
+ install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-uvm.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-uvm.ko"
fi
gzip "${pkgdir}/usr/lib/modules/${_extramodules}/"*.ko
install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
+
echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
+
+package_nvidia-dkms() {
+ pkgdesc="NVIDIA driver sources for linux"
+ depends=('dkms' "nvidia-utils=$pkgver" 'libgl')
+ optdepends=('linux-headers: Build the module for Arch kernel'
+ 'linux-lts-headers: Build the module for LTS Arch kernel')
+ conflicts+=('nvidia')
+
+ cd ${_pkg}
+ install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
+ cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}"
+ echo 'blacklist nouveau' > "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+}
diff --git a/abs/core/nvidia/nv-drm-343.36.patch b/abs/core/nvidia/nv-drm-343.36.patch
deleted file mode 100644
index 4f96201..0000000
--- a/abs/core/nvidia/nv-drm-343.36.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/kernel/nv-drm.c b/kernel/nv-drm.c
-index c0b41a0..700c193 100644
---- a/kernel/nv-drm.c
-+++ b/kernel/nv-drm.c
-@@ -128,6 +128,8 @@ static struct drm_driver nv_drm_driver = {
- .gem_prime_vmap = nv_gem_prime_vmap,
- .gem_prime_vunmap = nv_gem_prime_vunmap,
-
-+ .set_busid = drm_pci_set_busid,
-+
- .name = "nvidia-drm",
- .desc = "NVIDIA DRM driver",
- .date = "20130102",
-
diff --git a/abs/core/nvidia/nvidia.install b/abs/core/nvidia/nvidia.install
index af0670c..e08e837 100644
--- a/abs/core/nvidia/nvidia.install
+++ b/abs/core/nvidia/nvidia.install
@@ -1,20 +1,15 @@
post_install() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ EXTRAMODULES='extramodules-4.4-ARCH'
+ depmod $(cat /usr/lib/modules/${EXTRAMODULES}/version)
echo 'In order to use nvidia module, reboot the system.'
}
post_upgrade() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
- if [ "$(vercmp $2 310.19-2)" -lt 0 ]; then
- echo 'If your card is from the 7xxx series or earlier, install nvidia-304xx'
- fi
echo "* * * * * /usr/bin/bash /usr/MythVantage/bin/xconfig.cron" >> /var/spool/cron/root
echo "root" >> /var/spool/cron/cron.update
+ post_install
}
post_remove() {
- EXTRAMODULES='extramodules-3.18-ARCH'
- depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ post_install
}
diff --git a/abs/core/openssh/PKGBUILD b/abs/core/openssh/PKGBUILD
index 63b69d3..1948de4 100644
--- a/abs/core/openssh/PKGBUILD
+++ b/abs/core/openssh/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 199078 2013-11-08 16:53:32Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=openssh
-pkgver=6.4p1
-pkgrel=1
+pkgver=7.1p2
+pkgrel=2
pkgdesc='Free version of the SSH connectivity tools'
url='http://www.openssh.org/portable.html'
license=('custom:BSD')
@@ -14,17 +14,20 @@ makedepends=('linux-headers')
depends=('krb5' 'openssl' 'libedit' 'ldns')
optdepends=('xorg-xauth: X11 forwarding'
'x11-ssh-askpass: input passphrase in X')
-source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
+validpgpkeys=('59C2118ED206D927E667EBE3D3E5F56B6D920D30')
+source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc}
'sshdgenkeys.service'
'sshd@.service'
'sshd.service'
'sshd.socket'
+ 'sshd.conf'
'sshd.pam')
-sha1sums=('cf5fe0eb118d7e4f9296fbc5d6884965885fc55d'
- '6df5be396f8c593bb511a249a1453294d18a01a6'
+sha1sums=('9202f5a2a50c8a55ecfb830609df1e1fde97f758' 'SKIP'
+ 'cc1ceec606c98c7407e7ac21ade23aed81e31405'
'6a0ff3305692cf83aca96e10f3bb51e1c26fccda'
'ec49c6beba923e201505f5669cea48cad29014db'
'e12fa910b26a5634e5a6ac39ce1399a132cf6796'
+ 'c9b2e4ce259cd62ddb00364d3ee6f00a8bf2d05f'
'd93dca5ebda4610ff7647187f8928a3de28703f3')
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')
@@ -56,9 +59,10 @@ build() {
check() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make tests ||
- grep $USER /etc/passwd | grep -q /bin/false
- # connect.sh fails when run with stupid login shell
+ make tests || true
+ # hard to suitably test connectivity:
+ # - fails with /bin/false as login shell
+ # - fails with firewall activated, etc.
}
package() {
@@ -73,6 +77,7 @@ package() {
install -Dm644 ../sshd@.service "${pkgdir}"/usr/lib/systemd/system/sshd@.service
install -Dm644 ../sshd.service "${pkgdir}"/usr/lib/systemd/system/sshd.service
install -Dm644 ../sshd.socket "${pkgdir}"/usr/lib/systemd/system/sshd.socket
+ install -Dm644 ../sshd.conf "${pkgdir}"/usr/lib/tmpfiles.d/sshd.conf
install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh
diff --git a/abs/core/openssh/dispatch.patch b/abs/core/openssh/dispatch.patch
new file mode 100644
index 0000000..9350d8f
--- /dev/null
+++ b/abs/core/openssh/dispatch.patch
@@ -0,0 +1,81 @@
+From 639d6bc57b1942393ed12fb48f00bc05d4e093e4 Mon Sep 17 00:00:00 2001
+From: djm@openbsd.org <djm@openbsd.org>
+Date: Fri, 01 May 2015 07:10:01 +0000
+Subject: upstream commit
+
+refactor ssh_dispatch_run_fatal() to use sshpkt_fatal()
+ to better report error conditions. Teach sshpkt_fatal() about ECONNRESET.
+
+Improves error messages on TCP connection resets. bz#2257
+
+ok dtucker@
+---
+diff --git a/dispatch.c b/dispatch.c
+index afe6182..aac933e 100644
+--- a/dispatch.c
++++ b/dispatch.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: dispatch.c,v 1.26 2015/02/12 20:34:19 dtucker Exp $ */
++/* $OpenBSD: dispatch.c,v 1.27 2015/05/01 07:10:01 djm Exp $ */
+ /*
+ * Copyright (c) 2000 Markus Friedl. All rights reserved.
+ *
+@@ -137,22 +137,6 @@ ssh_dispatch_run_fatal(struct ssh *ssh, int mode, volatile sig_atomic_t *done,
+ {
+ int r;
+
+- if ((r = ssh_dispatch_run(ssh, mode, done, ctxt)) != 0) {
+- switch (r) {
+- case SSH_ERR_CONN_CLOSED:
+- logit("Connection closed by %.200s",
+- ssh_remote_ipaddr(ssh));
+- cleanup_exit(255);
+- case SSH_ERR_CONN_TIMEOUT:
+- logit("Connection to %.200s timed out while "
+- "waiting to read", ssh_remote_ipaddr(ssh));
+- cleanup_exit(255);
+- case SSH_ERR_DISCONNECTED:
+- logit("Disconnected from %.200s",
+- ssh_remote_ipaddr(ssh));
+- cleanup_exit(255);
+- default:
+- fatal("%s: %s", __func__, ssh_err(r));
+- }
+- }
++ if ((r = ssh_dispatch_run(ssh, mode, done, ctxt)) != 0)
++ sshpkt_fatal(ssh, __func__, r);
+ }
+diff --git a/packet.c b/packet.c
+index 4922573..a7727ef 100644
+--- a/packet.c
++++ b/packet.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: packet.c,v 1.208 2015/02/13 18:57:00 markus Exp $ */
++/* $OpenBSD: packet.c,v 1.212 2015/05/01 07:10:01 djm Exp $ */
+ /*
+ * Author: Tatu Ylonen <ylo@cs.hut.fi>
+ * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+@@ -1920,9 +1920,19 @@ sshpkt_fatal(struct ssh *ssh, const char *tag, int r)
+ logit("Connection closed by %.200s", ssh_remote_ipaddr(ssh));
+ cleanup_exit(255);
+ case SSH_ERR_CONN_TIMEOUT:
+- logit("Connection to %.200s timed out while "
+- "waiting to write", ssh_remote_ipaddr(ssh));
++ logit("Connection to %.200s timed out", ssh_remote_ipaddr(ssh));
+ cleanup_exit(255);
++ case SSH_ERR_DISCONNECTED:
++ logit("Disconnected from %.200s",
++ ssh_remote_ipaddr(ssh));
++ cleanup_exit(255);
++ case SSH_ERR_SYSTEM_ERROR:
++ if (errno == ECONNRESET) {
++ logit("Connection reset by %.200s",
++ ssh_remote_ipaddr(ssh));
++ cleanup_exit(255);
++ }
++ /* FALLTHROUGH */
+ default:
+ fatal("%s%sConnection to %.200s: %s",
+ tag != NULL ? tag : "", tag != NULL ? ": " : "",
+--
+cgit v0.9.2
diff --git a/abs/core/openssh/error.patch b/abs/core/openssh/error.patch
new file mode 100644
index 0000000..1616ba3
--- /dev/null
+++ b/abs/core/openssh/error.patch
@@ -0,0 +1,25 @@
+From 4d24b3b6a4a6383e05e7da26d183b79fa8663697 Mon Sep 17 00:00:00 2001
+From: Damien Miller <djm@mindrot.org>
+Date: Thu, 19 Mar 2015 22:11:59 +0000
+Subject: remove error() accidentally inserted for debugging
+
+pointed out by Christian Hesse
+---
+diff --git a/monitor_wrap.c b/monitor_wrap.c
+index b379f05..d39d491 100644
+--- a/monitor_wrap.c
++++ b/monitor_wrap.c
+@@ -153,10 +153,8 @@ mm_request_receive(int sock, Buffer *m)
+ debug3("%s entering", __func__);
+
+ if (atomicio(read, sock, buf, sizeof(buf)) != sizeof(buf)) {
+- if (errno == EPIPE) {
+- error("%s: socket closed", __func__);
++ if (errno == EPIPE)
+ cleanup_exit(255);
+- }
+ fatal("%s: read: %s", __func__, strerror(errno));
+ }
+ msg_len = get_u32(buf);
+--
+cgit v0.9.2
diff --git a/abs/core/openssh/sshd.conf b/abs/core/openssh/sshd.conf
new file mode 100644
index 0000000..ca2a393
--- /dev/null
+++ b/abs/core/openssh/sshd.conf
@@ -0,0 +1 @@
+d /var/empty 0755 root root
diff --git a/abs/core/openssh/sshdgenkeys.service b/abs/core/openssh/sshdgenkeys.service
index 8c27d71..1d01b7a 100644
--- a/abs/core/openssh/sshdgenkeys.service
+++ b/abs/core/openssh/sshdgenkeys.service
@@ -2,12 +2,14 @@
Description=SSH Key Generation
ConditionPathExists=|!/etc/ssh/ssh_host_key
ConditionPathExists=|!/etc/ssh/ssh_host_key.pub
-ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
-ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
-ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
-ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub
ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key
+ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub
[Service]
ExecStart=/usr/bin/ssh-keygen -A
diff --git a/abs/core/openssl/PKGBUILD b/abs/core/openssl/PKGBUILD
index 13148e2..8752c9d 100644
--- a/abs/core/openssl/PKGBUILD
+++ b/abs/core/openssl/PKGBUILD
@@ -2,33 +2,40 @@
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=openssl
-_ver=1.0.1j
+_ver=1.0.2g
# use a pacman compatible version scheme
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
#pkgver=$_ver
-pkgrel=1
+pkgrel=3
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
arch=('i686' 'x86_64')
url='https://www.openssl.org'
license=('custom:BSD')
-depends=('zlib' 'perl')
+depends=('perl')
optdepends=('ca-certificates')
options=('!makeflags')
backup=('etc/ssl/openssl.cnf')
source=("https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz"
"https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz.asc"
'no-rpath.patch'
+ 'ssl3-test-failure.patch'
'ca-dir.patch')
-md5sums=('f7175c9cd3c39bb1907ac8bba9df8ed3'
+md5sums=('f3c710c045cdee5fd114feb69feba7aa'
'SKIP'
'dc78d3d06baffc16217519242ce92478'
+ '62fc492252edd3283871632bb77fadbe'
'3bf51be3a1bbd262be46dc619f92aa90')
+validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491')
prepare() {
cd $srcdir/$pkgname-$_ver
# remove rpath: http://bugs.archlinux.org/task/14367
patch -p0 -i $srcdir/no-rpath.patch
+
+ # disable a test that fails when ssl3 is disabled
+ patch -p1 -i $srcdir/ssl3-test-failure.patch
+
# set ca dir to /etc/ssl by default
patch -p0 -i $srcdir/ca-dir.patch
}
@@ -46,7 +53,7 @@ build() {
# mark stack as non-executable: http://bugs.archlinux.org/task/12434
./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
- shared zlib ${optflags} \
+ shared no-ssl3-method ${optflags} \
"${openssltarget}" \
"-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
diff --git a/abs/core/openssl/ssl3-test-failure.patch b/abs/core/openssl/ssl3-test-failure.patch
new file mode 100644
index 0000000..d161c3d
--- /dev/null
+++ b/abs/core/openssl/ssl3-test-failure.patch
@@ -0,0 +1,26 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+Date: Sun, 6 Sep 2015 16:04:11 +0200
+Subject: Disable SSLv3 test in test suite
+
+When testing SSLv3 the test program returns 0 for skip. The test for weak DH
+expects a failure, but gets success.
+
+It should probably be changed to return something other than 0 for a skipped
+test.
+---
+ test/testssl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/testssl b/test/testssl
+index 747e4ba..1e4370b 100644
+--- a/test/testssl
++++ b/test/testssl
+@@ -160,7 +160,7 @@ test_cipher() {
+ }
+
+ echo "Testing ciphersuites"
+-for protocol in TLSv1.2 SSLv3; do
++for protocol in TLSv1.2; do
+ echo "Testing ciphersuites for $protocol"
+ for cipher in `../util/shlib_wrap.sh ../apps/openssl ciphers "RSA+$protocol" | tr ':' ' '`; do
+ test_cipher $cipher $protocol
diff --git a/abs/core/p11-kit/PKGBUILD b/abs/core/p11-kit/PKGBUILD
index 6c74929..54c17ed 100644
--- a/abs/core/p11-kit/PKGBUILD
+++ b/abs/core/p11-kit/PKGBUILD
@@ -2,20 +2,40 @@
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=p11-kit
-pkgver=0.20.7
-pkgrel=2
+pkgver=0.23.2
+pkgrel=1
pkgdesc="Library to work with PKCS#11 modules"
arch=(i686 x86_64)
url="http://p11-glue.freedesktop.org"
license=('BSD')
depends=('glibc' 'libtasn1' 'libffi')
-source=($url/releases/$pkgname-$pkgver.tar.gz{,.sig})
-md5sums=('6648cad01a3080b685b8b3bf7372c91a'
- 'SKIP')
+makedepends=('gtk-doc')
+source=($url/releases/$pkgname-$pkgver.tar.gz{,.sig}
+ libnssckbi-compat.patch)
+sha256sums=('ba726ea8303c97467a33fca50ee79b7b35212964be808ecf9b145e9042fdfaf0'
+ 'SKIP'
+ '8f763cdbc6c0ca6c5a7898f9fd6f3018b7ac5b1aca36f67c6c813343c2962962')
+validpgpkeys=('C0F67099B808FB063E2C81117BFB1108D92765AF')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # Build and install an additional library (libnssckbi-p11-kit.so) which
+ # is a copy of p11-kit-trust.so but uses the same label for root certs as
+ # libnssckbi.so ("Builtin Object Token" instead of "Default Trust")
+ # https://bugs.freedesktop.org/show_bug.cgi?id=66161
+ patch -Np1 -i ../libnssckbi-compat.patch
+
+ autoreconf -vi
+}
build() {
cd $pkgname-$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc \
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-doc \
--with-module-path=/usr/lib/pkcs11 \
--with-trust-paths=/etc/ca-certificates/trust-source:/usr/share/ca-certificates/trust-source
make
@@ -30,6 +50,8 @@ package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+
+ ln -srf "$pkgdir/usr/bin/update-ca-trust" "$pkgdir/usr/lib/p11-kit/trust-extract-compat"
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/p11-kit/libnssckbi-compat.patch b/abs/core/p11-kit/libnssckbi-compat.patch
new file mode 100644
index 0000000..d1b70a3
--- /dev/null
+++ b/abs/core/p11-kit/libnssckbi-compat.patch
@@ -0,0 +1,57 @@
+diff -upr p11-kit-0.23.1.orig/trust/Makefile.am p11-kit-0.23.1/trust/Makefile.am
+--- p11-kit-0.23.1.orig/trust/Makefile.am 2014-11-12 12:58:50.000000000 +0200
++++ p11-kit-0.23.1/trust/Makefile.am 2015-03-30 16:43:35.275993032 +0300
+@@ -61,6 +61,20 @@ p11_kit_trust_la_LDFLAGS = \
+
+ p11_kit_trust_la_SOURCES = $(TRUST_SRCS)
+
++libnssckbi_compatdir = $(libdir)
++libnssckbi_compat_LTLIBRARIES = \
++ libnssckbi-p11-kit.la
++
++libnssckbi_p11_kit_la_CFLAGS = \
++ -DLIBNSSCKBI_COMPAT \
++ $(p11_kit_trust_la_CFLAGS)
++
++libnssckbi_p11_kit_la_LIBADD = $(p11_kit_trust_la_LIBADD)
++
++libnssckbi_p11_kit_la_LDFLAGS = $(p11_kit_trust_la_LDFLAGS)
++
++libnssckbi_p11_kit_la_SOURCES = $(p11_kit_trust_la_SOURCES)
++
+ libtrust_testable_la_LDFLAGS = \
+ -no-undefined
+
+diff -upr p11-kit-0.23.1.orig/trust/module.c p11-kit-0.23.1/trust/module.c
+--- p11-kit-0.23.1.orig/trust/module.c 2014-12-16 12:24:01.000000000 +0200
++++ p11-kit-0.23.1/trust/module.c 2015-03-30 16:48:41.370360130 +0300
+@@ -196,7 +196,11 @@ create_tokens_inlock (p11_array *tokens,
+ const char *label;
+ } labels[] = {
+ { "~/", "User Trust" },
++#ifdef LIBNSSCKBI_COMPAT
++ { DATA_DIR, "Builtin Object Token" },
++#else
+ { DATA_DIR, "Default Trust" },
++#endif
+ { SYSCONFDIR, "System Trust" },
+ { NULL },
+ };
+@@ -521,9 +525,15 @@ sys_C_GetSlotInfo (CK_SLOT_ID id,
+ info->flags = CKF_TOKEN_PRESENT;
+ strncpy ((char*)info->manufacturerID, MANUFACTURER_ID, 32);
+
+- /* If too long, copy the first 64 characters into buffer */
+- path = p11_token_get_path (token);
++#ifdef LIBNSSCKBI_COMPAT
++ /* Change description to match libnssckbi so HPKP works in Chromium */
++ if (strcmp (p11_token_get_label (token), "Builtin Object Token" ) == 0)
++ path = "NSS Builtin Objects";
++ else
++#endif
++ path = p11_token_get_path (token);
+ length = strlen (path);
++ /* If too long, copy the first 64 characters into buffer */
+ if (length > sizeof (info->slotDescription))
+ length = sizeof (info->slotDescription);
+ memset (info->slotDescription, ' ', sizeof (info->slotDescription));
diff --git a/abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch b/abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch
new file mode 100644
index 0000000..b8ada06
--- /dev/null
+++ b/abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch
@@ -0,0 +1,32 @@
+From 2822a45fa91b430c99b4b8bd3531ee745ada1ab7 Mon Sep 17 00:00:00 2001
+From: Allan McRae <allan@archlinux.org>
+Date: Fri, 26 Feb 2016 15:01:11 +1000
+Subject: [PATCH] libmakepkg: fix is_array function
+
+This happened to work for the majority of cases because the only calling
+function used a variable named "i" that was related to the variable being
+passed to the function.
+
+Fixes FS#48340.
+
+Signed-off-by: Allan McRae <allan@archlinux.org>
+---
+ scripts/libmakepkg/util/util.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/libmakepkg/util/util.sh b/scripts/libmakepkg/util/util.sh
+index 675e75d..f9f1c20 100644
+--- a/scripts/libmakepkg/util/util.sh
++++ b/scripts/libmakepkg/util/util.sh
+@@ -46,7 +46,7 @@ is_array() {
+ local shellopts=$(shopt -p)
+ shopt -s extglob
+
+- if [[ $(declare -p "$i") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then
++ if [[ $(declare -p "$v") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then
+ ret=0
+ fi
+
+--
+2.7.1
+
diff --git a/abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch b/abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch
deleted file mode 100644
index 65b72ef..0000000
--- a/abs/core/pacman/0001-pacman-key-compatibility-with-gnupg-2.1.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 41c8263ba289dac191d7f74faaa62476baf41c28 Mon Sep 17 00:00:00 2001
-From: Tobias Powalowski <tpowa@archlinux.org>
-Date: Fri, 21 Nov 2014 20:54:58 +1000
-Subject: [PATCH] pacman-key: compatibility with gnupg-2.1
-
-GnuPG 2.1 no longer allow empty passphrases by default.
-
-Signed-off-by: Allan McRae <allan@archlinux.org>
----
- scripts/pacman-key.sh.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
-index ba8d02e..5ba0ad8 100644
---- a/scripts/pacman-key.sh.in
-+++ b/scripts/pacman-key.sh.in
-@@ -151,6 +151,7 @@ Key-Usage: sign
- Name-Real: Pacman Keyring Master Key
- Name-Email: pacman@localhost
- Expire-Date: 0
-+%no-protection
- %commit
- %echo Done
- EOF
---
-2.1.3
-
diff --git a/abs/core/pacman/PKGBUILD b/abs/core/pacman/PKGBUILD
index 4e0fbf9..877dc11 100644
--- a/abs/core/pacman/PKGBUILD
+++ b/abs/core/pacman/PKGBUILD
@@ -4,38 +4,37 @@
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=pacman
-pkgver=4.1.2
-pkgrel=7
+pkgver=5.0.1
+pkgrel=2
pkgdesc="A library-based package manager with dependency support"
arch=('i686' 'x86_64')
url="http://www.archlinux.org/pacman/"
license=('GPL')
groups=('base' 'base-devel')
-depends=('bash>=4.2.042-2' 'glibc>=2.17-2' 'libarchive>=3.1.2' 'curl>=7.19.4'
+depends=('bash' 'glibc' 'libarchive' 'curl'
'gpgme' 'pacman-mirrorlist' 'archlinux-keyring')
+makedepends=('asciidoc') # roundup patch alters docs
checkdepends=('python2' 'fakechroot')
-optdepends=('fakeroot: for makepkg usage as normal user')
provides=('pacman-contrib')
conflicts=('pacman-contrib')
replaces=('pacman-contrib')
backup=(etc/pacman.conf etc/makepkg.conf)
+install=pacman.install
options=('strip' 'debug')
-source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
- 0001-pacman-key-compatibility-with-gnupg-2.1.patch
+source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
+ 0001-libmakepkg-fix-is_array-function.patch
pacman.conf.i686
pacman.conf.x86_64
+ makepkg-asroot.patch
+ pacman.cron
makepkg.conf)
-md5sums=('063c8b0ff6bdf903dc235445525627cd'
- 'SKIP'
- 'd0e015b1bf78cbf9762d9c44ea5f77a9'
- '2db6c94709bb30cc614a176ecf8badb1'
- 'de74a13618347f08ae4a9637f74471c4'
- '2da6544e387f940588a90cb4b9b914e2')
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD') # Allan McRae <allan@archlinux.org>
+
prepare() {
cd "$pkgname-$pkgver"
- patch -p1 -i $srcdir/0001-pacman-key-compatibility-with-gnupg-2.1.patch
+
+ patch -p1 -i $srcdir/0001-libmakepkg-fix-is_array-function.patch
}
build() {
@@ -45,8 +44,8 @@ build() {
--localstatedir=/var --enable-doc \
--with-scriptlet-shell=/usr/bin/bash \
--with-ldconfig=/usr/bin/ldconfig
- make
- make -C contrib
+ make V=1
+ make -C contrib
}
check() {
@@ -93,4 +92,20 @@ package() {
done
install -Dm644 contrib/PKGBUILD.vim "$pkgdir/usr/share/vim/vimfiles/syntax/PKGBUILD.vim"
+
+ #restore --asroot makepkg option
+ cd $pkgdir/usr/bin/
+ patch -p0 -i "$srcdir/makepkg-asroot.patch"
+
+ #run pacman-db-upgrade from cron
+ mkdir -p "$pkgdir/usr/MythVantage/bin"
+ install -m 0644 "$srcdir/pacman.cron" "$pkgdir/usr/MythVantage/bin/pacman.cron"
}
+md5sums=('377a2664d6007d72d6d8a126add83bcf'
+ 'SKIP'
+ '55732144f1048f714f1f93203e9b7728'
+ 'bdb40c76225c2fd8874bd34b6a3f6ad7'
+ 'c511ee4c7a86a37e8841440ede89300d'
+ '4950b7c5adf80e082a726dd11b9cb12f'
+ 'd62e10ea6cc7ae617ba1a99d8f11eaf5'
+ 'f5b59fe5f016eebd9590318530bbd996')
diff --git a/abs/core/pacman/__changelog b/abs/core/pacman/__changelog
index e69de29..59c5ecc 100644
--- a/abs/core/pacman/__changelog
+++ b/abs/core/pacman/__changelog
@@ -0,0 +1,4 @@
+PKGBUILD: add pacman.install
+PKGBUILD: add makepkg-asroot.patch
+PKGBUILD: remove source sig
+PKGBUILD & .install: add pacman.cron to run pacman-db-upgrade after update
diff --git a/abs/core/pacman/makepkg-asroot.patch b/abs/core/pacman/makepkg-asroot.patch
new file mode 100644
index 0000000..8da3fb0
--- /dev/null
+++ b/abs/core/pacman/makepkg-asroot.patch
@@ -0,0 +1,22 @@
+--- makepkg.orig 2016-04-22 15:35:51.860386914 +0000
++++ makepkg 2016-04-22 15:39:19.543784899 +0000
+@@ -1917,7 +1917,7 @@
+ 'help' 'holdver' 'ignorearch' 'install' 'key:' 'log' 'noarchive' 'nobuild'
+ 'nocolor' 'nocheck' 'nodeps' 'noextract' 'noprepare' 'nosign' 'packagelist'
+ 'printsrcinfo' 'repackage' 'rmdeps' 'sign' 'skipchecksums' 'skipinteg'
+- 'skippgpcheck' 'source' 'syncdeps' 'verifysource' 'version')
++ 'skippgpcheck' 'source' 'syncdeps' 'verifysource' 'version' 'asroot')
+
+ # Pacman Options
+ OPT_LONG+=('asdeps' 'noconfirm' 'needed' 'noprogressbar')
+@@ -2114,9 +2114,7 @@
+
+ if (( ! INFAKEROOT )); then
+ if (( EUID == 0 )); then
+- error "$(gettext "Running %s as root is not allowed as it can cause permanent,\n\
+-catastrophic damage to your system.")" "makepkg"
+- exit 1 # $E_USER_ABORT
++ :
+ fi
+ else
+ if [[ -z $FAKEROOTKEY ]]; then
diff --git a/abs/core/pacman/makepkg.conf b/abs/core/pacman/makepkg.conf
index 8cf5faa..bd0e0cf 100644
--- a/abs/core/pacman/makepkg.conf
+++ b/abs/core/pacman/makepkg.conf
@@ -19,6 +19,13 @@ DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %
# /usr/bin/lftpget -c
# /usr/bin/wget
+#-- The package required by makepkg to download VCS sources
+# Format: 'protocol::package'
+VCSCLIENTS=('bzr::bzr'
+ 'git::git'
+ 'hg::mercurial'
+ 'svn::subversion')
+
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
@@ -30,8 +37,8 @@ CHOST="@CHOST@"
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
-CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
-CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
+CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong"
+CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
@@ -43,17 +50,16 @@ DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
# BUILD ENVIRONMENT
#########################################################################
#
-# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
+# Defaults: BUILDENV=(!distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
-#-- fakeroot: Allow building packages as a non-root user
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
-BUILDENV=(fakeroot !distcc color !ccache check !sign)
+BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
@@ -67,7 +73,7 @@ BUILDENV=(fakeroot !distcc color !ccache check !sign)
# These are default values for the options=() settings
#########################################################################
#
-# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
+# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
@@ -78,9 +84,10 @@ BUILDENV=(fakeroot !distcc color !ccache check !sign)
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- upx: Compress binary executable files using UPX
+#-- optipng: Optimize PNG images with optipng
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
-OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
+OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
diff --git a/abs/core/pacman/pacman.conf b/abs/core/pacman/pacman.conf
deleted file mode 100644
index 0596b7a..0000000
--- a/abs/core/pacman/pacman.conf
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-# /etc/pacman.conf
-#
-# See the pacman.conf(5) manpage for option and repository directives
-
-#
-# GENERAL OPTIONS
-#
-[options]
-# The following paths are commented out with their default values listed.
-# If you wish to use different paths, uncomment and update the paths.
-#RootDir = /
-#DBPath = /var/lib/pacman/
-#CacheDir = /var/cache/pacman/pkg/
-#LogFile = /var/log/pacman.log
-#GPGDir = /etc/pacman.d/gnupg/
-HoldPkg = pacman glibc
-# If upgrades are available for these packages they will be asked for first
-SyncFirst = pacman
-#XferCommand = /usr/bin/curl -C - -f %u > %o
-#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
-#CleanMethod = KeepInstalled
-Architecture = auto
-
-# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
-#IgnorePkg =
-#IgnoreGroup =
-
-#NoUpgrade =
-#NoExtract =
-
-# Misc options
-#UseSyslog
-#UseDelta
-#TotalDownload
-CheckSpace
-#VerbosePkgLists
-
-# By default, pacman accepts packages signed by keys that its local keyring
-# trusts (see pacman-key and its man page), as well as unsigned packages.
-#SigLevel = Optional TrustedOnly
-
-# NOTE: You must run `pacman-key --init` before first using pacman; the local
-# keyring can then be populated with the keys of all official Arch Linux
-# packagers with `pacman-key --populate archlinux`.
-
-#
-# REPOSITORIES
-# - can be defined here or included from another file
-# - pacman will search repositories in the order defined here
-# - local/custom mirrors can be added here or in separate files
-# - repositories listed first will take precedence when packages
-# have identical names, regardless of version number
-# - URLs will have $repo replaced by the name of the current repo
-# - URLs will have $arch replaced by the name of the architecture
-#
-# Repository entries are of the format:
-# [repo-name]
-# Server = ServerName
-# Include = IncludePath
-#
-# The header [repo-name] is crucial - it must be present and
-# uncommented to enable the repo.
-#
-
-# The testing repositories are disabled by default. To enable, uncomment the
-# repo name header and Include lines. You can add preferred servers immediately
-# after the header, and they will be used before the default mirrors.
-
-#[testing]
-#SigLevel = PackageRequired
-#Include = /etc/pacman.d/mirrorlist
-
-[core]
-SigLevel = PackageRequired
-Include = /etc/pacman.d/mirrorlist
-
-[extra]
-SigLevel = PackageRequired
-Include = /etc/pacman.d/mirrorlist
-
-#[community-testing]
-#SigLevel = PackageRequired
-#Include = /etc/pacman.d/mirrorlist
-
-[community]
-SigLevel = PackageRequired
-Include = /etc/pacman.d/mirrorlist
-
-# An example of a custom package repository. See the pacman manpage for
-# tips on creating your own repositories.
-#[custom]
-#SigLevel = Optional TrustAll
-#Server = file:///home/custompkgs
-
diff --git a/abs/core/pacman/pacman.conf.i686 b/abs/core/pacman/pacman.conf.i686
index 92e76b4..0ea1570 100644
--- a/abs/core/pacman/pacman.conf.i686
+++ b/abs/core/pacman/pacman.conf.i686
@@ -14,6 +14,7 @@
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
+#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
diff --git a/abs/core/pacman/pacman.conf.x86_64 b/abs/core/pacman/pacman.conf.x86_64
index f43fe39..8ce6919 100644
--- a/abs/core/pacman/pacman.conf.x86_64
+++ b/abs/core/pacman/pacman.conf.x86_64
@@ -14,6 +14,7 @@
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
+#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
diff --git a/abs/core/pacman/pacman.cron b/abs/core/pacman/pacman.cron
new file mode 100644
index 0000000..9155aed
--- /dev/null
+++ b/abs/core/pacman/pacman.cron
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+function pacman_wait {
+ if [ -f /var/lib/pacman/db.lck ]
+ then
+ echo "Pacman is running and must quit before continuing."
+ echo " Waiting for pacman to quit..."
+ while [ -f /var/lib/pacman/db.lck ]
+ do
+ sleep 5
+ done
+ fi
+}
+
+pacman_wait
+pacman-db-upgrade &
+#remove pacman.cron from root crontab
+grep -v "* * * * * /usr/bin/bash /usr/MythVantage/bin/pacman.cron" /var/spool/cron/root > /var/spool/cron/root2
+mv /var/spool/cron/root2 /var/spool/cron/root
+echo "root" >> /var/spool/cron/cron.update
diff --git a/abs/core/pacman/pacman.install b/abs/core/pacman/pacman.install
index 42b2808..637a741 100644
--- a/abs/core/pacman/pacman.install
+++ b/abs/core/pacman/pacman.install
@@ -2,76 +2,17 @@
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
- # one time stuff for md5sum issue with older pacman versions
- if [ "$(vercmp $2 3.0.2)" -lt 0 ]; then
- _resetbackups
- fi
- if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then
+ if [ "$(vercmp $2 4.2.0)" -lt 0 ]; then
_warnupgrade
fi
- if [ ! -f "etc/pacman.d/gnupg/pubring.gpg" ] || [ "$(vercmp $2 4.0.3-2)" -lt 0 ]; then
- _check_pubring
- fi
sed -i '/^# If upgrades are available/d' /etc/pacman.conf
sed -i '/^SyncFirst/d' /etc/pacman.conf
}
-post_install() {
- _check_pubring
-}
-
-_check_pubring() {
- echo " >>> Run \`pacman-key --init; pacman-key --populate archlinux\`"
- echo " >>> to import the data required by pacman for package verification."
- echo " >>> See: https://www.archlinux.org/news/having-pacman-verify-packages"
-}
-
_warnupgrade() {
- echo ">>> The pacman database format has changed as of pacman 3.5.0."
+ echo ">>> The pacman database format has changed as of pacman 4.2.0."
echo ">>> You will need to run \`pacman-db-upgrade\` as root."
echo ">>>"
-}
-
-_resetbackups() {
- echo ">>> Performing one-time reset of NoUpgrade md5sums. After this reset"
- echo ">>> you are able to remove all NoUpgrade lines of already protected"
- echo ">>> files from pacman.conf."
- echo ">>>"
-
- # path variables
- pacconf="/etc/pacman.conf"
- dbpath="/var/lib/pacman/local"
-
- # get a list of NoUpgrade files from the user's pacman.conf
- echo ">>> Retrieving pacman.conf NoUpgrade list..."
- config=$(grep "^NoUpgrade" $pacconf | cut -d'=' -f2)
- # add the standard list of files, even if they are already above
- config="$config \
- etc/passwd etc/group etc/shadow etc/sudoers \
- etc/fstab etc/raidtab etc/ld.so.conf \
- etc/rc.conf etc/rc.local \
- etc/modprobe.conf etc/modules.conf \
- etc/lilo.conf boot/grub/menu.lst"
-
- # blank md5sum for use in sed expression
- zeroes='00000000000000000000000000000000'
-
- for file in $config; do
- echo ">>> -> finding owner of /$file..."
- line=$(LC_ALL=C LANG=C pacman -Qo /$file 2>/dev/null)
- # if file is owned by a package, go find its incorrectly stored sum
- if [ ! -z "$line" ]; then
- # get the name and version of the package owning file
- name=$(echo $line | awk '{print $5}')
- version=$(echo $line | awk '{print $6}')
- # set the path to the backup array holding the md5sum
- path="$dbpath/$name-$version/files"
- # run a sed on the path to reset the line containing $file
- # NOTE: literal tab characters in sed expression after $file
- echo ">>> -> resetting sum of /$file..."
- sed -i "s#$file [0-9a-fA-F]*#$file $zeroes#" $path
- else
- echo ">>> -> $file is unowned."
- fi
- done
+ echo "* * * * * /usr/bin/bash /usr/MythVantage/bin/pacman.cron" >> /var/spool/cron/root
+ echo "root" >> /var/spool/cron/cron.update
}
diff --git a/abs/core/pam/PKGBUILD b/abs/core/pam/PKGBUILD
index 965f215..9290c1e 100644
--- a/abs/core/pam/PKGBUILD
+++ b/abs/core/pam/PKGBUILD
@@ -1,31 +1,40 @@
-# $Id: PKGBUILD 197836 2013-10-30 11:06:23Z allan $
+# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=pam
-pkgver=1.1.8
-pkgrel=2
+pkgver=1.2.1
+pkgrel=1
pkgdesc="PAM (Pluggable Authentication Modules) library"
arch=('i686' 'x86_64')
license=('GPL2')
-url="http://www.kernel.org/pub/linux/libs/pam/"
-depends=('glibc' 'db' 'cracklib' 'libtirpc' 'pambase')
+url="http://linux-pam.org"
+depends=('glibc' 'cracklib' 'libtirpc' 'pambase')
makedepends=('flex' 'w3m' 'docbook-xml>=4.4' 'docbook-xsl')
backup=(etc/security/{access.conf,group.conf,limits.conf,namespace.conf,namespace.init,pam_env.conf,time.conf} etc/default/passwd etc/environment)
-source=(https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-$pkgver.tar.bz2
- #http://www.kernel.org/pub/linux/libs/pam/library/Linux-PAM-$pkgver.tar.bz2
- ftp://ftp.archlinux.org/other/pam_unix2/pam_unix2-2.9.1.tar.bz2
+source=(http://linux-pam.org/library/Linux-PAM-$pkgver.tar.bz2
+ https://sources.archlinux.org/other/pam_unix2/pam_unix2-2.9.1.tar.bz2
pam_unix2-glibc216.patch)
+md5sums=('9dc53067556d2dd567808fd509519dd6'
+ 'da6a46e5f8cd3eaa7cbc4fc3a7e2b555'
+ 'dac109f68e04a4df37575fda6001ea17')
+
options=('!emptydirs')
+prepare () {
+ cd $srcdir/Linux-PAM-$pkgver
+
+ # fix pam_unix2 building
+ cd $srcdir/pam_unix2-2.9.1
+ patch -Np1 -i "${srcdir}/pam_unix2-glibc216.patch"
+}
+
build() {
cd $srcdir/Linux-PAM-$pkgver
- ./configure --libdir=/usr/lib --sbindir=/usr/bin
+ ./configure --libdir=/usr/lib --sbindir=/usr/bin --disable-db
make
cd $srcdir/pam_unix2-2.9.1
- patch -Np1 -i ../pam_unix2-glibc216.patch
-
# modify flags to build against the pam compiled here, not a system lib.
./configure \
CFLAGS="$CFLAGS -I$srcdir/Linux-PAM-$pkgver/libpam/include/" \
@@ -63,7 +72,7 @@ _EOT
# set unix_chkpwd uid
chmod +s $pkgdir/usr/bin/unix_chkpwd
+ # remove doc which is not used anymore
+ # FS #40749
+ rm $pkgdir/usr/share/doc/Linux-PAM/sag-pam_userdb.html
}
-md5sums=('35b6091af95981b1b2cd60d813b5e4ee'
- 'da6a46e5f8cd3eaa7cbc4fc3a7e2b555'
- 'dac109f68e04a4df37575fda6001ea17')
diff --git a/abs/core/pam/pam-1.1.8-cve-2013-7041.patch b/abs/core/pam/pam-1.1.8-cve-2013-7041.patch
new file mode 100644
index 0000000..96fa916
--- /dev/null
+++ b/abs/core/pam/pam-1.1.8-cve-2013-7041.patch
@@ -0,0 +1,52 @@
+From 57a1e2b274d0a6376d92ada9926e5c5741e7da20 Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Fri, 24 Jan 2014 22:18:32 +0000
+Subject: [PATCH] pam_userdb: fix password hash comparison
+
+Starting with commit Linux-PAM-0-77-28-g0b3e583 that introduced hashed
+passwords support in pam_userdb, hashes are compared case-insensitively.
+This bug leads to accepting hashes for completely different passwords in
+addition to those that should be accepted.
+
+Additionally, commit Linux-PAM-1_1_6-13-ge2a8187 that added support for
+modern password hashes with different lengths and settings, did not
+update the hash comparison accordingly, which leads to accepting
+computed hashes longer than stored hashes when the latter is a prefix
+of the former.
+
+* modules/pam_userdb/pam_userdb.c (user_lookup): Reject the computed
+hash whose length differs from the stored hash length.
+Compare computed and stored hashes case-sensitively.
+Fixes CVE-2013-7041.
+
+Bug-Debian: http://bugs.debian.org/731368
+---
+ modules/pam_userdb/pam_userdb.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/modules/pam_userdb/pam_userdb.c b/modules/pam_userdb/pam_userdb.c
+index de8b5b1..ff040e6 100644
+--- a/modules/pam_userdb/pam_userdb.c
++++ b/modules/pam_userdb/pam_userdb.c
+@@ -222,12 +222,15 @@ user_lookup (pam_handle_t *pamh, const char *database, const char *cryptmode,
+ } else {
+ cryptpw = crypt (pass, data.dptr);
+
+- if (cryptpw) {
+- compare = strncasecmp (data.dptr, cryptpw, data.dsize);
++ if (cryptpw && strlen(cryptpw) == (size_t)data.dsize) {
++ compare = memcmp(data.dptr, cryptpw, data.dsize);
+ } else {
+ compare = -2;
+ if (ctrl & PAM_DEBUG_ARG) {
+- pam_syslog(pamh, LOG_INFO, "crypt() returned NULL");
++ if (cryptpw)
++ pam_syslog(pamh, LOG_INFO, "lengths of computed and stored hashes differ");
++ else
++ pam_syslog(pamh, LOG_INFO, "crypt() returned NULL");
+ }
+ };
+
+--
+1.8.3.1
+
diff --git a/abs/core/pam/pam-1.1.8-cve-2014-2583.patch b/abs/core/pam/pam-1.1.8-cve-2014-2583.patch
new file mode 100644
index 0000000..f2aa2de
--- /dev/null
+++ b/abs/core/pam/pam-1.1.8-cve-2014-2583.patch
@@ -0,0 +1,56 @@
+From 9dcead87e6d7f66d34e7a56d11a30daca367dffb Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Wed, 26 Mar 2014 22:17:23 +0000
+Subject: [PATCH] pam_timestamp: fix potential directory traversal issue
+ (ticket #27)
+
+pam_timestamp uses values of PAM_RUSER and PAM_TTY as components of
+the timestamp pathname it creates, so extra care should be taken to
+avoid potential directory traversal issues.
+
+* modules/pam_timestamp/pam_timestamp.c (check_tty): Treat
+"." and ".." tty values as invalid.
+(get_ruser): Treat "." and ".." ruser values, as well as any ruser
+value containing '/', as invalid.
+
+Fixes CVE-2014-2583.
+
+Reported-by: Sebastian Krahmer <krahmer@suse.de>
+---
+ modules/pam_timestamp/pam_timestamp.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c
+index 5193733..b3f08b1 100644
+--- a/modules/pam_timestamp/pam_timestamp.c
++++ b/modules/pam_timestamp/pam_timestamp.c
+@@ -158,7 +158,7 @@ check_tty(const char *tty)
+ tty = strrchr(tty, '/') + 1;
+ }
+ /* Make sure the tty wasn't actually a directory (no basename). */
+- if (strlen(tty) == 0) {
++ if (!strlen(tty) || !strcmp(tty, ".") || !strcmp(tty, "..")) {
+ return NULL;
+ }
+ return tty;
+@@ -243,6 +243,17 @@ get_ruser(pam_handle_t *pamh, char *ruserbuf, size_t ruserbuflen)
+ if (pwd != NULL) {
+ ruser = pwd->pw_name;
+ }
++ } else {
++ /*
++ * This ruser is used by format_timestamp_name as a component
++ * of constructed timestamp pathname, so ".", "..", and '/'
++ * are disallowed to avoid potential path traversal issues.
++ */
++ if (!strcmp(ruser, ".") ||
++ !strcmp(ruser, "..") ||
++ strchr(ruser, '/')) {
++ ruser = NULL;
++ }
+ }
+ if (ruser == NULL || strlen(ruser) >= ruserbuflen) {
+ *ruserbuf = '\0';
+--
+1.8.3.1
+
diff --git a/abs/core/pambase/PKGBUILD b/abs/core/pambase/PKGBUILD
index 4b52457..b595e97 100644
--- a/abs/core/pambase/PKGBUILD
+++ b/abs/core/pambase/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 162994 2012-07-04 21:45:33Z dreisner $
+# $Id$
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=pambase
-pkgver=20120701
+pkgver=20130928
pkgrel=1
pkgdesc="Base PAM configuration for services"
arch=('any')
@@ -20,22 +20,16 @@ backup=('etc/pam.d/system-auth'
'etc/pam.d/system-remote-login'
'etc/pam.d/system-services'
'etc/pam.d/other')
-md5sums=('5f169a4ffe7ed69f58e106cdd2d760df'
+md5sums=('6116b8e199a3dfd26a085a67a718435d'
'477237985820117a0e6e1b13a86eb599'
- '17c691f2da319df8fe851bc47cc1d662'
+ '7464f86d346b22dd07b433c341a33aab'
'477237985820117a0e6e1b13a86eb599'
- '30fe7d41e054ee43fab7855bf88a07e5'
+ '6969307eef026979703a6eba33c2e3eb'
'6e6c8719e5989d976a14610f340bd33a')
package() {
install -dm755 "$pkgdir/etc/pam.d"
- install -m644 -t "$pkgdir/etc/pam.d" \
- system-auth \
- system-local-login \
- system-login \
- system-remote-login \
- system-services \
- other
+ install -m644 -t "$pkgdir/etc/pam.d" "${source[@]}"
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/pambase/system-auth b/abs/core/pambase/system-auth
index b28a7e9..2645043 100644
--- a/abs/core/pambase/system-auth
+++ b/abs/core/pambase/system-auth
@@ -1,8 +1,8 @@
#%PAM-1.0
-auth required pam_env.so
auth required pam_unix.so try_first_pass nullok
auth optional pam_permit.so
+auth required pam_env.so
account required pam_unix.so
account optional pam_permit.so
@@ -12,6 +12,5 @@ password required pam_unix.so try_first_pass nullok sha512 shadow
password optional pam_permit.so
session required pam_limits.so
-session required pam_env.so
session required pam_unix.so
session optional pam_permit.so
diff --git a/abs/core/pambase/system-login b/abs/core/pambase/system-login
index c3bfd7c..17cfa1e 100644
--- a/abs/core/pambase/system-login
+++ b/abs/core/pambase/system-login
@@ -12,9 +12,8 @@ account include system-auth
password include system-auth
session optional pam_loginuid.so
-session required pam_env.so
session include system-auth
session optional pam_motd.so motd=/etc/motd
-session optional pam_mail.so dir=/var/spool/mail standard
--session optional pam_ck_connector.so nox11
+session optional pam_mail.so dir=/var/spool/mail standard quiet
-session optional pam_systemd.so
+session required pam_env.so
diff --git a/abs/core/pambase/system-services b/abs/core/pambase/system-services
index 311c0d6..6ed9bdc 100644
--- a/abs/core/pambase/system-services
+++ b/abs/core/pambase/system-services
@@ -6,6 +6,6 @@ account include system-auth
session optional pam_loginuid.so
session required pam_limits.so
-session required pam_env.so
session required pam_unix.so
session optional pam_permit.so
+session required pam_env.so
diff --git a/abs/core/pango/PKGBUILD b/abs/core/pango/PKGBUILD
index 3adc9a6..ab1f03c 100644
--- a/abs/core/pango/PKGBUILD
+++ b/abs/core/pango/PKGBUILD
@@ -2,17 +2,22 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=pango
-pkgver=1.36.8
+pkgver=1.38.1
pkgrel=1
pkgdesc="A library for layout and rendering of text"
arch=('i686' 'x86_64')
license=('LGPL')
depends=('libthai' 'cairo' 'libxft' 'harfbuzz')
-makedepends=('harfbuzz' 'fontconfig' 'cairo' 'libxft' 'libthai' 'gobject-introspection' 'help2man' 'python2')
+makedepends=('harfbuzz' 'fontconfig' 'cairo' 'libxft' 'libthai' 'gobject-introspection' 'help2man')
+checkdepends=('ttf-dejavu')
install=pango.install
source=(http://download.gnome.org/sources/${pkgname}/${pkgver:0:4}/${pkgname}-${pkgver}.tar.xz)
url="http://www.pango.org/"
-sha256sums=('18dbb51b8ae12bae0ab7a958e7cf3317c9acfc8a1e1103ec2f147164a0fc2d07')
+sha256sums=('1320569f6c6d75d6b66172b2d28e59c56ee864ee9df202b76799c4506a214eb7')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+}
build() {
cd ${pkgname}-${pkgver}
@@ -24,8 +29,12 @@ build() {
make
}
+check() {
+ cd ${pkgname}-${pkgver}
+ make -k check || :
+}
+
package() {
cd ${pkgname}-${pkgver}
make -j1 DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/etc/pango"
}
diff --git a/abs/core/pango/pango.install b/abs/core/pango/pango.install
index 4aa7c4d..68f7fcd 100644
--- a/abs/core/pango/pango.install
+++ b/abs/core/pango/pango.install
@@ -1,14 +1,8 @@
-post_install() {
- usr/bin/pango-querymodules >etc/pango/pango.modules
-}
-
post_upgrade() {
if [ -f usr/etc/pango/pango.modules ]; then
rm usr/etc/pango/pango.modules
fi
- post_install
-}
-
-pre_remove() {
- rm etc/pango/pango.modules
+ if [ -f etc/pango/pango.modules ]; then
+ rm etc/pango/pango.modules
+ fi
}
diff --git a/abs/core/patch/PKGBUILD b/abs/core/patch/PKGBUILD
index 8171a3a..90c3b1e 100644
--- a/abs/core/patch/PKGBUILD
+++ b/abs/core/patch/PKGBUILD
@@ -4,8 +4,8 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=patch
-pkgver=2.7.1
-pkgrel=3
+pkgver=2.7.5
+pkgrel=1
pkgdesc='A utility to apply patch files to original sources'
arch=('i686' 'x86_64')
url='http://www.gnu.org/software/patch/patch.html'
@@ -14,18 +14,17 @@ groups=('base-devel')
depends=('glibc' 'attr')
makedepends=('ed')
optdepends=('ed: for patch -e functionality')
-source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}
- 'patch-2.7.1-initialize-data-structures-early-enough.patch')
-md5sums=('e9ae5393426d3ad783a300a338c09b72'
- 'SKIP'
- 'dc6367a7cd49933d4006c246789e98da')
+validpgpkeys=('7768CE4B75E5236F1A374CEEC4C927CD5D1B36D7') # Andreas Gruenbacher
+source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
+md5sums=('e3da7940431633fb65a01b91d3b7a27a'
+ 'SKIP')
-prepare() {
- # Fix segfault on non-numeric strip-count
- # (also segfaults on nonexistent directory passed to -d)
- # http://savannah.gnu.org/bugs/?37500
- patch -Np1 -d $pkgname-$pkgver < patch-2.7.1-initialize-data-structures-early-enough.patch
-}
+#prepare() {
+# # Fix segfault on non-numeric strip-count
+# # (also segfaults on nonexistent directory passed to -d)
+# # http://savannah.gnu.org/bugs/?37500
+# patch -Np1 -d $pkgname-$pkgver < patch-2.7.1-initialize-data-structures-early-enough.patch
+#}
build() {
cd $pkgname-$pkgver
diff --git a/abs/core/patch/patch-2.7.1-initialize-data-structures-early-enough.patch b/abs/core/patch/patch-2.7.1-initialize-data-structures-early-enough.patch
deleted file mode 100644
index 046edc3..0000000
--- a/abs/core/patch/patch-2.7.1-initialize-data-structures-early-enough.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 291ec175812b7ba291d124e4cf2fbf9efec590c8 Mon Sep 17 00:00:00 2001
-From: Andreas Gruenbacher <agruen@linbit.com>
-Date: Thu, 4 Oct 2012 12:33:09 +0200
-Subject: [PATCH] Initialize data structures early enough
-
-* src/patch.c (main): Initialize data structures early enough, before error
-paths can access them.
-* tests/bad-usage: Test bad command line usage.
-* tests/Makefile.am (TESTS): Add bad-usage here.
----
- src/patch.c | 8 ++++----
- tests/Makefile.am | 1 +
- tests/bad-usage | 18 ++++++++++++++++++
- 3 files changed, 23 insertions(+), 4 deletions(-)
- create mode 100644 tests/bad-usage
-
-diff --git a/src/patch.c b/src/patch.c
-index 828943b..0255fbb 100644
---- a/src/patch.c
-+++ b/src/patch.c
-@@ -150,6 +150,10 @@ main (int argc, char **argv)
- else if ((version_control = getenv ("VERSION_CONTROL")))
- version_control_context = "$VERSION_CONTROL";
-
-+ init_backup_hash_table ();
-+ init_files_to_delete ();
-+ init_files_to_output ();
-+
- /* parse switches */
- Argc = argc;
- Argv = argv;
-@@ -162,10 +166,6 @@ main (int argc, char **argv)
- if (make_backups | backup_if_mismatch)
- backup_type = get_version (version_control_context, version_control);
-
-- init_backup_hash_table ();
-- init_files_to_delete ();
-- init_files_to_output ();
--
- init_output (&outstate);
- if (outfile)
- outstate.ofp = open_outfile (outfile);
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 02fc6de..5cea52d 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -20,6 +20,7 @@ TESTS = \
- asymmetric-hunks \
- backup-prefix-suffix \
- bad-filenames \
-+ bad-usage \
- concat-git-diff \
- copy-rename \
- corrupt-reject-files \
-diff --git a/tests/bad-usage b/tests/bad-usage
-new file mode 100644
-index 0000000..022eeda
---- /dev/null
-+++ b/tests/bad-usage
-@@ -0,0 +1,18 @@
-+# Copyright (C) 2009, 2011-2012 Free Software Foundation, Inc.
-+#
-+# Copying and distribution of this file, with or without modification,
-+# in any medium, are permitted without royalty provided the copyright
-+# notice and this notice are preserved.
-+
-+. $srcdir/test-lib.sh
-+
-+require_cat
-+use_local_patch
-+use_tmpdir
-+
-+# ==============================================================
-+
-+check 'patch -px || echo "status: $?"' <<EOF
-+$PATCH: **** strip count x is not a number
-+status: 2
-+EOF
---
-1.8.0.3
-
diff --git a/abs/core/pcre/01-CVE-2016-1283.patch b/abs/core/pcre/01-CVE-2016-1283.patch
new file mode 100644
index 0000000..2c2dad2
--- /dev/null
+++ b/abs/core/pcre/01-CVE-2016-1283.patch
@@ -0,0 +1,18 @@
+Index: pcre_compile.c
+===================================================================
+--- a/pcre_compile.c (revision 1635)
++++ b/pcre_compile.c (revision 1636)
+@@ -7311,7 +7311,12 @@
+ so far in order to get the number. If the name is not found, leave
+ the value of recno as 0 for a forward reference. */
+
+- else
++ /* This patch (removing "else") fixes a problem when a reference is
++ to multiple identically named nested groups from within the nest.
++ Once again, it is not the "proper" fix, and it results in an
++ over-allocation of memory. */
++
++ /* else */
+ {
+ ng = cd->named_groups;
+ for (i = 0; i < cd->names_found; i++, ng++)
diff --git a/abs/core/pcre/PKGBUILD b/abs/core/pcre/PKGBUILD
index 08a9117..e578d33 100644
--- a/abs/core/pcre/PKGBUILD
+++ b/abs/core/pcre/PKGBUILD
@@ -1,38 +1,61 @@
-# $Id: PKGBUILD 163492 2012-07-13 12:30:53Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Sébastien "Seblu" Luttringer
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=pcre
-pkgver=8.31
-pkgrel=1
-pkgdesc="A library that implements Perl 5-style regular expressions"
+pkgver=8.38
+pkgrel=3
+pkgdesc='A library that implements Perl 5-style regular expressions'
arch=('i686' 'x86_64')
-url="http://www.pcre.org/"
+url='http://www.pcre.org/'
license=('BSD')
-depends=('gcc-libs')
-options=('!libtool')
-source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2{,.sig})
-md5sums=('1c9a276af932b5599157f96e945391f0'
- '873bcd2cd9f1e0aa1e28e256b3e31506')
+depends=('gcc-libs' 'readline' 'zlib' 'bzip2' 'bash')
+validpgpkeys=('45F68D54BBE23FB3039B46E59766E084FB0F43D8') # Philip Hazel
+source=("ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$pkgname-$pkgver.tar.bz2"{,.sig}
+ '01-CVE-2016-1283.patch')
+md5sums=('00aabbfe56d5a48b270f999b508c5ad2'
+ 'SKIP'
+ '722aba6455a3f0240eaa22289f0176a0')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch $filename"
+ patch -p1 -N -i "$srcdir/$filename"
+ fi
+ done
+ :
+}
build() {
- cd "${srcdir}"/${pkgname}-${pkgver}
-
- [ "${CARCH}" = "x86_64" ] && export CFLAGS="${CFLAGS} -fPIC"
- ./configure --prefix=/usr --enable-pcre16 --enable-jit \
- --enable-utf8 --enable-unicode-properties
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --enable-unicode-properties \
+ --enable-pcre16 \
+ --enable-pcre32 \
+ --enable-jit \
+ --enable-pcregrep-libz \
+ --enable-pcregrep-libbz2 \
+ --enable-pcretest-libreadline
make
}
check() {
- cd "${srcdir}"/${pkgname}-${pkgver}
- make check
+ cd $pkgname-$pkgver
+ make -j1 check
}
package() {
- cd "${srcdir}"/${pkgname}-${pkgver}
- make DESTDIR="${pkgdir}" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
- install -Dm644 LICENCE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 LICENCE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/php/PKGBUILD b/abs/core/php/PKGBUILD
index b092e71..7ba2398 100644
--- a/abs/core/php/PKGBUILD
+++ b/abs/core/php/PKGBUILD
@@ -11,6 +11,7 @@ pkgname=('php'
'php-pear'
'php-enchant'
'php-gd'
+ 'php-imap'
'php-intl'
'php-ldap'
'php-mcrypt'
@@ -22,19 +23,22 @@ pkgname=('php'
'php-sqlite'
'php-tidy'
'php-xsl')
-pkgver=5.6.3
+pkgver=5.6.17
pkgrel=1
arch=('i686' 'x86_64')
license=('PHP')
url='http://www.php.net'
-makedepends=('apache' 'imap' 'postgresql-libs' 'libldap' 'postfix'
+makedepends=('apache' 'c-client' 'postgresql-libs' 'libldap' 'postfix'
'sqlite' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
'libmcrypt' 'tidyhtml' 'aspell' 'libltdl' 'gd' 'icu'
'curl' 'libxslt' 'openssl' 'db' 'gmp' 'systemd')
+checkdepends=('procps-ng')
source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz"
"http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz.asc"
'php.ini.patch' 'apache.conf' 'php-fpm.conf.in.patch'
'logrotate.d.php-fpm' 'php-fpm.service' 'php-fpm.tmpfiles')
+validpgpkeys=('6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3'
+ '0BD78B5F97500D450838F95DFE857D9A90D90EC1')
prepare() {
cd ${srcdir}/${pkgbase}-${pkgver}
@@ -94,6 +98,7 @@ build() {
--with-icu-dir=/usr \
--with-imap-ssl \
--with-imap=shared \
+ --with-kerberos=/usr \
--with-jpeg-dir=/usr \
--with-vpx-dir=/usr \
--with-ldap=shared \
@@ -203,19 +208,28 @@ build() {
make
}
-# check() {
-# cd ${srcdir}/build-php
-# export SNMP_TIMEOUT=1
-# export SNMP_RETRIES=0
-# export NO_INTERACTION=1
-# make test
-# echo
-# }
+check() {
+ # tests on i686 fail
+ [[ $CARCH == 'i686' ]] && return
+
+ cd ${srcdir}/build-php
+
+ export REPORT_EXIT_STATUS=1
+ export NO_INTERACTION=1
+ export SKIP_ONLINE_TESTS=1
+ export SKIP_SLOW_TESTS=1
+
+ sapi/cli/php -n \
+ ${srcdir}/${pkgbase}-${pkgver}/run-tests.php -n -P \
+ ${srcdir}/${pkgbase}-${pkgver}/{Zend,ext/{date,pcre,spl,standard},sapi/cli}
+
+ echo
+}
package_php() {
pkgdesc='An HTML-embedded scripting language'
depends=('pcre' 'libxml2' 'curl' 'libzip' 'php-gd' 'php-mcrypt')
- backup=('etc/php/php.ini')
+ #backup=('etc/php/php.ini')
install='php.install'
cd ${srcdir}/build-php
@@ -228,9 +242,11 @@ package_php() {
# remove static modules
rm -f ${pkgdir}/usr/lib/php/modules/*.a
# remove modules provided by sub packages
- rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
+ rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,imap,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
# remove empty directory
rmdir ${pkgdir}/usr/include/php/include
+ # fix broken link
+ ln -sf phar.phar ${pkgdir}/usr/bin/phar
}
package_php-cgi() {
@@ -303,6 +319,13 @@ package_php-gd() {
install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
}
+package_php-imap() {
+ pkgdesc='imap module for PHP'
+ depends=('php' 'c-client')
+
+ install -D -m755 ${srcdir}/build-php/modules/imap.so ${pkgdir}/usr/lib/php/modules/imap.so
+}
+
package_php-intl() {
pkgdesc='intl module for PHP'
depends=('php' 'icu')
@@ -382,11 +405,11 @@ package_php-xsl() {
install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
}
-md5sums=('7635f344145a4edd7dff6ecec795aaea'
+md5sums=('5e080e4b7df5db24f1b64313f8114bd8'
'SKIP'
- '8768a43f8e435e9bbe56ef714214f9b6'
+ '943f882a55c0a6a7b3e5616c7dbbd7a8'
'dec2cbaad64e3abf4f0ec70e1de4e8e9'
- '6bc1fc4ceee039d21ff3b56aa845cc5a'
+ '16b5e2e4da59f15bea4c2db78a7bc8dc'
'25bc67ad828e8147a817410b68d8016c'
'cc2940f5312ba42e7aa1ddfab74b84c4'
'c60343df74f8e1afb13b084d5c0e47ed')
diff --git a/abs/core/php/__changelog b/abs/core/php/__changelog
index 43aa7f6..69c2edd 100644
--- a/abs/core/php/__changelog
+++ b/abs/core/php/__changelog
@@ -1,8 +1,10 @@
PKGBUILD: package_php: add deps 'php-gd' 'php-mcrypt' since we have them in php.ini
+PKGBUILD: package_php: comment out backup=('etc/php/php.ini')
php.ini.patch: short_open_tags = On
php.ini.patch: open_basedir commented out
php.ini.patch: error_log = syslog uncommented
+php.ini.patch: max_input_vars = 3000 uncomment and change to 3000
php.ini.patch:
==> check and make sure these are uncommented:
==> "extension=ftp.so"
diff --git a/abs/core/php/php-fpm.conf.in.patch b/abs/core/php/php-fpm.conf.in.patch
index 81eabf7..f9721a1 100644
--- a/abs/core/php/php-fpm.conf.in.patch
+++ b/abs/core/php/php-fpm.conf.in.patch
@@ -1,5 +1,5 @@
---- sapi/fpm/php-fpm.conf.in 2014-04-29 10:04:30.000000000 +0200
-+++ sapi/fpm/php-fpm.conf.in 2014-05-01 07:36:14.762839158 +0200
+--- sapi/fpm/php-fpm.conf.in 2015-01-21 01:40:37.000000000 +0100
++++ sapi/fpm/php-fpm.conf.in 2015-01-22 16:22:09.076969777 +0100
@@ -12,7 +12,7 @@
; Relative path can also be used. They will be prefixed by:
; - the global prefix if it's been set (-p argument)
@@ -18,8 +18,8 @@
; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
-@@ -156,7 +156,8 @@
- ; specific port;
+@@ -161,7 +161,8 @@
+ ; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
-listen = 127.0.0.1:9000
@@ -28,7 +28,7 @@
; Set listen(2) backlog.
; Default Value: 65535 (-1 on FreeBSD and OpenBSD)
-@@ -167,9 +168,9 @@
+@@ -172,9 +173,9 @@
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
; mode is set to 0660
@@ -38,10 +38,10 @@
+listen.owner = @php_fpm_user@
+listen.group = @php_fpm_group@
+listen.mode = 0660
-
- ; List of ipv4 addresses of FastCGI clients which are allowed to connect.
- ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
-@@ -466,7 +467,7 @@
+ ; When POSIX Access Control Lists are supported you can set them using
+ ; these options, value is a comma separated list of user/group names.
+ ; When set, listen.owner and listen.group are ignored
+@@ -476,7 +477,7 @@
; Chdir to this directory at the start.
; Note: relative path can be used.
; Default Value: current directory or / when chroot
diff --git a/abs/core/php/php.ini.patch b/abs/core/php/php.ini.patch
index 78f51d4..719de92 100644
--- a/abs/core/php/php.ini.patch
+++ b/abs/core/php/php.ini.patch
@@ -1,5 +1,5 @@
---- php.ini-production.orig 2014-12-08 15:38:39.686053082 +0000
-+++ php.ini-production 2014-12-08 15:45:54.966578982 +0000
+--- php.ini-production.orig 2015-08-10 15:05:42.669490715 +0000
++++ php.ini-production 2015-08-10 16:19:56.874447768 +0000
@@ -199,7 +199,7 @@
; Development Value: Off
; Production Value: Off
@@ -9,16 +9,25 @@
; Allow ASP-style <% %> tags.
; http://php.net/asp-tags
-@@ -296,7 +296,7 @@
- ; or per-virtualhost web server configuration file. This directive is
- ; *NOT* affected by whether Safe Mode is turned On or Off.
+@@ -295,7 +295,7 @@
+ ; and below. This directive makes most sense if used in a per-directory
+ ; or per-virtualhost web server configuration file.
; http://php.net/open-basedir
-;open_basedir =
+;open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/
; This directive allows you to disable certain functions for security reasons.
- ; It receives a comma-delimited list of function names. This directive is
-@@ -574,7 +574,7 @@
+ ; It receives a comma-delimited list of function names.
+@@ -386,7 +386,7 @@
+ ;max_input_nesting_level = 64
+
+ ; How many GET/POST/COOKIE input variables may be accepted
+-; max_input_vars = 1000
++max_input_vars = 3000
+
+ ; Maximum amount of memory a script may consume (128MB)
+ ; http://php.net/memory-limit
+@@ -571,7 +571,7 @@
; Example:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
@@ -27,7 +36,7 @@
;windows.show_crt_warning
; Default value: 0
-@@ -709,7 +709,7 @@
+@@ -708,7 +708,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
@@ -36,7 +45,7 @@
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
-@@ -732,7 +732,7 @@
+@@ -731,7 +731,7 @@
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
@@ -45,7 +54,7 @@
; On windows:
; extension_dir = "ext"
-@@ -870,49 +870,48 @@
+@@ -869,48 +869,48 @@
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
@@ -78,7 +87,6 @@
-;extension=php_pdo_pgsql.dll
-;extension=php_pdo_sqlite.dll
-;extension=php_pgsql.dll
--;extension=php_pspell.dll
-;extension=php_shmop.dll
-
-; The MIBS data available in the PHP distribution must be installed.
diff --git a/abs/core/php/php.install b/abs/core/php/php.install
index 772c0ea..49fe408 100755
--- a/abs/core/php/php.install
+++ b/abs/core/php/php.install
@@ -4,7 +4,7 @@ post_install() {
. /etc/systemconfig
if [ -f /etc/php/php.ini ]
then
- sed -i 's|^.*date.timezone.*$|date.timezone='${timezone}'|' /etc/php/php.ini
+ sed -i 's|^.*date.timezone.*=.*$|date.timezone='${timezone}'|' /etc/php/php.ini
fi
fi
}
diff --git a/abs/core/pixman/PKGBUILD b/abs/core/pixman/PKGBUILD
index 76c0959..f55c0cf 100644
--- a/abs/core/pixman/PKGBUILD
+++ b/abs/core/pixman/PKGBUILD
@@ -4,7 +4,7 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=pixman
-pkgver=0.32.6
+pkgver=0.32.8
pkgrel=1
pkgdesc="The pixel-manipulation library for X and cairo"
arch=(i686 x86_64)
@@ -12,7 +12,7 @@ url="http://xorg.freedesktop.org"
license=('custom')
depends=('glibc')
source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('5b730399e1e212e5acaa69a4f1a2c7be1af1cdc4')
+sha1sums=('5c57045622265b877c9bf02d531973eadf942140')
build() {
cd $pkgname-$pkgver
diff --git a/abs/core/poppler/PKGBUILD b/abs/core/poppler/PKGBUILD
index aed359e..6048751 100644
--- a/abs/core/poppler/PKGBUILD
+++ b/abs/core/poppler/PKGBUILD
@@ -2,17 +2,17 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=poppler
-pkgname=('poppler' 'poppler-glib' 'poppler-qt4')
-pkgver=0.29.0
+pkgname=('poppler' 'poppler-glib' 'poppler-qt4' 'poppler-qt5')
+pkgver=0.39.0
pkgrel=1
arch=(i686 x86_64)
license=('GPL')
-makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt4' 'pkgconfig' 'lcms2' 'gobject-introspection' 'icu' 'git' 'python2')
+makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt4' 'pkgconfig' 'lcms2' 'gobject-introspection' 'icu' 'qt5-base' 'git' 'python2')
options=('!emptydirs')
url="http://poppler.freedesktop.org/"
source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.xz
git://anongit.freedesktop.org/poppler/test)
-md5sums=('7a5d87b7f62db636cc59f73bbd240811'
+md5sums=('5100960c61b932430b5d74068d71f530'
'SKIP')
build() {
@@ -23,6 +23,7 @@ build() {
--enable-xpdf-headers \
--enable-libjpeg --enable-zlib \
--enable-poppler-qt4 \
+ --enable-poppler-qt5 \
--enable-poppler-glib
make
}
@@ -74,3 +75,15 @@ package_poppler-qt4() {
install -m644 poppler-qt4.pc "${pkgdir}/usr/lib/pkgconfig/"
rm -f "${pkgdir}"/usr/lib/libpoppler.*
}
+
+package_poppler-qt5() {
+ pkgdesc="Poppler Qt5 bindings"
+ depends=("poppler=${pkgver}" 'qt5-base')
+
+ cd "${pkgbase}-${pkgver}"
+ make -C poppler DESTDIR="${pkgdir}" install-libLTLIBRARIES
+ make -C qt5 DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
+ install -m644 poppler-qt5.pc "${pkgdir}/usr/lib/pkgconfig/"
+ rm -f "${pkgdir}"/usr/lib/libpoppler.*
+}
diff --git a/abs/core/poppler/__changelog b/abs/core/poppler/__changelog
deleted file mode 100644
index 0701dff..0000000
--- a/abs/core/poppler/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove qt5 stuff
diff --git a/abs/core/procps-ng/PKGBUILD b/abs/core/procps-ng/PKGBUILD
index f30e5dc..ba2e3bd 100644
--- a/abs/core/procps-ng/PKGBUILD
+++ b/abs/core/procps-ng/PKGBUILD
@@ -3,15 +3,16 @@
# Contributor: Eric Bélanger <eric@archlinux.org>
pkgname=procps-ng
-pkgver=3.3.10
-pkgrel=1
+pkgver=3.3.11
+pkgrel=2
pkgdesc='Utilities for monitoring your system and its processes'
-url='http://sourceforge.net/projects/procps-ng/'
+url='https://gitlab.com/procps-ng/procps'
license=('GPL' 'LGPL')
arch=('i686' 'x86_64')
-depends=('ncurses' 'systemd')
+makedepends=('systemd')
+depends=('ncurses' 'libsystemd')
source=("http://downloads.sourceforge.net/project/${pkgname}/Production/${pkgname}-${pkgver}.tar.xz")
-sha1sums=('484db198d6a18a42b4011d5ecb2cb784a81b0e4f')
+sha1sums=('1bdca65547df9ed019bd83649b0f8b8eaa017e25')
groups=('base')
diff --git a/abs/core/python2/PKGBUILD b/abs/core/python2/PKGBUILD
index a9d67a1..8615d48 100644
--- a/abs/core/python2/PKGBUILD
+++ b/abs/core/python2/PKGBUILD
@@ -5,22 +5,22 @@
# Contributor: Jason Chu <jason@archlinux.org>
pkgname=python2
-pkgver=2.7.9
-pkgrel=1
+pkgver=2.7.11
+pkgrel=2
_pybasever=2.7
pkgdesc="A high-level scripting language"
arch=('i686' 'x86_64')
license=('PSF')
url="http://www.python.org/"
depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite' 'libffi')
-makedepends=('tk' 'bluez-libs')
-checkdepends=('gdb')
+makedepends=('tk' 'bluez-libs' 'hardening-wrapper')
+checkdepends=('gdb' 'file')
optdepends=('tk: for IDLE'
'python2-setuptools'
'python2-pip')
conflicts=('python<3')
source=(http://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz)
-sha1sums=('3172f6e957713c2d9fca462cc16068222fd1b9d3')
+sha1sums=('c3b8bbe3f084c4d4ea13ffb03d75a5e22f9756ff')
prepare() {
cd Python-${pkgver}
@@ -53,8 +53,8 @@ prepare() {
find . -name '*.py' | \
xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
- # Workaround asdl_c.py error after we touched the shebangs
- touch Include/Python-ast.h Python/Python-ast.c
+ # Workaround asdl_c.py/makeopcodetargets.py errors after we touched the shebangs
+ touch Include/Python-ast.h Python/Python-ast.c Python/opcode_targets.h
}
build() {
@@ -75,12 +75,14 @@ build() {
}
check() {
- # As of 2.7.9, 2 tests failed:
- # test_gdb test_mhlib
+ # As of 2.7.11, 2 tests failed:
+ # test_doctest test_gdb
# Besides, test_thread disabled as it will stuck
+
+ # $SHELL was set to avoid a test failure in test_gdb (it still fails due to other reasons, though)
cd Python-${pkgver}
- LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \
+ SHELL=/bin/sh LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \
"${srcdir}/Python-${pkgver}/python" -m test.regrtest -v -uall -x test_thread || warning "Tests failed"
}
diff --git a/abs/core/python_modules/__changelog b/abs/core/python_modules/__changelog
deleted file mode 100644
index 4a02fe3..0000000
--- a/abs/core/python_modules/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-removed python from requirement --jm
diff --git a/abs/core/python_modules/pycairo/PKGBUILD b/abs/core/python_modules/pycairo/PKGBUILD
deleted file mode 100644
index 9adfcb5..0000000
--- a/abs/core/python_modules/pycairo/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 96553 2010-10-22 08:47:59Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=pycairo
-pkgver=1.8.10
-pkgrel=4
-pkgdesc="Python bindings for the cairo graphics library"
-arch=('i686' 'x86_64')
-license=('LGPL' 'MPL')
-depends=('python2' 'cairo>=1.8.10')
-options=('!libtool')
-source=(http://cairographics.org/releases/py2cairo-${pkgver}.tar.gz)
-url="http://www.cairographics.org/pycairo"
-md5sums=('87421a6a70304120555ba7ba238f3dc3')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- PYTHON=python2 ./configure --prefix=/usr
- make || return 1
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install || return 1
-}
-
diff --git a/abs/core/python_modules/pygobject/PKGBUILD b/abs/core/python_modules/pygobject/PKGBUILD
index 32e4c31..fc8f1c7 100644
--- a/abs/core/python_modules/pygobject/PKGBUILD
+++ b/abs/core/python_modules/pygobject/PKGBUILD
@@ -3,34 +3,33 @@
pkgbase=pygobject
pkgname=(python2-gobject pygobject-devel)
-pkgver=3.12.1
+pkgver=3.18.2
pkgrel=1
arch=(i686 x86_64)
url="https://live.gnome.org/PyGObject"
license=(LGPL)
makedepends=(python2 python2-cairo gobject-introspection gnome-common)
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz)
-sha256sums=('da5fe04759e862d347b26b53a6aea0affa7cbe858b7004475fa8c7929496da35')
+source=(https://download.gnome.org/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz)
+sha256sums=('2a3cad1517916b74e131e6002c3824361aee0671ffb0d55ded119477fc1c2c5f')
prepare() {
mkdir build-py2 build-py3 devel
cd ${pkgbase}-${pkgver}
- sed -i '/Werror=format/d' configure # gcc 4.8
}
build() {
cd build-py2
- ../${pkgbase}-${pkgver}/autogen.sh --prefix=/usr --with-python=/usr/bin/python2
+ ../${pkgbase}-${pkgver}/configure --prefix=/usr --with-python=/usr/bin/python2
make
# cd ../build-py3
-# ../${pkgbase}-${pkgver}/configure --prefix=/usr
- make
+# ../${pkgbase}-${pkgver}/configure --prefix=/usr --with-python=/usr/bin/python
+# make
}
#package_python-gobject() {
# pkgdesc="Python 3 bindings for GObject"
-# depends=('gobject-introspection' 'python-cairo' "pygobject-devel=$pkgver")
+# depends=('gobject-introspection-runtime' "pygobject-devel=$pkgver" 'python' 'cairo')
# cd build-py3
# make DESTDIR="$pkgdir" install
@@ -39,15 +38,17 @@ build() {
package_python2-gobject() {
pkgdesc="Python 2 bindings for GObject"
- depends=('gobject-introspection' 'python2-cairo' "pygobject-devel=$pkgver")
+ depends=('gobject-introspection-runtime' "pygobject-devel=$pkgver" 'python2' 'cairo')
cd build-py2
make DESTDIR="$pkgdir" install
mv "$pkgdir"/usr/{include,lib/pkgconfig} "$srcdir/devel"
+ python2 -m compileall "$pkgdir"//usr/lib/python2.7/site-packages/gi
}
package_pygobject-devel() {
pkgdesc="Development files for the pygobject bindings"
+
cd "devel"
mkdir -p "$pkgdir"/usr/{include,lib}
mv include "$pkgdir/usr/"
diff --git a/abs/core/python_modules/pygobject2/PKGBUILD b/abs/core/python_modules/pygobject2/PKGBUILD
index f4e921e..ba3d035 100644
--- a/abs/core/python_modules/pygobject2/PKGBUILD
+++ b/abs/core/python_modules/pygobject2/PKGBUILD
@@ -4,12 +4,11 @@
pkgbase=pygobject2
pkgname=(python2-gobject2 pygobject2-devel)
pkgver=2.28.6
-pkgrel=9
+pkgrel=12
arch=(i686 x86_64)
url="http://www.pygtk.org/"
license=(LGPL)
makedepends=(python2 git)
-options=('!libtool')
# pygobject-2-28 branch: https://git.gnome.org/browse/pygobject/log/?h=pygobject-2-28
source=('git://git.gnome.org/pygobject#commit=9456ba7')
@@ -19,8 +18,11 @@ prepare() {
cd pygobject
autoreconf -fi
- cd ..
- cp -a pygobject python2-build
+ cp -a . ../python2-build
+
+ find -O3 ../python2-build \
+ \( -name '*.py' -o -name '*.py.in' \) \
+ -exec sed -i '1s|python$|&2|' {} +
}
build() {
@@ -30,22 +32,22 @@ build() {
make
cd ../pygobject
- ./configure --prefix=/usr --disable-introspection
- make
+# ./configure --prefix=/usr --disable-introspection
+# make
}
-package_python-gobject2() {
- pkgdesc="Python 3 bindings for GObject2"
- depends=(glib2 pygobject2-devel python)
- replaces=(py3gobject)
- provides=("py3gobject=$pkgver")
+#package_python-gobject2() {
+# pkgdesc="Python 3 bindings for GObject2"
+# depends=(glib2 pygobject2-devel python)
+# replaces=(py3gobject)
+# provides=("py3gobject=$pkgver")
- cd pygobject
- make DESTDIR="$pkgdir" install
+# cd pygobject
+# make DESTDIR="$pkgdir" install
# Delete devel stuff
- rm -r "$pkgdir"/usr/{include,lib/pkgconfig,share/{gtk-doc,pygobject/xsl}}
-}
+# rm -r "$pkgdir"/usr/{include,lib/pkgconfig,share/{gtk-doc,pygobject/xsl}}
+#}
package_python2-gobject2() {
pkgdesc="Python 2 bindings for GObject2"
@@ -56,9 +58,6 @@ package_python2-gobject2() {
cd python2-build
make DESTDIR="$pkgdir" install
- find "$pkgdir"/usr/share/pygobject -name '*.py' -exec \
- sed -i '1s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|' {} +
-
rm -r "$pkgdir"/usr/share/gtk-doc
# Split devel stuff
diff --git a/abs/core/python_modules/pyopenssl/PKGBUILD b/abs/core/python_modules/pyopenssl/PKGBUILD
index 63eeaaf..d99cafa 100644
--- a/abs/core/python_modules/pyopenssl/PKGBUILD
+++ b/abs/core/python_modules/pyopenssl/PKGBUILD
@@ -1,49 +1,59 @@
# $Id$
-# Maintainer : Ionut Biru<ibiru@archlinux.org>
+# Maintainer : Felix Yan <felixonmars@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgbase=pyopenssl
pkgname=('python2-pyopenssl')
-pkgver=0.14
-pkgrel=3
+pkgver=16.0.0
+pkgrel=1
arch=('any')
url="http://pypi.python.org/pypi/pyOpenSSL"
license=('LGPL2.1')
-makedepends=('python2-setuptools' 'openssl' 'python2-six' 'python2-cryptography')
-source=(http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${pkgver}.tar.gz)
-md5sums=('8579ff3a1d858858acfba5f046a4ddf7')
+makedepends=('openssl' 'python2-setuptools' 'python2-cryptography')
+checkdepends=('python2-pytest-runner')
+source=(http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-$pkgver.tar.gz)
+md5sums=('9587d813dcf656e9f2760e41a3682dc3')
-build() {
- cd "${srcdir}"
- cp -a "pyOpenSSL-${pkgver}"{,-python2}
+prepare() {
+ cp -a pyOpenSSL-$pkgver{,-py2}
- #build python 3 module
- cd "pyOpenSSL-${pkgver}"
-# python setup.py build
+ export LC_CTYPE=en_US.UTF-8
+}
+
+build () {
+ cd "$srcdir"/pyOpenSSL-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/pyOpenSSL-$pkgver-py2
+ python2 setup.py build
+}
+
+check () {
+ (
+ cd "$srcdir"/pyOpenSSL-$pkgver
+ python setup.py ptr
- #build python 2 module
- cd ../"pyOpenSSL-${pkgver}-python2"
- python2 setup.py build
+ cd "$srcdir"/pyOpenSSL-$pkgver-py2
+ python2 setup.py ptr
+ ) || warning "Tests failed due to missing SSLv3_METHOD"
}
-#package_python-pyopenssl(){
-# pkgdesc="Python3 wrapper module around the OpenSSL library"
-# depends=('python>=3.3' 'openssl' 'python-six' 'python-cryptography')
-# replaces=('pyopenssl')
-# provides=('pyopenssl')
-# conflicts=('pyopenssl')
+package_python-pyopenssl(){
+ pkgdesc="Python3 wrapper module around the OpenSSL library"
+ depends=('openssl' 'python-six' 'python-cryptography')
-# cd "${srcdir}/pyOpenSSL-${pkgver}"
-# python setup.py install --root "${pkgdir}" --optimize=1
-#}
+ cd "$srcdir"/pyOpenSSL-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+}
package_python2-pyopenssl(){
- pkgdesc="Python2 wrapper module around the OpenSSL library"
- depends=('python2>=2.7' 'openssl' 'python2-six' 'python2-cryptography')
- replaces=('pyopenssl')
- provides=('pyopenssl')
- conflicts=('pyopenssl')
-
- cd "${srcdir}/pyOpenSSL-${pkgver}-python2"
- python2 setup.py install --root "${pkgdir}" --optimize=1
+ pkgdesc="Python2 wrapper module around the OpenSSL library"
+ depends=('openssl' 'python2-six' 'python2-cryptography')
+ replaces=('pyopenssl')
+ provides=('pyopenssl')
+ conflicts=('pyopenssl')
+
+ cd "$srcdir"/pyOpenSSL-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
}
diff --git a/abs/core/python_modules/pyopenssl/__changelog b/abs/core/python_modules/pyopenssl/__changelog
index 488d3cf..3de0e7a 100644
--- a/abs/core/python_modules/pyopenssl/__changelog
+++ b/abs/core/python_modules/pyopenssl/__changelog
@@ -1 +1,2 @@
PKGBUILD: rm py 3 stuff
+PKGBUILD: move provides/replaces/conflicts to python2-pyopenssl
diff --git a/abs/core/python_modules/python-cffi/PKGBUILD b/abs/core/python_modules/python-cffi/PKGBUILD
index 5f75a0e..5a4ef04 100644
--- a/abs/core/python_modules/python-cffi/PKGBUILD
+++ b/abs/core/python_modules/python-cffi/PKGBUILD
@@ -1,44 +1,53 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: lilydjwg <lilydjwg@gmail.com>
-_name=cffi
-pkgbase=python-$_name
-pkgname=(python2-$_name)
-pkgver=0.8.2
-pkgrel=4
+pkgbase=python-cffi
+pkgname=(python2-cffi)
+pkgver=1.5.2
+_revision=4640c7bfb3166763943b428bc7ae9d3585e45c34
+pkgrel=1
pkgdesc="Foreign Function Interface for Python calling C code"
arch=('i686' 'x86_64')
url="http://cffi.readthedocs.org/"
license=('MIT')
-makedepends=('python2-setuptools' 'python2-pycparser')
-md5sums=('37fc88c62f40d04e8a18192433f951ec')
-source=("http://pypi.python.org/packages/source/c/${_name}/${_name}-${pkgver}.tar.gz")
+makedepends=('python2-setuptools' 'python2-pycparser' 'mercurial')
+checkdepends=('python2-pytest-runner')
+source=("hg+https://felixonmars@bitbucket.org/cffi/cffi#revision=$_revision")
+sha512sums=('SKIP')
prepare() {
- cp -r $_name-$pkgver{,-py2}
+ cp -a cffi{,-py2}
}
build() {
-# cd "$srcdir/$_name-$pkgver"
+# cd "$srcdir/cffi"
# python3 setup.py build
- cd "$srcdir/$_name-$pkgver-py2"
+ cd "$srcdir/cffi-py2"
python2 setup.py build
}
-#package_python-cffi() {
-# depends=('python' 'python-pycparser')
+check() {
+ cd "$srcdir/cffi"
+ python3 setup.py ptr
-# cd "$srcdir/$_name-$pkgver"
-# python3 setup.py install --root="$pkgdir/" --optimize=1
-# install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-#}
+ cd "$srcdir/cffi-py2"
+ python2 setup.py ptr
+}
+
+package_python-cffi() {
+ depends=('python-pycparser')
+
+ cd "$srcdir/cffi"
+ python3 setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
package_python2-cffi() {
- depends=('python2' 'python2-pycparser')
+ depends=('python2-pycparser')
- cd "$srcdir/$_name-$pkgver-py2"
+ cd "$srcdir/cffi-py2"
python2 setup.py install --root="$pkgdir/" --optimize=1
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/abs/core/python_modules/python-cryptography/PKGBUILD b/abs/core/python_modules/python-cryptography/PKGBUILD
index f916ada..d336c94 100644
--- a/abs/core/python_modules/python-cryptography/PKGBUILD
+++ b/abs/core/python_modules/python-cryptography/PKGBUILD
@@ -1,54 +1,52 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-cryptography
pkgname=('python2-cryptography')
-pkgver=0.3
+pkgver=1.3.1
pkgrel=1
pkgdesc="A package designed to expose cryptographic recipes and primitives to Python developers"
arch=('i686' 'x86_64')
license=('Apache')
url="http://pypi.python.org/pypi/cryptography"
-makedepends=('python2-setuptools' 'python2-six' 'python2-cffi')
-checkdepends=('python2-pytest' 'python2-cryptography-vectors'
- 'python2-iso8601' 'python2-pretend')
-source=("http://pypi.python.org/packages/source/c/cryptography/cryptography-${pkgver}.tar.gz")
-md5sums=('1a9f2520acfef9489ac42fdc9a7be441')
+makedepends=('python2-setuptools' 'python2-six' 'python2-cffi' 'python2-enum34'
+ 'python2-pyasn1' 'python2-idna' 'python2-ipaddress')
+checkdepends=('python2-pytest-runner' "python2-cryptography-vectors=$pkgver"
+ 'python2-iso8601' 'python2-pretend' 'python2-pyasn1-modules'
+ 'python2-hypothesis')
+source=("http://pypi.python.org/packages/source/c/cryptography/cryptography-$pkgver.tar.gz")
+md5sums=('bc8148d2ff2d80fef8ef2d2e856b3a7f')
-check() {
- # Check python3 module
-# cd "${srcdir}"/cryptography-${pkgver}
-# python3 setup.py test
-
- # Check python2 module
- cd "${srcdir}"/cryptography-${pkgver}-python2
- python2 setup.py test
-}
-
prepare() {
- cp -a cryptography-${pkgver}{,-python2}
+ cp -a cryptography-${pkgver}{,-python2}
}
build() {
- # Build python 3 module
- cd cryptography-${pkgver}
-# python3 setup.py build
+ cd "$srcdir"/cryptography-$pkgver
+# python setup.py build
- # Build python 2 module
- cd ../cryptography-${pkgver}-python2
+ cd "$srcdir"/cryptography-$pkgver-python2
python2 setup.py build
}
+
+check() {
+ cd "$srcdir"/cryptography-$pkgver
+ PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.5:$PYTHONPATH" python setup.py ptr
+
+ cd "$srcdir"/cryptography-$pkgver-python2
+ PYTHONPATH="$PWD/build/lib.linux-$CARCH-2.7:$PYTHONPATH" python2 setup.py ptr
+}
-#package_python-cryptography() {
-# depends=('python' 'python-six' 'python-cffi')
+package_python-cryptography() {
+ depends=('python-pyasn1' 'python-six' 'python-cffi' 'python-idna')
-# cd cryptography-${pkgver}
-# python3 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
-#}
+ cd cryptography-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+}
package_python2-cryptography() {
- depends=('python2' 'python2-six' 'python2-cffi')
+ depends=('python2-pyasn1' 'python2-six' 'python2-cffi' 'python2-enum34' 'python2-idna' 'python2-ipaddress')
- cd cryptography-${pkgver}-python2
- python2 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+ cd cryptography-$pkgver-python2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
}
diff --git a/abs/core/python_modules/python-idna/PKGBUILD b/abs/core/python_modules/python-idna/PKGBUILD
new file mode 100644
index 0000000..1d18ce5
--- /dev/null
+++ b/abs/core/python_modules/python-idna/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-idna
+pkgname=('python2-idna')
+pkgver=2.1
+pkgrel=1
+pkgdesc="Internationalized Domain Names in Applications (IDNA)"
+arch=('any')
+license=('BSD')
+url="https://github.com/kjd/idna"
+makedepends=('python2-setuptools')
+source=("https://pypi.python.org/packages/source/i/idna/idna-$pkgver.tar.gz")
+md5sums=('f6473caa9c5e0cc1ad3fd5d04c3c114b')
+
+prepare() {
+ cp -a idna-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/idna-$pkgver
+# python setup.py build
+
+ cd "$srcdir"/idna-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/idna-$pkgver
+ python setup.py test
+
+ cd "$srcdir"/idna-$pkgver-py2
+ python2 setup.py test
+}
+
+package_python-idna() {
+ depends=('python')
+
+ cd idna-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE.rst "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.rst
+}
+
+package_python2-idna() {
+ depends=('python2')
+
+ cd idna-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE.rst "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.rst
+}
diff --git a/abs/core/python_modules/python-idna/__changelog b/abs/core/python_modules/python-idna/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-idna/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-pyasn1/PKGBUILD b/abs/core/python_modules/python-pyasn1/PKGBUILD
new file mode 100644
index 0000000..ae8b69c
--- /dev/null
+++ b/abs/core/python_modules/python-pyasn1/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgbase=python-pyasn1
+pkgname=('python2-pyasn1')
+pkgver=0.1.9
+pkgrel=1
+arch=('any')
+url="http://sourceforge.net/projects/pyasn1/"
+license=('BSD')
+makedepends=('python2-setuptools')
+replaces=('pyasn1')
+provides=('pyasn1')
+source=(http://downloads.sourceforge.net/sourceforge/pyasn1/pyasn1-${pkgver}.tar.gz)
+sha1sums=('d19599c5d9d039ead21ffcd1a2392c29a838ae03')
+
+check() {
+ cd pyasn1-${pkgver}
+ python2 setup.py test
+ python setup.py test
+}
+
+package_python-pyasn1() {
+ pkgdesc="ASN.1 library for Python 3"
+ depends=('python')
+
+ cd pyasn1-${pkgver}
+ python setup.py install --root="${pkgdir}"
+ install -D -m 644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-pyasn1() {
+ pkgdesc="ASN.1 library for Python 2"
+ depends=('python2')
+
+ cd pyasn1-${pkgver}
+ python2 setup.py install --root="${pkgdir}"
+ install -D -m 644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python-pyasn1/__changelog b/abs/core/python_modules/python-pyasn1/__changelog
new file mode 100644
index 0000000..60db758
--- /dev/null
+++ b/abs/core/python_modules/python-pyasn1/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-pycurl/PKGBUILD b/abs/core/python_modules/python-pycurl/PKGBUILD
index 9b70523..10f640e 100644
--- a/abs/core/python_modules/python-pycurl/PKGBUILD
+++ b/abs/core/python_modules/python-pycurl/PKGBUILD
@@ -1,22 +1,75 @@
-# $Id: PKGBUILD 150558 2012-02-18 14:39:59Z pierre $
-# Maintainer:
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
-pkgname=python-pycurl
-pkgver=7.19.0
-pkgrel=6
-pkgdesc="A Python interface to libcurl"
+_pypiname=pycurl
+pkgbase=python-$_pypiname
+pkgname=('python2-pycurl')
+pkgver=7.43.0
+pkgrel=1
arch=('i686' 'x86_64')
-url="http://pycurl.sourceforge.net"
-license=('GPL')
-depends=('python2' 'curl')
-replaces=('pycurl')
-provides=('pycurl')
-source=("http://pycurl.sourceforge.net/download/pycurl-${pkgver}.tar.gz")
-md5sums=('919d58fe37e69fe87ce4534d8b6a1c7b')
-
-package() {
- cd "${srcdir}"/pycurl-${pkgver}
- python2 setup.py install --curl-config=/usr/bin/curl-config --prefix ${pkgdir}/usr
+url="http://pycurl.sourceforge.net/"
+license=('LGPL' 'MIT')
+makedepends=('python2' 'curl' 'git')
+checkdepends=('python2-bottle' 'python2-nose-show-skipped'
+ 'vsftpd' 'python2-flaky' 'python2-pyflakes')
+source=("git+https://github.com/pycurl/pycurl.git#tag=REL_${pkgver//./_}")
+sha1sums=('SKIP')
+
+prepare() {
+ cp -a $_pypiname{,-py2}
+
+ cd "$srcdir/$_pypiname"
+ find . -name '*.py' -exec sed -i -e "s|#! /usr/bin/env python|#!/usr/bin/env python3|" {} +
+ sed -i 's/"share", "doc", PACKAGE/"share", "doc", "python-pycurl"/' setup.py
+ sed -e "s/nosetests/nosetests3/" -e "s/python/python3/" -i tests/run.sh
+
+ cd "$srcdir/$_pypiname-py2"
+ find . -name '*.py' -exec sed -i -e "s|#! /usr/bin/env python|#!/usr/bin/env python2|" {} +
+ sed -i 's/"share", "doc", PACKAGE/"share", "doc", "python2-pycurl"/' setup.py
+ sed -e "s/nosetests/nosetests2/" -e "s/python/python2/" -i tests/run.sh
+ sed -e "s/pyflakes/pyflakes-python2/" -i Makefile
+}
+
+build() {
+# cd "$srcdir/$_pypiname"
+# make
+# python3 setup.py build --with-ssl
+
+ cd "$srcdir/$_pypiname-py2"
+ make
+ python2 setup.py build --with-ssl
+}
+
+check() {
+ export PYCURL_VSFTPD_PATH=vsftpd
+ # We don't have HTTP2 enabled
+
+ cd "$srcdir/$_pypiname"
+ PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.5:$PYTHONPATH" make test || warning "Tests failed"
+
+ cd "$srcdir/$_pypiname-py2"
+ PYTHONPATH="$PWD/build/lib.linux-$CARCH-2.7:$PYTHONPATH" make PYTHON=python2 NOSETESTS=nosetests2 test || warning "Tests failed"
+}
+
+package_python-pycurl() {
+ pkgdesc="A Python 3.x interface to libcurl"
+ depends=('python' 'curl')
+
+ cd $_pypiname
+ python setup.py install -O1 --root="${pkgdir}"
+ install -D -m644 COPYING-MIT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-pycurl() {
+ pkgdesc="A Python 2.x interface to libcurl"
+ depends=('python2' 'curl')
+ provides=('python-pycurl')
+ replaces=('python-pycurl')
+ conflicts=('python-pycurl')
+
+ cd $_pypiname-py2
+ python2 setup.py install -O1 --root="${pkgdir}"
+ install -D -m644 COPYING-MIT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/python_modules/python-pycurl/__changelog b/abs/core/python_modules/python-pycurl/__changelog
new file mode 100644
index 0000000..a7b93d7
--- /dev/null
+++ b/abs/core/python_modules/python-pycurl/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: rm py 3 stuff
+
diff --git a/abs/core/python_modules/python-simplejson/PKGBUILD b/abs/core/python_modules/python-simplejson/PKGBUILD
index 73dc754..d5273f5 100644
--- a/abs/core/python_modules/python-simplejson/PKGBUILD
+++ b/abs/core/python_modules/python-simplejson/PKGBUILD
@@ -6,24 +6,24 @@
pkgbase=python-simplejson
pkgname=('python2-simplejson')
-pkgver=3.6.5
+pkgver=3.8.2
pkgrel=1
pkgdesc='Simple, fast, extensible JSON encoder/decoder for Python'
license=('MIT')
arch=('x86_64' 'i686')
-url='http://undefined.org/python/#simplejson'
+url='https://github.com/simplejson/simplejson'
makedepends=('python2-setuptools' 'git')
source=("git://github.com/simplejson/simplejson.git#tag=v$pkgver")
md5sums=('SKIP')
-#package_python-simplejson() {
-# depends=('python')
+package_python-simplejson() {
+ depends=('python')
-# cd simplejson
-# python setup.py install --root="$pkgdir"
-# install -Dm644 "$srcdir/simplejson/LICENSE.txt" \
-# "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-#}
+ cd simplejson
+ python setup.py install --root="$pkgdir"
+ install -Dm644 "$srcdir/simplejson/LICENSE.txt" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
package_python2-simplejson() {
depends=('python2')
diff --git a/abs/core/python_modules/python2-cairo/PKGBUILD b/abs/core/python_modules/python2-cairo/PKGBUILD
index 0f2fb14..574eca2 100644
--- a/abs/core/python_modules/python2-cairo/PKGBUILD
+++ b/abs/core/python_modules/python2-cairo/PKGBUILD
@@ -1,14 +1,13 @@
-# $Id: PKGBUILD 122022 2011-05-01 17:05:32Z angvp $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=python2-cairo
pkgver=1.10.0
-pkgrel=1
+pkgrel=3
pkgdesc="Python2 bindings for the cairo graphics library"
arch=('i686' 'x86_64')
license=('LGPL' 'MPL')
depends=('python2' 'cairo')
-options=('!libtool')
provides=("pycairo=${pkgver}")
conflicts=('pycairo')
replaces=('pycairo')
diff --git a/abs/core/python_modules/python2-enum34/PKGBUILD b/abs/core/python_modules/python2-enum34/PKGBUILD
new file mode 100644
index 0000000..24853ad
--- /dev/null
+++ b/abs/core/python_modules/python2-enum34/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Schala <schalaalexiazeal@gmail.com>
+
+pkgname=python2-enum34
+pkgver=1.1.2
+pkgrel=1
+pkgdesc='Python 3.4 Enum backported'
+arch=('any')
+url='http://pypi.python.org/pypi/enum34'
+license=('BSD')
+depends=('python2')
+makedepends=('python2-setuptools')
+source=("https://pypi.python.org/packages/source/e/enum34/enum34-${pkgver}.tar.gz")
+sha256sums=('2475d7fcddf5951e92ff546972758802de5260bf409319a9f1934e6bbc8b1dc7')
+
+package() {
+ cd enum34-${pkgver}
+
+ python2 setup.py install --root="${pkgdir}" --optimize='1'
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses/python2-enum34
+ install -m 644 enum/LICENSE "${pkgdir}"/usr/share/licenses/python2-enum34/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python2-ipaddress/LICENSE b/abs/core/python_modules/python2-ipaddress/LICENSE
new file mode 100644
index 0000000..41bd16b
--- /dev/null
+++ b/abs/core/python_modules/python2-ipaddress/LICENSE
@@ -0,0 +1,50 @@
+This package is a modified version of cpython's ipaddress module.
+It is therefore distributed under the PSF license, as follows:
+
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF hereby
+grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
+analyze, test, perform and/or display publicly, prepare derivative works,
+distribute, and otherwise use Python alone or in any derivative version,
+provided, however, that PSF's License Agreement and PSF's notice of copyright,
+i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+2011, 2012, 2013, 2014 Python Software Foundation; All Rights Reserved" are
+retained in Python alone or in any derivative version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
diff --git a/abs/core/python_modules/python2-ipaddress/PKGBUILD b/abs/core/python_modules/python2-ipaddress/PKGBUILD
new file mode 100644
index 0000000..d5a0bd5
--- /dev/null
+++ b/abs/core/python_modules/python2-ipaddress/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Nikolaus Brandt <sua-aur-661bbb3b@brandt-n.eu>
+
+pkgname=python2-ipaddress
+pkgver=1.0.16
+pkgrel=1
+pkgdesc="IPv4/IPv6 manipulation library"
+arch=(any)
+url="https://github.com/phihag/ipaddress"
+license=('custom:PSF')
+depends=('python2')
+source=("https://pypi.python.org/packages/source/i/ipaddress/ipaddress-$pkgver.tar.gz"
+ LICENSE)
+sha512sums=('50baf15f185b039037eef7b047d5a0ffbe1b335d2d94c218b6a2012ae1ba89c5e5c4f64667d8a623e4e4e7598d90c8a7caa8327ea4c155260ab90384f86a6c89'
+ '5cc59a125412b0eb35f05d40756db050805fc1bd5729f350796644ad92b8117f8d3ed3c7cf6ab8b072518706bf95a1d40f016d065726a1296e19ea09582ec385')
+
+check() {
+ # Not included in release tarball
+ cd ipaddress-$pkgver
+ # python2 test_ipaddress.py
+}
+
+package() {
+ cd ipaddress-$pkgver
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/python_modules/urlgrabber/PKGBUILD b/abs/core/python_modules/urlgrabber/PKGBUILD
index f82aa85..77f188e 100644
--- a/abs/core/python_modules/urlgrabber/PKGBUILD
+++ b/abs/core/python_modules/urlgrabber/PKGBUILD
@@ -1,18 +1,21 @@
-# $Id: PKGBUILD 66686 2012-02-27 11:56:32Z cbrannon $
+# $Id$
# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
# Contributor: Pat Rondon <pmr@@patrondon.org>
+
pkgname=urlgrabber
-pkgver=3.9.1
-pkgrel=3
+pkgver=3.10.1
+pkgrel=2
pkgdesc="A high-level cross-protocol url-grabber and Python library"
url="http://urlgrabber.baseurl.org/"
license=('LGPL')
arch=(any)
-depends=(python2 python-pycurl)
+depends=(python2 python2-pycurl)
source=(http://$pkgname.baseurl.org/download/$pkgname-$pkgver.tar.gz)
+md5sums=('1f5dc63805623cc473e06204fd240bb2')
package() {
- cd "$srcdir/$pkgname-$pkgver"
- python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
- }
-md5sums=('00c8359bf71062d0946bacea521f80b4')
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's/libexec/lib/' setup.py urlgrabber/grabber.py
+ sed -i '1s/python/&2/' scripts/urlgrabber-ext-down
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
diff --git a/abs/core/qt4/CVE-2014-0190.patch b/abs/core/qt4/CVE-2014-0190.patch
deleted file mode 100644
index e97ee7b..0000000
--- a/abs/core/qt4/CVE-2014-0190.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Don't crash on broken GIF images
-
-Broken GIF images could set invalid width and height
-values inside the image, leading to Qt creating a null
-QImage for it. In that case we need to abort decoding
-the image and return an error.
-
-Initial patch by Rich Moore.
-
-Backport of Id82a4036f478bd6e49c402d6598f57e7e5bb5e1e from Qt 5
-
-Task-number: QTBUG-38367
-Change-Id: I0680740018aaa8356d267b7af3f01fac3697312a
-Security-advisory: CVE-2014-0190
-
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 2014-04-10 13:37:12.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp 2014-04-24 15:58:54.515862458 -0500
-@@ -359,6 +359,13 @@ int QGIFFormat::decode(QImage *image, co
- memset(bits, 0, image->byteCount());
- }
-
-+ // Check if the previous attempt to create the image failed. If it
-+ // did then the image is broken and we should give up.
-+ if (image->isNull()) {
-+ state = Error;
-+ return -1;
-+ }
-+
- disposePrevious(image);
- disposed = false;
-
diff --git a/abs/core/qt4/PKGBUILD b/abs/core/qt4/PKGBUILD
index f045f76..db52f76 100644
--- a/abs/core/qt4/PKGBUILD
+++ b/abs/core/qt4/PKGBUILD
@@ -1,39 +1,45 @@
# $Id$
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=qt4
-pkgver=4.8.6
-pkgrel=3
+pkgver=4.8.7
+pkgrel=6
arch=('i686' 'x86_64')
-url='http://qt-project.org/'
+url='http://www.qt.io'
license=('GPL3' 'LGPL' 'FDL' 'custom')
pkgdesc='A cross-platform application and UI framework'
depends=('libtiff' 'libpng' 'sqlite' 'ca-certificates' 'dbus'
'fontconfig' 'libgl' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'libmng')
-makedepends=('mysql' 'unixodbc' 'gtk2'
+makedepends=('postgresql-libs' 'mysql' 'unixodbc' 'cups' 'gtk2' 'libfbclient'
'mesa')
optdepends=('qtchooser: set the default Qt toolkit'
- 'libmysqlclient: mysql driver'
+ 'postgresql-libs: PostgreSQL driver'
+ 'libmysqlclient: MySQL driver'
'unixodbc: ODBC driver'
'libfbclient: Firebird/iBase driver'
'libxinerama: Xinerama support'
'libxcursor: Xcursor support'
'libxfixes: Xfixes support'
- 'icu: Unicode support')
+ 'icu: Unicode support'
+ 'sni-qt: StatusNotifierItem (AppIndicators) support')
install="${pkgname}.install"
replaces=('qt<=4.8.4')
conflicts=('qt')
-options=('staticlibs') # libQtUiTools builds as static only
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
-source=("http://download.qt-project.org/official_releases/qt/4.8/${pkgver}/${_pkgfqn}.tar.gz"
+source=("http://download.qt.io/official_releases/qt/4.8/${pkgver}/${_pkgfqn}.tar.gz"
'qtconfig-qt4.desktop' 'assistant-qt4.desktop' 'designer-qt4.desktop'
'linguist-qt4.desktop' 'qdbusviewer-qt4.desktop'
'improve-cups-support.patch'
'moc-boost-workaround.patch'
- 'CVE-2014-0190.patch')
-md5sums=('2edbe4d6c2eff33ef91732602f3518eb'
+ 'kubuntu_14_systemtrayicon.diff'
+ 'kde4-settings.patch'
+ 'glib-honor-ExcludeSocketNotifiers-flag.diff'
+ 'l-qclipboard_fix_recursive.patch'
+ 'l-qclipboard_delay.patch')
+md5sums=('d990ee66bf7ab0c785589776f35ba6ad'
'a16638f4781e56e7887ff8212a322ecc'
'8a28b3f52dbeb685d4b69440b520a3e1'
'9727c406c240990870c905696a8c5bd1'
@@ -41,7 +47,11 @@ md5sums=('2edbe4d6c2eff33ef91732602f3518eb'
'b859c5673e5098c39f72b2252947049e'
'c439c7731c25387352d8453ca7574971'
'da387bde22ae1c446f12525d2a31f070'
- '34ed257109afb83342cfe514c8abe027')
+ 'a523644faa8f98a73f55c4aa23c114a6'
+ '66dfea63916c8dbf47b23cb012ffdccc'
+ '85679531c8a7310317adfb7002d9f99a'
+ '009de09b4e589a7770fba74405656c99'
+ 'addc5e88d538ee55e17bd49ba337ca67')
prepare() {
cd ${_pkgfqn}
@@ -52,8 +62,19 @@ prepare() {
# QTBUG#22829
patch -p1 -i "${srcdir}"/moc-boost-workaround.patch
- # QTBUG#38367
- patch -p1 -i "${srcdir}"/CVE-2014-0190.patch
+ # http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/
+ patch -p1 -i "${srcdir}"/kubuntu_14_systemtrayicon.diff
+
+ # FS#45106
+ patch -p0 -i "${srcdir}"/kde4-settings.patch
+
+ # fixes for LibreOffice from the upstream Qt bug tracker FS#46436, FS#41648, FS#39819
+ # https://bugreports.qt.io/browse/QTBUG-37380
+ patch -p1 -i "${srcdir}"/glib-honor-ExcludeSocketNotifiers-flag.diff
+ # https://bugreports.qt.io/browse/QTBUG-34614
+ patch -p0 -i "${srcdir}"/l-qclipboard_fix_recursive.patch
+ # https://bugreports.qt.io/browse/QTBUG-38585
+ patch -p0 -i "${srcdir}"/l-qclipboard_delay.patch
sed -i "s|-O2|${CXXFLAGS}|" mkspecs/common/{g++,gcc}-base.conf
sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf
@@ -82,7 +103,7 @@ build() {
-sysconfdir /etc/xdg \
-examplesdir /usr/share/doc/qt4/examples \
-demosdir /usr/share/doc/qt4/demos \
- -plugin-sql-{mysql,sqlite,odbc} \
+ -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
-system-sqlite \
-no-phonon \
-no-phonon-backend \
@@ -95,10 +116,9 @@ build() {
-silent \
-no-rpath \
-optimized-qmake \
- -reduce-relocations \
+ -no-reduce-relocations \
-dbus-linked \
- -no-openvg \
- -v
+ -no-openvg
make
}
diff --git a/abs/core/qt4/__changelog b/abs/core/qt4/__changelog
index e9a8775..2109911 100644
--- a/abs/core/qt4/__changelog
+++ b/abs/core/qt4/__changelog
@@ -1,3 +1,3 @@
-PKGBUILD: remove deps cups, postgresql-libs, libfbclient
- change mariadb to mysql
- change ./configure option to -plugin-sql-{mysql,sqlite,odbc}
+NOTE: pacman -R qtwebkit before building
+PKGBUILD: change dep mariadb to mysql
+ change optdep libmariadb libmysqlclient
diff --git a/abs/core/qt4/fix-assistant-crash.patch b/abs/core/qt4/fix-assistant-crash.patch
deleted file mode 100644
index 67bbbc4..0000000
--- a/abs/core/qt4/fix-assistant-crash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp 2012-06-26 17:37:47.334536023 +0000
-+++ qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp~ 2012-06-26 17:37:08.531487286 +0000
-@@ -944,8 +944,7 @@
- if (helpEngine.usesAppFont())
- font = helpEngine.appFont();
-
-- const QWidgetList &widgets = qApp->allWidgets();
-- foreach (QWidget* widget, widgets)
-+ foreach (QWidget* widget, QApplication::allWidgets())
- widget->setFont(font);
- }
-
diff --git a/abs/core/qt4/glib-honor-ExcludeSocketNotifiers-flag.diff b/abs/core/qt4/glib-honor-ExcludeSocketNotifiers-flag.diff
new file mode 100644
index 0000000..6949bbf
--- /dev/null
+++ b/abs/core/qt4/glib-honor-ExcludeSocketNotifiers-flag.diff
@@ -0,0 +1,63 @@
+Author: Jan-Marek Glogowski <glogow@fbihome.de>
+Date: Thu Mar 06 18:44:43 2014 +0100
+
+ Honor QEventLoop::ExcludeSocketNotifiers in glib event loop.
+
+ Implements QEventLoop::ExcludeSocketNotifiers in the same way
+ QEventLoop::X11ExcludeTimers is already implemented for the glib
+ event loop.
+
+--- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp
++++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp
+@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier
+ struct GSocketNotifierSource
+ {
+ GSource source;
++ QEventLoop::ProcessEventsFlags processEventsFlags;
+ QList<GPollFDWithQSocketNotifier *> pollfds;
+ };
+
+@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec
+ GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
+
+ bool pending = false;
++ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
++ return pending;
++
+ for (int i = 0; !pending && i < src->pollfds.count(); ++i) {
+ GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
+
+@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp
+ QEvent event(QEvent::SockAct);
+
+ GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
++ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
++ return true;
++
+ for (int i = 0; i < src->pollfds.count(); ++i) {
+ GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
+
+@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa
+ reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs,
+ sizeof(GSocketNotifierSource)));
+ (void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>();
++ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents;
+ g_source_set_can_recurse(&socketNotifierSource->source, true);
+ g_source_attach(&socketNotifierSource->source, mainContext);
+
+@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents
+ // tell postEventSourcePrepare() and timerSource about any new flags
+ QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
+ d->timerSource->processEventsFlags = flags;
++ d->socketNotifierSource->processEventsFlags = flags;
+
+ if (!(flags & QEventLoop::EventLoopExec)) {
+ // force timers to be sent at normal priority
+@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents
+ result = g_main_context_iteration(d->mainContext, canWait);
+
+ d->timerSource->processEventsFlags = savedFlags;
++ d->socketNotifierSource->processEventsFlags = savedFlags;
+
+ if (canWait)
+ emit awake();
diff --git a/abs/core/qt4/kde4-settings.patch b/abs/core/qt4/kde4-settings.patch
new file mode 100644
index 0000000..4af5424
--- /dev/null
+++ b/abs/core/qt4/kde4-settings.patch
@@ -0,0 +1,11 @@
+--- src/gui/kernel/qkde.cpp.orig 2015-05-27 11:42:02.507129332 +0200
++++ src/gui/kernel/qkde.cpp 2015-05-27 11:43:26.182875729 +0200
+@@ -63,7 +63,7 @@
+ kdeHomePath = QString::fromLocal8Bit(qgetenv("KDEHOME"));
+ if (kdeHomePath.isEmpty()) {
+ QDir homeDir(QDir::homePath());
+- QString kdeConfDir(QLatin1String("/.kde"));
++ QString kdeConfDir(QLatin1String("/.kde4"));
+ if (4 == X11->desktopVersion && homeDir.exists(QLatin1String(".kde4")))
+ kdeConfDir = QLatin1String("/.kde4");
+ kdeHomePath = QDir::homePath() + kdeConfDir;
diff --git a/abs/core/qt4/kubuntu_14_systemtrayicon.diff b/abs/core/qt4/kubuntu_14_systemtrayicon.diff
new file mode 100644
index 0000000..2466a16
--- /dev/null
+++ b/abs/core/qt4/kubuntu_14_systemtrayicon.diff
@@ -0,0 +1,1466 @@
+Description: Introduce a plugin system for QSystemTrayIcon.
+ Designed to be used with sni-qt (https://launchpad.net/sni-qt)
+Author: agateau@kde.org
+Forwarded: no
+
+Introduce a plugin system for QSystemTrayIcon. Designed to be used with sni-qt
+(https://launchpad.net/sni-qt)
+---
+ examples/desktop/systray/window.cpp | 40 ++
+ examples/desktop/systray/window.h | 6
+ src/gui/util/qabstractsystemtrayiconsys.cpp | 65 +++
+ src/gui/util/qabstractsystemtrayiconsys_p.h | 106 ++++++
+ src/gui/util/qsystemtrayicon.cpp | 6
+ src/gui/util/qsystemtrayicon_p.h | 85 ++---
+ src/gui/util/qsystemtrayicon_x11.cpp | 356 ++++-----------------
+ src/gui/util/qxembedsystemtrayicon_x11.cpp | 469 ++++++++++++++++++++++++++++
+ src/gui/util/qxembedsystemtrayicon_x11_p.h | 104 ++++++
+ src/gui/util/util.pri | 7
+ 10 files changed, 916 insertions(+), 328 deletions(-)
+
+--- a/examples/desktop/systray/window.cpp
++++ b/examples/desktop/systray/window.cpp
+@@ -158,15 +158,23 @@
+ iconComboBox->addItem(QIcon(":/images/bad.svg"), tr("Bad"));
+ iconComboBox->addItem(QIcon(":/images/heart.svg"), tr("Heart"));
+ iconComboBox->addItem(QIcon(":/images/trash.svg"), tr("Trash"));
++ iconComboBox->addItem(QIcon::fromTheme("system-file-manager"), tr("File Manager"));
+
+ showIconCheckBox = new QCheckBox(tr("Show icon"));
+ showIconCheckBox->setChecked(true);
+
++#if defined(Q_WS_X11)
++ jitToolTipCheckBox = new QCheckBox(tr("Just In Time Tooltip"));
++#endif
++
+ QHBoxLayout *iconLayout = new QHBoxLayout;
+ iconLayout->addWidget(iconLabel);
+ iconLayout->addWidget(iconComboBox);
+ iconLayout->addStretch();
+ iconLayout->addWidget(showIconCheckBox);
++#if defined(Q_WS_X11)
++ iconLayout->addWidget(jitToolTipCheckBox);
++#endif
+ iconGroupBox->setLayout(iconLayout);
+ }
+
+@@ -254,5 +262,37 @@
+ trayIconMenu->addAction(quitAction);
+
+ trayIcon = new QSystemTrayIcon(this);
++ QByteArray category = qgetenv("SNI_CATEGORY");
++ if (!category.isEmpty()) {
++ trayIcon->setProperty("_qt_sni_category", QString::fromLocal8Bit(category));
++ }
+ trayIcon->setContextMenu(trayIconMenu);
++
++#if defined(Q_WS_X11)
++ trayIcon->installEventFilter(this);
++#endif
++}
++
++#if defined(Q_WS_X11)
++bool Window::eventFilter(QObject *, QEvent *event)
++{
++ switch(event->type()) {
++ case QEvent::ToolTip:
++ if (jitToolTipCheckBox->isChecked()) {
++ QString timeString = QTime::currentTime().toString();
++ trayIcon->setToolTip(tr("Current Time: %1").arg(timeString));
++ }
++ break;
++ case QEvent::Wheel: {
++ QWheelEvent *wheelEvent = static_cast<QWheelEvent*>(event);
++ int delta = wheelEvent->delta() > 0 ? 1 : -1;
++ int index = (iconComboBox->currentIndex() + delta) % iconComboBox->count();
++ iconComboBox->setCurrentIndex(index);
++ break;
++ }
++ default:
++ break;
++ }
++ return false;
+ }
++#endif
+--- a/examples/desktop/systray/window.h
++++ b/examples/desktop/systray/window.h
+@@ -69,6 +69,9 @@
+
+ protected:
+ void closeEvent(QCloseEvent *event);
++#if defined(Q_WS_X11)
++ bool eventFilter(QObject *object, QEvent *event);
++#endif
+
+ private slots:
+ void setIcon(int index);
+@@ -86,6 +89,9 @@
+ QLabel *iconLabel;
+ QComboBox *iconComboBox;
+ QCheckBox *showIconCheckBox;
++#if defined(Q_WS_X11)
++ QCheckBox *jitToolTipCheckBox;
++#endif
+
+ QGroupBox *messageGroupBox;
+ QLabel *typeLabel;
+--- /dev/null
++++ b/src/gui/util/qabstractsystemtrayiconsys.cpp
+@@ -0,0 +1,65 @@
++/****************************************************************************
++**
++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
++** All rights reserved.
++** Contact: Nokia Corporation (qt-info@nokia.com)
++**
++** This file is part of the QtGui module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** GNU Lesser General Public License Usage
++** This file may be used under the terms of the GNU Lesser General Public
++** License version 2.1 as published by the Free Software Foundation and
++** appearing in the file LICENSE.LGPL included in the packaging of this
++** file. Please review the following information to ensure the GNU Lesser
++** General Public License version 2.1 requirements will be met:
++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** In addition, as a special exception, Nokia gives you certain additional
++** rights. These rights are described in the Nokia Qt LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU General
++** Public License version 3.0 as published by the Free Software Foundation
++** and appearing in the file LICENSE.GPL included in the packaging of this
++** file. Please review the following information to ensure the GNU General
++** Public License version 3.0 requirements will be met:
++** http://www.gnu.org/copyleft/gpl.html.
++**
++** Other Usage
++** Alternatively, this file may be used in accordance with the terms and
++** conditions contained in a signed written agreement between you and Nokia.
++**
++**
++**
++**
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++#ifndef QT_NO_SYSTEMTRAYICON
++
++#include "qabstractsystemtrayiconsys_p.h"
++
++
++QSystemTrayIconSysFactoryInterface::QSystemTrayIconSysFactoryInterface()
++{
++}
++
++/////////////////////////////////////////////////
++QAbstractSystemTrayIconSys::QAbstractSystemTrayIconSys(QSystemTrayIcon *icon)
++: trayIcon(icon)
++{
++}
++
++QAbstractSystemTrayIconSys::~QAbstractSystemTrayIconSys()
++{
++}
++
++void QAbstractSystemTrayIconSys::sendActivated(QSystemTrayIcon::ActivationReason reason)
++{
++ qtsystray_sendActivated(trayIcon, reason);
++}
++
++#endif
+--- /dev/null
++++ b/src/gui/util/qabstractsystemtrayiconsys_p.h
+@@ -0,0 +1,106 @@
++/****************************************************************************
++**
++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
++** All rights reserved.
++** Contact: Nokia Corporation (qt-info@nokia.com)
++**
++** This file is part of the QtGui module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** GNU Lesser General Public License Usage
++** This file may be used under the terms of the GNU Lesser General Public
++** License version 2.1 as published by the Free Software Foundation and
++** appearing in the file LICENSE.LGPL included in the packaging of this
++** file. Please review the following information to ensure the GNU Lesser
++** General Public License version 2.1 requirements will be met:
++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** In addition, as a special exception, Nokia gives you certain additional
++** rights. These rights are described in the Nokia Qt LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU General
++** Public License version 3.0 as published by the Free Software Foundation
++** and appearing in the file LICENSE.GPL included in the packaging of this
++** file. Please review the following information to ensure the GNU General
++** Public License version 3.0 requirements will be met:
++** http://www.gnu.org/copyleft/gpl.html.
++**
++** Other Usage
++** Alternatively, this file may be used in accordance with the terms and
++** conditions contained in a signed written agreement between you and Nokia.
++**
++**
++**
++**
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++#ifndef QABSTRACTSYSTEMTRAYICONSYS_P_H
++#define QABSTRACTSYSTEMTRAYICONSYS_P_H
++
++//
++// W A R N I N G
++// -------------
++//
++// This file is not part of the Qt API. It exists for the convenience
++// of a number of Qt sources files. This header file may change from
++// version to version without notice, or even be removed.
++//
++// We mean it.
++//
++
++#ifndef QT_NO_SYSTEMTRAYICON
++
++#include <qfactoryinterface.h>
++#include <qsystemtrayicon.h>
++
++class QAbstractSystemTrayIconSys;
++
++class Q_GUI_EXPORT QSystemTrayIconSysFactoryInterface : public QObject, public QFactoryInterface
++{
++ Q_OBJECT
++public:
++ QSystemTrayIconSysFactoryInterface();
++ virtual QAbstractSystemTrayIconSys * create(QSystemTrayIcon *) = 0;
++ virtual bool isAvailable() const = 0;
++
++ // \reimp
++ virtual QStringList keys() const { return QStringList() << QLatin1String("default"); }
++
++Q_SIGNALS:
++ void availableChanged(bool);
++};
++
++#define QSystemTrayIconSysFactoryInterface_iid "com.nokia.qt.QSystemTrayIconSysFactoryInterface"
++Q_DECLARE_INTERFACE(QSystemTrayIconSysFactoryInterface, QSystemTrayIconSysFactoryInterface_iid)
++
++class QRect;
++
++class Q_GUI_EXPORT QAbstractSystemTrayIconSys
++{
++public:
++ QAbstractSystemTrayIconSys(QSystemTrayIcon *icon);
++ virtual ~QAbstractSystemTrayIconSys();
++
++ virtual QRect geometry() const = 0;
++ virtual void updateVisibility() = 0;
++ virtual void updateIcon() = 0;
++ virtual void updateToolTip() = 0;
++ virtual void updateMenu() = 0;
++ virtual void showMessage(const QString &title, const QString &message,
++ QSystemTrayIcon::MessageIcon icon, int msecs) = 0;
++
++ void sendActivated(QSystemTrayIcon::ActivationReason);
++
++protected:
++ QSystemTrayIcon *trayIcon;
++};
++
++#endif // QT_NO_SYSTEMTRAYICON
++
++#endif // QABSTRACTSYSTEMTRAYICONSYS_P_H
++
+--- a/src/gui/util/qsystemtrayicon.cpp
++++ b/src/gui/util/qsystemtrayicon.cpp
+@@ -287,12 +287,6 @@
+ */
+ bool QSystemTrayIcon::event(QEvent *e)
+ {
+-#if defined(Q_WS_X11)
+- if (e->type() == QEvent::ToolTip) {
+- Q_D(QSystemTrayIcon);
+- return d->sys->deliverToolTipEvent(e);
+- }
+-#endif
+ return QObject::event(e);
+ }
+
+--- a/src/gui/util/qsystemtrayicon_p.h
++++ b/src/gui/util/qsystemtrayicon_p.h
+@@ -62,10 +62,17 @@
+ #include "QtGui/qpixmap.h"
+ #include "QtCore/qstring.h"
+ #include "QtCore/qpointer.h"
++#if defined(Q_WS_X11)
++#include "QtCore/qset.h"
++#endif
+
+ QT_BEGIN_NAMESPACE
+
++#if defined(Q_WS_X11)
++class QAbstractSystemTrayIconSys;
++#else
+ class QSystemTrayIconSys;
++#endif
+ class QToolButton;
+ class QLabel;
+
+@@ -75,6 +82,9 @@
+
+ public:
+ QSystemTrayIconPrivate() : sys(0), visible(false) { }
++ #if defined(Q_WS_X11)
++ ~QSystemTrayIconPrivate();
++ #endif
+
+ void install_sys();
+ void remove_sys();
+@@ -90,7 +100,11 @@
+ QPointer<QMenu> menu;
+ QIcon icon;
+ QString toolTip;
++ #if defined(Q_WS_X11)
++ QAbstractSystemTrayIconSys *sys;
++ #else
+ QSystemTrayIconSys *sys;
++ #endif
+ bool visible;
+ };
+
+@@ -123,60 +137,37 @@
+ };
+
+ #if defined(Q_WS_X11)
+-QT_BEGIN_INCLUDE_NAMESPACE
+-#include <QtCore/qcoreapplication.h>
+-#include <X11/Xlib.h>
+-#include <X11/Xatom.h>
+-#include <X11/Xutil.h>
+-QT_END_INCLUDE_NAMESPACE
++class QSystemTrayIconSysFactoryInterface;
+
+-class QSystemTrayIconSys : public QWidget
++/**
++ * This class acts as a composite QSystemTrayIconSysFactory: It can create
++ * instances of QAbstractSystemTrayIconSys* using either a plugin or the
++ * builtin factory and will cause QSystemTrayIconPrivate to recreate their
++ * 'sys' instances if the plugin availability changes.
++ */
++class QSystemTrayIconSysFactory : public QObject
+ {
+- friend class QSystemTrayIconPrivate;
+-
++ Q_OBJECT
+ public:
+- QSystemTrayIconSys(QSystemTrayIcon *q);
+- ~QSystemTrayIconSys();
+- enum {
+- SYSTEM_TRAY_REQUEST_DOCK = 0,
+- SYSTEM_TRAY_BEGIN_MESSAGE = 1,
+- SYSTEM_TRAY_CANCEL_MESSAGE =2
+- };
+-
+- void addToTray();
+- void updateIcon();
+- XVisualInfo* getSysTrayVisualInfo();
+-
+- // QObject::event is public but QWidget's ::event() re-implementation
+- // is protected ;(
+- inline bool deliverToolTipEvent(QEvent *e)
+- { return QWidget::event(e); }
+-
+- static Window sysTrayWindow;
+- static QList<QSystemTrayIconSys *> trayIcons;
+- static QCoreApplication::EventFilter oldEventFilter;
+- static bool sysTrayTracker(void *message, long *result);
+- static Window locateSystemTray();
+- static Atom sysTraySelection;
+- static XVisualInfo sysTrayVisual;
++ QSystemTrayIconSysFactory();
++ void registerSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate);
++ void unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate);
+
+-protected:
+- void paintEvent(QPaintEvent *pe);
+- void resizeEvent(QResizeEvent *re);
+- bool x11Event(XEvent *event);
+- void mousePressEvent(QMouseEvent *event);
+- void mouseDoubleClickEvent(QMouseEvent *event);
+-#ifndef QT_NO_WHEELEVENT
+- void wheelEvent(QWheelEvent *event);
+-#endif
+- bool event(QEvent *e);
++ QAbstractSystemTrayIconSys *create(QSystemTrayIcon *) const;
++
++ bool isAvailable() const;
++
++private Q_SLOTS:
++ void refreshTrayIconPrivates();
+
+ private:
+- QPixmap background;
+- QSystemTrayIcon *q;
+- Colormap colormap;
++ QSystemTrayIconSysFactoryInterface *factory() const;
++ void loadPluginFactory();
++
++ QSystemTrayIconSysFactoryInterface *pluginFactory;
++ QSet<QSystemTrayIconPrivate *> trayIconPrivates;
+ };
+-#endif // Q_WS_X11
++#endif
+
+ QT_END_NAMESPACE
+
+--- a/src/gui/util/qsystemtrayicon_x11.cpp
++++ b/src/gui/util/qsystemtrayicon_x11.cpp
+@@ -38,311 +38,122 @@
+ ** $QT_END_LICENSE$
+ **
+ ****************************************************************************/
++#ifndef QT_NO_SYSTEMTRAYICON
++
++#include <private/qfactoryloader_p.h>
+
+-#include "private/qt_x11_p.h"
+-#include "qlabel.h"
+-#include "qx11info_x11.h"
+-#include "qpainter.h"
+-#include "qpixmap.h"
+-#include "qbitmap.h"
+-#include "qevent.h"
+-#include "qapplication.h"
+-#include "qlist.h"
+-#include "qmenu.h"
+-#include "qtimer.h"
+ #include "qsystemtrayicon_p.h"
+-#include "qpaintengine.h"
++#include "qabstractsystemtrayiconsys_p.h"
++#include "qcoreapplication.h"
++#include "qxembedsystemtrayicon_x11_p.h"
+
+-#ifndef QT_NO_SYSTEMTRAYICON
+ QT_BEGIN_NAMESPACE
+
+-Window QSystemTrayIconSys::sysTrayWindow = XNone;
+-QList<QSystemTrayIconSys *> QSystemTrayIconSys::trayIcons;
+-QCoreApplication::EventFilter QSystemTrayIconSys::oldEventFilter = 0;
+-Atom QSystemTrayIconSys::sysTraySelection = XNone;
+-XVisualInfo QSystemTrayIconSys::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+-
+-// Locate the system tray
+-Window QSystemTrayIconSys::locateSystemTray()
+-{
+- Display *display = QX11Info::display();
+- if (sysTraySelection == XNone) {
+- int screen = QX11Info::appScreen();
+- QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen);
+- sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False);
+- }
+-
+- return XGetSelectionOwner(QX11Info::display(), sysTraySelection);
+-}
++Q_GLOBAL_STATIC(QSystemTrayIconSysFactory, qt_guiSystemTrayIconSysFactory)
+
+-XVisualInfo* QSystemTrayIconSys::getSysTrayVisualInfo()
++QSystemTrayIconSysFactory::QSystemTrayIconSysFactory()
++: pluginFactory(0)
+ {
+- Display *display = QX11Info::display();
+-
+- if (!sysTrayVisual.visual) {
+- Window win = locateSystemTray();
+- if (win != XNone) {
+- Atom actual_type;
+- int actual_format;
+- ulong nitems, bytes_remaining;
+- uchar *data = 0;
+- int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1,
+- False, XA_VISUALID, &actual_type,
+- &actual_format, &nitems, &bytes_remaining, &data);
+- VisualID vid = 0;
+- if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 &&
+- nitems == 1 && bytes_remaining == 0)
+- vid = *(VisualID*)data;
+- if (data)
+- XFree(data);
+- if (vid == 0)
+- return 0;
+-
+- uint mask = VisualIDMask;
+- XVisualInfo *vi, rvi;
+- int count;
+- rvi.visualid = vid;
+- vi = XGetVisualInfo(display, mask, &rvi, &count);
+- if (vi) {
+- sysTrayVisual = vi[0];
+- XFree((char*)vi);
+- }
+- if (sysTrayVisual.depth != 32)
+- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
+- }
+- }
+-
+- return sysTrayVisual.visual ? &sysTrayVisual : 0;
+ }
+
+-bool QSystemTrayIconSys::sysTrayTracker(void *message, long *result)
++void QSystemTrayIconSysFactory::loadPluginFactory()
+ {
+- bool retval = false;
+- if (QSystemTrayIconSys::oldEventFilter)
+- retval = QSystemTrayIconSys::oldEventFilter(message, result);
+-
+- if (trayIcons.isEmpty())
+- return retval;
+-
+- Display *display = QX11Info::display();
+- XEvent *ev = (XEvent *)message;
+- if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) {
+- sysTrayWindow = locateSystemTray();
+- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
+- for (int i = 0; i < trayIcons.count(); i++) {
+- if (sysTrayWindow == XNone) {
+- QBalloonTip::hideBalloon();
+- trayIcons[i]->hide(); // still no luck
+- trayIcons[i]->destroy();
+- trayIcons[i]->create();
+- } else
+- trayIcons[i]->addToTray(); // add it to the new tray
+- }
+- retval = true;
+- } else if (ev->type == ClientMessage && sysTrayWindow == XNone) {
+- static Atom manager_atom = XInternAtom(display, "MANAGER", False);
+- XClientMessageEvent *cm = (XClientMessageEvent *)message;
+- if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) {
+- sysTrayWindow = cm->data.l[2];
+- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
+- XSelectInput(display, sysTrayWindow, StructureNotifyMask);
+- for (int i = 0; i < trayIcons.count(); i++) {
+- trayIcons[i]->addToTray();
+- }
+- retval = true;
+- }
+- } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) &&
+- ev->xproperty.window == sysTrayWindow) {
+- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
+- for (int i = 0; i < trayIcons.count(); i++) {
+- trayIcons[i]->addToTray();
+- }
+- }
+-
+- return retval;
+-}
+-
+-QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *q)
+- : QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint),
+- q(q), colormap(0)
+-{
+- setAttribute(Qt::WA_AlwaysShowToolTips);
+- setAttribute(Qt::WA_QuitOnClose, false);
+- setAttribute(Qt::WA_NoSystemBackground, true);
+- setAttribute(Qt::WA_PaintOnScreen);
+-
+- static bool eventFilterAdded = false;
+- Display *display = QX11Info::display();
+- if (!eventFilterAdded) {
+- oldEventFilter = qApp->setEventFilter(sysTrayTracker);
+- eventFilterAdded = true;
+- Window root = QX11Info::appRootWindow();
+- XWindowAttributes attr;
+- XGetWindowAttributes(display, root, &attr);
+- if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) {
+- (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden
+- XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection
+- }
++ if (pluginFactory) {
++ return;
+ }
+- if (trayIcons.isEmpty()) {
+- sysTrayWindow = locateSystemTray();
+- if (sysTrayWindow != XNone)
+- XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events
++#ifndef QT_NO_LIBRARY
++ QFactoryLoader loader(QSystemTrayIconSysFactoryInterface_iid, QLatin1String("/systemtrayicon"));
++ pluginFactory = qobject_cast<QSystemTrayIconSysFactoryInterface *>(loader.instance(QLatin1String("default")));
++ if (pluginFactory) {
++ // Set parent to ensure factory destructor is called when application
++ // is closed
++ pluginFactory->setParent(QCoreApplication::instance());
++ connect(pluginFactory, SIGNAL(availableChanged(bool)), SLOT(refreshTrayIconPrivates()));
+ }
+- trayIcons.append(this);
+- setMouseTracking(true);
+-#ifndef QT_NO_TOOLTIP
+- setToolTip(q->toolTip());
+-#endif
+- if (sysTrayWindow != XNone)
+- addToTray();
++#endif // QT_NO_LIBRARY
+ }
+
+-QSystemTrayIconSys::~QSystemTrayIconSys()
++QSystemTrayIconSysFactoryInterface *QSystemTrayIconSysFactory::factory() const
+ {
+- trayIcons.removeAt(trayIcons.indexOf(this));
+- Display *display = QX11Info::display();
+- if (trayIcons.isEmpty()) {
+- if (sysTrayWindow == XNone)
+- return;
+- if (display)
+- XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray
+- sysTrayWindow = XNone;
++ if (!pluginFactory) {
++ const_cast<QSystemTrayIconSysFactory*>(this)->loadPluginFactory();
+ }
+- if (colormap)
+- XFreeColormap(display, colormap);
++ if (pluginFactory && pluginFactory->isAvailable()) {
++ return pluginFactory;
++ }
++ static QXEmbedSystemTrayIconSysFactory def;
++ return def.isAvailable() ? &def : 0;
+ }
+
+-void QSystemTrayIconSys::addToTray()
++void QSystemTrayIconSysFactory::refreshTrayIconPrivates()
+ {
+- Q_ASSERT(sysTrayWindow != XNone);
+- Display *display = QX11Info::display();
+-
+- XVisualInfo *vi = getSysTrayVisualInfo();
+- if (vi && vi->visual) {
+- Window root = RootWindow(display, vi->screen);
+- Window p = root;
+- if (QWidget *pw = parentWidget())
+- p = pw->effectiveWinId();
+- colormap = XCreateColormap(display, root, vi->visual, AllocNone);
+- XSetWindowAttributes wsa;
+- wsa.background_pixmap = 0;
+- wsa.colormap = colormap;
+- wsa.background_pixel = 0;
+- wsa.border_pixel = 0;
+- Window wid = XCreateWindow(display, p, -1, -1, 1, 1,
+- 0, vi->depth, InputOutput, vi->visual,
+- CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa);
+- create(wid);
+- } else {
+- XSetWindowBackgroundPixmap(display, winId(), ParentRelative);
+- }
+-
+- // GNOME, NET WM Specification
+- static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False);
+- long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 };
+- XEvent ev;
+- memset(&ev, 0, sizeof(ev));
+- ev.xclient.type = ClientMessage;
+- ev.xclient.window = sysTrayWindow;
+- ev.xclient.message_type = netwm_tray_atom;
+- ev.xclient.format = 32;
+- memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l));
+- XSendEvent(display, sysTrayWindow, False, 0, &ev);
+- setMinimumSize(22, 22); // required at least on GNOME
+-}
+-
+-void QSystemTrayIconSys::updateIcon()
+-{
+- update();
+-}
+-
+-void QSystemTrayIconSys::resizeEvent(QResizeEvent *re)
+-{
+- QWidget::resizeEvent(re);
+- updateIcon();
+-}
+-
+-void QSystemTrayIconSys::paintEvent(QPaintEvent*)
+-{
+- QPainter p(this);
+- if (!getSysTrayVisualInfo()) {
+- const QRegion oldSystemClip = p.paintEngine()->systemClip();
+- const QRect clearedRect = oldSystemClip.boundingRect();
+- XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(),
+- clearedRect.width(), clearedRect.height(), False);
+- QPaintEngine *pe = p.paintEngine();
+- pe->setSystemClip(clearedRect);
+- q->icon().paint(&p, rect());
+- pe->setSystemClip(oldSystemClip);
+- } else {
+- p.setCompositionMode(QPainter::CompositionMode_Source);
+- p.fillRect(rect(), Qt::transparent);
+- p.setCompositionMode(QPainter::CompositionMode_SourceOver);
+- q->icon().paint(&p, rect());
++ Q_FOREACH(QSystemTrayIconPrivate *trayIconPrivate, trayIconPrivates) {
++ if (trayIconPrivate->sys) {
++ delete trayIconPrivate->sys;
++ trayIconPrivate->sys = 0;
++ }
++ // When visible is true, sys is usually not 0 but it can be 0 if the
++ // call to install_sys() failed.
++ if (trayIconPrivate->visible) {
++ trayIconPrivate->install_sys();
++ }
+ }
+ }
+
+-void QSystemTrayIconSys::mousePressEvent(QMouseEvent *ev)
++void QSystemTrayIconSysFactory::registerSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate)
+ {
+- QPoint globalPos = ev->globalPos();
+- if (ev->button() == Qt::RightButton && q->contextMenu())
+- q->contextMenu()->popup(globalPos);
+-
+- if (QBalloonTip::isBalloonVisible()) {
+- emit q->messageClicked();
+- QBalloonTip::hideBalloon();
+- }
+-
+- if (ev->button() == Qt::LeftButton)
+- emit q->activated(QSystemTrayIcon::Trigger);
+- else if (ev->button() == Qt::RightButton)
+- emit q->activated(QSystemTrayIcon::Context);
+- else if (ev->button() == Qt::MidButton)
+- emit q->activated(QSystemTrayIcon::MiddleClick);
++ trayIconPrivates.insert(trayIconPrivate);
+ }
+
+-void QSystemTrayIconSys::mouseDoubleClickEvent(QMouseEvent *ev)
++void QSystemTrayIconSysFactory::unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate)
+ {
+- if (ev->button() == Qt::LeftButton)
+- emit q->activated(QSystemTrayIcon::DoubleClick);
++ trayIconPrivates.remove(trayIconPrivate);
+ }
+
+-#ifndef QT_NO_WHEELEVENT
+-void QSystemTrayIconSys::wheelEvent(QWheelEvent *e)
++QAbstractSystemTrayIconSys *QSystemTrayIconSysFactory::create(QSystemTrayIcon *trayIcon) const
+ {
+- QApplication::sendEvent(q, e);
++ QSystemTrayIconSysFactoryInterface *f = factory();
++ if (!f) {
++ qWarning("No systemtrayicon available");
++ return 0;
++ }
++ return f->create(trayIcon);
+ }
+-#endif
+
+-bool QSystemTrayIconSys::event(QEvent *e)
++bool QSystemTrayIconSysFactory::isAvailable() const
+ {
+- if (e->type() == QEvent::ToolTip) {
+- return QApplication::sendEvent(q, e);
+- }
+- return QWidget::event(e);
++ return factory();
+ }
+
+-bool QSystemTrayIconSys::x11Event(XEvent *event)
++////////////////////////////////////////////////
++QSystemTrayIconPrivate::~QSystemTrayIconPrivate()
+ {
+- if (event->type == ReparentNotify)
+- show();
+- return QWidget::x11Event(event);
++ qt_guiSystemTrayIconSysFactory()->unregisterSystemTrayIconPrivate(this);
++ delete sys;
+ }
+
+-////////////////////////////////////////////////////////////////////////////
+ void QSystemTrayIconPrivate::install_sys()
+ {
+ Q_Q(QSystemTrayIcon);
+- if (!sys)
+- sys = new QSystemTrayIconSys(q);
++ if (!sys) {
++ // Register ourself even if create() fails: our "sys" will get created
++ // later by refreshTrayIconPrivates() if a systemtray becomes
++ // available. This situation can happen for applications which are
++ // started at login time, while the desktop itself is starting up.
++ qt_guiSystemTrayIconSysFactory()->registerSystemTrayIconPrivate(this);
++ sys = qt_guiSystemTrayIconSysFactory()->create(q);
++ if (!sys) {
++ return;
++ }
++ }
++ sys->updateVisibility();
+ }
+
+ QRect QSystemTrayIconPrivate::geometry_sys() const
+ {
+- if (!sys)
+- return QRect();
+- return QRect(sys->mapToGlobal(QPoint(0, 0)), sys->size());
++ if (!sys || !visible)
++ return QRect();
++ return sys->geometry();
+ }
+
+ void QSystemTrayIconPrivate::remove_sys()
+@@ -350,35 +161,35 @@
+ if (!sys)
+ return;
+ QBalloonTip::hideBalloon();
+- sys->hide(); // this should do the trick, but...
+- delete sys; // wm may resize system tray only for DestroyEvents
+- sys = 0;
++ sys->updateVisibility();
+ }
+
+ void QSystemTrayIconPrivate::updateIcon_sys()
+ {
+- if (!sys)
++ if (!sys || !visible)
+ return;
+ sys->updateIcon();
+ }
+
+ void QSystemTrayIconPrivate::updateMenu_sys()
+ {
+-
++ if (!sys || !visible)
++ return;
++ sys->updateMenu();
+ }
+
+ void QSystemTrayIconPrivate::updateToolTip_sys()
+ {
+- if (!sys)
++ if (!sys || !visible)
+ return;
+ #ifndef QT_NO_TOOLTIP
+- sys->setToolTip(toolTip);
++ sys->updateToolTip();
+ #endif
+ }
+
+ bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
+ {
+- return QSystemTrayIconSys::locateSystemTray() != XNone;
++ return qt_guiSystemTrayIconSysFactory()->isAvailable();
+ }
+
+ bool QSystemTrayIconPrivate::supportsMessages_sys()
+@@ -389,12 +200,9 @@
+ void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title,
+ QSystemTrayIcon::MessageIcon icon, int msecs)
+ {
+- if (!sys)
++ if (!sys || !visible)
+ return;
+- QPoint g = sys->mapToGlobal(QPoint(0, 0));
+- QBalloonTip::showBalloon(icon, message, title, sys->q,
+- QPoint(g.x() + sys->width()/2, g.y() + sys->height()/2),
+- msecs);
++ sys->showMessage(message, title, icon, msecs);
+ }
+
+ QT_END_NAMESPACE
+--- /dev/null
++++ b/src/gui/util/qxembedsystemtrayicon_x11.cpp
+@@ -0,0 +1,469 @@
++/****************************************************************************
++**
++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
++** All rights reserved.
++** Contact: Nokia Corporation (qt-info@nokia.com)
++**
++** This file is part of the QtGui module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** GNU Lesser General Public License Usage
++** This file may be used under the terms of the GNU Lesser General Public
++** License version 2.1 as published by the Free Software Foundation and
++** appearing in the file LICENSE.LGPL included in the packaging of this
++** file. Please review the following information to ensure the GNU Lesser
++** General Public License version 2.1 requirements will be met:
++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** In addition, as a special exception, Nokia gives you certain additional
++** rights. These rights are described in the Nokia Qt LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU General
++** Public License version 3.0 as published by the Free Software Foundation
++** and appearing in the file LICENSE.GPL included in the packaging of this
++** file. Please review the following information to ensure the GNU General
++** Public License version 3.0 requirements will be met:
++** http://www.gnu.org/copyleft/gpl.html.
++**
++** Other Usage
++** Alternatively, this file may be used in accordance with the terms and
++** conditions contained in a signed written agreement between you and Nokia.
++**
++**
++**
++**
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++#include "qxembedsystemtrayicon_x11_p.h"
++
++#ifndef QT_NO_SYSTEMTRAYICON
++
++#include "private/qt_x11_p.h"
++#include "qapplication.h"
++#include "qevent.h"
++#include "qlist.h"
++#include "qmenu.h"
++#include "qpainter.h"
++#include "qpaintengine.h"
++#include "qsystemtrayicon_p.h"
++#include "qx11info_x11.h"
++
++QT_BEGIN_INCLUDE_NAMESPACE
++#include <QtCore/qcoreapplication.h>
++#include <X11/Xlib.h>
++#include <X11/Xatom.h>
++#include <X11/Xutil.h>
++QT_END_INCLUDE_NAMESPACE
++
++QT_BEGIN_NAMESPACE
++
++class QSystemTrayIconWidget : public QWidget
++{
++public:
++ QSystemTrayIconWidget(QSystemTrayIcon *q, QXEmbedSystemTrayIconSys *s);
++ ~QSystemTrayIconWidget();
++
++ static Window locateSystemTray();
++
++protected:
++ void paintEvent(QPaintEvent *pe);
++ void resizeEvent(QResizeEvent *re);
++ bool x11Event(XEvent *event);
++ void mousePressEvent(QMouseEvent *event);
++ void mouseDoubleClickEvent(QMouseEvent *event);
++#ifndef QT_NO_WHEELEVENT
++ void wheelEvent(QWheelEvent *event);
++#endif
++ bool event(QEvent *e);
++
++private:
++ enum {
++ SYSTEM_TRAY_REQUEST_DOCK = 0,
++ SYSTEM_TRAY_BEGIN_MESSAGE = 1,
++ SYSTEM_TRAY_CANCEL_MESSAGE =2
++ };
++
++ void addToTray();
++ static XVisualInfo* getSysTrayVisualInfo();
++
++ static Window sysTrayWindow;
++ static QList<QSystemTrayIconWidget *> trayIcons;
++ static QCoreApplication::EventFilter oldEventFilter;
++ static bool sysTrayTracker(void *message, long *result);
++ static Atom sysTraySelection;
++ static XVisualInfo sysTrayVisual;
++
++ QSystemTrayIcon *q;
++ QXEmbedSystemTrayIconSys *sys;
++ Colormap colormap;
++};
++
++Window QSystemTrayIconWidget::sysTrayWindow = XNone;
++QList<QSystemTrayIconWidget *> QSystemTrayIconWidget::trayIcons;
++QCoreApplication::EventFilter QSystemTrayIconWidget::oldEventFilter = 0;
++Atom QSystemTrayIconWidget::sysTraySelection = XNone;
++XVisualInfo QSystemTrayIconWidget::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
++
++QSystemTrayIconWidget::QSystemTrayIconWidget(QSystemTrayIcon* q, QXEmbedSystemTrayIconSys* sys)
++: QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint)
++, q(q)
++, sys(sys)
++, colormap(0)
++{
++ setAttribute(Qt::WA_AlwaysShowToolTips);
++ setAttribute(Qt::WA_QuitOnClose, false);
++ setAttribute(Qt::WA_NoSystemBackground, true);
++ setAttribute(Qt::WA_PaintOnScreen);
++ setMouseTracking(true);
++#ifndef QT_NO_TOOLTIP
++ setToolTip(q->toolTip());
++#endif
++
++ static bool eventFilterAdded = false;
++ Display *display = QX11Info::display();
++ if (!eventFilterAdded) {
++ oldEventFilter = qApp->setEventFilter(sysTrayTracker);
++ eventFilterAdded = true;
++ Window root = QX11Info::appRootWindow();
++ XWindowAttributes attr;
++ XGetWindowAttributes(display, root, &attr);
++ if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) {
++ (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden
++ XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection
++ }
++ }
++ if (trayIcons.isEmpty()) {
++ sysTrayWindow = locateSystemTray();
++ if (sysTrayWindow != XNone)
++ XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events
++ }
++ trayIcons.append(this);
++ if (sysTrayWindow != XNone)
++ addToTray();
++}
++
++QSystemTrayIconWidget::~QSystemTrayIconWidget()
++{
++ trayIcons.removeAt(trayIcons.indexOf(this));
++ Display *display = QX11Info::display();
++ if (trayIcons.isEmpty()) {
++ if (sysTrayWindow == XNone)
++ return;
++ if (display)
++ XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray
++ sysTrayWindow = XNone;
++ }
++ if (colormap)
++ XFreeColormap(display, colormap);
++}
++
++void QSystemTrayIconWidget::resizeEvent(QResizeEvent *re)
++{
++ QWidget::resizeEvent(re);
++ update();
++}
++
++void QSystemTrayIconWidget::paintEvent(QPaintEvent*)
++{
++ QPainter p(this);
++ if (!getSysTrayVisualInfo()) {
++ const QRegion oldSystemClip = p.paintEngine()->systemClip();
++ const QRect clearedRect = oldSystemClip.boundingRect();
++ XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(),
++ clearedRect.width(), clearedRect.height(), False);
++ QPaintEngine *pe = p.paintEngine();
++ pe->setSystemClip(clearedRect);
++ q->icon().paint(&p, rect());
++ pe->setSystemClip(oldSystemClip);
++ } else {
++ p.setCompositionMode(QPainter::CompositionMode_Source);
++ p.fillRect(rect(), Qt::transparent);
++ p.setCompositionMode(QPainter::CompositionMode_SourceOver);
++ q->icon().paint(&p, rect());
++ }
++}
++
++void QSystemTrayIconWidget::mousePressEvent(QMouseEvent *ev)
++{
++ QPoint globalPos = ev->globalPos();
++ if (ev->button() == Qt::RightButton && q->contextMenu())
++ q->contextMenu()->popup(globalPos);
++
++ if (QBalloonTip::isBalloonVisible()) {
++ QMetaObject::invokeMethod(q, "messageClicked");
++ QBalloonTip::hideBalloon();
++ }
++
++ if (ev->button() == Qt::LeftButton)
++ qtsystray_sendActivated(q, QSystemTrayIcon::Trigger);
++ else if (ev->button() == Qt::RightButton)
++ qtsystray_sendActivated(q, QSystemTrayIcon::Context);
++ else if (ev->button() == Qt::MidButton)
++ qtsystray_sendActivated(q, QSystemTrayIcon::MiddleClick);
++}
++
++void QSystemTrayIconWidget::mouseDoubleClickEvent(QMouseEvent *ev)
++{
++ if (ev->button() == Qt::LeftButton)
++ qtsystray_sendActivated(q, QSystemTrayIcon::DoubleClick);
++}
++
++#ifndef QT_NO_WHEELEVENT
++void QSystemTrayIconWidget::wheelEvent(QWheelEvent *e)
++{
++ sys->sendWheelEventToTrayIcon(e->delta(), e->orientation());
++}
++#endif
++
++bool QSystemTrayIconWidget::event(QEvent *e)
++{
++ if (e->type() == QEvent::ToolTip) {
++ sys->sendToolTipEventToTrayIcon();
++ }
++ return QWidget::event(e);
++}
++
++bool QSystemTrayIconWidget::x11Event(XEvent *event)
++{
++ if (event->type == ReparentNotify)
++ show();
++ return QWidget::x11Event(event);
++}
++
++// Locate the system tray
++Window QSystemTrayIconWidget::locateSystemTray()
++{
++ Display *display = QX11Info::display();
++ if (sysTraySelection == XNone) {
++ int screen = QX11Info::appScreen();
++ QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen);
++ sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False);
++ }
++
++ return XGetSelectionOwner(QX11Info::display(), sysTraySelection);
++}
++
++XVisualInfo* QSystemTrayIconWidget::getSysTrayVisualInfo()
++{
++ Display *display = QX11Info::display();
++
++ if (!sysTrayVisual.visual) {
++ Window win = locateSystemTray();
++ if (win != XNone) {
++ Atom actual_type;
++ int actual_format;
++ ulong nitems, bytes_remaining;
++ uchar *data = 0;
++ int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1,
++ False, XA_VISUALID, &actual_type,
++ &actual_format, &nitems, &bytes_remaining, &data);
++ VisualID vid = 0;
++ if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 &&
++ nitems == 1 && bytes_remaining == 0)
++ vid = *(VisualID*)data;
++ if (data)
++ XFree(data);
++ if (vid == 0)
++ return 0;
++
++ uint mask = VisualIDMask;
++ XVisualInfo *vi, rvi;
++ int count;
++ rvi.visualid = vid;
++ vi = XGetVisualInfo(display, mask, &rvi, &count);
++ if (vi) {
++ sysTrayVisual = vi[0];
++ XFree((char*)vi);
++ }
++ if (sysTrayVisual.depth != 32)
++ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
++ }
++ }
++
++ return sysTrayVisual.visual ? &sysTrayVisual : 0;
++}
++
++bool QSystemTrayIconWidget::sysTrayTracker(void *message, long *result)
++{
++ bool retval = false;
++ if (QSystemTrayIconWidget::oldEventFilter)
++ retval = QSystemTrayIconWidget::oldEventFilter(message, result);
++
++ if (trayIcons.isEmpty())
++ return retval;
++
++ Display *display = QX11Info::display();
++ XEvent *ev = (XEvent *)message;
++ if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) {
++ sysTrayWindow = locateSystemTray();
++ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
++ for (int i = 0; i < trayIcons.count(); i++) {
++ if (sysTrayWindow == XNone) {
++ QBalloonTip::hideBalloon();
++ trayIcons[i]->hide(); // still no luck
++ trayIcons[i]->destroy();
++ trayIcons[i]->create();
++ } else
++ trayIcons[i]->addToTray(); // add it to the new tray
++ }
++ retval = true;
++ } else if (ev->type == ClientMessage && sysTrayWindow == XNone) {
++ static Atom manager_atom = XInternAtom(display, "MANAGER", False);
++ XClientMessageEvent *cm = (XClientMessageEvent *)message;
++ if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) {
++ sysTrayWindow = cm->data.l[2];
++ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
++ XSelectInput(display, sysTrayWindow, StructureNotifyMask);
++ for (int i = 0; i < trayIcons.count(); i++) {
++ trayIcons[i]->addToTray();
++ }
++ retval = true;
++ }
++ } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) &&
++ ev->xproperty.window == sysTrayWindow) {
++ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
++ for (int i = 0; i < trayIcons.count(); i++) {
++ trayIcons[i]->addToTray();
++ }
++ }
++
++ return retval;
++}
++
++void QSystemTrayIconWidget::addToTray()
++{
++ Q_ASSERT(sysTrayWindow != XNone);
++ Display *display = QX11Info::display();
++
++ XVisualInfo *vi = getSysTrayVisualInfo();
++ if (vi && vi->visual) {
++ Window root = RootWindow(display, vi->screen);
++ Window p = root;
++ if (QWidget *pw = parentWidget())
++ p = pw->effectiveWinId();
++ colormap = XCreateColormap(display, root, vi->visual, AllocNone);
++ XSetWindowAttributes wsa;
++ wsa.background_pixmap = 0;
++ wsa.colormap = colormap;
++ wsa.background_pixel = 0;
++ wsa.border_pixel = 0;
++ Window wid = XCreateWindow(display, p, -1, -1, 1, 1,
++ 0, vi->depth, InputOutput, vi->visual,
++ CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa);
++ create(wid);
++ } else {
++ XSetWindowBackgroundPixmap(display, winId(), ParentRelative);
++ }
++
++ // GNOME, NET WM Specification
++ static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False);
++ long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 };
++ XEvent ev;
++ memset(&ev, 0, sizeof(ev));
++ ev.xclient.type = ClientMessage;
++ ev.xclient.window = sysTrayWindow;
++ ev.xclient.message_type = netwm_tray_atom;
++ ev.xclient.format = 32;
++ memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l));
++ XSendEvent(display, sysTrayWindow, False, 0, &ev);
++ setMinimumSize(22, 22); // required at least on GNOME
++}
++
++////////////////////////////////////////////////////////////////////////////
++QXEmbedSystemTrayIconSys::QXEmbedSystemTrayIconSys(QSystemTrayIcon *q)
++: QAbstractSystemTrayIconSys(q)
++, widget(0)
++{
++}
++
++QXEmbedSystemTrayIconSys::~QXEmbedSystemTrayIconSys()
++{
++ delete widget;
++}
++
++QRect QXEmbedSystemTrayIconSys::geometry() const
++{
++ if (!widget)
++ return QRect();
++ return QRect(widget->mapToGlobal(QPoint(0, 0)), widget->size());
++}
++
++void QXEmbedSystemTrayIconSys::updateIcon()
++{
++ if (!widget)
++ return;
++ widget->update();
++}
++
++void QXEmbedSystemTrayIconSys::updateToolTip()
++{
++ if (!widget)
++ return;
++ widget->setToolTip(trayIcon->toolTip());
++}
++
++void QXEmbedSystemTrayIconSys::showMessage(const QString &message, const QString &title,
++ QSystemTrayIcon::MessageIcon icon, int msecs)
++{
++ if (!widget)
++ return;
++ QPoint point = geometry().center();
++ QBalloonTip::showBalloon(icon, message, title, trayIcon, point, msecs);
++}
++
++void QXEmbedSystemTrayIconSys::updateVisibility()
++{
++ bool visible = trayIcon->isVisible();
++ if (visible && !widget)
++ widget = new QSystemTrayIconWidget(trayIcon, this);
++ else if (!visible && widget) {
++ delete widget;
++ widget = 0;
++ }
++}
++
++void QXEmbedSystemTrayIconSys::sendToolTipEventToTrayIcon()
++{
++#ifndef QT_NO_TOOLTIP
++ // Pass the event through QSystemTrayIcon so that it gets a chance to
++ // update the tooltip, then asks widget to show the tooltip
++ Q_ASSERT(widget);
++ QPoint globalPos = QCursor::pos();
++ QPoint pos = widget->mapFromGlobal(globalPos);
++ QHelpEvent event(QEvent::ToolTip, pos, globalPos);
++ QApplication::sendEvent(trayIcon, &event);
++#endif
++}
++
++void QXEmbedSystemTrayIconSys::sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation)
++{
++#ifndef QT_NO_WHEELEVENT
++ Q_ASSERT(widget);
++ QPoint globalPos = QCursor::pos();
++ QPoint pos = widget->mapFromGlobal(globalPos);
++ QWheelEvent event(pos, globalPos, delta, Qt::NoButton, Qt::NoModifier, orientation);
++ QApplication::sendEvent(trayIcon, &event);
++#endif
++}
++
++void QXEmbedSystemTrayIconSys::updateMenu()
++{
++}
++
++/////////////////////////////////////////////////////////////
++QAbstractSystemTrayIconSys * QXEmbedSystemTrayIconSysFactory::create(QSystemTrayIcon *icon)
++{
++ return new QXEmbedSystemTrayIconSys(icon);
++}
++
++bool QXEmbedSystemTrayIconSysFactory::isAvailable() const
++{
++ return QSystemTrayIconWidget::locateSystemTray() != XNone;
++}
++
++QT_END_NAMESPACE
++#endif //QT_NO_SYSTEMTRAYICON
+--- /dev/null
++++ b/src/gui/util/qxembedsystemtrayicon_x11_p.h
+@@ -0,0 +1,104 @@
++/****************************************************************************
++**
++** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
++** All rights reserved.
++** Contact: Nokia Corporation (qt-info@nokia.com)
++**
++** This file is part of the QtGui module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** GNU Lesser General Public License Usage
++** This file may be used under the terms of the GNU Lesser General Public
++** License version 2.1 as published by the Free Software Foundation and
++** appearing in the file LICENSE.LGPL included in the packaging of this
++** file. Please review the following information to ensure the GNU Lesser
++** General Public License version 2.1 requirements will be met:
++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** In addition, as a special exception, Nokia gives you certain additional
++** rights. These rights are described in the Nokia Qt LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** GNU General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU General
++** Public License version 3.0 as published by the Free Software Foundation
++** and appearing in the file LICENSE.GPL included in the packaging of this
++** file. Please review the following information to ensure the GNU General
++** Public License version 3.0 requirements will be met:
++** http://www.gnu.org/copyleft/gpl.html.
++**
++** Other Usage
++** Alternatively, this file may be used in accordance with the terms and
++** conditions contained in a signed written agreement between you and Nokia.
++**
++**
++**
++**
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++#ifndef QXEMBEDSYSTEMTRAYICON_X11_P_H
++#define QXEMBEDSYSTEMTRAYICON_X11_P_H
++
++//
++// W A R N I N G
++// -------------
++//
++// This file is not part of the Qt API. It exists for the convenience
++// of a number of Qt sources files. This header file may change from
++// version to version without notice, or even be removed.
++//
++// We mean it.
++//
++
++#ifndef QT_NO_SYSTEMTRAYICON
++
++#include "qabstractsystemtrayiconsys_p.h"
++
++QT_BEGIN_NAMESPACE
++
++class QSystemTrayIconWidget;
++
++class QXEmbedSystemTrayIconSys : public QAbstractSystemTrayIconSys
++{
++public:
++ QXEmbedSystemTrayIconSys(QSystemTrayIcon *);
++ ~QXEmbedSystemTrayIconSys();
++
++ QRect geometry() const;
++
++ void updateVisibility();
++
++ void updateIcon();
++
++ void updateToolTip();
++
++ void updateMenu();
++
++ void showMessage(const QString &message, const QString &title,
++ QSystemTrayIcon::MessageIcon icon, int msecs);
++
++private:
++ friend class QSystemTrayIconWidget;
++ QSystemTrayIconWidget *widget;
++
++ void sendToolTipEventToTrayIcon();
++
++ void sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation);
++};
++
++struct QXEmbedSystemTrayIconSysFactory : public QSystemTrayIconSysFactoryInterface
++{
++ QAbstractSystemTrayIconSys * create(QSystemTrayIcon *trayIcon);
++ bool isAvailable() const;
++};
++
++
++QT_END_NAMESPACE
++
++#endif // QT_NO_SYSTEMTRAYICON
++
++#endif // QXEMBEDSYSTEMTRAYICON_X11_P_H
++
+--- a/src/gui/util/util.pri
++++ b/src/gui/util/util.pri
+@@ -29,8 +29,13 @@
+ }
+
+ unix:x11 {
++ HEADERS += \
++ util/qabstractsystemtrayiconsys_p.h \
++ util/qxembedsystemtrayicon_x11_p.h
+ SOURCES += \
+- util/qsystemtrayicon_x11.cpp
++ util/qabstractsystemtrayiconsys.cpp \
++ util/qsystemtrayicon_x11.cpp \
++ util/qxembedsystemtrayicon_x11.cpp
+ }
+
+ embedded|qpa {
diff --git a/abs/core/qt4/l-qclipboard_delay.patch b/abs/core/qt4/l-qclipboard_delay.patch
new file mode 100644
index 0000000..22643e8
--- /dev/null
+++ b/abs/core/qt4/l-qclipboard_delay.patch
@@ -0,0 +1,12 @@
+--- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200
++++ src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200
+@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win
+ return false;
+
+ XSync(X11->display, false);
+- usleep(50000);
++ if (!XPending(X11->display))
++ usleep(5000);
+
+ now.start();
+
diff --git a/abs/core/qt4/l-qclipboard_fix_recursive.patch b/abs/core/qt4/l-qclipboard_fix_recursive.patch
new file mode 100644
index 0000000..6d3bf2f
--- /dev/null
+++ b/abs/core/qt4/l-qclipboard_fix_recursive.patch
@@ -0,0 +1,94 @@
+--- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100
++++ src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200
+@@ -255,22 +255,30 @@ struct GPostEventSource
+ GSource source;
+ QAtomicInt serialNumber;
+ int lastSerialNumber;
++ QEventLoop::ProcessEventsFlags processEventsFlags;
+ QEventDispatcherGlibPrivate *d;
+ };
+
+ static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
+ {
++ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
+ QThreadData *data = QThreadData::current();
+ if (!data)
+ return false;
+
++ QEventLoop::ProcessEventsFlags excludeAllFlags
++ = QEventLoop::ExcludeUserInputEvents
++ | QEventLoop::ExcludeSocketNotifiers
++ | QEventLoop::X11ExcludeTimers;
++ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
++ return false;
++
+ gint dummy;
+ if (!timeout)
+ timeout = &dummy;
+ const bool canWait = data->canWaitLocked();
+ *timeout = canWait ? -1 : 0;
+
+- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
+ return (!canWait
+ || (source->serialNumber != source->lastSerialNumber));
+ }
+@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
+ {
+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
+ source->lastSerialNumber = source->serialNumber;
+- QCoreApplication::sendPostedEvents();
+- source->d->runTimersOnceWithNormalPriority();
++ QEventLoop::ProcessEventsFlags excludeAllFlags
++ = QEventLoop::ExcludeUserInputEvents
++ | QEventLoop::ExcludeSocketNotifiers
++ | QEventLoop::X11ExcludeTimers;
++ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
++ QCoreApplication::sendPostedEvents();
++ source->d->runTimersOnceWithNormalPriority();
++ }
+ return true; // i dunno, george...
+ }
+
+@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
+ postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
+ sizeof(GPostEventSource)));
+ postEventSource->serialNumber = 1;
++ postEventSource->processEventsFlags = QEventLoop::AllEvents;
+ postEventSource->d = this;
+ g_source_set_can_recurse(&postEventSource->source, true);
+ g_source_attach(&postEventSource->source, mainContext);
+@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
+
+ // tell postEventSourcePrepare() and timerSource about any new flags
+ QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
++ d->postEventSource->processEventsFlags = flags;
+ d->timerSource->processEventsFlags = flags;
+ d->socketNotifierSource->processEventsFlags = flags;
+
+@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
+ while (!result && canWait)
+ result = g_main_context_iteration(d->mainContext, canWait);
+
++ d->postEventSource->processEventsFlags = savedFlags;
+ d->timerSource->processEventsFlags = savedFlags;
+ d->socketNotifierSource->processEventsFlags = savedFlags;
+
+--- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200
++++ src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200
+@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
+
+ // we are awake, broadcast it
+ emit awake();
+- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
++
++ QEventLoop::ProcessEventsFlags excludeAllFlags
++ = QEventLoop::ExcludeUserInputEvents
++ | QEventLoop::ExcludeSocketNotifiers
++ | QEventLoop::X11ExcludeTimers;
++ if ((flags & excludeAllFlags) == excludeAllFlags)
++ return false;
++ if(( flags & excludeAllFlags ) != excludeAllFlags )
++ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
+
+ int nevents = 0;
+ const bool canWait = (d->threadData->canWaitLocked()
diff --git a/abs/core/qt5/PKGBUILD b/abs/core/qt5/PKGBUILD
new file mode 100644
index 0000000..8d7bfcb
--- /dev/null
+++ b/abs/core/qt5/PKGBUILD
@@ -0,0 +1,579 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgbase=qt5
+pkgname=('qt5-3d'
+ 'qt5-base'
+ 'qt5-canvas3d'
+ 'qt5-connectivity'
+ 'qt5-declarative'
+ 'qt5-doc'
+ 'qt5-enginio'
+ 'qt5-graphicaleffects'
+ 'qt5-imageformats'
+ 'qt5-location'
+ 'qt5-multimedia'
+ 'qt5-quick1'
+ 'qt5-quickcontrols'
+ 'qt5-script'
+ 'qt5-sensors'
+ 'qt5-serialport'
+ 'qt5-svg'
+ 'qt5-tools'
+ 'qt5-translations'
+ 'qt5-wayland'
+ 'qt5-webchannel'
+ 'qt5-webengine'
+ 'qt5-webkit'
+ 'qt5-websockets'
+ 'qt5-x11extras'
+ 'qt5-xmlpatterns')
+pkgver=5.5.1
+pkgrel=10
+arch=('i686' 'x86_64')
+url='http://www.qt.io/developers'
+license=('GPL3' 'LGPL' 'FDL' 'custom')
+makedepends=('libxcb' 'xcb-proto' 'xcb-util' 'xcb-util-image' 'xcb-util-wm' 'xcb-util-keysyms'
+ 'mesa' 'at-spi2-core' 'alsa-lib' 'gst-plugins-base-libs' 'libjpeg-turbo' 'cups'
+ 'hicolor-icon-theme' 'desktop-file-utils' 'postgresql-libs' 'nss'
+ 'libmysqlclient' 'sqlite' 'unixodbc' 'libfbclient' 'libmng' 'python2' 'ruby'
+ 'gperf' 'libxslt' 'libxcomposite' 'fontconfig' 'bluez-libs' 'openal' 'gtk2'
+ 'libxkbcommon-x11' 'mtdev' 'harfbuzz' 'libwebp' 'leveldb' 'geoclue' 'pciutils'
+ 'libinput' 'yasm' 'git')
+groups=('qt' 'qt5')
+_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
+source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz"
+ 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop')
+md5sums=('c2a249e8795d45200d997d96860d0353'
+ 'b2897dd6a2967bccf8f10e397aafee55'
+ '76e150b20178d2d43801f7367232e5f7'
+ '188da8f4c87316e730ebf1c6217bf5a0'
+ '322b419b16c75d4de0ee7ad0a246caa1')
+
+prepare() {
+ cd ${_pkgfqn}
+
+ # Build qmake using Arch {C,LD}FLAGS
+ # This also sets default {C,CXX,LD}FLAGS for projects built using qmake
+ sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \
+ qtbase/mkspecs/common/gcc-base.conf
+ sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
+ qtbase/mkspecs/common/g++-unix.conf
+
+ # Use python2 for Python 2.x
+ find . -name '*.py' -exec sed -i \
+ 's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} +
+ # in qtwebengine there are still a lot of relative calls which need a workaround
+ mkdir "${srcdir}"/python2-path
+ ln -s /usr/bin/python2 "${srcdir}"/python2-path/python
+
+ # Try to enable proprietary_codecs and use some system yasm
+ sed -e 's/contains(WEBENGINE_CONFIG, proprietary_codecs): //' \
+ -e '/use_system_ffmpeg=0"/a GYP_ARGS += "-Duse_system_yasm=1"' \
+ -i qtwebengine/src/core/gyp_run.pro
+
+ sed -i 's/libsystemd-journal/libsystemd/g' \
+ qtbase/src/corelib/global/global.pri \
+ qtbase/config.tests/unix/journald/journald.pro
+}
+
+build() {
+ cd ${_pkgfqn}
+
+ export QTDIR="${srcdir}"/${_pkgfqn}
+ export LD_LIBRARY_PATH="${QTDIR}"/qtbase/lib:"${QTDIR}"/qttools/lib:"${LD_LIBRARY_PATH}"
+ export QT_PLUGIN_PATH="${QTDIR}"/qtbase/plugins
+
+ # python2 workaround
+ export PATH="${srcdir}/python2-path:$PATH"
+
+ # FS#38796
+ [[ "${CARCH}" = "i686" ]] && SSE2="-no-sse2"
+
+ PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource \
+ -prefix /usr \
+ -bindir /usr/lib/qt/bin \
+ -docdir /usr/share/doc/qt \
+ -headerdir /usr/include/qt \
+ -archdatadir /usr/lib/qt \
+ -datadir /usr/share/qt \
+ -sysconfdir /etc/xdg \
+ -examplesdir /usr/share/doc/qt/examples \
+ -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
+ -system-sqlite \
+ -openssl-linked \
+ -nomake examples \
+ -no-rpath \
+ -optimized-qmake \
+ -dbus-linked \
+ -system-harfbuzz \
+ -journald \
+ -libinput ${SSE2}
+
+ make
+
+ # Fix docs build when qt is not installed
+ sed -i "s|/usr/lib/qt/bin/qdoc|${QTDIR}/qtbase/bin/qdoc|g" \
+ "${QTDIR}"/qtbase/qmake/Makefile.qmake-docs
+ find "${QTDIR}" -name Makefile \
+ -exec sed -i "s|/usr/lib/qt/bin/qdoc|${QTDIR}/qtbase/bin/qdoc|g" {} +
+ sed -i "s|/usr/lib/qt/bin/qhelpgenerator|${QTDIR}/qttools/bin/qhelpgenerator|g" \
+ "${QTDIR}"/qtbase/qmake/Makefile.qmake-docs
+ find "${QTDIR}" -name Makefile \
+ -exec sed -i "s|/usr/lib/qt/bin/qhelpgenerator|${QTDIR}/qttools/bin/qhelpgenerator|g" {} +
+ sed -i "s|/usr/lib/qt/bin/qhelpgenerator|${QTDIR}/qttools/bin/qhelpgenerator|g" \
+ qtwebkit/Source/Makefile.api
+ find "${QTDIR}" -name Makefile \
+ -exec sed -i "s|/usr/lib/qt/bin/qmlplugindump|${QTDIR}/qtdeclarative/bin/qmlplugindump|g" {} +
+
+ make docs
+}
+
+package_qt5-3d() {
+ pkgdesc='C++ and QML APIs for easy inclusion of 3D graphics'
+ depends=('qt5-declarative')
+ license=('LGPL')
+
+ cd ${_pkgfqn}/qt3d
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+}
+
+package_qt5-base() {
+ pkgdesc='A cross-platform application and UI framework'
+ depends=('libjpeg-turbo' 'xcb-util-keysyms' 'libgl' 'dbus' 'fontconfig' 'systemd'
+ 'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'icu'
+ 'qtchooser' 'libinput' 'libsm' 'libxkbcommon-x11')
+ optdepends=('qt5-svg: to use SVG icon themes'
+ 'postgresql-libs: PostgreSQL driver'
+ 'libmysqlclient: mysql DB driver'
+ 'unixodbc: ODBC driver'
+ 'libfbclient: Firebird/iBase driver'
+ 'mtdev: evdev plugin'
+ 'gtk2: GTK2 plugin')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtbase
+ make INSTALL_ROOT="${pkgdir}" install
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Fix wrong qmake path in pri file
+ sed -i "s|${srcdir}/${_pkgfqn}/qtbase|/usr|" \
+ "${pkgdir}"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri
+
+ # Useful symlinks
+ install -d "${pkgdir}"/usr/bin
+ for b in "${pkgdir}"/usr/lib/qt/bin/*; do
+ ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
+ done
+}
+
+package_qt5-canvas3d() {
+ pkgdesc='A JavaScript 3D rendering API for Qt Quick'
+ depends=('qt5-declarative')
+ license=('LGPL')
+
+ cd ${_pkgfqn}/qtcanvas3d
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+}
+
+package_qt5-connectivity() {
+ pkgdesc='Provides access to Bluetooth hardware'
+ depends=('qt5-declarative' 'bluez-libs')
+
+ cd ${_pkgfqn}/qtconnectivity
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-declarative() {
+ pkgdesc='Classes for QML and JavaScript languages'
+ depends=('qt5-xmlpatterns')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtdeclarative
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Useful symlinks
+ install -d "${pkgdir}"/usr/bin
+ for b in "${pkgdir}"/usr/lib/qt/bin/*; do
+ ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
+ done
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-doc() {
+ pkgdesc='A cross-platform application and UI framework (Documentation)'
+ depends=('qt5-base')
+# arch=('any')
+ conflicts=('qt-doc')
+ replaces=('qt-doc')
+ provides=('qt-doc')
+ options=('docs' '!emptydirs')
+ groups=()
+
+ cd ${_pkgfqn}
+ make INSTALL_ROOT="${pkgdir}" install_docs
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-enginio() {
+ pkgdesc='A Backend-as-a-Service solution to ease the backend development for connected and data-driven application'
+ depends=('qt5-declarative')
+
+ cd ${_pkgfqn}/qtenginio
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-graphicaleffects() {
+ pkgdesc='Graphical effects for use with Qt Quick 2'
+ depends=('qt5-declarative')
+
+ cd ${_pkgfqn}/qtgraphicaleffects
+ make INSTALL_ROOT="${pkgdir}" install
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-imageformats() {
+ pkgdesc='Plugins for additional image formats: TIFF, MNG, TGA, WBMP'
+ depends=('qt5-base' 'jasper' 'libmng' 'libwebp')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtimageformats
+ make INSTALL_ROOT="${pkgdir}" install
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-location() {
+ pkgdesc='Provides access to position, satellite and area monitoring classes'
+ depends=('qt5-declarative' 'geoclue')
+
+ cd ${_pkgfqn}/qtlocation
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-multimedia() {
+ pkgdesc='Classes for audio, video, radio and camera functionality'
+ depends=('qt5-declarative' 'gst-plugins-base-libs' 'openal')
+ optdepends=('gst-plugins-bad: Qt MediaService plugin')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtmultimedia
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-quick1() {
+ pkgdesc='Qt Declarative is provided for Qt 4 compatibility'
+ depends=('qt5-webkit' 'qt5-script')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtquick1
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Useful symlinks
+ install -d "${pkgdir}"/usr/bin
+ for b in "${pkgdir}"/usr/lib/qt/bin/*; do
+ ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
+ done
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-quickcontrols() {
+ pkgdesc='Reusable Qt Quick based UI controls to create classic desktop-style user interfaces'
+ depends=('qt5-declarative')
+ license=('LGPL')
+
+ cd ${_pkgfqn}/qtquickcontrols
+ make INSTALL_ROOT="${pkgdir}" install
+}
+
+package_qt5-script() {
+ pkgdesc='Classes for making Qt applications scriptable. Provided for Qt 4.x compatibility'
+ depends=('qt5-base')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtscript
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-sensors() {
+ pkgdesc='Provides access to sensor hardware and motion gesture recognition'
+ depends=('qt5-declarative')
+
+ cd ${_pkgfqn}/qtsensors
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-serialport() {
+ pkgdesc='Provides access to hardware and virtual serial ports'
+ depends=('qt5-base')
+
+ cd ${_pkgfqn}/qtserialport
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-svg() {
+ pkgdesc='Classes for displaying the contents of SVG files'
+ depends=('qt5-base')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtsvg
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-tools() {
+ pkgdesc='A cross-platform application and UI framework (Development Tools, QtHelp)'
+ depends=('qt5-webkit' 'desktop-file-utils' 'qt5-translations' 'hicolor-icon-theme'
+ 'xdg-utils')
+ optdepends=('qt5-doc: documentation')
+ install='qt5-tools.install'
+ conflicts=('qt')
+ options=('staticlibs') # libQt5UiTools builds as static only$
+
+ cd ${_pkgfqn}/qttools
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # install missing icons and desktop files
+ for icon in src/linguist/linguist/images/icons/linguist-*-32.png ; do
+ size=$(echo $(basename ${icon}) | cut -d- -f2)
+ install -p -D -m644 ${icon} \
+ "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png"
+ done
+
+ install -D -m644 src/assistant/assistant/images/assistant.png \
+ "${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png"
+ install -D -m644 src/assistant/assistant/images/assistant-128.png \
+ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/assistant.png"
+ install -D -m644 src/designer/src/designer/images/designer.png \
+ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/QtProject-designer.png"
+ install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer.png \
+ "${pkgdir}/usr/share/icons/hicolor/32x32/apps/qdbusviewer.png"
+ install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
+ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/qdbusviewer.png"
+ install -d "${pkgdir}/usr/share/applications"
+ install -m644 "${srcdir}"/{linguist,designer,assistant,qdbusviewer}.desktop \
+ "${pkgdir}/usr/share/applications/"
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Useful symlinks
+ install -d "${pkgdir}"/usr/bin
+ for b in "${pkgdir}"/usr/lib/qt/bin/*; do
+ ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
+ done
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-translations() {
+ pkgdesc='A cross-platform application and UI framework (Translations)'
+ depends=('qt5-base')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qttranslations
+ make INSTALL_ROOT="${pkgdir}" install
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-wayland() {
+ pkgdesc='Provides APIs for Wayland'
+ depends=('qt5-base' 'libxcomposite')
+
+ cd ${_pkgfqn}/qtwayland
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-webchannel() {
+ pkgdesc='Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients'
+ depends=('qt5-declarative')
+
+ cd ${_pkgfqn}/qtwebchannel
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-webengine() {
+ pkgdesc='Provides support for web applications using the Chromium browser project'
+ depends=('qt5-webchannel' 'qt5-location' 'nss' 'libxtst' 'libxcursor' 'libxrandr' 'alsa-lib' 'libxcomposite')
+ license=('LGPL')
+
+ cd ${_pkgfqn}/qtwebengine
+ make INSTALL_ROOT="${pkgdir}" install
+
+ rm -rf "${pkgdir}"/usr/share/doc
+}
+
+package_qt5-webkit() {
+ pkgdesc='Classes for a WebKit2 based implementation and a new QML API'
+ depends=('qt5-sensors' 'qt5-location' 'qt5-webchannel' 'gst-plugins-base' 'libxslt'
+ 'libxcomposite' 'libwebp')
+ optdepends=('gst-plugins-good: Webm codec support')
+ license=('GPL3' 'LGPL' 'FDL')
+
+ cd ${_pkgfqn}/qtwebkit
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Fix wrong path in pc file
+ perl -pi -e "s, -L${srcdir}/?\S+,,g" "${pkgdir}"/usr/lib/pkgconfig/Qt5WebKit.pc
+}
+
+package_qt5-websockets() {
+ pkgdesc='Provides WebSocket communication compliant with RFC 6455'
+ depends=('qt5-declarative')
+
+ cd ${_pkgfqn}/qtwebsockets
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-x11extras() {
+ pkgdesc='Provides platform-specific APIs for X11'
+ depends=('qt5-base')
+
+ cd ${_pkgfqn}/qtx11extras
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
+
+package_qt5-xmlpatterns() {
+ pkgdesc='Support for XPath, XQuery, XSLT and XML schema validation'
+ depends=('qt5-base')
+ conflicts=('qt')
+
+ cd ${_pkgfqn}/qtxmlpatterns
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Useful symlinks
+ install -d "${pkgdir}"/usr/bin
+ for b in "${pkgdir}"/usr/lib/qt/bin/*; do
+ ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
+ done
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
+}
diff --git a/abs/core/qt5/__changelog b/abs/core/qt5/__changelog
new file mode 100644
index 0000000..4049625
--- /dev/null
+++ b/abs/core/qt5/__changelog
@@ -0,0 +1,3 @@
+PKGBUILD:
+- remove dep libpulse
+- changed libmaria to libmysql
diff --git a/abs/core/qt5/assistant.desktop b/abs/core/qt5/assistant.desktop
new file mode 100644
index 0000000..9d61004
--- /dev/null
+++ b/abs/core/qt5/assistant.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Qt Assistant
+Comment=Shows Qt documentation and examples
+Exec=/usr/lib/qt/bin/assistant
+Icon=assistant
+Terminal=false
+Type=Application
+Categories=Qt;Development;Documentation;
diff --git a/abs/core/qt5/designer.desktop b/abs/core/qt5/designer.desktop
new file mode 100644
index 0000000..b39e77a
--- /dev/null
+++ b/abs/core/qt5/designer.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Qt Designer
+GenericName=Interface Designer
+Comment=Design GUIs for Qt applications
+Exec=/usr/lib/qt/bin/designer
+Icon=QtProject-designer
+MimeType=application/x-designer;
+Terminal=false
+Type=Application
+Categories=Qt;Development;
diff --git a/abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch b/abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch
new file mode 100644
index 0000000..54897e0
--- /dev/null
+++ b/abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch
@@ -0,0 +1,32 @@
+From c72325d52575cb8a46cc8595c592c27581089dec Mon Sep 17 00:00:00 2001
+From: Takao Fujiwara <tfujiwar@redhat.com>
+Date: Tue, 24 Mar 2015 19:08:34 +0900
+Subject: [PATCH] ibus: Get display number when screen number is omitted.
+
+QIBusPlatformInputContextPrivate::createConnection() parses DISPLAY
+variable and it does not get the display number when the screen number
+is omitted. E.g. DISPLAY=":1".
+
+Change-Id: I9f81d8114d4e0f654a27ada67c5dc110eb34cd64
+Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
+---
+ .../ibus/qibusplatforminputcontext.cpp | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
+index d00435b..673942b 100644
+--- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
++++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
+@@ -351,6 +351,8 @@ QDBusConnection *QIBusPlatformInputContextPrivate::createConnection()
+ int pos2 = display.indexOf('.', pos);
+ if (pos2 > 0)
+ displayNumber = display.mid(pos, pos2 - pos);
++ else
++ displayNumber = display.right(pos);
+ if (debug)
+ qDebug() << "host=" << host << "displayNumber" << displayNumber;
+
+--
+1.7.1
+
+
diff --git a/abs/core/qt5/linguist.desktop b/abs/core/qt5/linguist.desktop
new file mode 100644
index 0000000..c6d1aa4
--- /dev/null
+++ b/abs/core/qt5/linguist.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt Linguist
+Comment=Add translations to Qt applications
+Exec=/usr/lib/qt/bin/linguist
+Icon=linguist
+MimeType=text/vnd.trolltech.linguist;application/x-linguist;
+Terminal=false
+Type=Application
+Categories=Qt;Development;
diff --git a/abs/core/qt5/qdbusviewer.desktop b/abs/core/qt5/qdbusviewer.desktop
new file mode 100644
index 0000000..9165b6f
--- /dev/null
+++ b/abs/core/qt5/qdbusviewer.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt QDbusViewer
+GenericName=D-Bus Debugger
+Comment=Debug D-Bus applications
+Exec=/usr/lib/qt/bin/qdbusviewer
+Icon=qdbusviewer
+Terminal=false
+Type=Application
+Categories=Qt;Development;Debugger;
diff --git a/abs/core/qt5/qt5-tools.install b/abs/core/qt5/qt5-tools.install
new file mode 100644
index 0000000..5495fb1
--- /dev/null
+++ b/abs/core/qt5/qt5-tools.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/core/qt5/rebuild.list b/abs/core/qt5/rebuild.list
new file mode 100644
index 0000000..5519fd7
--- /dev/null
+++ b/abs/core/qt5/rebuild.list
@@ -0,0 +1,6 @@
+fcitx-qt5
+frameworkintegration
+gcin
+calibre
+akonadi
+skrooge
diff --git a/abs/core/randrproto/PKGBUILD b/abs/core/randrproto/PKGBUILD
index 21829c1..c904e67 100644
--- a/abs/core/randrproto/PKGBUILD
+++ b/abs/core/randrproto/PKGBUILD
@@ -1,16 +1,19 @@
-# $Id: PKGBUILD 165116 2012-08-11 08:21:48Z andyrtr $
+# $Id$
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=randrproto
-pkgver=1.4.0
+pkgver=1.5.0
pkgrel=1
pkgdesc="X11 RandR extension wire protocol"
arch=('any')
license=('custom')
url="http://xorg.freedesktop.org/"
makedepends=('xorg-util-macros')
-source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('85c42e8c66a55318ddaf2ce5727beacb25cb1f8555229f778cd1da86478209cf')
+source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha256sums=('4c675533e79cd730997d232c8894b6692174dce58d3e207021b8f860be498468'
+ 'SKIP')
+validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E' # Alan Coopersmith <alan.coopersmith@oracle.com>
+ '10A6D91DA1B05BD29F6DEBAC0C74F35979C486BE') # Dave Airlie <airlied@redhat.com>
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/readline/PKGBUILD b/abs/core/readline/PKGBUILD
index f8dfe0d..07b6b36 100644
--- a/abs/core/readline/PKGBUILD
+++ b/abs/core/readline/PKGBUILD
@@ -5,21 +5,22 @@
pkgname=readline
_basever=6.3
-_patchlevel=006
+_patchlevel=008
pkgver=$_basever.$_patchlevel
-pkgrel=1
+pkgrel=3
pkgdesc='GNU readline library'
arch=('i686' 'x86_64')
url='http://tiswww.case.edu/php/chet/readline/rltop.html'
license=('GPL')
-depends=('glibc' 'ncurses')
+depends=('glibc' 'ncurses' 'libncursesw.so')
backup=('etc/inputrc')
options=('!emptydirs')
install=readline.install
source=(http://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig}
inputrc)
+validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey
-if [[ $_patchlevel -gt 0 ]]; then
+if [ $_patchlevel -gt 0 ]; then
for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do
source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//.}-$(printf "%03d" $_p){,.sig})
done
@@ -65,4 +66,8 @@ md5sums=('33c8fb279e981274f485fd91da77e94a'
'93721c31cd225393f80cb3aadb165544'
'SKIP'
'71dc6ecce66d1489b96595f55d142a52'
+ 'SKIP'
+ '062a08ed60679d3c4878710b3d595b65'
+ 'SKIP'
+ 'ee1c04072154826870848d8b218d7b04'
'SKIP')
diff --git a/abs/core/rsyslog/PKGBUILD b/abs/core/rsyslog/PKGBUILD
index 89739bc..641af25 100644
--- a/abs/core/rsyslog/PKGBUILD
+++ b/abs/core/rsyslog/PKGBUILD
@@ -1,55 +1,64 @@
-# $Id: PKGBUILD 58329 2011-11-11 14:26:11Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=rsyslog
-pkgver=5.8.13
-pkgrel=3
+pkgver=8.11.0
+pkgrel=1
pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
url="http://www.rsyslog.com/"
arch=('i686' 'x86_64')
license=('GPL3')
-depends=('zlib')
-makedepends=( 'libmysqlclient' 'gnutls')
-optdepends=( 'libmysqlclient: MySQL Database Support'
+depends=('zlib' 'libestr' 'libee' 'json-c' 'systemd' 'liblogging' 'librelp')
+makedepends=('postgresql-libs>=8.4.1' 'libmariadbclient' 'net-snmp' 'gnutls'
+ 'python2-docutils')
+optdepends=('postgresql-libs: PostgreSQL Database Support'
+ 'libmariadbclient: MySQL Database Support'
+ 'net-snmp'
'gnutls')
-backup=('etc/rsyslog.conf' \
- 'etc/conf.d/rsyslog')
-conflicts=('syslog-ng')
-replaces=('syslog-ng')
groups=('base')
-
-options=('strip' 'zipman' '!libtool')
-#install=('rsyslog.install')
+options=('strip' 'zipman')
source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz"
- 'rsyslog' 'rsyslog.conf.d' 'rsyslog.conf.linhes' 'mythtv.conf'
- 'log_care.sh')
+ 'rsyslog.conf.linhes'
+ 'mythtv.conf'
+ 'log_care.sh'
+ 'gnutls.patch')
+
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+# patch -p1 <$srcdir/gnutls.patch
+ sed -i rsyslog.service.in \
+ -e 's|rsyslogd -n|rsyslogd -n -i /run/rsyslogd.pid|' \
+ -e '/ExecStart=.*$/iPIDFile=/run/rsyslogd.pid'
+}
build() {
cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr \
- --sbindir=/usr/bin \
+ --sbindir=/usr/bin \
--enable-mysql \
+ --enable-pgsql \
--enable-mail \
--enable-imfile \
- --enable-imtemplate \
+ --enable-snmp \
--enable-gnutls \
--enable-inet \
+ --enable-imjournal \
+ --enable-omjournal \
+ --enable-relp \
+ --enable-impstats \
--with-systemdsystemunitdir=/usr/lib/systemd/system
make
}
+
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make install DESTDIR=${pkgdir}
- # Install Daemons and Configuration Files
- install -D -m755 ${srcdir}/${pkgname} ${pkgdir}/etc/rc.d/${pkgname}d
- install -D -m644 ${srcdir}/${pkgname}.conf.linhes ${pkgdir}/etc/${pkgname}.conf
- install -D -m644 ${srcdir}/mythtv.conf ${pkgdir}/etc/rsyslog.d/mythtv.conf
- install -D -m644 ${srcdir}/${pkgname}.conf.d ${pkgdir}/etc/conf.d/${pkgname}
- install -D -m755 ${srcdir}/log_care.sh ${pkgdir}/etc/cron.daily/log_care
+ install -D -m644 $srcdir/${pkgname}.conf.linhes ${pkgdir}/etc/${pkgname}.conf
+ install -D -m644 $srcdir/mythtv.conf ${pkgdir}/etc/rsyslog.d/mythtv.conf
+ install -D -m755 $srcdir/log_care.sh ${pkgdir}/etc/cron.daily/log_care
}
-md5sums=('8d228a8b622f90b320c95f38be7fc5bb'
- 'a18bbcbb6ebdaa13a6ec6d9f3d9eb2da'
- '1a0cd4530dd5d1439456d5ae230574d9'
- '8dd27270e882e8707924dbca0c66f66f'
- 'c71fa75857ff7b9e24e41457e89c76ca'
- 'cd39e6edc1fcbbae2093c40c880e0079')
+md5sums=('35f0b7024ae7b5677e49f14f36304d77'
+ '61750ec989c319470b466946f6404931'
+ 'd99814eeea48b370b3e0fe2899792fdb'
+ 'cd39e6edc1fcbbae2093c40c880e0079'
+ 'aafafdf4502f5e4de5fcfebd21499700')
diff --git a/abs/core/rsyslog/__changelog b/abs/core/rsyslog/__changelog
index 69aa96c..d8a1749 100644
--- a/abs/core/rsyslog/__changelog
+++ b/abs/core/rsyslog/__changelog
@@ -1 +1,8 @@
-- removed rsyslog.logrotate from PKGBUILD. LH uses log_care.sh as a cron job to maintain logs
+PKGBUILD
+- change dep python-docutils to python2-docutils
+- removed rsyslog.logrotate
+- add log_care.sh: LH uses log_care.sh as a cron job to maintain logs
+- add groups=('base')
+- replace rsyslog.conf with rsyslog.conf.linhes
+- add mythtv.conf
+- delete backup=('etc/rsyslog.conf' 'etc/logrotate.d/rsyslog') to ensure LH config
diff --git a/abs/core/rsyslog/gnutls.patch b/abs/core/rsyslog/gnutls.patch
new file mode 100644
index 0000000..fcf199b
--- /dev/null
+++ b/abs/core/rsyslog/gnutls.patch
@@ -0,0 +1,36 @@
+diff -wbBur rsyslog-8.9.0.org/runtime/nsd_gtls.c rsyslog-8.9.0/runtime/nsd_gtls.c
+--- rsyslog-8.9.0.org/runtime/nsd_gtls.c 2015-03-29 16:00:04.000000000 +0300
++++ rsyslog-8.9.0/runtime/nsd_gtls.c 2015-04-16 15:42:44.701275194 +0300
+@@ -231,13 +231,13 @@
+ gtlsClientCertCallback(gnutls_session_t session,
+ __attribute__((unused)) const gnutls_datum_t* req_ca_rdn, int __attribute__((unused)) nreqs,
+ __attribute__((unused)) const gnutls_pk_algorithm_t* sign_algos, int __attribute__((unused)) sign_algos_length,
+- gnutls_retr_st *st)
++ gnutls_retr2_st *st)
+ {
+ nsd_gtls_t *pThis;
+
+ pThis = (nsd_gtls_t*) gnutls_session_get_ptr(session);
+
+- st->type = GNUTLS_CRT_X509;
++ st->cert_type = GNUTLS_CRT_X509;
+ st->ncerts = 1;
+ st->cert.x509 = &pThis->ourCert;
+ st->key.x509 = pThis->ourKey;
+@@ -1673,14 +1673,14 @@
+ gnutls_session_set_ptr(pThis->sess, (void*)pThis);
+ iRet = gtlsLoadOurCertKey(pThis); /* first load .pem files */
+ if(iRet == RS_RET_OK) {
+- gnutls_certificate_client_set_retrieve_function(xcred, gtlsClientCertCallback);
++ gnutls_certificate_set_retrieve_function(xcred, gtlsClientCertCallback);
+ } else if(iRet != RS_RET_CERTLESS) {
+ FINALIZE; /* we have an error case! */
+ }
+
+ /* Use default priorities */
+ CHKgnutls(gnutls_set_default_priority(pThis->sess));
+- CHKgnutls(gnutls_certificate_type_set_priority(pThis->sess, cert_type_priority));
++ CHKgnutls(gnutls_set_default_priority(pThis->sess));
+
+ /* put the x509 credentials to the current session */
+ CHKgnutls(gnutls_credentials_set(pThis->sess, GNUTLS_CRD_CERTIFICATE, xcred));
diff --git a/abs/core/rsyslog/mythtv.conf b/abs/core/rsyslog/mythtv.conf
index 1878b74..9f3efe7 100644
--- a/abs/core/rsyslog/mythtv.conf
+++ b/abs/core/rsyslog/mythtv.conf
@@ -26,38 +26,38 @@ $template DynMythNoLogServer,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_%progr
if $syslogfacility-text == 'local6' and $msg startswith ' mythbackend' then ?DynMythBackend;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythfrontend' then ?DynMythFrontend;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythjobqueue' then ?DynMythJobQueue;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythmediaserver' then ?DynMythMediaServer;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythtv-setup' then ?DynMythSetup;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythfilldatabase' then ?DynMythFillDatabase;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythcommflag' then ?DynMythCommflag;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythpreviewgen' then ?DynMythPreviewGen;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythtranscode' then ?DynMythTranscode;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythmetadatalookup' then ?DynMythMetadataLookup;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythutil' then ?DynMythUtil;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythwelcome' then ?DynMythWelcome;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythshutdown' then ?DynMythShutdown;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythlcdserver' then ?DynMythLCDServer;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythccextractor' then ?DynMythccExtractor;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythavtest' then ?DynMythAVTest;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $msg startswith ' mythlogserver' then ?DynMythLogServer;DynMythFormat
-& ~
+& stop
if $syslogfacility-text == 'local6' and $programname startswith 'myth' then ?DynMythNoLogServer
-& ~
+& stop
diff --git a/abs/core/rsyslog/rsyslog.conf.d b/abs/core/rsyslog/rsyslog.conf.d
deleted file mode 100644
index e39f8c3..0000000
--- a/abs/core/rsyslog/rsyslog.conf.d
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# Parameters to be passed to rsyslogd
-# This should almost certainly include at least the current compatability
-# level, e.g. -c4
-#
-RSYSLOGD_ARGS="-c4"
diff --git a/abs/core/rsyslog/rsyslog.conf.linhes b/abs/core/rsyslog/rsyslog.conf.linhes
index dc1317c..3f7723a 100644
--- a/abs/core/rsyslog/rsyslog.conf.linhes
+++ b/abs/core/rsyslog/rsyslog.conf.linhes
@@ -1,13 +1,12 @@
# if you experience problems, check
# http://www.rsyslog.com/troubleshoot for assistance
-# rsyslog v3: load input modules
-# If you do not load inputs, nothing happens!
-# You may need to set the module load path if modules are not found.
-
$ModLoad immark # provides --MARK-- message capability
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # kernel logging (formerly provided by rklogd)
+$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
+$FileOwner root
+$FileGroup root
$FileCreateMode 0644
$DirCreateMode 0755
$SystemLogRateLimitInterval 2
@@ -27,9 +26,9 @@ $template DynMythExpress,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_mythexpres
if $programname contains 'lighttpd' then ?DynLighttpd
-& ~
+& stop
if $programname startswith 'mythexpress' then ?DynMythExpress
-& ~
+& stop
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
@@ -50,7 +49,7 @@ mail.* ?DynMail
cron.* ?DynCron
# Everybody gets emergency messages
-*.emerg *
+*.emerg :omusrmsg:*
# Save news errors of level crit and higher in a special file.
#uucp,news.crit -/var/log/spooler
@@ -91,4 +90,3 @@ $IncludeConfig /etc/rsyslog.d/*.conf
#$ModLoad ommysql # load MySQL functionality
#*.* :ommysql:vmbe,Syslog,syslog,passwd
-
diff --git a/abs/core/rsyslog/rsyslog.install b/abs/core/rsyslog/rsyslog.install
deleted file mode 100644
index 2153832..0000000
--- a/abs/core/rsyslog/rsyslog.install
+++ /dev/null
@@ -1,16 +0,0 @@
-# arg 1: the new package version
-# arg 2: the old package version
-
-post_install() {
- remove_service.sh syslog-ng
- add_service.sh rsyslog
- if [ ! -e /var/log/old_syslog ]
- then
- mkdir -p /var/log/old_sysng
- mv /var/log/*log* /var/log/old_sysng
- echo "#########################################"
- echo "/var/log/old_sysng contains old log files"
- echo "it may be removed at your convenience"
- echo "#########################################"
- fi
-}
diff --git a/abs/core/rsyslog/rsyslog.logrotate b/abs/core/rsyslog/rsyslog.logrotate
new file mode 100644
index 0000000..889c989
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog.logrotate
@@ -0,0 +1,7 @@
+/var/log/auth.log /var/log/cron.log /var/log/daemon.log /var/log/debug /var/log/kern.log /var/log/lpr.log /var/log/mail.err /var/log/mail.info /var/log/mail.log /var/log/mail.warn /var/log/messages /var/log/news /var/log/syslog /var/log/user.log {
+ missingok
+ sharedscripts
+ postrotate
+ /usr/bin/killall -HUP /usr/bin/rsyslogd
+ endscript
+}
diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index de02476..4fd9efd 100755
--- a/abs/core/runit-scripts/PKGBUILD
+++ b/abs/core/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
-pkgver=8.3
-pkgrel=6
+pkgver=8.4
+pkgrel=2
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
diff --git a/abs/core/runit-scripts/runitscripts/services/frontend/finish b/abs/core/runit-scripts/runitscripts/services/frontend/finish
index d96bcf0..6bc324d 100755
--- a/abs/core/runit-scripts/runitscripts/services/frontend/finish
+++ b/abs/core/runit-scripts/runitscripts/services/frontend/finish
@@ -11,7 +11,8 @@ function cleanup(){
#continue plymouthd that was stopped in /etc/X11/Sessions/Linhes
pidfile=/run/plymouth.pid
-if [ -e "$pidfile" ]; then
+if [ -e "$pidfile" ];
+then
plypid=`cat "$pidfile"`
if [ -n "$plypid" ]; then
kill -s CONT "$plypid"
@@ -20,34 +21,46 @@ fi
grep -q nox /proc/cmdline
STATUS=$?
- if [ $STATUS = 0 ]
- then
- printhl " status = 0"
- chvt 2
+if [ $STATUS = 0 ]
+then
+ printhl " status = 0: no X"
+ chvt 2
else
- pkill -f "X :0"
- printhl " status = 1"
+ x1pid=`pidof Xorg`
+ pkill -f "Xorg"
+ printhl " status = 1: X"
if [ ! -d /etc/sv/frontend/.runtime ]
then
- mkdir -p /etc/sv/frontend/.runtime
+ mkdir -p /etc/sv/frontend/.runtime
fi
touch /etc/sv/frontend/.runtime/`date +%s`
- sleep 0.2
- ps -U mythtv -ef |grep "/bin/sh /usr/bin/startx"|grep -v grep|awk ' { print $2 } '|xargs kill -9 2> /dev/null
- cdate=`date`
+ sleep 1
+ #ps -U mythtv -ef |grep "xinit /etc/X11/Sessions/LinHES"|grep -v grep|awk ' { print $2 } '|xargs kill -9 2> /dev/null
+ #cdate=`date`
numfilestotal=`/usr/bin/file_time_offset.py -s0 -d/etc/sv/frontend/.runtime`
numfilesover10secondsold=`/usr/bin/file_time_offset.py -s10 -d/etc/sv/frontend/.runtime`
numfileslessthan10secondsold=$(($numfilestotal-$numfilesover10secondsold))
if [ $numfileslessthan10secondsold -gt 2 ]
then
- sv stop frontend
- printhl " Frontend disabled, due to many restarts."
- printhl " Run \"sv start frontend\" to try again"
- cleanup
+ sv stop frontend
+ printhl " Frontend disabled, due to many restarts."
+ printhl " Run \"sv start frontend\" to try again"
+ cleanup
else
- if [ $numfilestotal -gt 10 ]
- then
- cleanup
- fi
+ if [ $numfilestotal -gt 10 ]
+ then
+ cleanup
+ fi
fi
+ if [[ `pidof "Xorg"` -eq $x1pid ]]
+ then
+ printhl " X $x1pid is shutting down, waiting 10 seconds"
+ sleep 10
+ if [[ `pidof "Xorg"` -eq $x1pid ]]
+ then
+ printhl " killing X $x1pid"
+ kill -9 $x1pid
+ fi
+ fi
+ killall -9 mythfrontend
fi
diff --git a/abs/core/runit-scripts/runitscripts/services/frontend/run b/abs/core/runit-scripts/runitscripts/services/frontend/run
index 22b65db..7a80665 100755
--- a/abs/core/runit-scripts/runitscripts/services/frontend/run
+++ b/abs/core/runit-scripts/runitscripts/services/frontend/run
@@ -21,5 +21,5 @@ stat_runit "Starting LinHES frontend"
# fi
#echo "Starting LinHES frontend" >/dev/tty1
-#exec /bin/su - mythtv -l -c /usr/LH/bin/LinHES-start
-exec sudo -u mythtv -i /usr/LH/bin/LinHES-start
+exec su - mythtv -l -c /usr/LH/bin/LinHES-start
+#exec sudo -u mythtv -i /usr/LH/bin/LinHES-start
diff --git a/abs/core/runit-scripts/runitscripts/services/msg_daemon/run b/abs/core/runit-scripts/runitscripts/services/msg_daemon/run
index 6f1b4b7..e998a08 100755
--- a/abs/core/runit-scripts/runitscripts/services/msg_daemon/run
+++ b/abs/core/runit-scripts/runitscripts/services/msg_daemon/run
@@ -5,5 +5,5 @@ export TERM=linux
. /etc/rc.d/functions
. /etc/profile
stat_runit "Starting osd message daemon"
-exec env DISPLAY=127.0.0.1:0 /usr/LH/bin/msg_daemon.py
+exec env DISPLAY=:0.0 /usr/LH/bin/msg_daemon.py
diff --git a/abs/core/runit-scripts/runitscripts/services/mythbackend/run b/abs/core/runit-scripts/runitscripts/services/mythbackend/run
index d97cf21..6e42c12 100755
--- a/abs/core/runit-scripts/runitscripts/services/mythbackend/run
+++ b/abs/core/runit-scripts/runitscripts/services/mythbackend/run
@@ -79,5 +79,6 @@ export HOME=/root
stat_runit "Starting Primary MythBackend"
fi
- exec sudo -u mythtv /usr/bin/mythbackend -q --syslog local6
-# fi
+ #exec sudo -u mythtv /usr/bin/mythbackend -q --syslog local6
+ exec su mythtv -c "/usr/bin/mythbackend -q --syslog local6"
+# fi
diff --git a/abs/core/runit-scripts/runitscripts/services/plexmediaserver/run b/abs/core/runit-scripts/runitscripts/services/plexmediaserver/run
new file mode 100755
index 0000000..6d0b04e
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/plexmediaserver/run
@@ -0,0 +1,20 @@
+#!/bin/sh
+exec 2>&1
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/plexmediaserver
+. /etc/locale.conf
+
+stat_runit "Starting Plex Media Server"
+export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
+export PLEX_MEDIA_SERVER_HOME="${PLEX_MEDIA_SERVER_HOME}"
+export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}"
+export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="${PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS}"
+export PLEX_MEDIA_SERVER_TMPDIR="${PLEX_MEDIA_SERVER_TMPDIR}"
+export TMPDIR="${TMPDIR}"
+export LC_ALL="${LANG}"
+export LANG="${LANG}"
+ulimit -s 3000
+
+exec chpst -uplex:plex /opt/plexmediaserver/Plex\ Media\ Server
diff --git a/abs/core/runit-scripts/runitscripts/services/rsyslog/run b/abs/core/runit-scripts/runitscripts/services/rsyslog/run
index f356d10..2fd4f17 100755
--- a/abs/core/runit-scripts/runitscripts/services/rsyslog/run
+++ b/abs/core/runit-scripts/runitscripts/services/rsyslog/run
@@ -6,5 +6,4 @@ export TERM=linux
stat_runit "Starting rsyslog"
-exec /usr/bin/rsyslogd -n -c5
-
+exec /usr/bin/rsyslogd -n
diff --git a/abs/core/runit-scripts/runitscripts/services/supplemental-slave/run b/abs/core/runit-scripts/runitscripts/services/supplemental-slave/run
index 5be390d..7c15210 100755
--- a/abs/core/runit-scripts/runitscripts/services/supplemental-slave/run
+++ b/abs/core/runit-scripts/runitscripts/services/supplemental-slave/run
@@ -8,4 +8,4 @@ MYTH_RUN_STATUS="1"
. /etc/profile
stat_runit "Starting supplemental web client"
cd /data/srv/httpd/cgi
-exec sudo -u http "./slaveserve.py" 2>/var/log/supplemental-slave.log
+exec chpst -u http "./slaveserve.py" 2>/var/log/supplemental-slave.log
diff --git a/abs/core/runit-scripts/runitscripts/services/vnc/run b/abs/core/runit-scripts/runitscripts/services/vnc/run
index bc411b1..b67d174 100755
--- a/abs/core/runit-scripts/runitscripts/services/vnc/run
+++ b/abs/core/runit-scripts/runitscripts/services/vnc/run
@@ -11,5 +11,5 @@ geometry=1024x768
#. /etc/conf.d/vncserver 2>/dev/null
cp -f $MV_ROOT/templates/vnc.service /etc/avahi/services/vnc.service 2>/dev/null
cd ~vncsvc
-#exec su vncsvc -c "/usr/bin/vncserver -fg -geometry $geometry :1" 2>/var/log/vnc.log
-exec sudo -u vncsvc -i /usr/bin/vncserver -fg -geometry $geometry :1 2>/var/log/vnc.log
+exec su vncsvc -c "/usr/bin/vncserver -fg -geometry $geometry :1" 2>/var/log/vnc.log
+#exec sudo -u vncsvc -i /usr/bin/vncserver -fg -geometry $geometry :1 2>/var/log/vnc.log
diff --git a/abs/core/runit-scripts/runitscripts/services/xymon-client/run b/abs/core/runit-scripts/runitscripts/services/xymon-client/run
index fcd5093..c18bf18 100644
--- a/abs/core/runit-scripts/runitscripts/services/xymon-client/run
+++ b/abs/core/runit-scripts/runitscripts/services/xymon-client/run
@@ -53,8 +53,4 @@ MACHINE="`echo $MACHINEDOTS | sed -e 's/\./,/g'`"
export MACHINE
-sudo -u nobody MACHINE=$MACHINE XYMONCLIENTHOME=$XYMONCLIENTHOME $XYMONCLIENTHOME/bin/xymonlaunch --config=$XYMONCLIENTHOME/etc/clientlaunch.cfg --log=$XYMONCLIENTHOME/logs/clientlaunch.log --pidfile=$XYMONCLIENTHOME/logs/clientlaunch.$MACHINEDOTS.pid --no-daemon
-
-
-
-
+exec chpst -u nobody $XYMONCLIENTHOME/bin/xymonlaunch --config=$XYMONCLIENTHOME/etc/clientlaunch.cfg --log=$XYMONCLIENTHOME/logs/clientlaunch.log --pidfile=$XYMONCLIENTHOME/logs/clientlaunch.$MACHINEDOTS.pid --no-daemon
diff --git a/abs/core/runit-scripts/runitscripts/services/xymon-server/run b/abs/core/runit-scripts/runitscripts/services/xymon-server/run
index 6198543..c2053b1 100644
--- a/abs/core/runit-scripts/runitscripts/services/xymon-server/run
+++ b/abs/core/runit-scripts/runitscripts/services/xymon-server/run
@@ -6,4 +6,4 @@ export TERM=linux
stat_runit "Starting xymon server"
-exec sudo -u nobody /home/xymon/server/bin/xymonlaunch --config=/home/xymon/server/etc/tasks.cfg --env=/home/xymon/server/etc/xymonserver.cfg --log=/var/log/hobbit/xymonlaunch.log --pidfile=/var/log/hobbit/xymonlaunch.pid --no-daemon
+exec chpst -u nobody /home/xymon/server/bin/xymonlaunch --config=/home/xymon/server/etc/tasks.cfg --env=/home/xymon/server/etc/xymonserver.cfg --log=/var/log/hobbit/xymonlaunch.log --pidfile=/var/log/hobbit/xymonlaunch.pid --no-daemon
diff --git a/abs/core/shared-mime-info/PKGBUILD b/abs/core/shared-mime-info/PKGBUILD
index 3b6bfa8..f2e5af0 100644
--- a/abs/core/shared-mime-info/PKGBUILD
+++ b/abs/core/shared-mime-info/PKGBUILD
@@ -1,26 +1,35 @@
-# $Id: PKGBUILD 148606 2012-02-04 11:19:59Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=shared-mime-info
-pkgver=1.0
+pkgver=1.5
pkgrel=1
pkgdesc="Freedesktop.org Shared MIME Info"
arch=('i686' 'x86_64')
-license=('GPL')
+license=('GPL2')
depends=('libxml2' 'glib2')
makedepends=('intltool' 'pkgconfig')
install=shared-mime-info.install
url="http://freedesktop.org/Software/shared-mime-info"
source=(http://freedesktop.org/~hadess/${pkgname}-${pkgver}.tar.xz)
-md5sums=('901b7977dbb2b71d12d30d4d8fb97028')
+md5sums=('cc3e78d8bceaf2b361f62d67a8b4dda4')
options=(!makeflags)
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ # https://bugs.archlinux.org/task/38836
+ # https://bugs.freedesktop.org/show_bug.cgi?id=70366
+ export ac_cv_func_fdatasync=no
./configure --prefix=/usr --disable-update-mimedb
make
}
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make -k check
+}
+
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
diff --git a/abs/core/shared-mime-info/pbm.patch b/abs/core/shared-mime-info/pbm.patch
deleted file mode 100644
index 95f9ab8..0000000
--- a/abs/core/shared-mime-info/pbm.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Naur shared-mime-info-0.70-orig/freedesktop.org.xml shared-mime-info-0.70/freedesktop.org.xml
---- shared-mime-info-0.70-orig/freedesktop.org.xml 2010-02-06 02:39:24.000000000 -0500
-+++ shared-mime-info-0.70/freedesktop.org.xml 2010-02-06 02:48:01.000000000 -0500
-@@ -17025,12 +17025,10 @@
- <magic priority="50">
- <match value="P1" type="string" offset="0">
- <match value="0x0a" type="byte" offset="2">
-- <match value="#" type="string" offset="3"/>
- </match>
- </match>
- <match value="P4" type="string" offset="0">
- <match value="0x0a" type="byte" offset="2">
-- <match value="#" type="string" offset="3"/>
- </match>
- </match>
- </magic>
-@@ -17074,12 +17072,10 @@
- <magic priority="50">
- <match value="P2" type="string" offset="0">
- <match value="0x0a" type="byte" offset="2">
-- <match value="#" type="string" offset="3"/>
- </match>
- </match>
- <match value="P5" type="string" offset="0">
- <match value="0x0a" type="byte" offset="2">
-- <match value="#" type="string" offset="3"/>
- </match>
- </match>
- </magic>
-@@ -17123,12 +17119,10 @@
- <magic priority="50">
- <match value="P3" type="string" offset="0">
- <match value="0x0a" type="byte" offset="2">
-- <match value="#" type="string" offset="3"/>
- </match>
- </match>
- <match value="P6" type="string" offset="0">
- <match value="0x0a" type="byte" offset="2">
-- <match value="#" type="string" offset="3"/>
- </match>
- </match>
- </magic>
diff --git a/abs/core/squashfs-tools/PKGBUILD b/abs/core/squashfs-tools/PKGBUILD
index 53db5b2..333d7ac 100644
--- a/abs/core/squashfs-tools/PKGBUILD
+++ b/abs/core/squashfs-tools/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 91959 2013-05-30 09:44:39Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Original TU: Jeff Mickey <j@codemac.net>
# Contributor: ciccio.a
pkgname=squashfs-tools
-pkgver=4.2
+pkgver=4.3
pkgrel=4
pkgdesc="Tools for squashfs, a highly compressed read-only filesystem for Linux."
url="http://squashfs.sourceforge.net"
license=("GPL")
arch=('i686' 'x86_64')
-depends=('zlib' 'lzo2' 'xz')
+depends=('zlib' 'lzo' 'xz' 'lz4')
source=("http://downloads.sourceforge.net/sourceforge/squashfs/squashfs${pkgver}.tar.gz")
+md5sums=('d92ab59aabf5173f2a59089531e30dbf')
build() {
cd ${srcdir}/squashfs${pkgver}/${pkgname}
- make XZ_SUPPORT=1 LZO_SUPPORT=1 LZMA_XZ_SUPPORT=1
+ make XZ_SUPPORT=1 LZO_SUPPORT=1 LZMA_XZ_SUPPORT=1 LZ4_SUPPORT=1
}
package() {
@@ -24,4 +25,3 @@ package() {
install -Dm755 mksquashfs ${pkgdir}/usr/bin/mksquashfs
install -m755 unsquashfs ${pkgdir}/usr/bin/unsquashfs
}
-md5sums=('1b7a781fb4cf8938842279bd3e8ee852')
diff --git a/abs/core/sudo/PKGBUILD b/abs/core/sudo/PKGBUILD
index 8adcf75..14f21ec 100644
--- a/abs/core/sudo/PKGBUILD
+++ b/abs/core/sudo/PKGBUILD
@@ -1,24 +1,26 @@
-# $Id: PKGBUILD 197841 2013-10-30 11:07:01Z allan $
+# $Id$
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=sudo
-_sudover=1.8.8
+_sudover=1.8.14p3
pkgver=${_sudover/p/.p}
-pkgrel=1
+pkgrel=2
pkgdesc="Give certain users the ability to run some commands as root"
arch=('i686' 'x86_64')
url="http://www.sudo.ws/sudo/"
license=('custom')
groups=('base-devel')
-depends=('glibc' 'pam')
+depends=('glibc' 'pam' 'libldap')
backup=('etc/sudoers' 'etc/pam.d/sudo')
+install=$pkgname.install
source=(http://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz{,.sig}
sudo.pam)
-sha256sums=('9f911c1e9297fb8006deb52fa81197a8d06b9d54e70672f723c467ecae992fc9'
+sha256sums=('a8a697cbb113859058944850d098464618254804cf97961dee926429f00a1237'
'SKIP'
- 'e7de79d2c73f2b32b20a8e797e54777a2bf19788ec03e48decd6c15cd93718ae')
+ 'd1738818070684a5d2c9b26224906aad69a4fea77aabd960fc2675aee2df1fa2')
+validpgpkeys=('CCB24BE9E9481B15D34159535A89DFA27EE470C4')
build() {
cd "$srcdir/$pkgname-$_sudover"
@@ -27,8 +29,14 @@ build() {
--prefix=/usr \
--sbindir=/usr/bin \
--libexecdir=/usr/lib \
+ --with-rundir=/run/sudo \
+ --with-vardir=/var/db/sudo \
--with-logfac=auth \
+ --enable-tmpfiles.d \
--with-pam \
+ --with-sssd \
+ --with-ldap \
+ --with-ldap-conf-file=/etc/openldap/ldap.conf \
--with-env-editor \
--with-passprompt="[sudo] password for %p: " \
--with-all-insults
@@ -44,6 +52,10 @@ package() {
cd "$srcdir/$pkgname-$_sudover"
make DESTDIR="$pkgdir" install
+ # Remove /run/sudo directory from the package; we create it using tmpfiles.d
+ rmdir "$pkgdir/run/sudo"
+ rmdir "$pkgdir/run"
+
install -Dm644 "$srcdir/sudo.pam" "$pkgdir/etc/pam.d/sudo"
install -Dm644 doc/LICENSE "$pkgdir/usr/share/licenses/sudo/LICENSE"
diff --git a/abs/core/sudo/sudo.install b/abs/core/sudo/sudo.install
new file mode 100644
index 0000000..1369cc1
--- /dev/null
+++ b/abs/core/sudo/sudo.install
@@ -0,0 +1,19 @@
+post_install() {
+ if type -P systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create sudo.conf
+ fi
+}
+
+pre_upgrade() {
+ # Permissions of /var/db/sudo were changed from 0700 to 0711 in sudo 1.8.10
+ # http://www.sudo.ws/repos/sudo/rev/5c38d77a2d0c
+ if (($(vercmp $2 1.8.10-1) < 0)); then
+ chmod 0711 var/db/sudo
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/sudo/sudo.pam b/abs/core/sudo/sudo.pam
index 4e586cd..ab053c5 100644
--- a/abs/core/sudo/sudo.pam
+++ b/abs/core/sudo/sudo.pam
@@ -1,3 +1,4 @@
#%PAM-1.0
-auth required pam_unix.so
-auth required pam_nologin.so
+auth include system-auth
+account include system-auth
+session include system-auth
diff --git a/abs/core/supplemental-web/PKGBUILD b/abs/core/supplemental-web/PKGBUILD
index 1101cf0..ea70a2e 100644
--- a/abs/core/supplemental-web/PKGBUILD
+++ b/abs/core/supplemental-web/PKGBUILD
@@ -1,21 +1,23 @@
pkgbase=supplemental-web
pkgname=('supplemental-web' 'supplemental-web-slave')
-pkgver=8.2
-pkgrel=6
+pkgver=8.4
+pkgrel=3
arch=('i686' 'x86_64')
license=('GPL')
backup=('data/srv/httpd/cgi/extra.cfg.txt')
-source=(lighttpd-supplement.conf extra.cfg.txt wakeonlan.sh slaveserve.py supplemental_slave.rules supplemental_web.rules )
+source=(supplemental-web.conf supplemental-web.include extra.cfg.txt wakeonlan.sh slaveserve.py supplemental_slave.rules supplemental_web.rules )
package_supplemental-web() {
pkgdesc="supplemental-web package for master backend"
- depends=('wol' 'etherwake' 'lighttpd' 'php' 'fcgi' 'python2' 'xymonserver' 'certmaster' 'func' 'python_aosd' 'shellinabox')
+ depends=('wol' 'etherwake' 'lighttpd' 'php' 'fcgi' 'python2' 'xymonserver' 'certmaster' 'func' 'python_aosd' 'shellinabox')
install=supplemental-web.install
- replaces='local-website'
- conflicts='local-website'
+ replaces=('local-website')
+ conflicts=('local-website')
MVDIR=$pkgdir/usr/MythVantage
- install -m755 -D lighttpd-supplement.conf $pkgdir/etc/gen_light_conf.d/lighttpd-supplement.conf
+ install -m744 -D supplemental-web.conf $pkgdir/etc/gen_light_conf.d/supplemental-web.conf
+ mkdir -p ${pkgdir}/etc/lighttpd
+ install -D -m 644 ${srcdir}/supplemental-web.include ${pkgdir}/etc/lighttpd/
install -m755 -D wakeonlan.sh $MVDIR/bin/wakeonlan.sh
# install -m755 -D backend_control.sh $MVDIR/bin/backend_control.sh
mkdir -p $pkgdir/data/srv/httpd/htdocs/
@@ -44,7 +46,8 @@ package_supplemental-web-slave() {
chmod 750 $pkgdir/etc/sudoers.d
}
-md5sums=('a2497205c92ad5b3aa565574afbf7f80'
+md5sums=('250b30ffb725a23c019b84cce2415d57'
+ 'a2497205c92ad5b3aa565574afbf7f80'
'3d8c7b430c1319d706ca420825918d2a'
'26598fd1dfaf5d36d7b1f9620da5543c'
'fabf825ca07502db40d78f0aae15f90b'
diff --git a/abs/core/supplemental-web/contents/header.html b/abs/core/supplemental-web/contents/header.html
index 9e1472d..831a9d5 100644
--- a/abs/core/supplemental-web/contents/header.html
+++ b/abs/core/supplemental-web/contents/header.html
@@ -54,7 +54,7 @@ function beStatus()
<li><a href="fe_status_load.shtml">MythFrontend Status</a></li>
-<li><a id="modify-me">MythBackend Status</a></li>
+<li><a href="" id="modify-me" target="_blank">MythTV WebFrontend</a></li>
<li><a href="xymon/">Health & Maintenance</a></li>
@@ -73,7 +73,7 @@ function beStatus()
<!-- <li><a onClick=r() >MythBackend Status</a></li> -->
<li><a href="calllog.shtml">Call Log</a></li>
<li><a href="mythexport/setup.cgi">MythExport</a></li>
- <li><a href="mythexpress.html">MythExpress</a></li>
+ <li><a href="mythexpress.html" target="_blank">MythExpress</a></li>
<!-- <li><a href="remyth.html" >ReMyth</a></li> -->
<li><a href="zm">ZoneMinder</a></li>
</ul>
diff --git a/abs/core/supplemental-web/supplemental-web.conf b/abs/core/supplemental-web/supplemental-web.conf
new file mode 100644
index 0000000..bad3a3e
--- /dev/null
+++ b/abs/core/supplemental-web/supplemental-web.conf
@@ -0,0 +1 @@
+include "/etc/lighttpd/supplemental-web.include"
diff --git a/abs/core/supplemental-web/lighttpd-supplement.conf b/abs/core/supplemental-web/supplemental-web.include
index a86cfc6..a86cfc6 100644
--- a/abs/core/supplemental-web/lighttpd-supplement.conf
+++ b/abs/core/supplemental-web/supplemental-web.include
diff --git a/abs/core/system-templates/PKGBUILD b/abs/core/system-templates/PKGBUILD
index 372fe8f..53043a4 100755
--- a/abs/core/system-templates/PKGBUILD
+++ b/abs/core/system-templates/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=system-templates
pkgver=8.3
-pkgrel=7
+pkgrel=11
conflicts=( )
pkgdesc="Templates used for system configuration"
depends=()
diff --git a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff2 b/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff2
deleted file mode 100644
index 6218b7f..0000000
--- a/abs/core/system-templates/templates/remotes/ATI/snapstream_firefly_ch3/lircd.conf.ff2
+++ /dev/null
@@ -1,111 +0,0 @@
-#Snapstream Firefly Channel 2
-begin remote
- name Snapstream_Firefly
- bits 40
- eps 30
- aeps 100
- one 0 0
- zero 0 0
- gap 219964
- toggle_bit 0
- begin codes
- MAXI 0x0000001491AC1000
- MAXI 0x00000014112C1000
- CLOSE 0x00000014E7021000
- CLOSE 0x0000001467821000
- 1 0x00000014728D1000
- 1 0x00000014F20D1000
- 2 0x00000014F30E1000
- 2 0x00000014738E1000
- 3 0x00000014748F1000
- 3 0x00000014F40F1000
- 4 0x00000014F5101000
- 4 0x0000001475901000
- 5 0x0000001476911000
- 5 0x00000014F6111000
- 6 0x00000014F7121000
- 6 0x0000001477921000
- 7 0x0000001478931000
- 7 0x00000014F8131000
- 8 0x00000014F9141000
- 8 0x0000001479941000
- 9 0x000000147A951000
- 9 0x00000014FA151000
- 0 0x00000014FC171000
- 0 0x000000147C971000
- BACK 0x000000147B961000
- BACK 0x00000014FB161000
- ENT 0x00000014FD181000
- ENT 0x000000147D981000
- VOL+ 0x000000146E891000
- VOL+ 0x00000014EE091000
- VOL- 0x000000146D881000
- VOL- 0x00000014ED081000
- MUTE 0x000000146F8A1000
- MUTE 0x00000014EF0A1000
- FIREFLY 0x0000001465801000
- FIREFLY 0x00000014E5001000
- CH+ 0x00000014708B1000
- CH+ 0x00000014F00B1000
- CH- 0x00000014718C1000
- CH- 0x00000014F10C1000
- INFO 0x0000001493AE1000
- INFO 0x00000014132E1000
- OPTION 0x0000001494AF1000
- OPTION 0x00000014142F1000
- UP 0x000000147F9A1000
- UP 0x00000014FF1A1000
- LEFT 0x00000014829D1000
- LEFT 0x00000014021D1000
- DOWN 0x0000001487A21000
- DOWN 0x0000001407221000
- RIGHT 0x00000014849F1000
- RIGHT 0x00000014041F1000
- OK 0x00000014839E1000
- OK 0x00000014031E1000
- MENU 0x00000014819C1000
- MENU 0x00000014011C1000
- EXIT 0x0000001485A01000
- EXIT 0x0000001405201000
- REC 0x000000140C271000
- REC 0x000000148CA71000
- PLAY 0x000000140A251000
- PLAY 0x000000148AA51000
- STOP 0x000000140D281000
- STOP 0x000000148DA81000
- REW 0x0000001409241000
- REW 0x0000001489A41000
- FWD 0x000000140B261000
- FWD 0x000000148BA61000
- PREV 0x00000014102B1000
- PREV 0x0000001490AB1000
- PAUSE 0x000000140E291000
- PAUSE 0x000000148EA91000
- NEXT 0x000000140F2A1000
- NEXT 0x000000148FAA1000
- MUSIC 0x00000014EB061000
- MUSIC 0x000000146B861000
- PHOTOS 0x00000014EA051000
- PHOTOS 0x000000146A851000
- DVD 0x00000014E9041000
- DVD 0x0000001469841000
- TV 0x00000014E8031000
- TV 0x0000001468831000
- VIDEO 0x00000014EC071000
- VIDEO 0x000000146C871000
- HELP 0x00000014E6011000
- HELP 0x0000001466811000
- MOUSE 0x00000014122D1000
- MOUSE 0x0000001492AD1000
- A 0x00000014FE191000
- A 0x000000147E991000
- B 0x00000014001B1000
- B 0x00000014809B1000
- C 0x0000001406211000
- C 0x0000001486A11000
- D 0x0000001408231000
- D 0x0000001488A31000
-
- end codes
-
-end remote
diff --git a/abs/core/system-templates/templates/remotes/favorites/dvico/wol-lircrc b/abs/core/system-templates/templates/remotes/favorites/dvico/wol-lircrc
index c241c2b..3600132 100644
--- a/abs/core/system-templates/templates/remotes/favorites/dvico/wol-lircrc
+++ b/abs/core/system-templates/templates/remotes/favorites/dvico/wol-lircrc
@@ -6,7 +6,7 @@ end
begin
prog = irxevent
button = stop
- config = Key ctrl-w CurrentWindow
+ config = Key ctrl-shift-q CurrentWindow
end
begin
prog = irxevent
diff --git a/abs/core/system-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb b/abs/core/system-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb
index 51b8cab..8a1f191 100644
--- a/abs/core/system-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb
+++ b/abs/core/system-templates/templates/remotes/favorites/mce/wol-lircrc-mceusb
@@ -6,7 +6,7 @@ end
begin
prog = irxevent
button = Stop
- config = Key ctrl-w CurrentWindow
+ config = Key ctrl-shift-q CurrentWindow
end
begin
prog = irxevent
diff --git a/abs/core/system-templates/templates/remotes/favorites/streamzap/Lircmap.xml b/abs/core/system-templates/templates/remotes/favorites/streamzap/Lircmap.xml
new file mode 100644
index 0000000..0960d0b
--- /dev/null
+++ b/abs/core/system-templates/templates/remotes/favorites/streamzap/Lircmap.xml
@@ -0,0 +1,52 @@
+<!-- ~/.kodi/userdata/Lircmap.xml -->
+<!-- -->
+<!-- This file maps XBMC_buttons to LIRC_buttons -->
+<!-- and is works with a custom ~/.kodi/userdata/remote.xml which maps -->
+<!-- XBMC_buttons to actions -->
+<!-- -->
+<!-- How to add remotes -->
+<!-- <remote device="name_Lirc_calls_the_remote"> -->
+<!-- -->
+<!-- For the commands the layout following layout is used -->
+<!-- <XBMC_button>LIRC_button</XBMC_button> -->
+
+<lircmap>
+ <remote device="Streamzap_PC_Remote">
+ <power>POWER</power>
+ <play>PLAY</play>
+ <pause>PAUSE</pause>
+ <stop>STOP</stop>
+ <forward>FOWARD</forward>
+ <reverse>REWIND</reverse>
+ <left>LEFT</left>
+ <right>RIGHT</right>
+ <up>UP</up>
+ <down>DOWN</down>
+ <pageplus>CHANNELUP</pageplus>
+ <pageminus>CHANNELDOWN</pageminus>
+ <select>OK</select>
+ <back>EXIT</back>
+ <menu>MENU</menu>
+ <title>RED</title>
+ <info>GREEN</info>
+ <display>YELLOW</display>
+ <blue>BLUE</blue>
+ <skipplus>NEXT</skipplus>
+ <skipminus>PREVIOUS</skipminus>
+ <record>RECORD</record>
+ <volumeplus>VOLUMEUP</volumeplus>
+ <volumeminus>VOLUMEDOWN</volumeminus>
+ <mute>MUTE</mute>
+ <record>RECORD</record>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+ </remote>
+</lircmap>
diff --git a/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap b/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
index 36b52fa..c2a88da 100644
--- a/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
+++ b/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
@@ -53,11 +53,11 @@ begin remote
PLAY 0x17
PAUSE 0x18
STOP 0x19
- |<< 0x1A
- >>| 0x1B
+ PREVIOUS 0x1A
+ NEXT 0x1B
RECORD 0x1C
- << 0x1D
- >> 0x1E
+ REWIND 0x1D
+ FOWARD 0x1E
RED 0x20
GREEN 0x21
YELLOW 0x22
diff --git a/abs/core/system-templates/templates/remotes/favorites/streamzap/lircrc b/abs/core/system-templates/templates/remotes/favorites/streamzap/lircrc
index 5e668b5..089c5d7 100644
--- a/abs/core/system-templates/templates/remotes/favorites/streamzap/lircrc
+++ b/abs/core/system-templates/templates/remotes/favorites/streamzap/lircrc
@@ -278,14 +278,14 @@ end
begin
prog = mythtv
# skip backward
-button = |<<
+button = PREVIOUS
config = PgUp
end
begin
prog = mythtv
# skip forward
-button = >>|
+button = NEXT
config = PgDown
end
@@ -298,14 +298,14 @@ end
begin
prog = mythtv
# rewind
-button = <<
+button = REWIND
config = Home
end
begin
prog = mythtv
# fast forward
-button = >>
+button = FOWARD
config = End
end
@@ -418,28 +418,28 @@ end
begin
prog = mplayer
# skip backward
-button = |<<
+button = PREVIOUS
config = seek -600
end
begin
prog = mplayer
# skip forward
-button = >>|
+button = NEXT
config = seek +600
end
begin
prog = mplayer
# slow forward
-button = <<
+button = REWIND
config = speed_mult 0.5
end
begin
prog = mplayer
# fast forward
-button = >>
+button = FOWARD
config = speed_mult 2.0
end
@@ -507,14 +507,14 @@ end
begin
prog = xine
-button = <<
+button = REWIND
repeat = 4
config = SeekRelative-30
end
begin
prog = xine
-button = >>
+button = FOWARD
repeat = 4
#config = SeekRelative+30
config = SpeedFaster
@@ -719,25 +719,25 @@ begin xmms
begin
prog = xmms
- button = >>|
+ button = NEXT
config = NEXT
end
begin
prog = xmms
- button = |<<
+ button = PREVIOUS
config = PREV
end
begin
prog = xmms
- button = <<
+ button = FOWARD
config = FWD 10
repeat = 2
end
begin
prog = xmms
- button = <<
+ button = REWIND
config = BWD 10
repeat = 2
end
diff --git a/abs/core/systemd/0001-fix-lingering-references-to-var-lib-backlight-random.patch b/abs/core/systemd/0001-fix-lingering-references-to-var-lib-backlight-random.patch
deleted file mode 100644
index 49b960c..0000000
--- a/abs/core/systemd/0001-fix-lingering-references-to-var-lib-backlight-random.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 6c8c92fef72cf6a7ef7109a424ef82dbdc4f6952 Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Wed, 2 Oct 2013 07:46:24 -0400
-Subject: [PATCH] fix lingering references to /var/lib/{backlight,random-seed}
-
-This should have been part of ef5bfcf668e6029faa78534dfe.
----
- man/systemd-backlight@.service.xml | 2 +-
- man/systemd-random-seed.service.xml | 2 +-
- units/systemd-backlight@.service.in | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/man/systemd-backlight@.service.xml b/man/systemd-backlight@.service.xml
-index 2b73625..4318964 100644
---- a/man/systemd-backlight@.service.xml
-+++ b/man/systemd-backlight@.service.xml
-@@ -58,7 +58,7 @@
- is a service that restores the display backlight
- brightness at early-boot and saves it at shutdown. On
- disk, the backlight brightness is stored in
-- <filename>/var/lib/backlight/</filename>. Note that by
-+ <filename>/var/lib/systemd/backlight/</filename>. Note that by
- default, only firmware backlight devices are
- saved/restored.</para>
- </refsect1>
-diff --git a/man/systemd-random-seed.service.xml b/man/systemd-random-seed.service.xml
-index 8cd14b7..e5cd037 100644
---- a/man/systemd-random-seed.service.xml
-+++ b/man/systemd-random-seed.service.xml
-@@ -61,7 +61,7 @@
- for details. Saving/restoring the random seed across
- boots increases the amount of available entropy early
- at boot. On disk the random seed is stored in
-- <filename>/var/lib/random-seed</filename>.</para>
-+ <filename>/var/lib/systemd/random-seed</filename>.</para>
- </refsect1>
-
- <refsect1>
-diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in
-index b0e75db..5caa5d5 100644
---- a/units/systemd-backlight@.service.in
-+++ b/units/systemd-backlight@.service.in
-@@ -9,7 +9,7 @@
- Description=Load/Save Screen Backlight Brightness of %I
- Documentation=man:systemd-backlight@.service(8)
- DefaultDependencies=no
--RequiresMountsFor=/var/lib/backlight
-+RequiresMountsFor=/var/lib/systemd/backlight
- Conflicts=shutdown.target
- After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service
- Before=sysinit.target shutdown.target
---
-1.8.4
-
diff --git a/abs/core/systemd/0001-fstab-generator-When-parsing-the-root-cmdline-option.patch b/abs/core/systemd/0001-fstab-generator-When-parsing-the-root-cmdline-option.patch
deleted file mode 100644
index 3cdbcf0..0000000
--- a/abs/core/systemd/0001-fstab-generator-When-parsing-the-root-cmdline-option.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7f5806d7095a197e4788a7803642831beec295bf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
-Date: Mon, 30 Sep 2013 00:32:33 +0200
-Subject: [PATCH 1/7] fstab-generator: When parsing the root= cmdline option,
- set FsckPassNo to 1
-
-[tomegun: without this we would never fsck the rootfs if it was directly
-mounted 'rw' from the initrd. We now risk fsck'ing it twice in the case it
-is mounted 'ro', so that should be addressed in a separate patch.]
----
- src/fstab-generator/fstab-generator.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
-index 9e7d55d..a7536f8 100644
---- a/src/fstab-generator/fstab-generator.c
-+++ b/src/fstab-generator/fstab-generator.c
-@@ -442,7 +442,7 @@ static int parse_new_root_from_proc_cmdline(void) {
- }
-
- log_debug("Found entry what=%s where=/sysroot type=%s", what, type);
-- r = add_mount(what, "/sysroot", type, opts, 0, noauto, nofail, false,
-+ r = add_mount(what, "/sysroot", type, opts, 1, noauto, nofail, false,
- SPECIAL_INITRD_ROOT_FS_TARGET, "/proc/cmdline");
-
- return (r < 0) ? r : 0;
---
-1.8.5.1
-
diff --git a/abs/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch b/abs/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch
deleted file mode 100644
index 9a92209..0000000
--- a/abs/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 95842c3f552072c9d153b3c0200f1bbb5bc3c2fb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
-Date: Sun, 15 Dec 2013 12:18:00 +0100
-Subject: [PATCH] login: Don't stop a running user manager from
- garbage-collecting the user.
-
-With the current logic, a user will never be garbage-collected, since its
-manager will always be around. Change the logic such that a user is
-garbage-collected when it has no sessions and linger is disabled.
-
-This is a backport from the master branch to 208 which also backports
-the improved handling of running slice and service jobs.
----
- src/login/logind-user.c | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/src/login/logind-user.c b/src/login/logind-user.c
-index adbe638..e2fce5c 100644
---- a/src/login/logind-user.c
-+++ b/src/login/logind-user.c
-@@ -629,12 +629,6 @@ int user_check_gc(User *u, bool drop_not_started) {
- if (u->slice_job || u->service_job)
- return 1;
-
-- if (u->slice && manager_unit_is_active(u->manager, u->slice) != 0)
-- return 1;
--
-- if (u->service && manager_unit_is_active(u->manager, u->service) != 0)
-- return 1;
--
- return 0;
- }
-
---
-1.8.5.1
-
diff --git a/abs/core/systemd/0001-mount-check-for-NULL-before-reading-pm-what.patch b/abs/core/systemd/0001-mount-check-for-NULL-before-reading-pm-what.patch
deleted file mode 100644
index 2725648..0000000
--- a/abs/core/systemd/0001-mount-check-for-NULL-before-reading-pm-what.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 9c03872bc8fb2a381eafe7301ef9811b641686dd Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Fri, 4 Oct 2013 18:22:40 -0400
-Subject: [PATCH] mount: check for NULL before reading pm->what
-
-Since a57f7e2c828b85, a mount unit with garbage in it would cause
-systemd to crash on loading it.
-
-ref: https://bugs.freedesktop.org/show_bug.cgi?id=70148
----
- src/core/mount.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/mount.c b/src/core/mount.c
-index 93bfa99..db055f0 100644
---- a/src/core/mount.c
-+++ b/src/core/mount.c
-@@ -182,7 +182,7 @@ static int mount_add_mount_links(Mount *m) {
- * for the source path (if this is a bind mount) to be
- * available. */
- pm = get_mount_parameters_fragment(m);
-- if (pm && path_is_absolute(pm->what)) {
-+ if (pm && pm->what && path_is_absolute(pm->what)) {
- r = unit_require_mounts_for(UNIT(m), pm->what);
- if (r < 0)
- return r;
---
-1.8.4.1
-
diff --git a/abs/core/systemd/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch b/abs/core/systemd/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch
deleted file mode 100644
index 8c8ea46..0000000
--- a/abs/core/systemd/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 1d5989fd803d2019de0f6aaaf3cfb1cb2bbc3cdb Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner@archlinux.org>
-Date: Sun, 6 Oct 2013 18:26:23 -0400
-Subject: [PATCH] shared/util: fix off-by-one error in tag_to_udev_node
-
-Triggered false negatives when encoding a string which needed every
-character to be escaped, e.g. "LABEL=/".
----
- src/shared/util.c | 2 +-
- src/test/test-device-nodes.c | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/shared/util.c b/src/shared/util.c
-index 82f4221..31cea79 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -3527,7 +3527,7 @@ static char *tag_to_udev_node(const char *tagvalue, const char *by) {
- if (u == NULL)
- return NULL;
-
-- enc_len = strlen(u) * 4;
-+ enc_len = strlen(u) * 4 + 1;
- t = new(char, enc_len);
- if (t == NULL)
- return NULL;
-diff --git a/src/test/test-device-nodes.c b/src/test/test-device-nodes.c
-index 2f3dedb..59ba4be 100644
---- a/src/test/test-device-nodes.c
-+++ b/src/test/test-device-nodes.c
-@@ -26,7 +26,7 @@
-
- /* helpers for test_encode_devnode_name */
- static char *do_encode_string(const char *in) {
-- size_t out_len = strlen(in) * 4;
-+ size_t out_len = strlen(in) * 4 + 1;
- char *out = malloc(out_len);
-
- assert_se(out);
-@@ -46,6 +46,8 @@ static void test_encode_devnode_name(void) {
- assert_se(expect_encoded_as("pinkiepie", "pinkiepie"));
- assert_se(expect_encoded_as("valíd\\ųtf8", "valíd\\x5cųtf8"));
- assert_se(expect_encoded_as("s/ash/ng", "s\\x2fash\\x2fng"));
-+ assert_se(expect_encoded_as("/", "\\x2f"));
-+ assert_se(expect_encoded_as("!", "\\x21"));
- }
-
- int main(int argc, char *argv[]) {
---
-1.8.4.1
-
diff --git a/abs/core/systemd/0002-fstab-generator-Generate-explicit-dependencies-on-sy.patch b/abs/core/systemd/0002-fstab-generator-Generate-explicit-dependencies-on-sy.patch
deleted file mode 100644
index 57edf64..0000000
--- a/abs/core/systemd/0002-fstab-generator-Generate-explicit-dependencies-on-sy.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 64e70e4b86d3f732d3513189312f6220d1d5cfbc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
-Date: Mon, 30 Sep 2013 01:34:44 +0200
-Subject: [PATCH 2/7] fstab-generator: Generate explicit dependencies on
- systemd-fsck@.service instead of using FsckPassNo
-
-[tomegun:
- * order all fsck instances after fsck-root
- * check for OOM
- * added notes in the manpages]
----
- man/systemd-fsck@.service.xml | 3 ++-
- man/systemd-fstab-generator.xml | 5 +++++
- src/fstab-generator/fstab-generator.c | 21 +++++++++++++++++----
- units/systemd-fsck@.service.in | 2 +-
- 4 files changed, 25 insertions(+), 6 deletions(-)
-
-diff --git a/man/systemd-fsck@.service.xml b/man/systemd-fsck@.service.xml
-index e934352..17bd1c0 100644
---- a/man/systemd-fsck@.service.xml
-+++ b/man/systemd-fsck@.service.xml
-@@ -62,7 +62,8 @@
- system
- check. <filename>systemd-fsck-root.service</filename> is
- responsible for file system checks on the root
-- file system.</para>
-+ file system. The root file system check is performed
-+ before the other file systems.</para>
-
- <para><filename>systemd-fsck</filename> will
- forward file system checking progress to the
-diff --git a/man/systemd-fstab-generator.xml b/man/systemd-fstab-generator.xml
-index 9ca16c7..740db8f 100644
---- a/man/systemd-fstab-generator.xml
-+++ b/man/systemd-fstab-generator.xml
-@@ -61,6 +61,11 @@
- reloaded. This will instantiate mount and swap units
- as necessary.</para>
-
-+ <para>The <term><varname>passno</varname></term> field
-+ is treated like a simlpe boolean, and the ordering information
-+ is discarded. However, the root filesystem is checked
-+ before all the other filesystems.</para>
-+
- <para>See
- <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- and
-diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
-index a7536f8..77247de 100644
---- a/src/fstab-generator/fstab-generator.c
-+++ b/src/fstab-generator/fstab-generator.c
-@@ -209,17 +209,30 @@ static int add_mount(
- "Before=%s\n",
- post);
-
-+ if (passno > 0) {
-+ _cleanup_free_ char *fsck = NULL;
-+
-+ fsck = unit_name_from_path_instance("systemd-fsck", what, ".service");
-+ if (!fsck)
-+ return log_oom();
-+
-+ fprintf(f,
-+ "Requires=%s\n"
-+ "After=%s\n",
-+ fsck,
-+ fsck);
-+ }
-+
-+
- fprintf(f,
- "\n"
- "[Mount]\n"
- "What=%s\n"
- "Where=%s\n"
-- "Type=%s\n"
-- "FsckPassNo=%i\n",
-+ "Type=%s\n",
- what,
- where,
-- type,
-- passno);
-+ type);
-
- if (!isempty(opts) &&
- !streq(opts, "defaults"))
-diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in
-index e229cdc..c12efa8 100644
---- a/units/systemd-fsck@.service.in
-+++ b/units/systemd-fsck@.service.in
-@@ -10,7 +10,7 @@ Description=File System Check on %f
- Documentation=man:systemd-fsck@.service(8)
- DefaultDependencies=no
- BindsTo=%i.device
--After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device
-+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device systemd-fsck-root.service
- Before=shutdown.target
-
- [Service]
---
-1.8.5.1
-
diff --git a/abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch b/abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch
deleted file mode 100644
index c1b3aa0..0000000
--- a/abs/core/systemd/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 4c8bda2442bfc6d84a5deb241dc29efcb81bf3af Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
-Date: Mon, 30 Sep 2013 01:34:45 +0200
-Subject: [PATCH 3/7] gpt-auto-generator: Generate explicit dependencies on
- systemd-fsck@.service instead of using FsckPassNo
-
-[tomegun: check for OOM]
----
- src/gpt-auto-generator/gpt-auto-generator.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
-index fae4b71..25440e7 100644
---- a/src/gpt-auto-generator/gpt-auto-generator.c
-+++ b/src/gpt-auto-generator/gpt-auto-generator.c
-@@ -182,7 +182,7 @@ static int add_swap(const char *path, const char *fstype) {
- }
-
- static int add_home(const char *path, const char *fstype) {
-- _cleanup_free_ char *unit = NULL, *lnk = NULL;
-+ _cleanup_free_ char *unit = NULL, *lnk = NULL, *fsck = NULL;
- _cleanup_fclose_ FILE *f = NULL;
-
- if (dir_is_empty("/home") <= 0)
-@@ -200,19 +200,23 @@ static int add_home(const char *path, const char *fstype) {
- return -errno;
- }
-
-+ fsck = unit_name_from_path_instance("systemd-fsck", path, ".service");
-+ if (!fsck)
-+ return log_oom();
-+
- fprintf(f,
- "# Automatically generated by systemd-gpt-auto-generator\n\n"
- "[Unit]\n"
- "DefaultDependencies=no\n"
-- "After=" SPECIAL_LOCAL_FS_PRE_TARGET "\n"
-+ "Requires=%s\n"
-+ "After=" SPECIAL_LOCAL_FS_PRE_TARGET " %s\n"
- "Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
- "Before=" SPECIAL_UMOUNT_TARGET " " SPECIAL_LOCAL_FS_TARGET "\n\n"
- "[Mount]\n"
- "What=%s\n"
- "Where=/home\n"
-- "Type=%s\n"
-- "FsckPassNo=2\n",
-- path, fstype);
-+ "Type=%s\n",
-+ fsck, fsck, path, fstype);
-
- fflush(f);
- if (ferror(f)) {
---
-1.8.5.1
-
diff --git a/abs/core/systemd/0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch b/abs/core/systemd/0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch
deleted file mode 100644
index 90ff545..0000000
--- a/abs/core/systemd/0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 4952a9beff339b75641a7a84c226c11d6bd680c4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
-Date: Mon, 30 Sep 2013 01:34:46 +0200
-Subject: [PATCH 4/7] Remove FsckPassNo from systemd-fsck-root.service
-
----
- units/systemd-fsck-root.service.in | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/units/systemd-fsck-root.service.in b/units/systemd-fsck-root.service.in
-index 4388314..4162983 100644
---- a/units/systemd-fsck-root.service.in
-+++ b/units/systemd-fsck-root.service.in
-@@ -19,5 +19,4 @@ Type=oneshot
- RemainAfterExit=yes
- ExecStart=@rootlibexecdir@/systemd-fsck
- StandardOutput=journal+console
--FsckPassNo=1
- TimeoutSec=0
---
-1.8.5.1
-
diff --git a/abs/core/systemd/0005-mount-service-drop-FsckPassNo-support.patch b/abs/core/systemd/0005-mount-service-drop-FsckPassNo-support.patch
deleted file mode 100644
index 9758c46..0000000
--- a/abs/core/systemd/0005-mount-service-drop-FsckPassNo-support.patch
+++ /dev/null
@@ -1,364 +0,0 @@
-From accdd018ede77ef1c057775396c18c73406cbcb4 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Sat, 5 Oct 2013 17:28:09 +0200
-Subject: [PATCH 5/7] mount/service: drop FsckPassNo support
-
-We now treat passno as boleans in the generators, and don't need this any more. fsck itself
-is able to sequentialize checks on the same local media, so in the common case the ordering
-is redundant.
-
-It is still possible to force an order by using .d fragments, in case that is desired.
----
- TODO | 4 ---
- man/systemd.mount.xml | 22 ---------------
- man/systemd.service.xml | 27 -------------------
- src/core/load-fragment-gperf.gperf.m4 | 2 --
- src/core/load-fragment.c | 30 ---------------------
- src/core/load-fragment.h | 1 -
- src/core/mount.c | 32 +---------------------
- src/core/mount.h | 1 -
- src/core/service.c | 51 -----------------------------------
- src/core/service.h | 2 --
- 10 files changed, 1 insertion(+), 171 deletions(-)
-
-diff --git a/TODO b/TODO
-index 29a76ef..f0060d9 100644
---- a/TODO
-+++ b/TODO
-@@ -84,8 +84,6 @@ Features:
-
- * ensure scope units may be started only a single time
-
--* document that in instead of FsckPassNo= people should just add a manual dep to systemd-fsck@.service to their mount units.
--
- * better error message if you run systemctl without systemd running
-
- * systemctl status output should should include list of triggering units and their status
-@@ -562,8 +560,6 @@ Features:
-
- * when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
-
--* move passno parsing to fstab generator
--
- * automount: implement expire:
- - set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD
- - periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD
-diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml
-index 48af1ca..217289a 100644
---- a/man/systemd.mount.xml
-+++ b/man/systemd.mount.xml
-@@ -273,28 +273,6 @@
- </refsect1>
-
- <refsect1>
-- <title>Compatibility Options</title>
--
-- <para>The following option is also available in the
-- <literal>[Mount]</literal> section, but exists purely
-- for compatibility reasons and should not be used in
-- newly written mount files.</para>
--
-- <variablelist class='unit-directives'>
-- <varlistentry>
-- <term><varname>FsckPassNo=</varname></term>
--
-- <listitem><para>The pass number for
-- the file system checking service for
-- this mount. See
-- <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-- for more information on this setting.
-- </para></listitem>
-- </varlistentry>
-- </variablelist>
-- </refsect1>
--
-- <refsect1>
- <title>See Also</title>
- <para>
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-diff --git a/man/systemd.service.xml b/man/systemd.service.xml
-index 81a4078..b1e3af2 100644
---- a/man/systemd.service.xml
-+++ b/man/systemd.service.xml
-@@ -970,33 +970,6 @@
- range 0-99.</para></listitem>
- </varlistentry>
-
-- <varlistentry>
-- <term><varname>FsckPassNo=</varname></term>
-- <listitem><para>Set the fsck passno
-- priority to use to order this service
-- in relation to other file system
-- checking services. This option is only
-- necessary to fix ordering in relation
-- to fsck jobs automatically created for
-- all <filename>/etc/fstab</filename>
-- entries with a value in the fs_passno
-- column > 0. As such it should only be
-- used as option for fsck
-- services. Almost always it is a better
-- choice to add explicit ordering
-- directives via
-- <varname>After=</varname> or
-- <varname>Before=</varname>,
-- instead. For more details see
-- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. If
-- used, pass an integer value in the
-- same range as
-- <filename>/etc/fstab</filename>'s
-- fs_passno column. See
-- <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-- for details.</para></listitem>
-- </varlistentry>
--
- </variablelist>
- </refsect1>
-
-diff --git a/src/core/load-fragment-gperf.gperf.m4 b/src/core/load-fragment-gperf.gperf.m4
-index 31fb7bc..e3025d2 100644
---- a/src/core/load-fragment-gperf.gperf.m4
-+++ b/src/core/load-fragment-gperf.gperf.m4
-@@ -173,7 +173,6 @@ Service.NonBlocking, config_parse_bool, 0,
- Service.BusName, config_parse_unit_string_printf, 0, offsetof(Service, bus_name)
- Service.NotifyAccess, config_parse_notify_access, 0, offsetof(Service, notify_access)
- Service.Sockets, config_parse_service_sockets, 0, 0
--Service.FsckPassNo, config_parse_fsck_passno, 0, offsetof(Service, fsck_passno)
- EXEC_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
- CGROUP_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
- KILL_CONTEXT_CONFIG_ITEMS(Service)m4_dnl
-@@ -225,7 +224,6 @@ Mount.What, config_parse_string, 0,
- Mount.Where, config_parse_path, 0, offsetof(Mount, where)
- Mount.Options, config_parse_string, 0, offsetof(Mount, parameters_fragment.options)
- Mount.Type, config_parse_string, 0, offsetof(Mount, parameters_fragment.fstype)
--Mount.FsckPassNo, config_parse_fsck_passno, 0, offsetof(Mount, parameters_fragment.passno)
- Mount.TimeoutSec, config_parse_sec, 0, offsetof(Mount, timeout_usec)
- Mount.DirectoryMode, config_parse_mode, 0, offsetof(Mount, directory_mode)
- EXEC_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl
-diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
-index fb7efca..4067930 100644
---- a/src/core/load-fragment.c
-+++ b/src/core/load-fragment.c
-@@ -1033,35 +1033,6 @@ int config_parse_sysv_priority(const char *unit,
- }
- #endif
-
--int config_parse_fsck_passno(const char *unit,
-- const char *filename,
-- unsigned line,
-- const char *section,
-- const char *lvalue,
-- int ltype,
-- const char *rvalue,
-- void *data,
-- void *userdata) {
--
-- int *passno = data;
-- int i, r;
--
-- assert(filename);
-- assert(lvalue);
-- assert(rvalue);
-- assert(data);
--
-- r = safe_atoi(rvalue, &i);
-- if (r || i < 0) {
-- log_syntax(unit, LOG_ERR, filename, line, -r,
-- "Failed to parse fsck pass number, ignoring: %s", rvalue);
-- return 0;
-- }
--
-- *passno = (int) i;
-- return 0;
--}
--
- DEFINE_CONFIG_PARSE_ENUM(config_parse_kill_mode, kill_mode, KillMode, "Failed to parse kill mode");
-
- int config_parse_kill_signal(const char *unit,
-@@ -2708,7 +2679,6 @@ void unit_dump_config_items(FILE *f) {
- { config_parse_start_limit_action, "ACTION" },
- { config_parse_set_status, "STATUS" },
- { config_parse_service_sockets, "SOCKETS" },
-- { config_parse_fsck_passno, "PASSNO" },
- { config_parse_environ, "ENVIRON" },
- { config_parse_syscall_filter, "SYSCALL" },
- { config_parse_cpu_shares, "SHARES" },
-diff --git a/src/core/load-fragment.h b/src/core/load-fragment.h
-index 90e5e3a..404df76 100644
---- a/src/core/load-fragment.h
-+++ b/src/core/load-fragment.h
-@@ -56,7 +56,6 @@ int config_parse_exec_secure_bits(const char *unit, const char *filename, unsign
- int config_parse_bounding_set(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
- int config_parse_limit(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
- int config_parse_sysv_priority(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
--int config_parse_fsck_passno(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
- int config_parse_kill_signal(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
- int config_parse_exec_mount_flags(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
- int config_parse_timer(const char *unit, const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
-diff --git a/src/core/mount.c b/src/core/mount.c
-index 70cd372..88563b3 100644
---- a/src/core/mount.c
-+++ b/src/core/mount.c
-@@ -313,33 +313,6 @@ static int mount_add_device_links(Mount *m) {
- if (r < 0)
- return r;
-
-- if (p->passno > 0 &&
-- UNIT(m)->manager->running_as == SYSTEMD_SYSTEM) {
-- char *name;
-- Unit *fsck;
-- /* Let's add in the fsck service */
--
-- /* aka SPECIAL_FSCK_SERVICE */
-- name = unit_name_from_path_instance("systemd-fsck", p->what, ".service");
-- if (!name)
-- return -ENOMEM;
--
-- r = manager_load_unit_prepare(UNIT(m)->manager, name, NULL, NULL, &fsck);
-- if (r < 0) {
-- log_warning_unit(name,
-- "Failed to prepare unit %s: %s", name, strerror(-r));
-- free(name);
-- return r;
-- }
-- free(name);
--
-- SERVICE(fsck)->fsck_passno = p->passno;
--
-- r = unit_add_two_dependencies(UNIT(m), UNIT_AFTER, UNIT_REQUIRES, fsck, true);
-- if (r < 0)
-- return r;
-- }
--
- return 0;
- }
-
-@@ -1410,7 +1383,6 @@ static int mount_add_one(
- const char *where,
- const char *options,
- const char *fstype,
-- int passno,
- bool set_flags) {
- int r;
- Unit *u;
-@@ -1530,8 +1502,6 @@ static int mount_add_one(
- free(p->fstype);
- p->fstype = f;
-
-- p->passno = passno;
--
- if (load_extras) {
- r = mount_add_extras(MOUNT(u));
- if (r < 0)
-@@ -1601,7 +1571,7 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) {
- if (!d || !p)
- return log_oom();
-
-- k = mount_add_one(m, d, p, o, fstype, 0, set_flags);
-+ k = mount_add_one(m, d, p, o, fstype, set_flags);
- if (k < 0)
- r = k;
- }
-diff --git a/src/core/mount.h b/src/core/mount.h
-index 7cd4320..a955069 100644
---- a/src/core/mount.h
-+++ b/src/core/mount.h
-@@ -58,7 +58,6 @@ typedef struct MountParameters {
- char *what;
- char *options;
- char *fstype;
-- int passno;
- } MountParameters;
-
- typedef enum MountResult {
-diff --git a/src/core/service.c b/src/core/service.c
-index 96ed2d3..ce75757 100644
---- a/src/core/service.c
-+++ b/src/core/service.c
-@@ -1056,48 +1056,6 @@ static int service_load_sysv(Service *s) {
- }
- #endif
-
--static int fsck_fix_order(Service *s) {
-- Unit *other;
-- int r;
--
-- assert(s);
--
-- if (s->fsck_passno <= 0)
-- return 0;
--
-- /* For each pair of services where both have an fsck priority
-- * we order things based on it. */
--
-- LIST_FOREACH(units_by_type, other, UNIT(s)->manager->units_by_type[UNIT_SERVICE]) {
-- Service *t;
-- UnitDependency d;
--
-- t = SERVICE(other);
--
-- if (s == t)
-- continue;
--
-- if (UNIT(t)->load_state != UNIT_LOADED)
-- continue;
--
-- if (t->fsck_passno <= 0)
-- continue;
--
-- if (t->fsck_passno < s->fsck_passno)
-- d = UNIT_AFTER;
-- else if (t->fsck_passno > s->fsck_passno)
-- d = UNIT_BEFORE;
-- else
-- continue;
--
-- r = unit_add_dependency(UNIT(s), d, UNIT(t), true);
-- if (r < 0)
-- return r;
-- }
--
-- return 0;
--}
--
- static int service_verify(Service *s) {
- assert(s);
-
-@@ -1254,10 +1212,6 @@ static int service_load(Unit *u) {
- return r;
- #endif
-
-- r = fsck_fix_order(s);
-- if (r < 0)
-- return r;
--
- if (s->bus_name)
- if ((r = unit_watch_bus_name(u, s->bus_name)) < 0)
- return r;
-@@ -1381,11 +1335,6 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) {
- prefix, s->sysv_runlevels);
- #endif
-
-- if (s->fsck_passno > 0)
-- fprintf(f,
-- "%sFsckPassNo: %i\n",
-- prefix, s->fsck_passno);
--
- if (s->status_text)
- fprintf(f, "%sStatus Text: %s\n",
- prefix, s->status_text);
-diff --git a/src/core/service.h b/src/core/service.h
-index ce5b5e0..37fa6ff 100644
---- a/src/core/service.h
-+++ b/src/core/service.h
-@@ -157,8 +157,6 @@ struct Service {
- pid_t main_pid, control_pid;
- int socket_fd;
-
-- int fsck_passno;
--
- bool permissions_start_only;
- bool root_directory_start_only;
- bool remain_after_exit;
---
-1.8.5.1
-
diff --git a/abs/core/systemd/0006-efi-boot-generator-hookup-to-fsck.patch b/abs/core/systemd/0006-efi-boot-generator-hookup-to-fsck.patch
deleted file mode 100644
index 3830ecf..0000000
--- a/abs/core/systemd/0006-efi-boot-generator-hookup-to-fsck.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From d09ee17da21b7ca2259067ac4e54f8a1cc3c0fc0 Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Sat, 5 Oct 2013 17:32:21 +0200
-Subject: [PATCH 6/7] efi-boot-generator: hookup to fsck
-
----
- TODO | 1 -
- src/efi-boot-generator/efi-boot-generator.c | 26 ++++++++++++++++++++++----
- 2 files changed, 22 insertions(+), 5 deletions(-)
-
-diff --git a/TODO b/TODO
-index f0060d9..814d82d 100644
---- a/TODO
-+++ b/TODO
-@@ -308,7 +308,6 @@ Features:
- * introduce ExecCondition= in services
-
- * EFI:
-- - fsck hookup for the ESP mount is missing
- - write man page for efi boot generator
- - honor language efi variables for default language selection (if there are any?)
- - honor timezone efi variables for default timezone selection (if there are any?)
-diff --git a/src/efi-boot-generator/efi-boot-generator.c b/src/efi-boot-generator/efi-boot-generator.c
-index 05b95ed..e20d325 100644
---- a/src/efi-boot-generator/efi-boot-generator.c
-+++ b/src/efi-boot-generator/efi-boot-generator.c
-@@ -26,13 +26,14 @@
- #include "path-util.h"
- #include "util.h"
- #include "mkdir.h"
-+#include "unit-name.h"
-
- static const char *arg_dest = "/tmp";
-
- int main(int argc, char *argv[]) {
- int r = EXIT_SUCCESS;
- sd_id128_t id;
-- _cleanup_free_ char *name = NULL;
-+ _cleanup_free_ char *name = NULL, *what = NULL, *fsck = NULL;
- _cleanup_fclose_ FILE *f = NULL;
-
- if (argc > 1 && argc != 4) {
-@@ -75,15 +76,32 @@ int main(int argc, char *argv[]) {
- return EXIT_FAILURE;
- }
-
-+ r = asprintf(&what,
-+ "/dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
-+ SD_ID128_FORMAT_VAL(id));
-+ if (r < 0) {
-+ log_oom();
-+ return EXIT_FAILURE;
-+ }
-+
-+ fsck = unit_name_from_path_instance("systemd-fsck", what, ".service");
-+ if (!fsck) {
-+ log_oom();
-+ return EXIT_FAILURE;
-+ }
-+
- fprintf(f,
- "# Automatially generated by systemd-efi-boot-generator\n\n"
- "[Unit]\n"
-- "Description=EFI System Partition\n\n"
-+ "Description=EFI System Partition\n"
-+ "Requires=%s\n"
-+ "After=%s\n"
-+ "\n"
- "[Mount]\n"
- "Where=/boot\n"
-- "What=/dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n"
-+ "What=%s\n"
- "Options=umask=0077\n",
-- SD_ID128_FORMAT_VAL(id));
-+ fsck, fsck, what);
-
- free(name);
- name = strjoin(arg_dest, "/boot.automount", NULL);
---
-1.8.5.1
-
diff --git a/abs/core/systemd/0007-fsck-root-only-run-when-requested-in-fstab.patch b/abs/core/systemd/0007-fsck-root-only-run-when-requested-in-fstab.patch
deleted file mode 100644
index 112b5b5..0000000
--- a/abs/core/systemd/0007-fsck-root-only-run-when-requested-in-fstab.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From a7623afb7a48ab1d7b5b24fbd5f1033acfb2301c Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Sat, 19 Oct 2013 11:38:42 +0200
-Subject: [PATCH 7/7] fsck-root: only run when requested in fstab
-
-fsck-root is redundant in case an initrd is used, or in case the rootfs
-is never remounted 'rw', so the new default is the correct behavior for
-most users. For the rest, they should enable it in fstab.
----
- Makefile.am | 1 -
- man/systemd-fsck@.service.xml | 4 +++-
- src/fstab-generator/fstab-generator.c | 31 ++++++++++++++++++++++---------
- 3 files changed, 25 insertions(+), 11 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index ca01179..a29a32a 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -4447,7 +4447,6 @@ SYSINIT_TARGET_WANTS += \
- systemd-update-utmp.service
- LOCAL_FS_TARGET_WANTS += \
- systemd-remount-fs.service \
-- systemd-fsck-root.service \
- tmp.mount
- MULTI_USER_TARGET_WANTS += \
- getty.target \
-diff --git a/man/systemd-fsck@.service.xml b/man/systemd-fsck@.service.xml
-index 17bd1c0..811392b 100644
---- a/man/systemd-fsck@.service.xml
-+++ b/man/systemd-fsck@.service.xml
-@@ -63,7 +63,9 @@
- check. <filename>systemd-fsck-root.service</filename> is
- responsible for file system checks on the root
- file system. The root file system check is performed
-- before the other file systems.</para>
-+ before the other file systems. Either service is enabled
-+ at boot if passno in <filename>/etc/fstab</filename> for
-+ the filesystem is set to a value greater than zero.</para>
-
- <para><filename>systemd-fsck</filename> will
- forward file system checking progress to the
-diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
-index 77247de..78d7609 100644
---- a/src/fstab-generator/fstab-generator.c
-+++ b/src/fstab-generator/fstab-generator.c
-@@ -210,17 +210,29 @@ static int add_mount(
- post);
-
- if (passno > 0) {
-- _cleanup_free_ char *fsck = NULL;
-+ if (streq(where, "/")) {
-+ lnk = strjoin(arg_dest, "/", SPECIAL_LOCAL_FS_TARGET, ".wants/", "systemd-fsck-root.service", NULL);
-+ if (!lnk)
-+ return log_oom();
-
-- fsck = unit_name_from_path_instance("systemd-fsck", what, ".service");
-- if (!fsck)
-- return log_oom();
-+ mkdir_parents_label(lnk, 0755);
-+ if (symlink("systemd-fsck-root.service", lnk) < 0) {
-+ log_error("Failed to create symlink %s: %m", lnk);
-+ return -errno;
-+ }
-+ } else {
-+ _cleanup_free_ char *fsck = NULL;
-
-- fprintf(f,
-- "Requires=%s\n"
-- "After=%s\n",
-- fsck,
-- fsck);
-+ fsck = unit_name_from_path_instance("systemd-fsck", what, ".service");
-+ if (!fsck)
-+ return log_oom();
-+
-+ fprintf(f,
-+ "Requires=%s\n"
-+ "After=%s\n",
-+ fsck,
-+ fsck);
-+ }
- }
-
-
-@@ -248,6 +260,7 @@ static int add_mount(
-
- if (!noauto) {
- if (post) {
-+ free(lnk);
- lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL);
- if (!lnk)
- return log_oom();
---
-1.8.5.1
-
diff --git a/abs/core/systemd/PKGBUILD b/abs/core/systemd/PKGBUILD
index ff7a51d..6e4bc37 100755..100644
--- a/abs/core/systemd/PKGBUILD
+++ b/abs/core/systemd/PKGBUILD
@@ -2,149 +2,163 @@
# Maintainer: Tom Gundersen <teg@jklm.no>
pkgbase=systemd
-pkgname=('systemd' 'systemd-sysvcompat')
-pkgver=208
-pkgrel=5
+pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat')
+pkgver=224
+pkgrel=1
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/systemd"
-makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gobject-introspection' 'gperf'
- 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libgcrypt' 'libmicrohttpd' 'libxslt'
- 'linux-api-headers' 'pam' 'python2' 'quota-tools' 'xz')
+makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam'
+ 'intltool' 'iptables' 'kmod' 'libcap' 'libidn' 'libgcrypt'
+ 'libmicrohttpd' 'libxslt' 'util-linux' 'linux-api-headers'
+ 'python2-lxml' 'quota-tools' 'shadow' 'gnu-efi-libs' 'git')
options=('strip' 'debug')
-source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
+source=("git://github.com/systemd/systemd.git#tag=v$pkgver"
'initcpio-hook-udev'
'initcpio-install-systemd'
'initcpio-install-udev'
- '0001-fix-lingering-references-to-var-lib-backlight-random.patch'
- '0001-mount-check-for-NULL-before-reading-pm-what.patch'
- '0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch'
- '0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch'
- '0001-fstab-generator-When-parsing-the-root-cmdline-option.patch'
- '0002-fstab-generator-Generate-explicit-dependencies-on-sy.patch'
- '0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch'
- '0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch'
- '0005-mount-service-drop-FsckPassNo-support.patch'
- '0006-efi-boot-generator-hookup-to-fsck.patch'
- '0007-fsck-root-only-run-when-requested-in-fstab.patch')
+ 'arch.conf'
+ 'loader.conf'
+ 'splash-arch.bmp')
+md5sums=('SKIP'
+ '90ea67a7bb237502094914622a39e281'
+ '976c5511b6493715e381f43f16cdb151'
+ '1b3aa3a0551b08af9305d33f85b5c2fc'
+ '20ead378f5d6df4b2a3e670301510a7d'
+ 'ddaef54f68f6c86c6c07835fc668f62a'
+ '1e2f9a8b0fa32022bf0a8f39123e5f4e')
prepare() {
- cd "$pkgname-$pkgver"
- patch -Np1 < "$srcdir"/0001-fix-lingering-references-to-var-lib-backlight-random.patch
- patch -Np1 < "$srcdir"/0001-mount-check-for-NULL-before-reading-pm-what.patch
- patch -Np1 < "$srcdir"/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch
- # Fix lingering user managers
- patch -Np1 < "$srcdir"/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch
- # Backport changes in fstab passno handling
- # Basically, we only need 0001 and 0007, but 0007 is based on earlier patches,
- # and it doesn't hurt to backport them all.
- patch -Np1 < "$srcdir"/0001-fstab-generator-When-parsing-the-root-cmdline-option.patch
- patch -Np1 < "$srcdir"/0002-fstab-generator-Generate-explicit-dependencies-on-sy.patch
- patch -Np1 < "$srcdir"/0003-gpt-auto-generator-Generate-explicit-dependencies-on.patch
- patch -Np1 < "$srcdir"/0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch
- patch -Np1 < "$srcdir"/0005-mount-service-drop-FsckPassNo-support.patch
- patch -Np1 < "$srcdir"/0006-efi-boot-generator-hookup-to-fsck.patch
- patch -Np1 < "$srcdir"/0007-fsck-root-only-run-when-requested-in-fstab.patch
-
- autoreconf
+ cd "$pkgname"
+
+ # networkd: fix neworkd crash
+ # https://github.com/systemd/systemd/commit/49f6e11e89b4
+ git cherry-pick -n 49f6e11e89b4
+
+ ./autogen.sh
}
build() {
- cd "$pkgname-$pkgver"
+ cd "$pkgname"
+
+ local timeservers=({0..3}.arch.pool.ntp.org)
./configure \
--libexecdir=/usr/lib \
--localstatedir=/var \
--sysconfdir=/etc \
- --enable-introspection \
- --enable-gtk-doc \
+ --enable-lz4 \
+ --enable-compat-libs \
+ --enable-gnuefi \
--disable-audit \
--disable-ima \
+ --disable-kdbus \
--with-sysvinit-path= \
--with-sysvrcnd-path= \
- --with-firmware-path="/usr/lib/firmware/updates:/usr/lib/firmware"
+ --with-ntp-servers="${timeservers[*]}"
make
}
-check() {
- make -C "$pkgname-$pkgver" check || :
-}
-
package_systemd() {
pkgdesc="system and service manager"
- license=('GPL2' 'LGPL2.1' 'MIT')
- depends=('acl' 'bash' 'dbus-core' 'glib2' 'kbd' 'kmod' 'hwids' 'libcap' 'libgcrypt'
- 'pam' 'util-linux' 'xz')
- provides=("libsystemd=$pkgver" 'nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver"
- 'libgudev-1.0.so' 'libsystemd-daemon.so' 'libsystemd-id128.so'
- 'libsystemd-journal.so' 'libsystemd-login.so' 'libudev.so')
- replaces=('libsystemd' 'nss-myhostname' 'systemd-tools' 'udev')
- conflicts=('libsystemd' 'nss-myhostname' 'systemd-tools' 'udev')
+ license=('GPL2' 'LGPL2.1')
+ depends=('acl' 'bash' 'dbus' 'iptables' 'kbd' 'kmod' 'hwids' 'libcap'
+ 'libgcrypt' 'libsystemd' 'libidn' 'lz4' 'pam' 'libseccomp' 'util-linux'
+ 'xz')
+ provides=('nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver")
+ replaces=('nss-myhostname' 'systemd-tools' 'udev')
+ conflicts=('nss-myhostname' 'systemd-tools' 'udev')
optdepends=('cryptsetup: required for encrypted block devices'
- 'libmicrohttpd: systemd-journal-gatewayd'
+ 'libmicrohttpd: remote journald capabilities'
'quota-tools: kernel-level quota management'
- 'python2: systemd library bindings'
- 'systemd-sysvcompat: symlink package to provide sysvinit binaries')
+ 'systemd-sysvcompat: symlink package to provide sysvinit binaries'
+ 'polkit: allow administration as unprivileged user')
backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf
etc/dbus-1/system.d/org.freedesktop.hostname1.conf
etc/dbus-1/system.d/org.freedesktop.login1.conf
etc/dbus-1/system.d/org.freedesktop.locale1.conf
etc/dbus-1/system.d/org.freedesktop.machine1.conf
etc/dbus-1/system.d/org.freedesktop.timedate1.conf
+ etc/dbus-1/system.d/org.freedesktop.import1.conf
+ etc/dbus-1/system.d/org.freedesktop.network1.conf
etc/pam.d/systemd-user
etc/systemd/bootchart.conf
+ etc/systemd/coredump.conf
etc/systemd/journald.conf
+ etc/systemd/journal-remote.conf
+ etc/systemd/journal-upload.conf
etc/systemd/logind.conf
etc/systemd/system.conf
+ etc/systemd/timesyncd.conf
+ etc/systemd/resolved.conf
etc/systemd/user.conf
etc/udev/udev.conf)
install="systemd.install"
- make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
-
- printf "d /run/console 0755 root root\n" > "$pkgdir/usr/lib/tmpfiles.d/console.conf"
-
- # fix .so links in manpage stubs
- find "$pkgdir/usr/share/man" -type f -name '*.[[:digit:]]' \
- -exec sed -ri '1s|^\.so (.*)\.([0-9]+)|.so man\2/\1.\2|' {} +
+ make -C "$pkgname" DESTDIR="$pkgdir" install
- # don't write units to /etc by default -- we'll enable this on post_install
- # as a sane default
- rm "$pkgdir/etc/systemd/system/getty.target.wants/getty@tty1.service"
- rmdir "$pkgdir/etc/systemd/system/getty.target.wants"
+ # don't write units to /etc by default. some of these will be re-enabled on
+ # post_install.
+ rm -r "$pkgdir/etc/systemd/system/"*.wants
# get rid of RPM macros
rm -r "$pkgdir/usr/lib/rpm"
# add back tmpfiles.d/legacy.conf
- install -m644 "systemd-$pkgver/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
+ install -m644 "$pkgname/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
# Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
sed -i 's#GROUP="dialout"#GROUP="uucp"#g;
s#GROUP="tape"#GROUP="storage"#g;
s#GROUP="cdrom"#GROUP="optical"#g' "$pkgdir"/usr/lib/udev/rules.d/*.rules
+ sed -i 's/dialout/uucp/g;
+ s/tape/storage/g;
+ s/cdrom/optical/g' "$pkgdir"/usr/lib/sysusers.d/basic.conf
# add mkinitcpio hooks
install -Dm644 "$srcdir/initcpio-install-systemd" "$pkgdir/usr/lib/initcpio/install/systemd"
install -Dm644 "$srcdir/initcpio-install-udev" "$pkgdir/usr/lib/initcpio/install/udev"
install -Dm644 "$srcdir/initcpio-hook-udev" "$pkgdir/usr/lib/initcpio/hooks/udev"
- # ensure proper permissions for /var/log/journal
+ # ensure proper permissions for /var/log/journal. This is only to placate
chown root:systemd-journal "$pkgdir/var/log/journal"
chmod 2755 "$pkgdir/var/log/journal"
+ # we'll create this on installation
+ #rmdir "$pkgdir/var/log/journal/remote"
+
# fix pam file
sed 's|system-auth|system-login|g' -i "$pkgdir/etc/pam.d/systemd-user"
+ # ship default policy to leave services disabled
+ echo 'disable *' >"$pkgdir"/usr/lib/systemd/system-preset/99-default.preset
+
### split out manpages for sysvcompat
rm -rf "$srcdir/_sysvcompat"
install -dm755 "$srcdir"/_sysvcompat/usr/share/man/man8/
mv "$pkgdir"/usr/share/man/man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \
"$srcdir"/_sysvcompat/usr/share/man/man8
- # include MIT license, since it's technically custom
- install -Dm644 "$srcdir/$pkgname-$pkgver/LICENSE.MIT" \
- "$pkgdir/usr/share/licenses/systemd/LICENSE.MIT"
+ ### split off runtime libraries
+ rm -rf "$srcdir/_libsystemd"
+ install -dm755 "$srcdir"/_libsystemd/usr/lib
+ cd "$srcdir"/_libsystemd
+ mv "$pkgdir"/usr/lib/lib{systemd,udev}*.so* usr/lib
+
+ # add example bootctl configuration
+ install -Dm644 "$srcdir/arch.conf" "$pkgdir"/usr/share/systemd/bootctl/arch.conf
+ install -Dm644 "$srcdir/loader.conf" "$pkgdir"/usr/share/systemd/bootctl/loader.conf
+ install -Dm644 "$srcdir/splash-arch.bmp" "$pkgdir"/usr/share/systemd/bootctl/splash-arch.bmp
+}
+
+package_libsystemd() {
+ pkgdesc="systemd client libraries"
+ depends=('glibc' 'libgcrypt' 'lz4' 'xz')
+ license=('GPL2')
+ provides=('libsystemd.so' 'libsystemd-daemon.so' 'libsystemd-id128.so'
+ 'libsystemd-journal.so' 'libsystemd-login.so' 'libudev.so')
+
+ mv "$srcdir/_libsystemd"/* "$pkgdir"
}
package_systemd-sysvcompat() {
@@ -166,18 +180,3 @@ package_systemd-sysvcompat() {
}
# vim: ft=sh syn=sh et
-md5sums=('df64550d92afbffb4f67a434193ee165'
- '29245f7a240bfba66e2b1783b63b6b40'
- '8b68b0218a3897d4d37a6ccf47914774'
- 'bde43090d4ac0ef048e3eaee8202a407'
- '1b191c4e7a209d322675fd199e3abc66'
- 'a693bef63548163ffc165f4c4801ebf7'
- 'ccafe716d87df9c42af0d1960b5a4105'
- '441e3d464ee6af5fe4af6a8bc10d7980'
- '718d841203cf2ea9e24a7d0f1d19d48b'
- '623c77bad0d2968e44963d72924825f1'
- 'e52fc8368853c7800ab03ab8868cfd41'
- '2096f33bd36dfa0a7f0431d0a429787a'
- 'd2481a6ea199b581e243a950125b0ca6'
- 'c2aee634a3a6c50778968f0d5c756f40'
- 'ef8b8212d504bb73c10bf4e85f0703b2')
diff --git a/abs/core/systemd/__changelog b/abs/core/systemd/__changelog
new file mode 100644
index 0000000..841eee3
--- /dev/null
+++ b/abs/core/systemd/__changelog
@@ -0,0 +1,4 @@
+PKGBUILD: change dep python-lxml to python2-lxml
+PKGBUILD: comment out rmdir "$pkgdir/var/log/journal/remote"
+PKGBUILD: Change for tool in runlevel reboot shutdown poweroff halt telinit; do
+ to for tool in runlevel telinit; do
diff --git a/abs/core/systemd/arch.conf b/abs/core/systemd/arch.conf
new file mode 100644
index 0000000..250b778
--- /dev/null
+++ b/abs/core/systemd/arch.conf
@@ -0,0 +1,7 @@
+## This is just an example config file.
+## Please edit the paths and kernel parameters according to your system.
+
+title Arch Linux
+linux /vmlinuz-linux
+initrd /initramfs-linux.img
+options root=PARTUUID=XXXX rootfstype=XXXX add_efi_memmap
diff --git a/abs/core/systemd/initcpio-hook-udev b/abs/core/systemd/initcpio-hook-udev
index 0bc32e0..ea9a11f 100644
--- a/abs/core/systemd/initcpio-hook-udev
+++ b/abs/core/systemd/initcpio-hook-udev
@@ -2,7 +2,7 @@
run_earlyhook() {
kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
- systemd-tmpfiles --prefix=/dev --create
+ systemd-tmpfiles --prefix=/dev --create --boot
/usr/lib/systemd/systemd-udevd --daemon --resolve-names=never
udevd_running=1
}
diff --git a/abs/core/systemd/initcpio-install-systemd b/abs/core/systemd/initcpio-install-systemd
index 2c59074..96df98a 100644
--- a/abs/core/systemd/initcpio-install-systemd
+++ b/abs/core/systemd/initcpio-install-systemd
@@ -4,7 +4,7 @@ strip_quotes() {
local len=${#1} quotes=$'[\'"]' str=${!1}
if [[ ${str:0:1} = ${str: -1} && ${str:0:1} = $quotes ]]; then
- declare -g "$1=${str:1:-1}"
+ printf -v "$1" %s "${str:1:-1}"
fi
}
@@ -34,6 +34,7 @@ add_udev_rule() {
strip_quotes 'value'
# just take the first word as the binary name
binary=${value%% *}
+ [[ ${binary:0:1} == '$' ]] && continue
if [[ ${binary:0:1} != '/' ]]; then
binary=$(PATH=/usr/lib/udev:/lib/udev type -P "$binary")
fi
@@ -98,13 +99,16 @@ build() {
# from base
add_binary /bin/mount
add_binary /usr/bin/kmod /usr/bin/modprobe
-
- # systemd
add_binary /usr/lib/systemd/systemd /init
- add_binary /usr/bin/systemd-tmpfiles
- # generate sysroot.mount and sysroot-usr.mount
- add_file "/usr/lib/systemd/system-generators/systemd-fstab-generator"
+ map add_binary \
+ /usr/bin/systemd-tmpfiles \
+ /usr/lib/systemd/systemd-hibernate-resume \
+ /usr/lib/systemd/system-generators/systemd-fstab-generator \
+ /usr/lib/systemd/system-generators/systemd-gpt-auto-generator \
+ /usr/lib/systemd/system-generators/systemd-hibernate-resume-generator
+
+ add_module "kdbus?"
# udev rules and systemd units
map add_udev_rule "$rules" \
@@ -112,10 +116,9 @@ build() {
60-persistent-storage.rules \
64-btrfs.rules \
80-drivers.rules \
- 99-systemd.rules \
+ 99-systemd.rules
map add_systemd_unit \
- ctrl-alt-del.target \
initrd-cleanup.service \
initrd-fs.target \
initrd-parse-etc.service \
@@ -125,24 +128,32 @@ build() {
initrd-udevadm-cleanup-db.service \
initrd.target \
kmod-static-nodes.service \
+ local-fs.target \
+ local-fs-pre.target \
+ paths.target \
+ reboot.target \
+ slices.target \
sockets.target \
+ swap.target \
systemd-fsck@.service \
+ systemd-hibernate-resume@.service \
systemd-journald.service \
+ systemd-journald-audit.socket \
+ systemd-journald-dev-log.socket \
systemd-tmpfiles-setup-dev.service \
systemd-udev-trigger.service \
systemd-udevd-control.socket \
systemd-udevd-kernel.socket \
- systemd-udevd.service
+ systemd-udevd.service \
+ timers.target
add_symlink "/usr/lib/systemd/system/default.target" "initrd.target"
+ add_symlink "/usr/lib/systemd/system/ctrl-alt-del.target" "reboot.target"
- # libdbus needs the passwd info of the root user
- # TODO: make sure this is no longer necessary when systemctl moves to sd-bus
+ # udev wants /etc/group since it doesn't launch with --resolve-names=never
add_file "/etc/nsswitch.conf"
- add_file "/etc/passwd"
add_binary "$(readlink -f /usr/lib/libnss_files.so)"
-
- # udev wants /etc/group since it doesn't launch with --resolve-names=never
+ add_file "/etc/passwd"
add_file "/etc/group"
}
diff --git a/abs/core/systemd/initcpio-install-udev b/abs/core/systemd/initcpio-install-udev
index 419c19e..7f0301a 100644
--- a/abs/core/systemd/initcpio-install-udev
+++ b/abs/core/systemd/initcpio-install-udev
@@ -3,7 +3,6 @@
build() {
local rules tool
- add_file "/etc/udev/udev.conf"
add_binary /usr/lib/systemd/systemd-udevd
add_binary /usr/bin/udevadm
add_binary /usr/bin/systemd-tmpfiles
diff --git a/abs/core/systemd/loader.conf b/abs/core/systemd/loader.conf
new file mode 100644
index 0000000..1f7cd7e
--- /dev/null
+++ b/abs/core/systemd/loader.conf
@@ -0,0 +1 @@
+default arch
diff --git a/abs/core/systemd/splash-arch.bmp b/abs/core/systemd/splash-arch.bmp
new file mode 100644
index 0000000..f083d4b
--- /dev/null
+++ b/abs/core/systemd/splash-arch.bmp
Binary files differ
diff --git a/abs/core/systemd/systemd.install b/abs/core/systemd/systemd.install
index 1e79585..b0a3e1f 100644
--- a/abs/core/systemd/systemd.install
+++ b/abs/core/systemd/systemd.install
@@ -1,7 +1,7 @@
-#!/bin/sh
+#!/bin/bash
sd_booted() {
- [ -e sys/fs/cgroup/systemd ]
+ [[ -d run/systemd/system && ! -L run/systemd/system ]]
}
add_privs() {
@@ -11,110 +11,195 @@ add_privs() {
fi
}
-post_common() {
- systemd-machine-id-setup
-
- add_privs usr/bin/systemd-detect-virt 'cap_dac_override,cap_sys_ptrace+ep'
+add_journal_acls() {
+ # ignore errors, since the filesystem might not support ACLs
+ setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx var/log/journal/ 2>/dev/null
+ :
+}
- udevadm hwdb --update
- journalctl --update-catalog
+maybe_reexec() {
+ # don't reexec on 209-1 upgrade due to large infrastructural changes.
+ if [[ $(vercmp 209-1 "$2") -eq 1 ]]; then
+ echo ':: systemd has not been reexecuted. It is recommended that you'
+ echo ' reboot at your earliest convenience.'
+ return
+ fi
if sd_booted; then
systemctl --system daemon-reexec
fi
}
-mask_net_naming() {
- if [ ! -e etc/udev/rules.d/80-net-name-slot.rules ]; then
- printf >etc/udev/rules.d/80-net-name-slot.rules '# %s\n' \
- "This file masks persistent renaming rules for network devices. If you" \
- "delete this file, /usr/lib/udev/rules.d/80-net-name-slot.rules may" \
- "rename network devices according to ID_NET_NAME_{ONBOARD,SLOT,PATH}" \
- "properties of your network devices, with priority in that order. See" \
- "the output of 'udevadm test-builtin net_id /sys/class/net/\$interface'" \
- "for details on what that new name might be." \
- "" \
- "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- fi
+_dir_empty() {
+ set -- "$1"/*
+ [[ ! -e $1 && ! -L $1 ]]
}
-_208_changes() {
- chown root:systemd-journal var/log/journal
- chmod 2755 var/log/journal
+post_common() {
+ systemd-sysusers
+ udevadm hwdb --update
+ journalctl --update-catalog
+}
- if [ -e var/lib/backlight ] && [ ! -e var/lib/systemd/backlight ]; then
+_204_1_changes() {
+ printf '==> The /bin/systemd symlink has been removed. Any references in your\n'
+ printf ' bootloader (or elsewhere) must be updated to /usr/lib/systemd/systemd.\n'
+}
+
+_205_1_changes() {
+ printf '==> systemd 205 restructures the cgroup hierarchy and changes internal\n'
+ printf ' protocols. You should reboot at your earliest convenience.\n'
+}
+
+_206_1_changes() {
+ printf '==> The "timestamp" hook for mkinitcpio no longer exists. If you used\n'
+ printf ' this hook, you must remove it from /etc/mkinitcpio.conf. A "systemd"\n'
+ printf ' hook has been added which provides this functionality, and more.\n'
+}
+
+_208_1_changes() {
+ if [[ -e var/lib/backlight && ! -e var/lib/systemd/backlight ]]; then
mv -T var/lib/backlight var/lib/systemd/backlight
fi
- if [ -e var/lib/random-seed ] && [ ! -e var/lib/systemd/random-seed ]; then
+ if [[ -e var/lib/random-seed && ! -e var/lib/systemd/random-seed ]]; then
mv -T var/lib/random-seed var/lib/systemd/random-seed
fi
}
-post_install() {
- post_common
+_208_8_changes() {
+ add_journal_acls
+}
- # enable getty@tty1 by default, but don't track the file
- systemctl enable getty@tty1.service
+_209_1_changes() {
+ # attempt to preserve existing behavior
- echo ":: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your"
- echo " bootloader to replace sysvinit with systemd, or install systemd-sysvcompat"
+ local old_rule=etc/udev/rules.d/80-net-name-slot.rules
+ local new_rule=etc/udev/rules.d/80-net-setup-link.rules
+
+ echo ":: Network device naming is now controlled by udev's net_setup_link"
+ echo " builtin. Refer to the systemd.link manpage for a full description."
+
+ # not clear what action we can take here, so don't do anything
+ [[ -e $new_rule ]] && return 0
+
+ # rename the old rule to the new one so that we preserve the user's
+ # existing option.
+ if [[ -e $old_rule ]]; then
+ printf ':: Renaming %s to %s in order\n' "${old_rule##*/}" "${new_rule##*/}"
+ printf ' to preserve existing network naming behavior.\n'
+ mv -v "$old_rule" "$new_rule"
+ else
+ echo ':: No changes have been made to your network naming configuration.'
+ echo ' Interfaces should continue to maintain the same names.'
+ fi
}
-post_upgrade() {
- post_common
-
- # getty@tty1.service is no longer enabled by default, but we don't want to break
- # existing setups.
- if [ "$(vercmp 183 "$2")" -eq 1 ]; then
- # systemctl seems to be whiny on sysvinit. this will succeed unless something
- # horrific happens, so just mask the error.
- systemctl -q enable getty@tty1.service || true
+_210_1_changes() {
+ if sd_booted; then
+ # If /etc/systemd/network is non-empty, then this is a 209 user who used
+ # networkd. Re-enable it for them.
+ if ! _dir_empty etc/systemd/network; then
+ systemctl enable systemd-networkd
+ fi
fi
+}
- if [ "$(vercmp 194-4 "$2")" -eq 1 ]; then
- printf '==> journald now writes to /var/log/journal by default. This can be\n'
- printf ' controlled with the Storage setting in /etc/systemd/journald.conf\n'
+_213_4_changes() {
+ if sd_booted; then
+ # if /etc/resolv.conf is a symlink, just assume that it was being managed
+ # by systemd-networkd, and re-enable systemd-resolved.
+ if [[ -L etc/resolv.conf ]]; then
+ systemctl enable systemd-resolved
+ fi
fi
+}
+
+_214_2_changes() {
+ # /run/systemd/network/resolv.conf -> /run/systemd/resolve/resolv.conf
+ if [[ etc/resolv.conf -ef run/systemd/network/resolv.conf ]]; then
+ ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
- # logind's protocol changed. kindly restart the daemon to avoid locking
- # out further logins.
- if [ "$(vercmp 195 "$2")" -eq 1 ]; then
if sd_booted; then
- systemctl restart systemd-logind.service
+ if [[ ! -d run/systemd/resolve ]]; then
+ mkdir run/systemd/resolve
+ fi
+
+ if [[ -f run/systemd/network/resolv.conf ]]; then
+ mv run/systemd/{network,resolve}/resolv.conf
+ fi
fi
fi
- if [ "$(vercmp 196-1 "$2")" -eq 1 ]; then
- printf '==> The legacy configuration options are no longer supported in rc.conf,\n'
- printf ' convert your rc.conf to the new configuration formats.\n'
- fi
+ echo ':: coredumps are no longer sent to the journal by default. To re-enable:'
+ echo ' echo >/etc/sysctl.d/50-coredump.conf \'
+ echo ' "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"'
+}
- if [ "$(vercmp 197-1 "$2")" -eq 1 ]; then
- mask_net_naming
- printf '==> Persistent net naming rules have been shipped as disabled.\n'
- printf ' See /etc/udev/rules.d/80-net-name-slot.rules for more detail\n'
- fi
+_215_2_changes() {
+ # create at least the symlink from /etc/os-release to /usr/lib/os-release
+ systemd-tmpfiles --create etc.conf
+}
- if [ "$(vercmp 204-1 "$2")" -eq 1 ]; then
- printf '==> The /bin/systemd symlink has been removed. Any references in your\n'
- printf ' bootloader (or elsewhere) must be updated to /usr/lib/systemd/systemd.\n'
- fi
+_216_2_changes() {
+ echo ':: Coredumps are handled by systemd by default. Collection behavior can be'
+ echo ' tuned in /etc/systemd/coredump.conf.'
+}
- if [ "$(vercmp 205-1 "$2")" -eq 1 ]; then
- printf '==> systemd 205 restructures the cgroup hierarchy and changes internal\n'
- printf ' protocols. You should reboot at your earliest convenience.\n'
+_219_2_changes() {
+ if mkdir -m2755 var/log/journal/remote 2>/dev/null; then
+ chgrp systemd-journal-remote var/log/journal/remote
fi
+}
- if [ "$(vercmp 206-1 "$2")" -eq 1 ]; then
- printf '==> The "timestamp" hook for mkinitcpio no longer exists. If you used\n'
- printf ' this hook, you must remove it from /etc/mkinitcpio.conf. A "systemd"\n'
- printf ' hook has been added which provides this functionality, and more.\n'
+_219_4_changes() {
+ if ! systemctl is-enabled -q remote-fs.target; then
+ systemctl enable -q remote-fs.target
fi
+}
- if [ "$(vercmp 208-1 "$2")" -eq 1 ]; then
- _208_changes
- fi
+post_install() {
+ systemd-machine-id-setup
+
+ post_common "$@"
+
+ add_journal_acls
+
+ # enable some services by default, but don't track them
+ systemctl enable getty@tty1.service remote-fs.target
+
+ echo ":: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your"
+ echo " bootloader to replace sysvinit with systemd, or install systemd-sysvcompat"
+
+ # group 'systemd-journal-remote' is created by systemd-sysusers
+ mkdir -m2755 var/log/journal/remote
+ chgrp systemd-journal-remote var/log/journal/remote
+}
+
+post_upgrade() {
+ post_common "$@"
+
+ maybe_reexec "$@"
+
+ local v upgrades=(204-1
+ 205-1
+ 206-1
+ 208-1
+ 208-8
+ 209-1
+ 210-1
+ 213-4
+ 214-2
+ 215-2
+ 216-2
+ 219-2
+ 219-4)
+
+ for v in "${upgrades[@]}"; do
+ if [[ $(vercmp "$v" "$2") -eq 1 ]]; then
+ "_${v//-/_}_changes"
+ fi
+ done
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/taglib/PKGBUILD b/abs/core/taglib/PKGBUILD
index 6909877..714dd0a 100644
--- a/abs/core/taglib/PKGBUILD
+++ b/abs/core/taglib/PKGBUILD
@@ -1,29 +1,29 @@
# $Id$
-# Maintainer: Tom Gundersen <teg@jklm.no>
+# Maintainer: Antonio Rojas <arojas@archlinux.org>
+# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: Ike Devolder <ike.devolder@gmail.com>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=taglib
-pkgver=1.8
-pkgrel=1
+pkgver=1.10
+pkgrel=3
pkgdesc="A Library for reading and editing the meta-data of several popular audio formats"
-arch=('i686' 'x86_64')
-url="http://developer.kde.org/~wheeler/taglib.html"
-license=('LGPL' 'MPL')
-depends=('sh' 'zlib' 'gcc-libs')
-makedepends=('cmake' 'pkg-config')
-options=('!libtool')
-source=("https://github.com/downloads/$pkgname/$pkgname/$pkgname-$pkgver.tar.gz")
-md5sums=('dcb8bd1b756f2843e18b1fdf3aaeee15')
+arch=(i686 x86_64)
+url="http://taglib.github.io/"
+license=(LGPL MPL)
+depends=(zlib)
+makedepends=(cmake)
+source=("http://taglib.github.io/releases/$pkgname-$pkgver.tar.gz")
+md5sums=('5b4441a15423b046dd92a096e09ea22c')
-build() {
- cd "${srcdir}"/${pkgname}-${pkgver}
+prepare() {
+ mkdir -p build
+}
- cd "${srcdir}"
- mkdir build
+build() {
cd build
- cmake ../${pkgname}-${pkgver} \
+ cmake ../$pkgname-$pkgver \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_MP4=ON \
@@ -32,6 +32,6 @@ build() {
}
package() {
- cd "${srcdir}"/build
- make DESTDIR="${pkgdir}" install
+ cd build
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/talloc/PKGBUILD b/abs/core/talloc/PKGBUILD
index c19a0fc..15dfc1b 100644
--- a/abs/core/talloc/PKGBUILD
+++ b/abs/core/talloc/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=talloc
-pkgver=2.1.0
+pkgver=2.1.5
pkgrel=1
pkgdesc="Hierarchical pool based memory allocator with destructors"
arch=('i686' 'x86_64')
@@ -12,10 +12,16 @@ url="http://talloc.samba.org/"
depends=('glibc')
makedepends=('python2' 'docbook-xsl')
optdepends=('python2: for python bindings')
-source=("http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.{gz,asc}
+ fix_test_path.patch)
+sha1sums=('bdf3b3d8449e2c354f1ebc43d3e1058160eb4adb'
+ 'SKIP'
+ '34132be289f9ce1c38c8b367def8d91ac7dbb706')
+validpgpkeys=(9147A339719518EE9011BCB54793916113084025) # samba-bugs@samba.org
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 < ../fix_test_path.patch
sed -i -e 's#python#python2#g' buildtools/bin/waf
}
@@ -24,12 +30,18 @@ build() {
./configure --prefix=/usr \
--sysconfdir=/etc/samba \
--localstatedir=/var \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
--enable-talloc-compat1
make
}
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
+}
+
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
-md5sums=('85a69bfb5808fcadf378bd9eadb1f9c2')
diff --git a/abs/core/talloc/fix_test_path.patch b/abs/core/talloc/fix_test_path.patch
new file mode 100644
index 0000000..37ed604
--- /dev/null
+++ b/abs/core/talloc/fix_test_path.patch
@@ -0,0 +1,13 @@
+diff --git a/wscript b/wscript
+index 9cedbbf..4432a9a 100644
+--- a/wscript
++++ b/wscript
+@@ -158,7 +158,7 @@ def test(ctx):
+ cmd = os.path.join(Utils.g_module.blddir, 'talloc_testsuite')
+ ret = samba_utils.RUN_COMMAND(cmd)
+ print("testsuite returned %d" % ret)
+- magic_cmd = os.path.join(srcdir, 'lib', 'talloc',
++ magic_cmd = os.path.join(srcdir,
+ 'test_magic_differs.sh')
+
+ magic_ret = samba_utils.RUN_COMMAND(magic_cmd)
diff --git a/abs/core/tdb/PKGBUILD b/abs/core/tdb/PKGBUILD
index 277b37c..25683dc 100644
--- a/abs/core/tdb/PKGBUILD
+++ b/abs/core/tdb/PKGBUILD
@@ -4,8 +4,8 @@
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=tdb
-pkgver=1.3.0
-pkgrel=2
+pkgver=1.3.8
+pkgrel=1
pkgdesc="A Trivial Database similar to GDBM but allows simultaneous commits"
arch=(i686 x86_64)
license=('GPL3')
@@ -13,15 +13,8 @@ url="http://tdb.samba.org/"
makedepends=('python2' 'libxslt' 'docbook-xsl')
optdepends=('python2: for python bindings')
source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.gz
- 0001-tdb-include-include-stdbool.h-in-tdb.h.patch)
-md5sums=('f18cd6afc4f5670edfe58f72d2665f94'
- '2b0b6003b3d8ca03adccd4aa1a3b8313')
-
-prepare() {
- cd ${srcdir}/${pkgname}-${pkgver}
- patch -Np1 -i ../0001-tdb-include-include-stdbool.h-in-tdb.h.patch
-}
-
+ http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.asc)
+validpgpkeys=('9147A339719518EE9011BCB54793916113084025') #Samba Library Distribution Key <samba-bugs@samba.org>
build() {
cd ${srcdir}/${pkgname}-${pkgver}
sed -i -e 's#python#python2#g' buildtools/bin/waf
@@ -41,3 +34,5 @@ package() {
export PYTHON=/usr/bin/python2
make DESTDIR=$pkgdir/ install
}
+md5sums=('fa4c9e2f59fcf41441285bca5f5ab481'
+ 'SKIP')
diff --git a/abs/core/tilda/PKGBUILD b/abs/core/tilda/PKGBUILD
index 814a5c3..3fa26e1 100644
--- a/abs/core/tilda/PKGBUILD
+++ b/abs/core/tilda/PKGBUILD
@@ -1,49 +1,37 @@
-# $Id: PKGBUILD 71879 2012-06-02 18:37:37Z jlichtblau $
-# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# $Id$
+# Maintainer: Jaroslav Lichtblau <svetlemodry@archlinux.org>
# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=tilda
-pkgver=0.9.6
-pkgrel=7
-pkgdesc="Linux terminal based on classic terminals from first person shooter games"
+pkgver=1.3.1
+pkgrel=4
+pkgdesc="A Gtk based drop down terminal for Linux and Unix"
arch=('i686' 'x86_64')
-url="http://tilda.sourceforge.net"
+url="https://github.com/lanoxx/tilda"
license=('GPL')
-depends=('vte' 'confuse' 'libglade')
-makedepends=('gawk')
-source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
-tilda-fix.patch tilda-glib2.patch tilda-conf-sigsegv.patch config_0 tilda_hide.patch )
+depends=('vte3' 'confuse')
+changelog=$pkgname.changelog
+source=(https://github.com/lanoxx/$pkgname/archive/$pkgname-$pkgver.tar.gz
+ 'tilda_hide.patch' 'config_0')
build() {
- cd $srcdir/$pkgname-$pkgver
-
-# gdk && desktop file fix FS#25762
- patch -p0 -i ${srcdir}/$pkgname-fix.patch
-
-# glib2 fix
- patch -p0 -i ${srcdir}/$pkgname-glib2.patch
-
-# fix segfaults on malformed config files FS#29754
- patch -p0 -i ${srcdir}/$pkgname-conf-sigsegv.patch
+ cd $pkgname-$pkgname-$pkgver
patch -p0 -i ${srcdir}/tilda_hide.patch
+ ./autogen.sh
./configure --prefix=/usr
make
}
package() {
- cd $srcdir/$pkgname-$pkgver
+ cd $pkgname-$pkgname-$pkgver
- make DESTDIR=${pkgdir} install
+ make DESTDIR="${pkgdir}" install
#default config
- install -D -m 0755 $startdir/src/config_0 $startdir/pkg/etc/tilda_config
-
+ install -D -m 0755 ${srcdir}/config_0 ${pkgdir}/etc/tilda_config
}
-md5sums=('b44ebe04fdfd312e9ddc5e0ed77f4289'
- '6ca2c5ae5acd254b1e89b319b118b8e1'
- 'f1fc7009418c2ed7b506d5c555f072cb'
- '3e08a0b2d48bba69cf96bef1faeca429'
- '754753190e0990cd6fba27b3c931bd0e'
- '0cc3020eabc74d939b0b978944d11693')
+md5sums=('2e1e40e73ccd4f03b3595b8842bb0397'
+ 'eae07ef0ffb2e9dee3ba5eec3e87b920'
+ 'cd116d2afeccafdc08b880ed460445da')
diff --git a/abs/core/tilda/__changelog b/abs/core/tilda/__changelog
index b637dfd..153d015 100644
--- a/abs/core/tilda/__changelog
+++ b/abs/core/tilda/__changelog
@@ -1,2 +1,6 @@
tilda_hide patch
-This stops tilda from showing the config wizard unless tilda is started with -C
+ This stops tilda from showing the config wizard unless tilda is started with -C
+
+add config_0 to /etc/tilda_config
+ /etc/X11/Session/LinHES will pull in /etc/tilda_config to ~/.config/tilda/
+ and adjust the height and width of the window based on screen size
diff --git a/abs/core/tilda/config_0 b/abs/core/tilda/config_0
index 198afd3..c8597ed 100644
--- a/abs/core/tilda/config_0
+++ b/abs/core/tilda/config_0
@@ -1,28 +1,62 @@
-tilda_config_version = "0.9.6"
-# image = ""
+tilda_config_version = "1.3.1"
# command = ""
-font = "Monospace 15"
+font = "DejaVu Sans Mono 16"
key = "F3"
+addtab_key = "<Shift><Control>t"
+fullscreen_key = "F11"
+toggle_transparency_key = "F12"
+toggle_searchbar_key = "<Shift><Control>f"
+closetab_key = "<Shift><Control>w"
+nexttab_key = "<Control>Page_Down"
+prevtab_key = "<Control>Page_Up"
+movetableft_key = "<Shift><Control>Page_Up"
+movetabright_key = "<Shift><Control>Page_Down"
+gototab_1_key = "<Alt>1"
+gototab_2_key = "<Alt>2"
+gototab_3_key = "<Alt>3"
+gototab_4_key = "<Alt>4"
+gototab_5_key = "<Alt>5"
+gototab_6_key = "<Alt>6"
+gototab_7_key = "<Alt>7"
+gototab_8_key = "<Alt>8"
+gototab_9_key = "<Alt>9"
+gototab_10_key = "<Alt>0"
+copy_key = "<Shift><Control>c"
+paste_key = "<Shift><Control>v"
+quit_key = "<Shift><Control>q"
title = "Tilda"
background_color = "white"
# working_dir = ""
-web_browser = "firefox"
-lines = 7000
-max_width = 1612
-max_height = 532
+web_browser = "google-chrome"
+increase_font_size_key = "<Control>equal"
+decrease_font_size_key = "<Control>minus"
+normalize_font_size_key = "<Control>0"
+# show_on_monitor = ""
+word_chars = "-A-Za-z0-9,./?%&#:_"
+lines = 8000
+max_width = 921
+max_height = 350
min_width = 1
min_height = 1
-transparency = 0
-x_pos = 1114
+x_pos = 51
y_pos = 0
-tab_pos = 1
+tab_pos = 0
backspace_key = 0
delete_key = 1
d_set_title = 3
command_exit = 2
-scheme = 3
-slide_sleep_usec = 14607
+scheme = 0
+slide_sleep_usec = 10000
animation_orientation = 0
+timer_resolution = 200
+auto_hide_time = 2000
+on_last_terminal_exit = 2
+palette_scheme = 0
+non_focus_pull_up_behaviour = 1
+cursor_shape = 0
+# show_on_monitor_number = 0
+title_max_length = 25
+palette = {11822, 13364, 13878, 52428, 0, 0, 20046, 39578, 1542, 50372, 41120, 0, 13364, 25957, 42148, 30069, 20560, 31611, 1542, 38944, 39578, 54227, 55255, 53199, 21845, 22359, 21331, 61423, 10537, 10537, 35466, 58082, 13364, 64764, 59881, 20303, 29298, 40863, 53199, 44461, 32639, 43176, 13364, 58082, 58082, 61166, 61166, 60652}
scrollbar_pos = 2
back_red = 0
back_green = 0
@@ -30,12 +64,14 @@ back_blue = 0
text_red = 65535
text_green = 65535
text_blue = 65535
-scroll_background = true
+cursor_red = 60395
+cursor_green = 47288
+cursor_blue = 7196
+scroll_history_infinite = false
scroll_on_output = false
-notebook_border = true
+notebook_border = false
antialias = true
scrollbar = false
-use_image = false
grab_focus = true
above = true
notaskbar = true
@@ -47,7 +83,19 @@ run_command = false
pinned = true
animation = false
hidden = true
+set_as_desktop = false
centered_horizontally = true
centered_vertically = false
enable_transparency = false
double_buffer = false
+auto_hide_on_focus_lost = false
+auto_hide_on_mouse_leave = false
+title_max_length_flag = true
+inherit_working_dir = true
+command_login_shell = false
+start_fullscreen = false
+# image = ""
+# scroll_background = false
+# use_image = false
+transparency = 0
+back_alpha = 65535
diff --git a/abs/core/tilda/tilda-conf-sigsegv.patch b/abs/core/tilda/tilda-conf-sigsegv.patch
deleted file mode 100644
index a48aad0..0000000
--- a/abs/core/tilda/tilda-conf-sigsegv.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/key_grabber.c 2008-04-08 00:12:31.000000000 +0200
-+++ src/key_grabber.c 2012-05-17 19:43:25.227699421 +0200
-@@ -257,7 +257,7 @@
- gboolean tilda_keygrabber_bind (const gchar *keystr, tilda_window *tw)
- {
- /* Empty strings are no good */
-- if (strcmp ("", keystr) == 0)
-+ if (!keystr || strcmp ("", keystr) == 0)
- return FALSE;
-
- return tomboy_keybinder_bind (keystr, onKeybindingPull, tw);
diff --git a/abs/core/tilda/tilda-fix.patch b/abs/core/tilda/tilda-fix.patch
deleted file mode 100644
index a6d273c..0000000
--- a/abs/core/tilda/tilda-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- src/key_grabber.c 2008-04-08 01:12:31.000000000 +0300
-+++ src/key_grabber.c 2009-10-16 17:39:16.399679408 +0300
-@@ -190,7 +190,7 @@
- * Overriding the user time here seems to work a lot better than calling
- * gtk_window_present_with_time() here, or at the end of the function. I have
- * no idea why, they should do the same thing. */
-- gdk_x11_window_set_user_time (GTK_WIDGET(tw->window)->window,
-+ gdk_x11_window_set_user_time (GTK_WIDGET(tw->window),
- tomboy_keybinder_get_current_event_time());
- gtk_window_move (GTK_WINDOW(tw->window), config_getint ("x_pos"), config_getint ("y_pos"));
- gtk_widget_show (GTK_WIDGET(tw->window));
-
---- tilda.desktop.in 2007-03-16 04:53:34.000000000 +0100
-+++ tilda.desktop.in 2011-08-28 19:08:53.000000000 +0200
-@@ -2 +1,0 @@
--Encoding=UTF-8
-@@ -4,2 +3,2 @@
--Exec=@BINDIR@/tilda
--Icon=@PIXMAPSDIR@/tilda.png
-+Exec=tilda
-+Icon=tilda
-@@ -8 +7 @@
--Categories=GNOME;GTK;Application;Utility;TerminalEmulator;
-+Categories=GNOME;GTK;Utility;TerminalEmulator;System;
diff --git a/abs/core/tilda/tilda-glib2.patch b/abs/core/tilda/tilda-glib2.patch
deleted file mode 100644
index 2d048e5..0000000
--- a/abs/core/tilda/tilda-glib2.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/tomboykeybinder.h 2007-07-15 04:31:19.000000000 +0200
-+++ src/tomboykeybinder.h 2012-05-17 19:42:06.613150329 +0200
-@@ -2,7 +2,7 @@
- #ifndef __TOMBOY_KEY_BINDER_H__
- #define __TOMBOY_KEY_BINDER_H__
-
--#include <glib/gtypes.h>
-+//#include <glib/gtypes.h>
-
- G_BEGIN_DECLS
-
diff --git a/abs/core/tilda/tilda.changelog b/abs/core/tilda/tilda.changelog
index 4248e9a..714a4ae 100644
--- a/abs/core/tilda/tilda.changelog
+++ b/abs/core/tilda/tilda.changelog
@@ -1,20 +1,52 @@
-2012-06-02 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+2016-01-02 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.3.1-1
- * FS#29754 fixed
+2015-11-18 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.3.0-1
-2011-08-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+2015-06-28 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.2.4-1
- * FS#25762 fixed
+2014-10-31 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.2.2-1
-2008-04-29 Mateusz Herych <heniekk@gmail.com>
+2014-10-17 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.2.1-1
- * Updated for x86_64 - 0.9.6
+2014-10-16 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.2-1
-2008-04-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+2014-09-26 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.1.13-1
- * Updated for i686 - 0.9.6
+2014-06-05 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.1.12-1
-2007-12-30 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+2013-12-14 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.1.10-1
- * Updated to newer version - 0.9.5
+2013-11-17 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.1.8-1
+
+2013-08-22 Maxime Gauduin <alucryd@gmail.com>
+ * tilda 1.1.7-3
+ * Fixes FS#36542, FS#36516 and FS#36543
+
+2013-08-08 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.1.7-1
+
+2012-06-02 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * FS#29754 fixed
+
+2011-08-28 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * FS#25762 fixed
+
+2008-04-29 Mateusz Herych <heniekk@gmail.com>
+ * Updated for x86_64 - 0.9.6
+
+2008-04-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+ * Updated for i686 - 0.9.6
+
+2007-12-30 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+ * Updated to newer version - 0.9.5
diff --git a/abs/core/tilda/tilda_hide.patch b/abs/core/tilda/tilda_hide.patch
index 19d2869..a9d586f 100644
--- a/abs/core/tilda/tilda_hide.patch
+++ b/abs/core/tilda/tilda_hide.patch
@@ -1,35 +1,35 @@
---- src/tilda.c.orig 2012-12-10 13:11:23.336581090 -0600
-+++ src/tilda.c 2012-12-10 13:44:31.543784376 -0600
-@@ -582,11 +582,11 @@
- if (access (tw->config_file, R_OK) == -1)
+--- src/tilda.c.orig 2016-01-21 18:11:13.800212725 +0000
++++ src/tilda.c 2016-01-21 18:17:31.901530136 +0000
+@@ -772,11 +772,11 @@
+ if (access (tw.config_file, R_OK) == -1)
{
/* We probably need a default key, too ... */
-- gchar *default_key = g_strdup_printf ("F%d", tw->instance+1);
-+ gchar *default_key = g_strdup_printf ("F%d", tw->instance+3);
+- gchar *default_key = g_strdup_printf ("F%d", tw.instance+1);
++ gchar *default_key = g_strdup_printf ("F%d", tw.instance+3);
config_setstr ("key", default_key);
g_free (default_key);
- need_wizard = TRUE;
-+// need_wizard = TRUE;
++// need_wizard = TRUE;
}
/* Show the wizard if we need to.
-@@ -598,12 +598,12 @@
- {
- gint ret = tilda_keygrabber_bind (config_getstr ("key"), tw);
+@@ -788,12 +788,12 @@
+ } else {
+ gint ret = tilda_keygrabber_bind (config_getstr ("key"), &tw);
- if (!ret)
- {
- /* The key was unbindable, so we need to show the wizard */
-- show_invalid_keybinding_dialog (NULL);
-- wizard (tw);
+- show_invalid_keybinding_dialog (NULL, _("The keybinding you chose for \"Pull Down Terminal\" is invalid. Please choose another."));
+- wizard (&tw);
- }
-+// if (!ret)
-+// {
-+// /* The key was unbindable, so we need to show the wizard */
-+// show_invalid_keybinding_dialog (NULL);
-+// wizard (tw);
-+// }
++// if (!ret)
++// {
++// /* The key was unbindable, so we need to show the wizard */
++// show_invalid_keybinding_dialog (NULL, _("The keybinding you chose for \"Pull Down Terminal\" is invalid. Please choose another."));
++// wizard (&tw);
++// }
}
- if (config_getbool ("hidden"))
+ pull (&tw, config_getbool ("hidden") ? PULL_UP : PULL_DOWN, FALSE);
diff --git a/abs/core/udevil/PKGBUILD b/abs/core/udevil/PKGBUILD
index 912d0bf..bae0f80 100644
--- a/abs/core/udevil/PKGBUILD
+++ b/abs/core/udevil/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 80589 2012-11-26 14:58:37Z bpiotrowski $
+# $Id$
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: IgnorantGuru http://igurublog.wordpress.com/contact-ignorantguru/
pkgname=udevil
-pkgver=0.3.5
+pkgver=0.4.4
pkgrel=1
arch=('i686' 'x86_64')
pkgdesc='Mount and unmount without password'
@@ -11,29 +11,27 @@ url='http://ignorantguru.github.com/udevil/'
license=('GPL3')
makedepends=('intltool' 'gettext')
depends=('udev' 'glib2')
-optdepends=('nfs-utils: mount nfs shares'
+optdepends=('davfs2: mount WebDAV shares'
+ 'nfs-utils: mount nfs shares'
'sshfs: mount sftp shares'
'curlftpfs: mount ftp shares'
'cifs-utils: mount samba shares'
- 'eject: eject via devmon'
'zenity: devmon popups'
- 'pmount: devmon mount without suid udevil'
- 'udisks: devmon mount without suid udevil'
'udisks2: devmon mount without suid udevil')
provides=('devmon')
backup=('etc/udevil/udevil.conf')
install=$pkgname.install
-source=(https://raw.github.com/IgnorantGuru/$pkgname/master/packages/$pkgver/$pkgname-$pkgver.tar.xz)
+source=($pkgname-$pkgver.tar.gz::https://github.com/IgnorantGuru/udevil/archive/$pkgver.tar.gz)
+md5sums=('281aa065d92c679cb41728069e72b272')
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd $pkgname-$pkgver
+ sed -i 's:#include <limits.h>:#include <limits.h>\n#include <sys/stat.h>:g' src/device-info.h
./configure --prefix=/usr
make
}
package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
-
-md5sums=('0acb03c85f06fc8b59c6997830613529')
diff --git a/abs/core/udevil/__changelog b/abs/core/udevil/__changelog
new file mode 100644
index 0000000..8561a28
--- /dev/null
+++ b/abs/core/udevil/__changelog
@@ -0,0 +1 @@
+PKGBUILD: add #include <sys/stat.h> to device-info.h to fix error
diff --git a/abs/core/udisks/PKGBUILD b/abs/core/udisks/PKGBUILD
index 8e2a311..68d728e 100644
--- a/abs/core/udisks/PKGBUILD
+++ b/abs/core/udisks/PKGBUILD
@@ -3,18 +3,25 @@
pkgname=udisks
pkgver=1.0.5
-pkgrel=1
+pkgrel=2
pkgdesc="Disk Management Service"
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/udisks"
license=('GPL')
-depends=('systemd' 'util-linux' 'sg3_utils' 'glib2' 'dbus-glib' 'polkit' 'parted'
- 'device-mapper' 'libatasmart' 'lsof')
+depends=('systemd' 'util-linux' 'sg3_utils' 'glib2' 'dbus-glib' 'polkit'
+ 'parted' 'device-mapper' 'libatasmart' 'lsof' 'libgudev')
makedepends=('intltool' 'docbook-xsl')
source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
udisks.service
drop-pci-db.patch)
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # https://bugs.freedesktop.org/show_bug.cgi?id=90778
+ sed -i '1i #include <sys/stat.h>' src/helpers/job-drive-detach.c
+}
+
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
diff --git a/abs/core/update81-82.sh b/abs/core/update81-82.sh
index 3667610..78e91be 100644
--- a/abs/core/update81-82.sh
+++ b/abs/core/update81-82.sh
@@ -46,7 +46,7 @@ else
echo "filesystem package downloaded"
fi
-curl -o glibc-2.18-11-x86_64.pkg.tar.xz http://linhes.org/repo/x86_64/core/glibc-2.18-11-x86_64.pkg.tar.xz
+curl -o glibc-2.18-11-x86_64.pkg.tar.xz http://linhes.org/repo/x86_64/core.r8.2/glibc-2.18-11-x86_64.pkg.tar.xz
rc=$?
if [ $rc != 0 ]
then
diff --git a/abs/core/util-linux/PKGBUILD b/abs/core/util-linux/PKGBUILD
index 0f8936d..64faa1a 100755..100644
--- a/abs/core/util-linux/PKGBUILD
+++ b/abs/core/util-linux/PKGBUILD
@@ -5,25 +5,25 @@
pkgbase=util-linux
pkgname=(util-linux libutil-linux)
-pkgver=2.25.2
+pkgver=2.27.1
pkgrel=1
pkgdesc="Miscellaneous system utilities for Linux"
-url="http://www.kernel.org/pub/linux/utils/util-linux/"
+url="https://www.kernel.org/pub/linux/utils/util-linux/"
arch=('i686' 'x86_64')
makedepends=('systemd' 'python2')
license=('GPL2')
options=('strip' 'debug')
-source=("ftp://ftp.kernel.org/pub/linux/utils/$pkgname/v2.25/$pkgname-$pkgver.tar.xz"
- uuidd.tmpfiles
+validpgpkeys=('B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284') # Karel Zak
+source=("https://www.kernel.org/pub/linux/utils/util-linux/v${pkgver%.?}/$pkgbase-$pkgver.tar."{xz,sign}
pam-{login,common,su})
-md5sums=('cab3d7be354000f629bc601238b629b3'
- 'a39554bfd65cccfd8254bb46922f4a67'
+md5sums=('3cd2698d1363a2c64091c2dadc974647'
+ 'SKIP'
'4368b3f98abd8a32662e094c54e7f9b1'
'a31374fef2cba0ca34dfc7078e2969e4'
'fa85e5cce5d723275b14365ba71a8aad')
build() {
- cd "$pkgname-$pkgver"
+ cd "$pkgbase-$pkgver"
./configure --prefix=/usr \
--libdir=/usr/lib \
@@ -36,18 +36,18 @@ build() {
--enable-chfn-chsh \
--enable-write \
--enable-mesg \
- --enable-socket-activation \
+ --enable-libmount-force-mountinfo \
--with-python=2
make
}
package_util-linux() {
- conflicts=('util-linux-ng' 'eject')
- provides=("util-linux-ng=$pkgver" 'eject')
+ conflicts=('util-linux-ng' 'eject' 'zramctl')
+ provides=("util-linux-ng=$pkgver" 'eject' 'zramctl')
+ replaces=('zramctl')
depends=('pam' 'shadow' 'coreutils' 'libsystemd' 'libutil-linux')
- optdepends=('python: python bindings to libmount')
- install=util-linux.install
+ optdepends=('python2: python bindings to libmount')
groups=('base' 'base-devel')
backup=(etc/pam.d/chfn
etc/pam.d/chsh
@@ -55,9 +55,9 @@ package_util-linux() {
etc/pam.d/su
etc/pam.d/su-l)
- cd "$pkgname-$pkgver"
+ cd "$pkgbase-$pkgver"
- make DESTDIR="${pkgdir}" install
+ make DESTDIR="$pkgdir" install
# setuid chfn and chsh
chmod 4755 "$pkgdir"/usr/bin/{newgrp,ch{sh,fn}}
@@ -66,28 +66,25 @@ package_util-linux() {
install -Dm644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chfn"
install -m644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chsh"
install -m644 "$srcdir/pam-login" "$pkgdir/etc/pam.d/login"
- install -m644 "$srcdir/pam-su" "${pkgdir}/etc/pam.d/su"
- install -m644 "$srcdir/pam-su" "${pkgdir}/etc/pam.d/su-l"
+ install -m644 "$srcdir/pam-su" "$pkgdir/etc/pam.d/su"
+ install -m644 "$srcdir/pam-su" "$pkgdir/etc/pam.d/su-l"
- # include tmpfiles fragment for uuidd
# TODO(dreisner): offer this upstream?
- install -Dm644 "$srcdir/uuidd.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/uuidd.conf"
+ sed -i '/ListenStream/ aRuntimeDirectory=uuidd' "$pkgdir/usr/lib/systemd/system/uuidd.socket"
- # usrmove
+ # adjust for usrmove
+ # TODO(dreisner): fix configure.ac upstream so that this isn't needed
cd "$pkgdir"
mv {,usr/}sbin/* usr/bin
rmdir sbin usr/sbin
- ### create libutil-linux split
- rm -rf "$srcdir/_libutil-linux"
- install -dm755 "$srcdir"/_libutil-linux/usr/lib
- cd "$srcdir"/_libutil-linux
- mv "$pkgdir"/usr/lib/lib*.{a,so}* usr/lib
+ ### runtime libs are shipped as part of libutil-linux
+ rm "$pkgdir"/usr/lib/lib*.{a,so}*
}
package_libutil-linux() {
pkgdesc="util-linux runtime libraries"
- provides=('libblkid.so' 'libmount.so' 'libsmartcols.so' 'libuuid.so')
+ provides=('libblkid.so' 'libfdisk.so' 'libmount.so' 'libsmartcols.so' 'libuuid.so')
- mv "$srcdir/_libutil-linux"/* "$pkgdir"
+ make -C "$pkgbase-$pkgver" DESTDIR="$pkgdir" install-usrlib_execLTLIBRARIES
}
diff --git a/abs/core/util-linux/__changelog b/abs/core/util-linux/__changelog
index 31b27cd..4e7296e 100644
--- a/abs/core/util-linux/__changelog
+++ b/abs/core/util-linux/__changelog
@@ -1,3 +1,2 @@
changed python from 3->2
- mv $pkgdir/usr/bin/logger $pkgdir/usr/bin/logger-util-linux
diff --git a/abs/core/util-linux/util-linux.install b/abs/core/util-linux/util-linux.install
deleted file mode 100644
index 4c0bb10..0000000
--- a/abs/core/util-linux/util-linux.install
+++ /dev/null
@@ -1,21 +0,0 @@
-post_install() {
- # we don't want use systemd-tmpfiles here because
- # the package dependency would create a circular dep.
- if [ ! -d run/uuidd ]; then
- # refer to uid/gid by number to avoid dependency on filesystem
- install -o 68 -g 68 -dm755 run/uuidd
- fi
-}
-
-post_upgrade() {
- if [ "$(vercmp $2 2.21.2-4)" -lt 0 ]; then
- if [ -f /var/lib/hwclock/adjtime ]; then
- mv /var/lib/hwclock/adjtime /etc/adjtime
- fi
- if [ -d /var/lib/hwclock ]; then
- rmdir /var/lib/hwclock
- fi
- fi
-
- post_install
-}
diff --git a/abs/core/util-linux/uuidd.tmpfiles b/abs/core/util-linux/uuidd.tmpfiles
deleted file mode 100644
index b059cfe..0000000
--- a/abs/core/util-linux/uuidd.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
-d /run/uuidd 0755 uuidd uuidd
diff --git a/abs/core/v4l-utils/PKGBUILD b/abs/core/v4l-utils/PKGBUILD
index caa9233..7ade2db 100644
--- a/abs/core/v4l-utils/PKGBUILD
+++ b/abs/core/v4l-utils/PKGBUILD
@@ -1,8 +1,8 @@
# $Id$
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=v4l-utils
-pkgver=1.6.0
-pkgrel=2
+pkgver=1.6.3
+pkgrel=1
pkgdesc="Userspace tools and conversion library for Video 4 Linux"
arch=('i686' 'x86_64')
url="http://linuxtv.org/"
@@ -14,10 +14,10 @@ license=('LGPL')
makedepends=('qt4')
optdepends=('qt4')
depends=('glibc' 'gcc-libs' 'sysfsutils' 'libjpeg-turbo')
-source=(http://linuxtv.org/downloads/v4l-utils/${pkgname}-${pkgver}.tar.bz2
- http://linuxtv.org/downloads/v4l-utils/${pkgname}-${pkgver}.tar.bz2.asc)
-sha256sums=('6054d3120c67a1524993e699b3b02036c817bb000b742c332682163966dc7605'
+source=(http://linuxtv.org/downloads/v4l-utils/${pkgname}-${pkgver}.tar.bz2{,.asc})
+sha256sums=('164abf5c1befcd27e8e6ef824a82d4015bdfb5d99ae82daa00e77d895ff9864c'
'SKIP')
+validpgpkeys=('05D0169C26E41593418129DF199A64FADFB500FF') # Gregor Jasny <gjasny@googlemail.com>
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/vdpauinfo/PKGBUILD b/abs/core/vdpauinfo/PKGBUILD
index 2df07ba..b42db15 100644
--- a/abs/core/vdpauinfo/PKGBUILD
+++ b/abs/core/vdpauinfo/PKGBUILD
@@ -1,15 +1,21 @@
-# Maintainer: Bart Verhoeven <bartverhoeven@live.com>
+# $Id$
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Aaron Plattner <aplattner@nvidia.com>
+# Contributor: Bart Verhoeven <bartverhoeven@live.com>
pkgname=vdpauinfo
-pkgver=0.1
+pkgver=1.0
pkgrel=2
pkgdesc="Command line utility for querying the capabilities of a VDPAU device."
arch=('i686' 'x86_64')
url="http://cgit.freedesktop.org/~aplattner/vdpauinfo"
license=('custom')
depends=('libvdpau' 'libx11')
-source=("http://people.freedesktop.org/~aplattner/vdpau/${pkgname}-${pkgver}.tar.gz")
-sha256sums=('b0c856a6933e306f3f783717a29124c7d145d6027a3175e197249696f5d5019f')
+source=("http://people.freedesktop.org/~aplattner/vdpau/${pkgname}-${pkgver}.tar.gz"
+ "http://people.freedesktop.org/~aplattner/vdpau/${pkgname}-${pkgver}.tar.gz.sig")
+validpgpkeys=('BD68A042C603DDAD9AA354B0F56ACC8F09BA9635') # Aaron Plattner <aplattner@nvidia.com>
+sha256sums=('4054960b7ae618c351ff1ce3e7831b5cbda964ae1fbf9969b7146404d3044bc4'
+ 'SKIP')
build() {
cd "$srcdir"/$pkgname-$pkgver
diff --git a/abs/core/vdpauinfo/__changelog b/abs/core/vdpauinfo/__changelog
deleted file mode 100644
index 3acad6e..0000000
--- a/abs/core/vdpauinfo/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-made nvidia-utils an optional dep. Otherwise this program could drag in the nividia drivers when we don't want them.
-
diff --git a/abs/core/vdpauinfo/vdpauinfo.changelog b/abs/core/vdpauinfo/vdpauinfo.changelog
deleted file mode 100644
index 804c565..0000000
--- a/abs/core/vdpauinfo/vdpauinfo.changelog
+++ /dev/null
@@ -1,5 +0,0 @@
-vdpauinfo 0.0.6-6:
-- Fix compilation (include libxfixes)
-- split into build() and package()
--
-
diff --git a/abs/core/wget/PKGBUILD b/abs/core/wget/PKGBUILD
index c531535..9d6fe1d 100644
--- a/abs/core/wget/PKGBUILD
+++ b/abs/core/wget/PKGBUILD
@@ -2,8 +2,8 @@
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=wget
-pkgver=1.16
-pkgrel=2
+pkgver=1.17.1
+pkgrel=1
pkgdesc="A network utility to retrieve files from the Web"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/wget/wget.html"
@@ -13,17 +13,13 @@ checkdepends=('perl-http-daemon' 'perl-io-socket-ssl' 'python')
optdepends=('ca-certificates: HTTPS downloads')
backup=('etc/wgetrc')
install=wget.install
-source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig}
- wget-1.16-fix-test-proxied-https-auth.patch)
-sha1sums=('08d991acc80726abe57043a278f9da469c454503'
- 'SKIP'
- 'a324d1910a6440552a3745c873da9e3dff7d7ec9')
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha1sums=('8ae737ab2252607ce708f98d1dd7559ebf047f48'
+ 'SKIP')
+validpgpkeys=('AC404C1C0BF735C63FF4D562263D6DF2E163E1EA')
prepare() {
cd ${pkgname}-${pkgver}
- patch -p1 -i "${srcdir}/wget-1.16-fix-test-proxied-https-auth.patch"
- sed -i 's/--no-check-certificate/& --no-http-keep-alive/' \
- tests/Test-proxied-https-auth.px
cat >> doc/sample.wgetrc <<EOF
# default root certs location
diff --git a/abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch b/abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch
deleted file mode 100644
index 4d38744..0000000
--- a/abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 3eff3ad69a46364475e1f4abdf9412cfa87e3d6c Mon Sep 17 00:00:00 2001
-From: Tim Rühsen <tim.ruehsen@gmx.de>
-Date: Tue, 28 Oct 2014 10:40:34 +0000
-Subject: synchronize client and server in Test-proxied-https-auth.px
-
----
-(limited to 'tests/Test-proxied-https-auth.px')
-
-diff --git a/tests/Test-proxied-https-auth.px b/tests/Test-proxied-https-auth.px
-index cc987ff..272003f 100755
---- a/tests/Test-proxied-https-auth.px
-+++ b/tests/Test-proxied-https-auth.px
-@@ -49,12 +49,15 @@ sub get_request {
- }
-
- sub do_server {
-+ my ($synch_callback) = @_;
- my $alrm = alarm 10;
--
- my $s = $SOCKET;
- my $conn;
- my $rqst;
- my $rspn;
-+
-+ $synch_callback->();
-+
- for my $expect_inner_auth (0, 1) {
- $conn = $s->accept;
- $rqst = $conn->get_request;
-@@ -90,7 +93,7 @@ sub do_server {
- Connection => 'close'
- ]);
- $rspn->protocol('HTTP/1.0');
-- print $rspn->as_string;
-+ print STDERR $rspn->as_string;
- print $conn $rspn->as_string;
- } else {
- die "No proxied auth\n" unless $rqst->header('Authorization');
-@@ -100,9 +103,9 @@ sub do_server {
- 'Connection' => 'close',
- ], "foobarbaz\n");
- $rspn->protocol('HTTP/1.0');
-- print "=====\n";
-- print $rspn->as_string;
-- print "\n=====\n";
-+ print STDERR "=====\n";
-+ print STDERR $rspn->as_string;
-+ print STDERR "\n=====\n";
- print $conn $rspn->as_string;
- }
- $conn->close;
-@@ -113,18 +116,29 @@ sub do_server {
- }
-
- sub fork_server {
-- my $pid = fork;
-- die "Couldn't fork" if ($pid < 0);
-- return $pid if $pid;
-+ pipe(FROM_CHILD, TO_PARENT) or die "Cannot create pipe!";
-+ select((select(TO_PARENT), $| = 1)[0]);
-+
-+ my $pid = fork();
-+ if ($pid < 0) {
-+ die "Cannot fork";
-+ } elsif ($pid == 0) {
-+ # child
-+ close FROM_CHILD;
-+ do_server(sub { print TO_PARENT "SYNC\n"; close TO_PARENT });
-+ } else {
-+ # parent
-+ close TO_PARENT;
-+ chomp(my $line = <FROM_CHILD>);
-+ close FROM_CHILD;
-+ }
-
-- &do_server;
-- exit;
-+ return $pid;
- }
-
- system ('rm -f needs-auth.txt');
- my $pid = &fork_server;
-
--sleep 1;
- my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee"
- . " --password=Dodgson -e https_proxy=localhost:{{port}}"
- . " --no-check-certificate"
---
-cgit v0.9.0.2
diff --git a/abs/core/x264/PKGBUILD b/abs/core/x264/PKGBUILD
index e8cb861..b3c6a71 100644
--- a/abs/core/x264/PKGBUILD
+++ b/abs/core/x264/PKGBUILD
@@ -1,19 +1,21 @@
# $Id$
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: damir <damir@archlinux.org>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=('x264' 'libx264' 'libx264-10bit')
-pkgver=142.20140826
-pkgrel=3
-epoch=1
+pkgver=148.20150725
+pkgrel=1
+epoch=2
arch=('i686' 'x86_64')
url='http://www.videolan.org/developers/x264.html'
license=('GPL')
depends=('glibc')
-makedepends=('yasm' 'git' 'ffmpeg')
-source=(git://git.videolan.org/x264.git#commit=021c0dc6c95c)
+makedepends=('yasm' 'git' 'ffmpeg' 'l-smash')
+_commit=73ae2d11d472d0eb3b7c218dc1659db32f649b14
+source=(git://git.videolan.org/x264.git#commit=${_commit})
md5sums=('SKIP')
pkgver() {
@@ -43,7 +45,7 @@ build() {
package_x264() {
pkgdesc='CLI tools for encoding H264/AVC video streams'
- depends=('glibc' 'ffmpeg')
+ depends=('ffmpeg' 'liblsmash.so')
provides=('x264-10bit')
conflicts=('x264-10bit')
replaces=('x264-10bit')
@@ -54,8 +56,7 @@ package_x264() {
package_libx264() {
pkgdesc='Library for encoding H264/AVC video streams'
- depends=('glibc')
- provides=('x264-dev')
+ provides=('libx264.so' 'x264-dev')
conflicts=('x264-dev')
replaces=('x264-dev')
@@ -65,8 +66,7 @@ package_libx264() {
package_libx264-10bit() {
pkgdesc='Library for encoding H264/AVC video streams. 10bit-depth.'
- depends=('glibc')
- provides=('libx264' 'x264-dev')
+ provides=('libx264.so' 'libx264' 'x264-dev')
conflicts=('libx264' 'x264-dev')
install -d "$pkgdir"/usr/lib
diff --git a/abs/core/x265/PKGBUILD b/abs/core/x265/PKGBUILD
index ac8b34b..246166f 100644
--- a/abs/core/x265/PKGBUILD
+++ b/abs/core/x265/PKGBUILD
@@ -3,16 +3,24 @@
# Contributor: kfgz <kfgz at interia pl>
pkgname=x265
-pkgver=1.4
-pkgrel=1
+pkgver=1.7
+pkgrel=3
pkgdesc='Open Source H265/HEVC video encoder'
arch=('i686' 'x86_64')
+url='https://bitbucket.org/multicoreware/x265'
license=('GPL')
depends=('gcc-libs')
makedepends=('yasm' 'cmake')
-url='https://bitbucket.org/multicoreware/x265'
-source=($url/get/$pkgver.tar.bz2)
-md5sums=('b37bf7bd05b198c9dd9155d60e1f7100')
+provides=('libx265.so')
+source=($pkgname-$pkgver.tar.bz2::$url/get/$pkgver.tar.bz2
+ x265-1.7-fix-slowness-with-gcc-5.1.patch)
+md5sums=('d6020c277b05ab44f8222342aaa9c99f'
+ '30c7fc491f22cbdec1ee17caab7d620a')
+
+prepare() {
+ cd multicoreware-x265-*
+ patch -p1 -i "$srcdir"/x265-1.7-fix-slowness-with-gcc-5.1.patch
+}
build() {
cd multicoreware-x265-*/build/linux
diff --git a/abs/core/x265/x265-1.7-fix-slowness-with-gcc-5.1.patch b/abs/core/x265/x265-1.7-fix-slowness-with-gcc-5.1.patch
new file mode 100644
index 0000000..6aa679d
--- /dev/null
+++ b/abs/core/x265/x265-1.7-fix-slowness-with-gcc-5.1.patch
@@ -0,0 +1,28 @@
+# HG changeset patch
+# User Deepthi Nandakumar <deepthi@multicorewareinc.com>
+# Date 1434559454 -19800
+# Wed Jun 17 22:14:14 2015 +0530
+# Branch stable
+# Node ID 98325f22a1bad500e6a0c3372bf8177e81167cae
+# Parent e0738af788da598a3cdf4458dbb46fbb07563534
+fix issue #143 x265 is slow when it is build with GCC 5.1
+
+diff -r e0738af788da -r 98325f22a1ba source/common/vec/vec-primitives.cpp
+--- a/source/common/vec/vec-primitives.cpp Wed May 20 10:29:09 2015 -0500
++++ b/source/common/vec/vec-primitives.cpp Wed Jun 17 22:14:14 2015 +0530
+@@ -32,12 +32,13 @@
+ #define HAVE_SSE4
+ #define HAVE_AVX2
+ #elif defined(__GNUC__)
+-#if __clang__ || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 3)
++#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
++#if __clang__ || GCC_VERSION >= 40300 /* gcc_version >= gcc-4.3.0 */
+ #define HAVE_SSE3
+ #define HAVE_SSSE3
+ #define HAVE_SSE4
+ #endif
+-#if __clang__ || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 7)
++#if __clang__ || GCC_VERSION >= 40700 /* gcc_version >= gcc-4.7.0 */
+ #define HAVE_AVX2
+ #endif
+ #elif defined(_MSC_VER)
diff --git a/abs/core/xcb-util/LICENSE b/abs/core/xcb-util-image/LICENSE
index 5e3822c..5e3822c 100644
--- a/abs/core/xcb-util/LICENSE
+++ b/abs/core/xcb-util-image/LICENSE
diff --git a/abs/core/xcb-util-image/PKGBUILD b/abs/core/xcb-util-image/PKGBUILD
new file mode 100644
index 0000000..54ed13d
--- /dev/null
+++ b/abs/core/xcb-util-image/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=xcb-util-image
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="Utility libraries for XC Binding - Port of Xlib's XImage and XShmImage functions"
+arch=('i686' 'x86_64')
+url="http://xcb.freedesktop.org"
+license=('custom')
+depends=('libxcb>=1.7' 'xcb-util>=0.3.9')
+makedepends=('xorg-util-macros')
+source=("http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2")
+sha256sums=('2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 COPYING \
+ ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+}
diff --git a/abs/core/xcb-util-keysyms/LICENSE b/abs/core/xcb-util-keysyms/LICENSE
new file mode 100644
index 0000000..5e3822c
--- /dev/null
+++ b/abs/core/xcb-util-keysyms/LICENSE
@@ -0,0 +1,267 @@
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008-2009 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008 Arnaud Fontaine <arnau@debian.org>
+ * Copyright (C) 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ * Copyright © 2008 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Keith Packard <keithp@keithp.com>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Ian Osgood <iano@quirkster.com>
+ * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
+ * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
+ * Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/* Copyright © 2006 Jamey Sharp.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2006 Ian Osgood
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2000 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/abs/core/xcb-util-keysyms/PKGBUILD b/abs/core/xcb-util-keysyms/PKGBUILD
new file mode 100644
index 0000000..17933ae
--- /dev/null
+++ b/abs/core/xcb-util-keysyms/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=xcb-util-keysyms
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="Utility libraries for XC Binding - Standard X key constants and conversion to/from keycodes"
+arch=('i686' 'x86_64')
+url="http://xcb.freedesktop.org"
+license=('custom')
+depends=('libxcb>=1.7')
+makedepends=('xorg-util-macros')
+source=("http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2"
+ 'LICENSE')
+sha256sums=('0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9'
+ 'ded299aa179dcf0d885bf89274a4db77a530e03f9f5e7cf1c3c4ef1d60e914b9')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 "${srcdir}/LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/xcb-util-renderutil/LICENSE b/abs/core/xcb-util-renderutil/LICENSE
new file mode 100644
index 0000000..5e3822c
--- /dev/null
+++ b/abs/core/xcb-util-renderutil/LICENSE
@@ -0,0 +1,267 @@
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008-2009 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008 Arnaud Fontaine <arnau@debian.org>
+ * Copyright (C) 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ * Copyright © 2008 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Keith Packard <keithp@keithp.com>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Ian Osgood <iano@quirkster.com>
+ * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
+ * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
+ * Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/* Copyright © 2006 Jamey Sharp.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2006 Ian Osgood
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2000 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/abs/core/xcb-util-renderutil/PKGBUILD b/abs/core/xcb-util-renderutil/PKGBUILD
new file mode 100644
index 0000000..4bdd5fa
--- /dev/null
+++ b/abs/core/xcb-util-renderutil/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=xcb-util-renderutil
+pkgver=0.3.9
+pkgrel=1
+pkgdesc="Utility libraries for XC Binding - Convenience functions for the Render extension"
+arch=('i686' 'x86_64')
+url="http://xcb.freedesktop.org"
+license=('custom')
+depends=('libxcb>=1.7')
+makedepends=('xorg-util-macros')
+source=("http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2"
+ 'LICENSE')
+sha256sums=('c6e97e48fb1286d6394dddb1c1732f00227c70bd1bedb7d1acabefdd340bea5b'
+ 'ded299aa179dcf0d885bf89274a4db77a530e03f9f5e7cf1c3c4ef1d60e914b9')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 "${srcdir}/LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/xcb-util-wm/LICENSE b/abs/core/xcb-util-wm/LICENSE
new file mode 100644
index 0000000..5e3822c
--- /dev/null
+++ b/abs/core/xcb-util-wm/LICENSE
@@ -0,0 +1,267 @@
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008-2009 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008 Arnaud Fontaine <arnau@debian.org>
+ * Copyright (C) 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ * Copyright © 2008 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Keith Packard <keithp@keithp.com>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Ian Osgood <iano@quirkster.com>
+ * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
+ * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
+ * Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/* Copyright © 2006 Jamey Sharp.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2006 Ian Osgood
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2000 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/abs/core/xcb-util-wm/PKGBUILD b/abs/core/xcb-util-wm/PKGBUILD
new file mode 100644
index 0000000..2d0af3f
--- /dev/null
+++ b/abs/core/xcb-util-wm/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=xcb-util-wm
+pkgver=0.4.1
+pkgrel=1
+pkgdesc="Utility libraries for XC Binding - client and window-manager helpers for ICCCM"
+arch=('i686' 'x86_64')
+url="http://xcb.freedesktop.org"
+license=('custom')
+depends=('libxcb>=1.7')
+makedepends=('xorg-util-macros')
+source=("http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2"
+ 'LICENSE')
+sha256sums=('28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f'
+ 'ded299aa179dcf0d885bf89274a4db77a530e03f9f5e7cf1c3c4ef1d60e914b9')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 "${srcdir}/LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/xcb-util/PKGBUILD b/abs/core/xcb-util/PKGBUILD
index 42f3273..066ad31 100644
--- a/abs/core/xcb-util/PKGBUILD
+++ b/abs/core/xcb-util/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 160615 2012-06-02 21:14:55Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
pkgname=xcb-util
-pkgver=0.3.9
+pkgver=0.4.0
pkgrel=1
pkgdesc="Utility libraries for XC Binding"
arch=('i686' 'x86_64')
@@ -12,27 +12,24 @@ url="http://xcb.freedesktop.org"
license=('custom')
depends=('libxcb>=1.7')
makedepends=('gperf' 'xorg-util-macros')
-options=('!libtool')
-source=("http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2"
- 'LICENSE')
-sha256sums=('c611259c0ab20fd76f79f48f4684843c18ea9c967eba78a45e8b3636315c18c4'
- 'ded299aa179dcf0d885bf89274a4db77a530e03f9f5e7cf1c3c4ef1d60e914b9')
+source=("http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2")
+sha256sums=('46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr --disable-static
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
- install -D -m644 "${srcdir}/LICENSE" \
- "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m644 COPYING \
+ "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
diff --git a/abs/core/xextproto/PKGBUILD b/abs/core/xextproto/PKGBUILD
index c7bdb79..65320f7 100644
--- a/abs/core/xextproto/PKGBUILD
+++ b/abs/core/xextproto/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 154144 2012-03-23 17:24:05Z andyrtr $
+# $Id$
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xextproto
-pkgver=7.2.1
+pkgver=7.3.0
pkgrel=1
pkgdesc="X11 various extension wire protocol"
arch=('any')
@@ -10,16 +10,16 @@ license=('custom')
makedepends=('xmlto' 'xorg-util-macros' 'docbook-xsl')
url="http://xorg.freedesktop.org/"
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('f969e02009adf2d51fd1ba4583a859984728a461')
+sha256sums=('f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
diff --git a/abs/core/xf86-input-evdev/PKGBUILD b/abs/core/xf86-input-evdev/PKGBUILD
index daab499..22a8b18 100644
--- a/abs/core/xf86-input-evdev/PKGBUILD
+++ b/abs/core/xf86-input-evdev/PKGBUILD
@@ -1,30 +1,37 @@
-# $Id: PKGBUILD 168556 2012-10-13 11:43:27Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <Alexander@archlinux.org
pkgname=xf86-input-evdev
-pkgver=2.7.3
-pkgrel=2
+pkgver=2.10.1
+pkgrel=3
pkgdesc="X.org evdev input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('glibc' 'systemd-tools' 'mtdev')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=18' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-XINPUT_VERSION<18' 'X-ABI-XINPUT_VERSION>=19')
-options=('!libtool' '!makeflags')
+depends=('glibc' 'systemd' 'mtdev' 'libevdev')
+makedepends=('xorg-server-devel' 'resourceproto' 'scrnsaverproto')
+provides=('xf86-input-driver')
+conflicts=('xorg-server<1.18.0' 'X-ABI-XINPUT_VERSION<22' 'X-ABI-XINPUT_VERSION>=23')
+options=('!makeflags')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('eb389413602c3d28c44bbfab0477c98582f0e2f5be5f41986e58e93a033fa504')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha256sums=('af9c2b47f5b272ae56b45da6bd84610fc9a3d80a4b32c8215842a39d862de017'
+ 'SKIP')
+validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net>
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-input-joystick/PKGBUILD b/abs/core/xf86-input-joystick/PKGBUILD
index ae65594..cea3ba4 100644
--- a/abs/core/xf86-input-joystick/PKGBUILD
+++ b/abs/core/xf86-input-joystick/PKGBUILD
@@ -1,38 +1,35 @@
-# $Id: PKGBUILD 168557 2012-10-13 11:43:35Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-joystick
-pkgver=1.6.1
-pkgrel=2
+pkgver=1.6.2
+pkgrel=6
pkgdesc="X.Org Joystick input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=18' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-XINPUT_VERSION<18' 'X-ABI-XINPUT_VERSION>=19')
+makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=22.1' 'resourceproto' 'scrnsaverproto')
+conflicts=('xorg-server<1.16' 'X-ABI-XINPUT_VERSION<22.1' 'X-ABI-XINPUT_VERSION>=23')
groups=('xorg-drivers' 'xorg')
-options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- #git-fixes.patch
50-joystick.conf)
-sha1sums=('0712652ec6cdb2fca6ad888548b232a4de9cf580'
+sha1sums=('61658b8d829fdaed6064c7c26232c3884d359187'
'e1ff3699a0470c6bb78a53f718df9d8521621e11')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- #patch -Np1 -i "${srcdir}/git-fixes.patch"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
- install -m644 "${srcdir}/50-joystick.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+ install -m755 -d "${pkgdir}/usr/share/X11/xorg.conf.d"
+ install -m644 "${srcdir}/50-joystick.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-input-joystick/git-fixes.patch b/abs/core/xf86-input-joystick/git-fixes.patch
deleted file mode 100644
index b3afa06..0000000
--- a/abs/core/xf86-input-joystick/git-fixes.patch
+++ /dev/null
@@ -1,399 +0,0 @@
-From 204dcb86368b011824fc5006f87b9e394d03a394 Mon Sep 17 00:00:00 2001
-From: Terry Lambert <tlambert@chromium.org>
-Date: Sat, 16 Jul 2011 00:23:22 +0000
-Subject: Return proper default for unknown values in pInfo->device_control.
-
-Signed-off-by: Terry Lambert <tlambert@chromium.org>
-Reviewed-by: Stephane Marchesin <marcheu@chromium.org>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
-diff --git a/src/jstk.c b/src/jstk.c
-index ec6b79a..6db0e7c 100644
---- a/src/jstk.c
-+++ b/src/jstk.c
-@@ -419,8 +419,7 @@ jstkDeviceControlProc(DeviceIntPtr pJstk,
-
- default:
- ErrorF("unsupported mode=%d\n", what);
-- return !Success;
-- break;
-+ return BadValue;
- } /* switch (what) */
- return Success;
- }
-diff --git a/src/jstk_key.c b/src/jstk_key.c
-index 3c471ce..d699dcd 100644
---- a/src/jstk_key.c
-+++ b/src/jstk_key.c
-@@ -169,6 +169,8 @@ jstkKeyboardDeviceControlProc(DeviceIntPtr dev,
- DBG(2, ErrorF("jstkKeyboardDeviceControlProc what=DEVICE_CLOSE\n"));
- dev->public.on = FALSE;
- break;
-+ default:
-+ return BadValue;
- }
-
- return Success;
---
-cgit v0.9.0.2-2-gbebe
-From b3b62328cf3f36c20c54a298f8a921e6eef42c4d Mon Sep 17 00:00:00 2001
-From: Devin J. Pohly <djpohly+xorg@gmail.com>
-Date: Sat, 03 Sep 2011 23:00:07 +0000
-Subject: unify capitalization of joystick properties
-
-the axis keys high/low properties were inconsistently capitalized,
-leading to potential confusion as to why one works but not the other.
-
-Signed-off-by: Devin J. Pohly <djpohly+xorg@gmail.com>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
-diff --git a/include/joystick-properties.h b/include/joystick-properties.h
-index 49ef800..36f4082 100644
---- a/include/joystick-properties.h
-+++ b/include/joystick-properties.h
-@@ -99,7 +99,7 @@ typedef enum _JSTK_MAPPING {
-
- /** Scancodes for axis in high position */
- /* 8 bit, 4 per axis */
--#define JSTK_PROP_AXIS_KEYS_HIGH "Axis keys (high)"
-+#define JSTK_PROP_AXIS_KEYS_HIGH "Axis Keys (high)"
-
- /** Set the mapping of each button to
- none, x, y, zx, zy, button, key, speed_multiply,
---
-cgit v0.9.0.2-2-gbebe
-From b607c4ebeea4122694f02ba87f06e4cdb23114f1 Mon Sep 17 00:00:00 2001
-From: Sascha Hlusiak <saschahlusiak@arcor.de>
-Date: Sat, 15 Oct 2011 22:47:52 +0000
-Subject: label buttons and axes
-
-Buttons are labeled "Button %d", starting with 0 and representing the button in X _after_ mapping.
-Mapping can be changed while running so the labels will be constant.
-
-Axes are labeled "Axis %d", starting with 1, representing the _physical_ axis that reports the valuator
-data. The raw valuators can't be dynamically mapped, the first two valuators always are labeled "Rel X"
-and "Rel Y", representing the aggregated post-calculation data from all axes.
-
-Signed-off-by: Sascha Hlusiak <saschahlusiak@arcor.de>
----
-diff --git a/man/joystick.man b/man/joystick.man
-index da92ceb..b401de5 100644
---- a/man/joystick.man
-+++ b/man/joystick.man
-@@ -140,7 +140,11 @@ Neither
- .B mode
- nor
- .B axis
--needs to be set to generate extra valuator events.
-+needs to be set to generate extra valuator events. The axis will be labelled according to it's physical axis number, beginning with
-+.I 1
-+, i.e.
-+.I \*qAxis 1\*q
-+for the first axis (being the 3rd valuator).
- Default: not set.
- .TP 7
- .BI "\*qaxis="[<factor>]<axis> \*q
-@@ -318,6 +322,28 @@ and the second and fourth axis to the arrow keys
- The keys for the first two axes will be generated in an interval according to the value of the axis. The autorepeat speed of the first axis will be half the speed of that of the second axis.
- The keys for the third and fourth axis are generated once when the axis moves out of the deadzone and when it moves back into the deadzone. X.Org will autorepeat those keys according to current keyboard settings.
-
-+.SH "XI2 Events"
-+If you only care about raw events instead of using the joystick as a mouse replacement, don't forget to unmap and add valuators to all axes and map the remaining buttons:
-+
-+.nf
-+.BI " Option \*qMapAxis1\*q \*q" "mode=none valuator" \*q
-+.BI " Option \*qMapAxis2\*q \*q" "mode=none valuator" \*q
-+.BI " Option \*qMapAxis3\*q \*q" "mode=none valuator" \*q
-+.BI " Option \*qMapAxis4\*q \*q" "mode=none valuator" \*q
-+\ \ ...
-+.BI " Option \*qMapButton1\*q \*q" "button=1" \*q
-+.BI " Option \*qMapButton2\*q \*q" "button=2" \*q
-+.BI " Option \*qMapButton3\*q \*q" "button=3" \*q
-+.BI " Option \*qMapButton4\*q \*q" "button=4" \*q
-+.BI " Option \*qMapButton5\*q \*q" "button=5" \*q
-+\ \ ...
-+.fi
-+
-+You might also want to set the device "floating" to stop it from reporting core events:
-+.nf
-+.BI " Option \*qFloating\*q \*q" "true" \*q
-+.fi
-+
- .SH "NOTES"
- Configuration through
- .I InputClass
-diff --git a/src/jstk.c b/src/jstk.c
-index 6db0e7c..772683f 100644
---- a/src/jstk.c
-+++ b/src/jstk.c
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2007-2009 by Sascha Hlusiak. <saschahlusiak@freedesktop.org>
-+ * Copyright 2007-2011 by Sascha Hlusiak. <saschahlusiak@freedesktop.org>
- * Copyright 1995-1999 by Frederic Lepied, France. <Lepied@XFree86.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
-@@ -21,7 +21,6 @@
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
--
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
-@@ -300,6 +299,7 @@ jstkDeviceControlProc(DeviceIntPtr pJstk,
- switch (what) {
- case DEVICE_INIT: {
- int m;
-+ char str[32];
- CARD8 buttonmap[BUTTONMAP_SIZE+1];
- DBG(1, ErrorF("jstkDeviceControlProc what=INIT\n"));
- /* Probe device and return if error */
-@@ -312,11 +312,14 @@ jstkDeviceControlProc(DeviceIntPtr pJstk,
- }
-
- for (m=0; m<=BUTTONMAP_SIZE; m++) {
-+ sprintf(str, "Button %d", m);
-+
- buttonmap[m] = m;
-- }
-+ btn_labels[m] = MakeAtom(str, strlen(str), TRUE);
-+ }
-+
-+
-
--
--
- if (InitButtonClassDeviceStruct(pJstk, BUTTONMAP_SIZE,
- btn_labels,
- buttonmap) == FALSE) {
-@@ -331,7 +334,9 @@ jstkDeviceControlProc(DeviceIntPtr pJstk,
- if (priv->axis[i].valuator != -1)
- {
- DBG(3, ErrorF("Axis %d will be valuator %d\n", i, m));
-+ sprintf(str, "Axis %d", i + 1);
- priv->axis[i].valuator = m++;
-+ axes_labels[i] = MakeAtom(str, strlen(str), TRUE);
- }
-
- if (InitValuatorClassDeviceStruct(pJstk, m, axes_labels,
-@@ -719,7 +724,6 @@ static XF86ModuleVersionInfo jstkVersionRec =
- /* a tool */
- };
-
--
- /*
- ***************************************************************************
- *
-@@ -732,3 +736,6 @@ _X_EXPORT XF86ModuleData joystickModuleData = {
- jstkDriverPlug,
- jstkDriverUnplug
- };
-+
-+/* vim: set filetype=c.doxygen ts=4 et: */
-+
---
-cgit v0.9.0.2-2-gbebe
-From e0193debf8f5a72b0a06977d5dea3365ad9cafbe Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Mon, 31 Oct 2011 04:27:22 +0000
-Subject: Fix option type for option duplication
-
-xf86OptionListDuplicate() duplicates an XF86Option list, not an InputOption
-list.
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
----
-diff --git a/src/jstk_key.c b/src/jstk_key.c
-index d699dcd..e842941 100644
---- a/src/jstk_key.c
-+++ b/src/jstk_key.c
-@@ -253,26 +253,26 @@ jstkKeyboardHotplug(InputInfoPtr pInfo, int flags)
- int rc;
- char name[512] = {0};
- InputAttributes *attrs = NULL;
-- InputOption *options;
- InputOption *iopts = NULL, *tmp;
- DeviceIntPtr dev;
-+ XF86OptionPtr opts;
-
- /* duplicate option list, append to name */
-- options = xf86OptionListDuplicate(pInfo->options);
-+ opts = xf86OptionListDuplicate(pInfo->options);
- strcpy(name, pInfo->name);
- strcat(name, " (keys)");
-- options = xf86ReplaceStrOption(options, "Name", name);
-- options = xf86ReplaceStrOption(options, "_source", "_driver/joystick");
-+ opts = xf86ReplaceStrOption(opts, "Name", name);
-+ opts = xf86ReplaceStrOption(opts, "_source", "_driver/joystick");
-
-- while(options)
-+ while(opts)
- {
- tmp = calloc(1, sizeof(InputOption));
-
-- tmp->key = xf86OptionName(options);
-- tmp->value = xf86OptionValue(options);
-+ tmp->key = xf86OptionName(opts);
-+ tmp->value = xf86OptionValue(opts);
- tmp->next = iopts;
- iopts = tmp;
-- options = xf86NextOption(options);
-+ opts = xf86NextOption(opts);
- }
-
- /* duplicate attribute list */
---
-cgit v0.9.0.2-2-gbebe
-From 7ccf3a75292d71104c976bf6afb389cccaac1a7d Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Mon, 31 Oct 2011 04:33:08 +0000
-Subject: Deal with opaque input option types.
-
-ABI 14 made the InputOption type opaque, move the existing code to ifdefs
-and use the new function calls otherwise.
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
-Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
----
-diff --git a/src/jstk_key.c b/src/jstk_key.c
-index e842941..a71275a 100644
---- a/src/jstk_key.c
-+++ b/src/jstk_key.c
-@@ -247,13 +247,46 @@ int jstkKeyboardPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
- return Success;
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 14
-+static InputOption*
-+input_option_new(InputOption* list, char *key, char *value)
-+{
-+ InputOption *tmp;
-+
-+ tmp = calloc(1, sizeof(*tmp));
-+ tmp->key = key;
-+ tmp->value = value;
-+ tmp->next = list;
-+
-+ return tmp;
-+}
-+
-+static void
-+input_option_free_list(InputOption **list)
-+{
-+ InputOption *iopts = *list;
-+
-+ while(iopts)
-+ {
-+ InputOption *tmp = iopts->next;
-+ free(iopts->key);
-+ free(iopts->value);
-+ free(iopts);
-+ iopts = tmp;
-+ }
-+
-+ *list = NULL;
-+}
-+
-+#endif
-+
- InputInfoPtr
- jstkKeyboardHotplug(InputInfoPtr pInfo, int flags)
- {
- int rc;
- char name[512] = {0};
- InputAttributes *attrs = NULL;
-- InputOption *iopts = NULL, *tmp;
-+ InputOption *iopts = NULL;
- DeviceIntPtr dev;
- XF86OptionPtr opts;
-
-@@ -266,12 +299,9 @@ jstkKeyboardHotplug(InputInfoPtr pInfo, int flags)
-
- while(opts)
- {
-- tmp = calloc(1, sizeof(InputOption));
--
-- tmp->key = xf86OptionName(opts);
-- tmp->value = xf86OptionValue(opts);
-- tmp->next = iopts;
-- iopts = tmp;
-+ iopts = input_option_new(iopts,
-+ xf86OptionName(opts),
-+ xf86OptionValue(opts));
- opts = xf86NextOption(opts);
- }
-
-@@ -280,14 +310,7 @@ jstkKeyboardHotplug(InputInfoPtr pInfo, int flags)
-
- rc = NewInputDeviceRequest(iopts, attrs, &dev);
-
-- while(iopts)
-- {
-- tmp = iopts->next;
-- free(iopts->key);
-- free(iopts->value);
-- free(iopts);
-- iopts = tmp;
-- }
-+ input_option_free_list(&iopts);
-
- FreeInputAttributes(attrs);
-
---
-cgit v0.9.0.2-2-gbebe
-From 411c1838456c055d3f911c54ed58bb11a6bf0da3 Mon Sep 17 00:00:00 2001
-From: Sascha Hlusiak <saschahlusiak@arcor.de>
-Date: Sun, 13 Nov 2011 17:04:25 +0000
-Subject: man: valuators are not added automatically
-
----
-diff --git a/man/joystick.man b/man/joystick.man
-index b401de5..9f38ceb 100644
---- a/man/joystick.man
-+++ b/man/joystick.man
-@@ -129,9 +129,6 @@ can be one of:
-
- .B none, relative, accelerated, absolute
-
--Every axis which's mode is not
--.B none
--will be reported as an additional valuator.
- .TP 7
- .B \*qvaluator\*q
- Send extra valuator events for this axis. The valuators will be numbered ascending, starting with 2 (valuator 0 and 1 are reserved for pointer movement). The range of the valuators is always
---
-cgit v0.9.0.2-2-gbebe
-From b217fabdef1714ed4898e08de4c2a6b9cc8d4f0f Mon Sep 17 00:00:00 2001
-From: Sascha Hlusiak <saschahlusiak@arcor.de>
-Date: Sun, 13 Nov 2011 19:36:07 +0000
-Subject: Copy pInfo->driver to option list to fix hotplugging of keyboard device
-
-udev does copy the Driver line to the list of options, but when manually
-specifying the driver in xorg.conf, the option "Driver" is unset. Because we
-do hotplug a sub-device from within the core device, we need the "Driver"
-option to be present in the list.
-
-This should fix archlinux bug #23577:
- https://bugs.archlinux.org/task/23577
-
-Thanks to Malek for coming up with a fix.
-
-Signed-off-by: Sascha Hlusiak <contact@saschahlusiak.de>
----
-diff --git a/src/jstk_key.c b/src/jstk_key.c
-index a71275a..241b15d 100644
---- a/src/jstk_key.c
-+++ b/src/jstk_key.c
-@@ -296,6 +296,7 @@ jstkKeyboardHotplug(InputInfoPtr pInfo, int flags)
- strcat(name, " (keys)");
- opts = xf86ReplaceStrOption(opts, "Name", name);
- opts = xf86ReplaceStrOption(opts, "_source", "_driver/joystick");
-+ opts = xf86AddNewOption(opts, "Driver", pInfo->driver);
-
- while(opts)
- {
---
-cgit v0.9.0.2-2-gbebe
diff --git a/abs/core/xf86-input-keyboard/PKGBUILD b/abs/core/xf86-input-keyboard/PKGBUILD
index c8f67c5..8467106 100644
--- a/abs/core/xf86-input-keyboard/PKGBUILD
+++ b/abs/core/xf86-input-keyboard/PKGBUILD
@@ -1,29 +1,30 @@
-# $Id: PKGBUILD 168558 2012-10-13 11:43:39Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-keyboard
-pkgver=1.6.2
+pkgver=1.8.1
pkgrel=2
pkgdesc="X.Org keyboard input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=18' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-XINPUT_VERSION<18' 'X-ABI-XINPUT_VERSION>=19')
-options=('!libtool')
+makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=22.1' 'resourceproto' 'scrnsaverproto')
+conflicts=('xorg-server<1.16' 'X-ABI-XINPUT_VERSION<22.1' 'X-ABI-XINPUT_VERSION>=23')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('76651a84f5031f7c6ecf075d55989c04a00689642579df6d1a1bee6d5c2e5f8a')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha256sums=('1ac8ff39bf9da7d2fc7fd6c24515726e8138340c0518ab8c606e008cf93ca211'
+ 'SKIP')
+validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net>
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-input-mouse/PKGBUILD b/abs/core/xf86-input-mouse/PKGBUILD
index 15b0f2c..34decc1 100644
--- a/abs/core/xf86-input-mouse/PKGBUILD
+++ b/abs/core/xf86-input-mouse/PKGBUILD
@@ -1,29 +1,28 @@
-# $Id: PKGBUILD 168559 2012-10-13 11:43:43Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-mouse
-pkgver=1.8.1
+pkgver=1.9.1
pkgrel=2
pkgdesc="X.org mouse input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=18' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-XINPUT_VERSION<18' 'X-ABI-XINPUT_VERSION>=19')
-options=('!libtool')
+makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=22.1' 'resourceproto' 'scrnsaverproto')
+conflicts=('xorg-server<1.16' 'X-ABI-XINPUT_VERSION<22.1' 'X-ABI-XINPUT_VERSION>=23')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('f5b97aac9aab8fa8b933e960631441ae23b18681c8bf3d5007c00da838f9c9c8')
+sha256sums=('3485d375779c08406f0789feedde15933dc703158a086ddac638598f479fc5ce')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-input-vmmouse/PKGBUILD b/abs/core/xf86-input-vmmouse/PKGBUILD
index f55f8d2..8673520 100644
--- a/abs/core/xf86-input-vmmouse/PKGBUILD
+++ b/abs/core/xf86-input-vmmouse/PKGBUILD
@@ -1,32 +1,29 @@
-# $Id: PKGBUILD 168561 2012-10-13 11:43:53Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-vmmouse
-pkgver=12.9.0
+pkgver=13.1.0
pkgrel=2
pkgdesc="X.org VMWare Mouse input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
-depends=('glibc' 'sh')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=18' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-XINPUT_VERSION<18' 'X-ABI-XINPUT_VERSION>=19')
+depends=('glibc' 'libsystemd' 'sh')
+makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=22.1' 'resourceproto' 'scrnsaverproto')
+conflicts=('xorg-server<1.16' 'X-ABI-XINPUT_VERSION<22.1' 'X-ABI-XINPUT_VERSION>=23')
groups=('xorg-drivers' 'xorg')
-backup=('etc/X11/xorg.conf.d/50-vmmouse.conf')
-options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('83500beddba2da390389705d482131872fe9be8b')
+sha256sums=('0af558957ac1be1b2863712c2475de8f4d7f14921fd01ded2e2fde4921b19319')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr \
- --with-xorg-conf-dir=/etc/X11/xorg.conf.d \
--with-udev-rules-dir=/usr/lib/udev/rules.d
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-input-void/PKGBUILD b/abs/core/xf86-input-void/PKGBUILD
index 5dd81a5..0f690f8 100644
--- a/abs/core/xf86-input-void/PKGBUILD
+++ b/abs/core/xf86-input-void/PKGBUILD
@@ -1,29 +1,30 @@
-# $Id: PKGBUILD 168562 2012-10-13 11:43:57Z andyrtr $
+# $Id$
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-void
-pkgver=1.4.0
-pkgrel=4
+pkgver=1.4.1
+pkgrel=2
pkgdesc="X.org void input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=18' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-XINPUT_VERSION<18' 'X-ABI-XINPUT_VERSION>=19')
+makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=22.1' 'resourceproto' 'scrnsaverproto')
+conflicts=('xorg-server<1.16' 'X-ABI-XINPUT_VERSION<22.1' 'X-ABI-XINPUT_VERSION>=23')
groups=('xorg-drivers' 'xorg')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('49b462d3acb16337eaf78202d4074f19d5e20b29')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha256sums=('f96e4f0a622821bf43a74bd419f2a18423343996c9d243c7e1430ba2d142339c'
+ 'SKIP')
+validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net>
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
diff --git a/abs/core/xf86-video-ati/PKGBUILD b/abs/core/xf86-video-ati/PKGBUILD
index 40f66e5..d220ef0 100644
--- a/abs/core/xf86-video-ati/PKGBUILD
+++ b/abs/core/xf86-video-ati/PKGBUILD
@@ -1,31 +1,35 @@
-# $Id: PKGBUILD 170785 2012-11-11 10:23:19Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-ati
-pkgver=7.0.0
+pkgver=7.6.1
epoch=1
pkgrel=1
pkgdesc="X.org ati video driver"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libdrm>=2.4.40' 'systemd-tools' 'ati-dri')
-makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14')
+depends=('libdrm' 'systemd' 'mesa-dri')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20')
+conflicts=('xorg-server<1.18.0' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21')
groups=('xorg-drivers' 'xorg')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('c0acc81386425651aae5dfe02d89f935bb63b2a62104da0d88deac3c773ea10e')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig})
+md5sums=('ede86cd3d1b1d8882f0aea61d9e924ed'
+ 'SKIP')
+validpgpkeys=('B09FAF35BE914521980951145A81AF8E6ADBB200') # Michel Daenzer <michel@daenzer.net>
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr \
+ --enable-glamor
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
+
make "DESTDIR=${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-video-intel/PKGBUILD b/abs/core/xf86-video-intel/PKGBUILD
index 1eaeb94..e39dd0b 100644
--- a/abs/core/xf86-video-intel/PKGBUILD
+++ b/abs/core/xf86-video-intel/PKGBUILD
@@ -1,36 +1,62 @@
-# $Id: PKGBUILD 172074 2012-11-27 15:58:51Z andyrtr $
+# $Id$
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
-pkgver=2.20.14
+pkgver=2.99.917+544+g8b8c9a3
pkgrel=1
+epoch=1
arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
+url="https://01.org/linuxgraphics"
license=('custom')
install=$pkgname.install
pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
-depends=('intel-dri' 'libxvmc' 'xcb-util>=0.3.9' 'systemd')
-makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13' 'resourceproto' 'scrnsaverproto' 'libx11' 'libxrender')
+depends=('mesa-dri' 'libxvmc' 'pixman' 'xcb-util>=0.3.9')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20' 'libx11' 'libxrender'
+ # additional deps for intel-virtual-output
+ 'libxrandr' 'libxinerama' 'libxcursor' 'libxtst' 'libxss'
+ # additional for git snapshot
+ 'git')
+optdepends=('libxrandr: for intel-virtual-output'
+ 'libxinerama: for intel-virtual-output'
+ 'libxcursor: for intel-virtual-output'
+ 'libxtst: for intel-virtual-output'
+ 'libxss: for intel-virtual-output')
replaces=('xf86-video-intel-uxa' 'xf86-video-intel-sna')
provides=('xf86-video-intel-uxa' 'xf86-video-intel-sna')
-conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14'
+conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21'
'xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xf86-video-i810' 'xf86-video-intel-legacy')
-options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('f85019afd5ddead6606bf89855d209d5369823a6e96b779fa956e0cc78d3b09b')
+#source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+source=('git://anongit.freedesktop.org/xorg/driver/xf86-video-intel#commit=8b8c9a3')
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --long | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --enable-dri
+ cd $pkgname
+ ./configure --prefix=/usr --libexecdir=/usr/lib
make
}
+check() {
+ cd $pkgname
+ make check
+}
+
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname
+
make DESTDIR="${pkgdir}" install
+
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-intel/xf86-video-intel.install b/abs/core/xf86-video-intel/xf86-video-intel.install
index d523eb6..213f7d4 100644
--- a/abs/core/xf86-video-intel/xf86-video-intel.install
+++ b/abs/core/xf86-video-intel/xf86-video-intel.install
@@ -1,8 +1,20 @@
+post_upgrade() {
+ if (( $(vercmp $2 2.21.15) < 0 )); then
+ post_install
+ fi
+}
+
post_install() {
- echo ">>> This driver now allows to switch"
- echo ">>> between sna/uxa acceleration methods."
- echo ">>> Add to the device section in /etc/X11/xorg.conf"
- echo ">>> Option \"AccelMethod\" \"sna\""
- echo ">>> use uxa method if you run into trouble with sna."
+ cat <<MSG
+>>> This driver uses SNA as the default acceleration method. You can try
+ falling back to UXA if you run into trouble. To do so, save a file with
+ the following content as /etc/X11/xorg.conf.d/20-intel.conf :
+ Section "Device"
+ Identifier "Intel Graphics"
+ Driver "intel"
+ Option "AccelMethod" "uxa"
+ #Option "AccelMethod" "sna"
+ EndSection
+MSG
}
diff --git a/abs/core/xf86-video-vesa/PKGBUILD b/abs/core/xf86-video-vesa/PKGBUILD
index af85057..a270e12 100644
--- a/abs/core/xf86-video-vesa/PKGBUILD
+++ b/abs/core/xf86-video-vesa/PKGBUILD
@@ -1,32 +1,37 @@
-# $Id: PKGBUILD 168594 2012-10-13 11:46:21Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-vesa
-pkgver=2.3.2
-pkgrel=3
+pkgver=2.3.4
+pkgrel=2
pkgdesc="X.org vesa video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13' 'resourceproto' 'scrnsaverproto')
-conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20')
+conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21')
groups=('xorg-drivers' 'xorg')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig}
revert-kernelcheck.patch)
-sha256sums=('144a17ffae3c86603ddc4ae33521a52813498ee1f8213faa662dc4a8d6490ee3'
+sha256sums=('7bddf4d879dd6f67088ecb203a31e12334aab980174bd0909930a21f32e251c1'
+ 'SKIP'
'ef591a342cea65f1b08e84771ae0de84395c98ac8a71739dbf5c0a7f7a36543c')
+validpgpkeys=('DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') # "Adam Jackson <ajax@nwnk.net>"
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+prepare() {
+ cd ${pkgname}-${pkgver}
patch -Np1 -R -i "${srcdir}/revert-kernelcheck.patch"
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-video-vmware/PKGBUILD b/abs/core/xf86-video-vmware/PKGBUILD
index 488d62a..98680e3 100644
--- a/abs/core/xf86-video-vmware/PKGBUILD
+++ b/abs/core/xf86-video-vmware/PKGBUILD
@@ -1,28 +1,22 @@
-# $Id: PKGBUILD 202951 2013-12-29 08:00:15Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-vmware
-pkgver=13.0.1
+pkgver=13.1.0
pkgrel=3
pkgdesc="X.org vmware video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libdrm' 'svga-dri' 'mesa>=10.0')
-makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13')
-conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14')
+depends=('libdrm' 'mesa>=10.0')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20')
+conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21')
groups=('xorg-drivers' 'xorg')
options=('!emptydirs')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- xatracker-v2-fixes.patch)
-sha256sums=('802dda415c22412edad6c3df44fe18a06e91d0f8456d9a58bac0d340fdf8fe3d'
- '7ab392cbc6258dc36df14ef60072c655d850bcfb6885111b41bcfe25dc1faacc')
-
-prepare() {
- cd ${pkgname}-${pkgver}
- # grab from upstream git repo, needed for mesa>10.0
- patch -Np1 -i ../xatracker-v2-fixes.patch
-}
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha256sums=('3c1d244e4b1b77e92126957965cdc9fb82de4c215c0706a3a8aaff6939e4a0cc'
+ 'SKIP')
+validpgpkeys=('90D027AEAF33CBABC140735BC1F5D3CDF5176580') # Thomas Hellstrom (VMware) <thellstrom@vmware.com>
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/core/xf86-video-vmware/xatracker-v2-fixes.patch b/abs/core/xf86-video-vmware/xatracker-v2-fixes.patch
deleted file mode 100644
index 9b8ed54..0000000
--- a/abs/core/xf86-video-vmware/xatracker-v2-fixes.patch
+++ /dev/null
@@ -1,1583 +0,0 @@
-From 0945bea5fc32eacb7bf42639efbd45dcd43e7ab5 Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@gmail.com>
-Date: Mon, 10 Jun 2013 13:31:31 -0400
-Subject: [PATCH 01/11] vmwgfx: update for XA API changes
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
----
- configure.ac | 2 +-
- vmwgfx/vmwgfx_dri2.c | 5 +++--
- vmwgfx/vmwgfx_driver.c | 3 ++-
- vmwgfx/vmwgfx_saa.c | 20 ++++++++++++++------
- vmwgfx/vmwgfx_tex_video.c | 5 +++--
- 5 files changed, 23 insertions(+), 12 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0631bcc..dccfb27 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -118,7 +118,7 @@ if test x$BUILD_VMWGFX = xyes; then
- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no])
- fi
- if test x$BUILD_VMWGFX = xyes; then
-- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],[],[BUILD_VMWGFX=no])
-+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no])
- fi
-
- DRIVER_NAME=vmware
-diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c
-index 7de0772..2f007f0 100644
---- a/vmwgfx/vmwgfx_dri2.c
-+++ b/vmwgfx/vmwgfx_dri2.c
-@@ -201,7 +201,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
- }
-
- private->srf = srf;
-- if (xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0)
-+ if (xa_surface_handle(srf, xa_handle_type_shared,
-+ &buffer->name, &buffer->pitch) != 0)
- return FALSE;
-
- buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8;
-@@ -222,7 +223,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer)
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap);
-
- if (--private->refcount == 0 && srf) {
-- xa_surface_destroy(srf);
-+ xa_surface_unref(srf);
- }
-
- /*
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index 7863ba2..3002285 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -617,7 +617,8 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd,
- return FALSE;
- }
-
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) {
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0) {
- LogMessage(X_ERROR, "Could not get present surface handle.\n");
- return FALSE;
- }
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 63df3a1..ed3c1ee 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -140,7 +140,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix)
- vpix->malloc = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) {
-- xa_surface_destroy(vpix->hw);
-+ xa_surface_unref(vpix->hw);
- vpix->hw = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) {
-@@ -286,7 +286,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- if (vpix->gmr && vsaa->can_optimize_dma) {
- uint32_t handle, dummy;
-
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
- to_hw) != 0)
-@@ -305,6 +306,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- (int) to_hw,
- (struct xa_box *) REGION_RECTS(reg),
- REGION_NUM_RECTS(reg));
-+ if (to_hw)
-+ xa_context_flush(vsaa->xa_ctx);
- if (vpix->gmr)
- vmwgfx_dmabuf_unmap(vpix->gmr);
- if (ret)
-@@ -441,7 +444,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa,
- &spix->dirty_hw))
- return FALSE;
-
-- xa_surface_destroy(vpix->hw);
-+ xa_surface_unref(vpix->hw);
- vpix->hw = NULL;
-
- /*
-@@ -683,7 +686,8 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa,
-
- (void) pScreen;
- if (src_vpix == dst_vpix || !src_vpix->hw ||
-- xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0)
-+ xa_surface_handle(src_vpix->hw, xa_handle_type_shared,
-+ &vsaa->src_handle, &dummy) != 0)
- return FALSE;
-
- REGION_NULL(pScreen, &vsaa->present_region);
-@@ -784,7 +788,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa,
- return TRUE;
-
- out_no_damage:
-- xa_surface_destroy(hw);
-+ xa_surface_unref(hw);
- return FALSE;
- }
-
-@@ -929,6 +933,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver,
-
- if (!vmwgfx_hw_validate(src_pixmap, src_reg)) {
- xa_copy_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- return FALSE;
- }
-
-@@ -1029,6 +1034,7 @@ vmwgfx_copy_done(struct saa_driver *driver)
- return;
- }
- xa_copy_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- }
-
- static Bool
-@@ -1175,6 +1181,7 @@ vmwgfx_composite_done(struct saa_driver *driver)
- struct vmwgfx_saa *vsaa = to_vmwgfx_saa(driver);
-
- xa_composite_done(vsaa->xa_ctx);
-+ xa_context_flush(vsaa->xa_ctx);
- }
-
- static void
-@@ -1436,7 +1443,8 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry)
- */
- if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL))
- goto out_err;
-- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
- depth = xa_format_depth(xa_surface_format(vpix->hw));
-
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index 449266b..2971ed7 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
-
- for (i=0; i<3; ++i) {
- if (priv->yuv[i]) {
-- xa_surface_destroy(priv->yuv[i]);
-+ xa_surface_unref(priv->yuv[i]);
- priv->yuv[i] = NULL;
- }
- for (j=0; j<2; ++j) {
-@@ -539,7 +539,8 @@ copy_packed_data(ScrnInfoPtr pScrn,
- REGION_RESET(pScrn->pScreen, &reg, &box);
- }
-
-- if (xa_surface_handle(srf, &handle, &stride) != 0) {
-+ if (xa_surface_handle(srf, xa_handle_type_shared,
-+ &handle, &stride) != 0) {
- ret = BadAlloc;
- break;
- }
---
-1.8.5.1
-
-
-From 835ce4698f916ba080f4132988fd4caf898e0b1e Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Thu, 26 Sep 2013 01:25:33 -0700
-Subject: [PATCH 02/11] vmwgfx: Avoid HW operations when not master
-
-Note that for DRI2, a dri2_copy_region becomes a NOP when not master.
-Additionally, all dri2 operations that lead to a potential kernel
-access will return FALSE.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_dri2.c | 13 +++++++++++++
- vmwgfx/vmwgfx_driver.c | 3 +++
- vmwgfx/vmwgfx_saa.c | 44 +++++++++++++++++++++++++++++++++++++++++++-
- vmwgfx/vmwgfx_saa.h | 8 ++++++++
- vmwgfx/vmwgfx_saa_priv.h | 2 ++
- vmwgfx/vmwgfx_xa_surface.c | 6 ++++++
- 6 files changed, 75 insertions(+), 1 deletion(-)
-
-diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c
-index 2f007f0..57f2d9d 100644
---- a/vmwgfx/vmwgfx_dri2.c
-+++ b/vmwgfx/vmwgfx_dri2.c
-@@ -138,6 +138,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
- return TRUE;
- case DRI2BufferStencil:
- case DRI2BufferDepthStencil:
-+ if (!pScrn->vtSema)
-+ return FALSE;
-
- depth = (format) ? vmwgfx_zs_format_to_depth(format) : 32;
-
-@@ -155,6 +157,9 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
-
- break;
- case DRI2BufferDepth:
-+ if (!pScrn->vtSema)
-+ return FALSE;
-+
- depth = (format) ? vmwgfx_z_format_to_depth(format) :
- pDraw->bitsPerPixel;
-
-@@ -291,6 +296,14 @@ dri2_copy_region(DrawablePtr pDraw, RegionPtr pRegion,
- DrawablePtr dst_draw;
- RegionPtr myClip;
- GCPtr gc;
-+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-+
-+ /*
-+ * This is a fragile protection against HW operations when not master.
-+ * Needs to be blocked higher up in the dri2 code.
-+ */
-+ if (!pScrn->vtSema)
-+ return;
-
- /*
- * In driCreateBuffers we dewrap windows into the
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index 3002285..eeaea4b 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -1116,6 +1116,7 @@ drv_leave_vt(VT_FUNC_ARGS_DECL)
-
- vmwgfx_cursor_bypass(ms->fd, 0, 0);
- vmwgfx_disable_scanout(pScrn);
-+ vmwgfx_saa_drop_master(pScrn->pScreen);
-
- if (drmDropMaster(ms->fd))
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-@@ -1136,6 +1137,8 @@ drv_enter_vt(VT_FUNC_ARGS_DECL)
- if (!drv_set_master(pScrn))
- return FALSE;
-
-+ vmwgfx_saa_set_master(pScrn->pScreen);
-+
- if (!xf86SetDesiredModes(pScrn))
- return FALSE;
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index ed3c1ee..5534ca3 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -423,6 +423,7 @@ vmwgfx_create_pixmap(struct saa_driver *driver, struct saa_pixmap *spix,
-
- WSBMINITLISTHEAD(&vpix->sync_x_head);
- WSBMINITLISTHEAD(&vpix->scanout_list);
-+ WSBMINITLISTHEAD(&vpix->pixmap_list);
-
- return TRUE;
- }
-@@ -499,6 +500,7 @@ vmwgfx_destroy_pixmap(struct saa_driver *driver, PixmapPtr pixmap)
- */
-
- vmwgfx_pixmap_remove_present(vpix);
-+ WSBMLISTDELINIT(&vpix->pixmap_list);
- WSBMLISTDELINIT(&vpix->sync_x_head);
-
- if (vpix->hw_is_dri2_fronts)
-@@ -627,6 +629,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth,
- int bpp, int devkind, void *pixdata)
- {
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap);
-+ ScreenPtr pScreen = pixmap->drawable.pScreen;
-+ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen));
- unsigned int old_height;
- unsigned int old_width;
- unsigned int old_pitch;
-@@ -670,6 +674,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth,
-
- vmwgfx_pix_resize(pixmap, old_pitch, old_height, old_width);
- vmwgfx_pixmap_free_storage(vpix);
-+ WSBMLISTADDTAIL(&vpix->pixmap_list, &vsaa->pixmaps);
-+
- return TRUE;
-
- out_no_modify:
-@@ -860,7 +866,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver,
- Bool has_valid_hw;
-
- if (!vsaa->xat || !SAA_PM_IS_SOLID(&dst_pixmap->drawable, plane_mask) ||
-- alu != GXcopy)
-+ alu != GXcopy || !vsaa->is_master)
- return FALSE;
-
- src_vpix = vmwgfx_saa_pixmap(src_pixmap);
-@@ -1057,6 +1063,9 @@ vmwgfx_composite_prepare(struct saa_driver *driver, CARD8 op,
- RegionRec empty;
- struct xa_composite *xa_comp;
-
-+ if (!vsaa->is_master)
-+ return FALSE;
-+
- REGION_NULL(pScreen, &empty);
-
- /*
-@@ -1367,7 +1376,9 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat,
- vsaa->use_present_opt = direct_presents;
- vsaa->only_hw_presents = only_hw_presents;
- vsaa->rendercheck = rendercheck;
-+ vsaa->is_master = TRUE;
- WSBMINITLISTHEAD(&vsaa->sync_x_list);
-+ WSBMINITLISTHEAD(&vsaa->pixmaps);
-
- vsaa->driver = vmwgfx_saa_driver;
- vsaa->vcomp = vmwgfx_alloc_composite();
-@@ -1518,3 +1529,34 @@ vmwgfx_scanout_unref(struct vmwgfx_screen_entry *entry)
- entry->pixmap = NULL;
- pixmap->drawable.pScreen->DestroyPixmap(pixmap);
- }
-+
-+void
-+vmwgfx_saa_set_master(ScreenPtr pScreen)
-+{
-+ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen));
-+
-+ vsaa->is_master = TRUE;
-+}
-+
-+void
-+vmwgfx_saa_drop_master(ScreenPtr pScreen)
-+{
-+ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen));
-+ struct _WsbmListHead *list;
-+ struct vmwgfx_saa_pixmap *vpix;
-+ struct saa_pixmap *spix;
-+
-+ WSBMLISTFOREACH(list, &vsaa->pixmaps) {
-+ vpix = WSBMLISTENTRY(list, struct vmwgfx_saa_pixmap, pixmap_list);
-+ spix = &vpix->base;
-+
-+ if (!vpix->hw)
-+ continue;
-+
-+ (void) vmwgfx_download_from_hw(&vsaa->driver, spix->pixmap,
-+ &spix->dirty_hw);
-+ REGION_EMPTY(draw->pScreen, &spix->dirty_hw);
-+ }
-+
-+ vsaa->is_master = FALSE;
-+}
-diff --git a/vmwgfx/vmwgfx_saa.h b/vmwgfx/vmwgfx_saa.h
-index bb8ec96..d8aa3d3 100644
---- a/vmwgfx/vmwgfx_saa.h
-+++ b/vmwgfx/vmwgfx_saa.h
-@@ -54,6 +54,7 @@ struct vmwgfx_saa_pixmap {
- int hw_is_dri2_fronts;
- struct _WsbmListHead sync_x_head;
- struct _WsbmListHead scanout_list;
-+ struct _WsbmListHead pixmap_list;
-
- uint32_t xa_flags;
- uint32_t staging_add_flags;
-@@ -107,4 +108,11 @@ Bool
- vmwgfx_hw_accel_validate(PixmapPtr pixmap, unsigned int depth,
- uint32_t add_flags, uint32_t remove_flags,
- RegionPtr region);
-+
-+void
-+vmwgfx_saa_set_master(ScreenPtr pScreen);
-+
-+void
-+vmwgfx_saa_drop_master(ScreenPtr pScreen);
-+
- #endif
-diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h
-index 5f46dee..16583b0 100644
---- a/vmwgfx/vmwgfx_saa_priv.h
-+++ b/vmwgfx/vmwgfx_saa_priv.h
-@@ -54,8 +54,10 @@ struct vmwgfx_saa {
- Bool use_present_opt;
- Bool only_hw_presents;
- Bool rendercheck;
-+ Bool is_master;
- void (*present_flush) (ScreenPtr pScreen);
- struct _WsbmListHead sync_x_list;
-+ struct _WsbmListHead pixmaps;
- struct vmwgfx_composite *vcomp;
- };
-
-diff --git a/vmwgfx/vmwgfx_xa_surface.c b/vmwgfx/vmwgfx_xa_surface.c
-index 8b30e45..2f23c57 100644
---- a/vmwgfx/vmwgfx_xa_surface.c
-+++ b/vmwgfx/vmwgfx_xa_surface.c
-@@ -362,6 +362,12 @@ vmwgfx_hw_accel_validate(PixmapPtr pixmap, unsigned int depth,
- Bool
- vmwgfx_hw_dri2_validate(PixmapPtr pixmap, unsigned int depth)
- {
-+ struct vmwgfx_saa *vsaa =
-+ to_vmwgfx_saa(saa_get_driver(pixmap->drawable.pScreen));
-+
-+ if (!vsaa->is_master)
-+ return FALSE;
-+
- return (vmwgfx_hw_dri2_stage(pixmap, depth) &&
- vmwgfx_hw_commit(pixmap) &&
- vmwgfx_hw_validate(pixmap, NULL));
---
-1.8.5.1
-
-
-From 7192acf9f0bf8e7176ab0b803b861a858623f709 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 19 Sep 2012 20:36:57 +0200
-Subject: [PATCH 03/11] vmwgfx: Implement textured video completely on top of
- XA.
-
-Remove device-specific hacks. This may increase resource usage a little
-on old hardware revisions, but we don't need separate code paths on
-different hardware revisions.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Zack Rusin <zackr@vmware.com>
----
- vmwgfx/vmwgfx_tex_video.c | 109 ++++++----------------------------------------
- 1 file changed, 14 insertions(+), 95 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index 2971ed7..a0a4f4a 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -111,8 +111,7 @@ struct xorg_xv_port_priv {
- int hue;
-
- int current_set;
-- struct vmwgfx_dmabuf *bounce[2][3];
-- struct xa_surface *yuv[3];
-+ struct xa_surface *yuv[2][3];
-
- int drm_fd;
-
-@@ -198,14 +197,10 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
- priv->fence = NULL;
-
- for (i=0; i<3; ++i) {
-- if (priv->yuv[i]) {
-- xa_surface_unref(priv->yuv[i]);
-- priv->yuv[i] = NULL;
-- }
- for (j=0; j<2; ++j) {
-- if (priv->bounce[j][i]) {
-- vmwgfx_dmabuf_destroy(priv->bounce[j][i]);
-- priv->bounce[0][i] = NULL;
-+ if (priv->yuv[i]) {
-+ xa_surface_unref(priv->yuv[j][i]);
-+ priv->yuv[j][i] = NULL;
- }
- }
- }
-@@ -297,11 +292,9 @@ static int
- check_yuv_surfaces(struct xorg_xv_port_priv *priv, int id,
- int width, int height)
- {
-- struct xa_surface **yuv = priv->yuv;
-- struct vmwgfx_dmabuf **bounce = priv->bounce[priv->current_set];
-+ struct xa_surface **yuv = priv->yuv[priv->current_set];
- int ret = 0;
- int i;
-- size_t size;
-
- for (i=0; i<3; ++i) {
-
-@@ -334,19 +327,6 @@ check_yuv_surfaces(struct xorg_xv_port_priv *priv, int id,
- if (ret || !yuv[i])
- return BadAlloc;
-
-- size = width * height;
--
-- if (bounce[i] && (bounce[i]->size < size ||
-- bounce[i]->size > 2*size)) {
-- vmwgfx_dmabuf_destroy(bounce[i]);
-- bounce[i] = NULL;
-- }
--
-- if (!bounce[i]) {
-- bounce[i] = vmwgfx_dmabuf_alloc(priv->drm_fd, size);
-- if (!bounce[i])
-- return BadAlloc;
-- }
- }
- return Success;
- }
-@@ -413,28 +393,20 @@ copy_packed_data(ScrnInfoPtr pScrn,
- unsigned short w, unsigned short h)
- {
- int i;
-- struct vmwgfx_dmabuf **bounce = port->bounce[port->current_set];
-+ struct xa_surface **yuv = port->yuv[port->current_set];
- char *ymap, *vmap, *umap;
- unsigned char y1, y2, u, v;
- int yidx, uidx, vidx;
- int y_array_size = w * h;
- int ret = BadAlloc;
-
-- /*
-- * Here, we could use xa_surface_[map|unmap], but given the size of
-- * the yuv textures, that could stress the xa tracker dma buffer pool,
-- * particularaly with multiple videos rendering simultaneously.
-- *
-- * Instead, cheat and allocate vmwgfx dma buffers directly.
-- */
--
-- ymap = (char *)vmwgfx_dmabuf_map(bounce[0]);
-+ ymap = xa_surface_map(port->r, yuv[0], XA_MAP_WRITE);
- if (!ymap)
- return BadAlloc;
-- umap = (char *)vmwgfx_dmabuf_map(bounce[1]);
-+ umap = xa_surface_map(port->r, yuv[1], XA_MAP_WRITE);
- if (!umap)
- goto out_no_umap;
-- vmap = (char *)vmwgfx_dmabuf_map(bounce[2]);
-+ vmap = xa_surface_map(port->r, yuv[2], XA_MAP_WRITE);
- if (!vmap)
- goto out_no_vmap;
-
-@@ -493,65 +465,11 @@ copy_packed_data(ScrnInfoPtr pScrn,
- }
-
- ret = Success;
-- vmwgfx_dmabuf_unmap(bounce[2]);
-+ xa_surface_unmap(yuv[2]);
- out_no_vmap:
-- vmwgfx_dmabuf_unmap(bounce[1]);
-+ xa_surface_unmap(yuv[1]);
- out_no_umap:
-- vmwgfx_dmabuf_unmap(bounce[0]);
--
-- if (ret == Success) {
-- struct xa_surface *srf;
-- struct vmwgfx_dmabuf *buf;
-- uint32_t handle;
-- unsigned int stride;
-- BoxRec box;
-- RegionRec reg;
--
-- box.x1 = 0;
-- box.x2 = w;
-- box.y1 = 0;
-- box.y2 = h;
--
-- REGION_INIT(pScrn->pScreen, &reg, &box, 1);
--
-- for (i=0; i<3; ++i) {
-- srf = port->yuv[i];
-- buf = bounce[i];
--
-- if (i == 1) {
-- switch(id) {
-- case FOURCC_YV12:
-- h /= 2;
-- /* Fall through */
-- case FOURCC_YUY2:
-- case FOURCC_UYVY:
-- w /= 2;
-- break;
-- default:
-- break;
-- }
--
-- box.x1 = 0;
-- box.x2 = w;
-- box.y1 = 0;
-- box.y2 = h;
--
-- REGION_RESET(pScrn->pScreen, &reg, &box);
-- }
--
-- if (xa_surface_handle(srf, xa_handle_type_shared,
-- &handle, &stride) != 0) {
-- ret = BadAlloc;
-- break;
-- }
--
-- if (vmwgfx_dma(0, 0, &reg, buf, w, handle, 1) != 0) {
-- ret = BadAlloc;
-- break;
-- }
-- }
-- REGION_UNINIT(pScrn->pScreen, &reg);
-- }
-+ xa_surface_unmap(yuv[0]);
-
- return ret;
- }
-@@ -610,7 +528,8 @@ display_video(ScreenPtr pScreen, struct xorg_xv_port_priv *pPriv, int id,
- (struct xa_box *)REGION_RECTS(dstRegion),
- REGION_NUM_RECTS(dstRegion),
- pPriv->cm,
-- vpix->hw, pPriv->yuv);
-+ vpix->hw,
-+ pPriv->yuv[pPriv->current_set ]);
-
- saa_pixmap_dirty(pPixmap, TRUE, dstRegion);
- DamageRegionProcessPending(&pPixmap->drawable);
---
-1.8.5.1
-
-
-From 45b2457516a9db4bd1d60fbb24a1efbe2d9dd932 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 19 Sep 2012 21:50:40 +0200
-Subject: [PATCH 04/11] vmwgfx: Get rid of device-specific DMA code
-
-It's rarely used and things seem to work well enough on top of XA.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Zack Rusin <zackr@vmware.com>
----
- vmwgfx/vmwgfx_drmi.c | 103 -----------------------------------------------
- vmwgfx/vmwgfx_drmi.h | 5 ---
- vmwgfx/vmwgfx_saa.c | 53 ++++++++++++------------
- vmwgfx/vmwgfx_saa_priv.h | 1 -
- 4 files changed, 26 insertions(+), 136 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_drmi.c b/vmwgfx/vmwgfx_drmi.c
-index 496a16b..1e23f4a 100644
---- a/vmwgfx/vmwgfx_drmi.c
-+++ b/vmwgfx/vmwgfx_drmi.c
-@@ -284,109 +284,6 @@ vmwgfx_dmabuf_destroy(struct vmwgfx_dmabuf *buf)
- }
-
- int
--vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-- RegionPtr region, struct vmwgfx_dmabuf *buf,
-- uint32_t buf_pitch, uint32_t surface_handle, int to_surface)
--{
-- BoxPtr clips = REGION_RECTS(region);
-- unsigned int num_clips = REGION_NUM_RECTS(region);
-- struct drm_vmw_execbuf_arg arg;
-- struct drm_vmw_fence_rep rep;
-- int ret;
-- unsigned int size;
-- unsigned i;
-- SVGA3dCopyBox *cb;
-- SVGA3dCmdSurfaceDMASuffix *suffix;
-- SVGA3dCmdSurfaceDMA *body;
-- struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
--
-- struct {
-- SVGA3dCmdHeader header;
-- SVGA3dCmdSurfaceDMA body;
-- SVGA3dCopyBox cb;
-- } *cmd;
--
-- if (num_clips == 0)
-- return 0;
--
-- size = sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cb) +
-- sizeof(*suffix);
-- cmd = malloc(size);
-- if (!cmd)
-- return -1;
--
-- cmd->header.id = SVGA_3D_CMD_SURFACE_DMA;
-- cmd->header.size = sizeof(cmd->body) + num_clips * sizeof(cmd->cb) +
-- sizeof(*suffix);
-- cb = &cmd->cb;
--
-- suffix = (SVGA3dCmdSurfaceDMASuffix *) &cb[num_clips];
-- suffix->suffixSize = sizeof(*suffix);
-- suffix->maximumOffset = (uint32_t) -1;
-- suffix->flags.discard = 0;
-- suffix->flags.unsynchronized = 0;
-- suffix->flags.reserved = 0;
--
-- body = &cmd->body;
-- body->guest.ptr.gmrId = buf->gmr_id;
-- body->guest.ptr.offset = buf->gmr_offset;
-- body->guest.pitch = buf_pitch;
-- body->host.sid = surface_handle;
-- body->host.face = 0;
-- body->host.mipmap = 0;
--
-- body->transfer = (to_surface ? SVGA3D_WRITE_HOST_VRAM :
-- SVGA3D_READ_HOST_VRAM);
--
--
-- for (i=0; i < num_clips; i++, cb++, clips++) {
-- cb->x = (uint16_t) clips->x1 + host_x;
-- cb->y = (uint16_t) clips->y1 + host_y;
-- cb->z = 0;
-- cb->srcx = (uint16_t) clips->x1;
-- cb->srcy = (uint16_t) clips->y1;
-- cb->srcz = 0;
-- cb->w = (uint16_t) (clips->x2 - clips->x1);
-- cb->h = (uint16_t) (clips->y2 - clips->y1);
-- cb->d = 1;
--#if 0
-- LogMessage(X_INFO, "DMA! x: %u y: %u srcx: %u srcy: %u w: %u h: %u %s\n",
-- cb->x, cb->y, cb->srcx, cb->srcy, cb->w, cb->h,
-- to_surface ? "to" : "from");
--#endif
--
-- }
--
-- memset(&arg, 0, sizeof(arg));
-- memset(&rep, 0, sizeof(rep));
--
-- rep.error = -EFAULT;
-- arg.fence_rep = ((to_surface) ? 0UL : (unsigned long)&rep);
-- arg.commands = (unsigned long)cmd;
-- arg.command_size = size;
-- arg.throttle_us = 0;
-- arg.version = DRM_VMW_EXECBUF_VERSION;
--
-- ret = drmCommandWrite(ibuf->drm_fd, DRM_VMW_EXECBUF, &arg, sizeof(arg));
-- if (ret) {
-- LogMessage(X_ERROR, "DMA error %s.\n", strerror(-ret));
-- }
--
-- free(cmd);
--
-- if (rep.error == 0) {
-- ret = vmwgfx_fence_wait(ibuf->drm_fd, rep.handle, TRUE);
-- if (ret) {
-- LogMessage(X_ERROR, "DMA from host fence wait error %s.\n",
-- strerror(-ret));
-- vmwgfx_fence_unref(ibuf->drm_fd, rep.handle);
-- }
-- }
--
-- return 0;
--}
--
--int
- vmwgfx_get_param(int drm_fd, uint32_t param, uint64_t *out)
- {
- struct drm_vmw_getparam_arg gp_arg;
-diff --git a/vmwgfx/vmwgfx_drmi.h b/vmwgfx/vmwgfx_drmi.h
-index 2435009..fff728a 100644
---- a/vmwgfx/vmwgfx_drmi.h
-+++ b/vmwgfx/vmwgfx_drmi.h
-@@ -60,11 +60,6 @@ extern void
- vmwgfx_dmabuf_unmap(struct vmwgfx_dmabuf *buf);
-
- extern int
--vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-- RegionPtr region, struct vmwgfx_dmabuf *buf,
-- uint32_t buf_pitch, uint32_t surface_handle, int to_surface);
--
--extern int
- vmwgfx_num_streams(int drm_fd, uint32_t *ntot, uint32_t *nfree);
-
- extern int
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 5534ca3..fd80682 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -279,40 +279,40 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- Bool to_hw)
- {
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap);
-+ void *data = vpix->malloc;
-+ int ret;
-
- if (!vpix->hw || (!vpix->gmr && !vpix->malloc))
- return TRUE;
-
-- if (vpix->gmr && vsaa->can_optimize_dma) {
-- uint32_t handle, dummy;
-
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0)
-- goto out_err;
-- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
-- to_hw) != 0)
-+ if (vpix->gmr) {
-+ data = vmwgfx_dmabuf_map(vpix->gmr);
-+ if (!data)
- goto out_err;
-- } else {
-- void *data = vpix->malloc;
-- int ret;
-+ }
-
-- if (vpix->gmr) {
-- data = vmwgfx_dmabuf_map(vpix->gmr);
-- if (!data)
-- goto out_err;
-- }
-+ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-+ (int) to_hw,
-+ (struct xa_box *) REGION_RECTS(reg),
-+ REGION_NUM_RECTS(reg));
-+ if (vpix->gmr)
-+ vmwgfx_dmabuf_unmap(vpix->gmr);
-+
-+ if (ret)
-+ goto out_err;
-+
-+ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-+ (int) to_hw,
-+ (struct xa_box *) REGION_RECTS(reg),
-+ REGION_NUM_RECTS(reg));
-+ if (to_hw)
-+ xa_context_flush(vsaa->xa_ctx);
-+ if (vpix->gmr)
-+ vmwgfx_dmabuf_unmap(vpix->gmr);
-+ if (ret)
-+ goto out_err;
-
-- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-- (int) to_hw,
-- (struct xa_box *) REGION_RECTS(reg),
-- REGION_NUM_RECTS(reg));
-- if (to_hw)
-- xa_context_flush(vsaa->xa_ctx);
-- if (vpix->gmr)
-- vmwgfx_dmabuf_unmap(vpix->gmr);
-- if (ret)
-- goto out_err;
-- }
- return TRUE;
- out_err:
- LogMessage(X_ERROR, "DMA %s surface failed.\n",
-@@ -1372,7 +1372,6 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat,
- vsaa->xa_ctx = xa_context_default(xat);
- vsaa->drm_fd = drm_fd;
- vsaa->present_flush = present_flush;
-- vsaa->can_optimize_dma = FALSE;
- vsaa->use_present_opt = direct_presents;
- vsaa->only_hw_presents = only_hw_presents;
- vsaa->rendercheck = rendercheck;
-diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h
-index 16583b0..f5f45ba 100644
---- a/vmwgfx/vmwgfx_saa_priv.h
-+++ b/vmwgfx/vmwgfx_saa_priv.h
-@@ -50,7 +50,6 @@ struct vmwgfx_saa {
- int ydiff;
- RegionRec present_region;
- uint32_t src_handle;
-- Bool can_optimize_dma;
- Bool use_present_opt;
- Bool only_hw_presents;
- Bool rendercheck;
---
-1.8.5.1
-
-
-From e26dec8f5278df74a102493bf6d2d8444dab5d6d Mon Sep 17 00:00:00 2001
-From: Gaetan Nadon <memsize@videotron.ca>
-Date: Mon, 28 Oct 2013 18:21:29 -0400
-Subject: [PATCH 05/11] vmwgfx: handle changes of DamageUnregister API in
- 1.14.99.2
-
-Fix is inspired from the intel driver.
-
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
-Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
-Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_saa.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index fd80682..346e7f4 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -26,6 +26,7 @@
- */
-
- #include <xorg-server.h>
-+#include <xorgVersion.h>
- #include <mi.h>
- #include <fb.h>
- #include <xf86drmMode.h>
-@@ -76,7 +77,12 @@ vmwgfx_pixmap_remove_damage(PixmapPtr pixmap)
- if (!spix->damage || vpix->hw || vpix->gmr || vpix->malloc)
- return;
-
-+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
-+ DamageUnregister(spix->damage);
-+#else
- DamageUnregister(&pixmap->drawable, spix->damage);
-+#endif
-+
- DamageDestroy(spix->damage);
- spix->damage = NULL;
- }
---
-1.8.5.1
-
-
-From 7ac45326eccbf3bea9a4a8f95b9662a36ab58eb0 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Thu, 28 Nov 2013 02:02:20 -0800
-Subject: [PATCH 06/11] vmwgfx: Fix some compilation warnings and indentations
-
-Most of the compilation warnings we're seeing are due to bad xorg headers,
-but fix the ones we can fix in the driver. Some indentation fixes as well.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- src/vmware_bootstrap.c | 2 --
- src/vmwarevideo.c | 4 ++--
- vmwgfx/vmwgfx_driver.c | 1 -
- vmwgfx/vmwgfx_output.c | 2 +-
- vmwgfx/vmwgfx_overlay.c | 4 ++--
- vmwgfx/vmwgfx_tex_video.c | 26 +++++++++++++-------------
- 6 files changed, 18 insertions(+), 21 deletions(-)
-
-diff --git a/src/vmware_bootstrap.c b/src/vmware_bootstrap.c
-index ea5be19..bb58325 100644
---- a/src/vmware_bootstrap.c
-+++ b/src/vmware_bootstrap.c
-@@ -256,7 +256,6 @@ VMwarePciProbe (DriverPtr drv,
- intptr_t match_data)
- {
- ScrnInfoPtr scrn = NULL;
-- EntityInfoPtr entity;
-
- scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VMWAREPciChipsets,
- NULL, NULL, NULL, NULL, NULL);
-@@ -267,7 +266,6 @@ VMwarePciProbe (DriverPtr drv,
- scrn->Probe = NULL;
- }
-
-- entity = xf86GetEntityInfo(entity_num);
- switch (DEVICE_ID(device)) {
- case PCI_DEVICE_ID_VMWARE_SVGA2:
- case PCI_DEVICE_ID_VMWARE_SVGA:
-diff --git a/src/vmwarevideo.c b/src/vmwarevideo.c
-index 745c71f..8d7d171 100644
---- a/src/vmwarevideo.c
-+++ b/src/vmwarevideo.c
-@@ -82,7 +82,7 @@
- #define VMWARE_VID_MAX_HEIGHT 2048
-
- #define VMWARE_VID_NUM_ENCODINGS 1
--static XF86VideoEncodingRec vmwareVideoEncodings[] =
-+static const XF86VideoEncodingRec vmwareVideoEncodings[] =
- {
- {
- 0,
-@@ -108,7 +108,7 @@ static XF86ImageRec vmwareVideoImages[] =
- };
-
- #define VMWARE_VID_NUM_ATTRIBUTES 2
--static XF86AttributeRec vmwareVideoAttributes[] =
-+static const XF86AttributeRec vmwareVideoAttributes[] =
- {
- {
- XvGettable | XvSettable,
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index eeaea4b..bfc07f8 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -658,7 +658,6 @@ void xorg_flush(ScreenPtr pScreen)
- if (crtc->enabled) {
- pixmap = crtc_get_scanout(crtc);
- if (pixmap) {
-- unsigned int j;
-
- /*
- * Remove duplicates.
-diff --git a/vmwgfx/vmwgfx_output.c b/vmwgfx/vmwgfx_output.c
-index 4f52f1d..f9e4263 100644
---- a/vmwgfx/vmwgfx_output.c
-+++ b/vmwgfx/vmwgfx_output.c
-@@ -60,7 +60,7 @@ struct output_private
- Bool is_implicit;
- };
-
--static char *output_enum_list[] = {
-+static const char *output_enum_list[] = {
- "Unknown",
- "VGA",
- "DVI",
-diff --git a/vmwgfx/vmwgfx_overlay.c b/vmwgfx/vmwgfx_overlay.c
-index 6624a10..986dd06 100644
---- a/vmwgfx/vmwgfx_overlay.c
-+++ b/vmwgfx/vmwgfx_overlay.c
-@@ -84,7 +84,7 @@ typedef uint8_t uint8;
- #define VMWARE_VID_MAX_HEIGHT 2048
-
- #define VMWARE_VID_NUM_ENCODINGS 1
--static XF86VideoEncodingRec vmwareVideoEncodings[] =
-+static const XF86VideoEncodingRec vmwareVideoEncodings[] =
- {
- {
- 0,
-@@ -110,7 +110,7 @@ static XF86ImageRec vmwareVideoImages[] =
- };
-
- #define VMWARE_VID_NUM_ATTRIBUTES 2
--static XF86AttributeRec vmwareVideoAttributes[] =
-+static const XF86AttributeRec vmwareVideoAttributes[] =
- {
- {
- XvGettable | XvSettable,
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index a0a4f4a..3ba40ef 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -70,11 +70,11 @@ static const float bt_709[] = {
- static Atom xvBrightness, xvContrast, xvSaturation, xvHue;
-
- #define NUM_TEXTURED_ATTRIBUTES 4
--static XF86AttributeRec TexturedAttributes[NUM_TEXTURED_ATTRIBUTES] = {
-- {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"},
-- {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"},
-- {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"},
-- {XvSettable | XvGettable, -1000, 1000, "XV_HUE"}
-+static const XF86AttributeRec TexturedAttributes[NUM_TEXTURED_ATTRIBUTES] = {
-+ {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"},
-+ {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"},
-+ {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"},
-+ {XvSettable | XvGettable, -1000, 1000, "XV_HUE"}
- };
-
- #define NUM_FORMATS 3
-@@ -82,7 +82,7 @@ static XF86VideoFormatRec Formats[NUM_FORMATS] = {
- {15, TrueColor}, {16, TrueColor}, {24, TrueColor}
- };
-
--static XF86VideoEncodingRec DummyEncoding[1] = {
-+static const XF86VideoEncodingRec DummyEncoding[1] = {
- {
- 0,
- "XV_IMAGE",
-@@ -416,16 +416,16 @@ copy_packed_data(ScrnInfoPtr pScrn,
- switch (id) {
- case FOURCC_YV12: {
- int pitches[3], offsets[3];
-- unsigned char *y, *u, *v;
-+ unsigned char *yp, *up, *vp;
- query_image_attributes(pScrn, FOURCC_YV12,
- &w, &h, pitches, offsets);
-
-- y = buf + offsets[0];
-- v = buf + offsets[1];
-- u = buf + offsets[2];
-- memcpy(ymap, y, w*h);
-- memcpy(vmap, v, w*h/4);
-- memcpy(umap, u, w*h/4);
-+ yp = buf + offsets[0];
-+ vp = buf + offsets[1];
-+ up = buf + offsets[2];
-+ memcpy(ymap, yp, w*h);
-+ memcpy(vmap, vp, w*h/4);
-+ memcpy(umap, up, w*h/4);
- break;
- }
- case FOURCC_UYVY:
---
-1.8.5.1
-
-
-From a40cbd7b4fa19219849b4b0a48f07538772c3e22 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Thu, 5 Dec 2013 02:58:47 -0800
-Subject: [PATCH 07/11] vmwgfx: Support also XA version 1 v2
-
-We need to support also XA version 1, since we want to be backwards
-compatible with older mesa releases.
-Unfortunately, the intended way of detecting XA major version at
-compile-time was broken on mesa 10 so we need a workaround that tests
-for XA version 2 at config time.
-
-v2: Update the test for XA version 2.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- configure.ac | 10 +++++++++-
- vmwgfx/vmwgfx_dri2.c | 5 ++---
- vmwgfx/vmwgfx_driver.c | 3 +--
- vmwgfx/vmwgfx_saa.c | 12 +++++-------
- vmwgfx/vmwgfx_saa.h | 12 ++++++++++++
- vmwgfx/vmwgfx_tex_video.c | 2 +-
- 6 files changed, 30 insertions(+), 14 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dccfb27..123356c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -118,7 +118,15 @@ if test x$BUILD_VMWGFX = xyes; then
- PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no])
- fi
- if test x$BUILD_VMWGFX = xyes; then
-- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no])
-+#
-+# Early versions of mesa 10 forgot to bump the XA major version number in
-+# the xa_tracker.h header
-+#
-+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],
-+ [PKG_CHECK_EXISTS([xatracker = 2.0.0],
-+ [AC_DEFINE([HAVE_XA_2], 1,
-+ [Has version 2 of XA])])],
-+ [],[BUILD_VMWGFX=no])
- fi
-
- DRIVER_NAME=vmware
-diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c
-index 57f2d9d..4c74a6b 100644
---- a/vmwgfx/vmwgfx_dri2.c
-+++ b/vmwgfx/vmwgfx_dri2.c
-@@ -206,8 +206,7 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for
- }
-
- private->srf = srf;
-- if (xa_surface_handle(srf, xa_handle_type_shared,
-- &buffer->name, &buffer->pitch) != 0)
-+ if (_xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0)
- return FALSE;
-
- buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8;
-@@ -228,7 +227,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer)
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap);
-
- if (--private->refcount == 0 && srf) {
-- xa_surface_unref(srf);
-+ xa_surface_destroy(srf);
- }
-
- /*
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index bfc07f8..6301c29 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -617,8 +617,7 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd,
- return FALSE;
- }
-
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0) {
-+ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0) {
- LogMessage(X_ERROR, "Could not get present surface handle.\n");
- return FALSE;
- }
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 346e7f4..1459933 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -146,7 +146,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix)
- vpix->malloc = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) {
-- xa_surface_unref(vpix->hw);
-+ xa_surface_destroy(vpix->hw);
- vpix->hw = NULL;
- }
- if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) {
-@@ -451,7 +451,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa,
- &spix->dirty_hw))
- return FALSE;
-
-- xa_surface_unref(vpix->hw);
-+ xa_surface_destroy(vpix->hw);
- vpix->hw = NULL;
-
- /*
-@@ -698,8 +698,7 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa,
-
- (void) pScreen;
- if (src_vpix == dst_vpix || !src_vpix->hw ||
-- xa_surface_handle(src_vpix->hw, xa_handle_type_shared,
-- &vsaa->src_handle, &dummy) != 0)
-+ _xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0)
- return FALSE;
-
- REGION_NULL(pScreen, &vsaa->present_region);
-@@ -800,7 +799,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa,
- return TRUE;
-
- out_no_damage:
-- xa_surface_unref(hw);
-+ xa_surface_destroy(hw);
- return FALSE;
- }
-
-@@ -1459,8 +1458,7 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry)
- */
- if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL))
- goto out_err;
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0)
-+ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
- goto out_err;
- depth = xa_format_depth(xa_surface_format(vpix->hw));
-
-diff --git a/vmwgfx/vmwgfx_saa.h b/vmwgfx/vmwgfx_saa.h
-index d8aa3d3..5e1f40c 100644
---- a/vmwgfx/vmwgfx_saa.h
-+++ b/vmwgfx/vmwgfx_saa.h
-@@ -115,4 +115,16 @@ vmwgfx_saa_set_master(ScreenPtr pScreen);
- void
- vmwgfx_saa_drop_master(ScreenPtr pScreen);
-
-+#if (XA_TRACKER_VERSION_MAJOR <= 1) && !defined(HAVE_XA_2)
-+
-+#define _xa_surface_handle(_a, _b, _c) xa_surface_handle(_a, _b, _c)
-+#define xa_context_flush(_a)
-+
-+#else
-+
-+#define xa_surface_destroy(_a) xa_surface_unref(_a)
-+#define _xa_surface_handle(_a, _b, _c) \
-+ xa_surface_handle(_a, xa_handle_type_shared, _b, _c)
-+
-+#endif /* (XA_TRACKER_VERSION_MAJOR <= 1) */
- #endif
-diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c
-index 3ba40ef..9fd8f22 100644
---- a/vmwgfx/vmwgfx_tex_video.c
-+++ b/vmwgfx/vmwgfx_tex_video.c
-@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown)
- for (i=0; i<3; ++i) {
- for (j=0; j<2; ++j) {
- if (priv->yuv[i]) {
-- xa_surface_unref(priv->yuv[j][i]);
-+ xa_surface_destroy(priv->yuv[j][i]);
- priv->yuv[j][i] = NULL;
- }
- }
---
-1.8.5.1
-
-
-From c36cbcefb8526944141eb431e1e736dc4485a36e Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Mon, 9 Dec 2013 00:19:55 -0800
-Subject: [PATCH 08/11] vmwgfx: Remove stray 1
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_saa.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 1459933..28819c1 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -1230,7 +1230,7 @@ vmwgfx_operation_complete(struct saa_driver *driver,
- */
-
- if (vpix->hw && vpix->hw_is_dri2_fronts) {
-- if (1 && pScrn->vtSema &&
-+ if (pScrn->vtSema &&
- vmwgfx_upload_to_hw(driver, pixmap, &spix->dirty_shadow)) {
-
- REGION_EMPTY(vsaa->pScreen, &spix->dirty_shadow);
---
-1.8.5.1
-
-
-From 4af6062ce281a7f4aaa50985fe757e9569208ee1 Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 11 Dec 2013 04:59:49 -0800
-Subject: [PATCH 09/11] Revert "vmwgfx: Get rid of device-specific DMA code"
-
-This reverts commit 45b2457516a9db4bd1d60fbb24a1efbe2d9dd932.
-
-Reverting this because using direct DMA for shared pixmaps should
-boost performance. It should be usable both in a composited environment
-and when running hosted. Need to retest the DMA flaws I saw before disabling
-this code.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_drmi.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++
- vmwgfx/vmwgfx_drmi.h | 5 +++
- vmwgfx/vmwgfx_saa.c | 53 ++++++++++++------------
- vmwgfx/vmwgfx_saa_priv.h | 1 +
- 4 files changed, 136 insertions(+), 26 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_drmi.c b/vmwgfx/vmwgfx_drmi.c
-index 1e23f4a..496a16b 100644
---- a/vmwgfx/vmwgfx_drmi.c
-+++ b/vmwgfx/vmwgfx_drmi.c
-@@ -284,6 +284,109 @@ vmwgfx_dmabuf_destroy(struct vmwgfx_dmabuf *buf)
- }
-
- int
-+vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-+ RegionPtr region, struct vmwgfx_dmabuf *buf,
-+ uint32_t buf_pitch, uint32_t surface_handle, int to_surface)
-+{
-+ BoxPtr clips = REGION_RECTS(region);
-+ unsigned int num_clips = REGION_NUM_RECTS(region);
-+ struct drm_vmw_execbuf_arg arg;
-+ struct drm_vmw_fence_rep rep;
-+ int ret;
-+ unsigned int size;
-+ unsigned i;
-+ SVGA3dCopyBox *cb;
-+ SVGA3dCmdSurfaceDMASuffix *suffix;
-+ SVGA3dCmdSurfaceDMA *body;
-+ struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
-+
-+ struct {
-+ SVGA3dCmdHeader header;
-+ SVGA3dCmdSurfaceDMA body;
-+ SVGA3dCopyBox cb;
-+ } *cmd;
-+
-+ if (num_clips == 0)
-+ return 0;
-+
-+ size = sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cb) +
-+ sizeof(*suffix);
-+ cmd = malloc(size);
-+ if (!cmd)
-+ return -1;
-+
-+ cmd->header.id = SVGA_3D_CMD_SURFACE_DMA;
-+ cmd->header.size = sizeof(cmd->body) + num_clips * sizeof(cmd->cb) +
-+ sizeof(*suffix);
-+ cb = &cmd->cb;
-+
-+ suffix = (SVGA3dCmdSurfaceDMASuffix *) &cb[num_clips];
-+ suffix->suffixSize = sizeof(*suffix);
-+ suffix->maximumOffset = (uint32_t) -1;
-+ suffix->flags.discard = 0;
-+ suffix->flags.unsynchronized = 0;
-+ suffix->flags.reserved = 0;
-+
-+ body = &cmd->body;
-+ body->guest.ptr.gmrId = buf->gmr_id;
-+ body->guest.ptr.offset = buf->gmr_offset;
-+ body->guest.pitch = buf_pitch;
-+ body->host.sid = surface_handle;
-+ body->host.face = 0;
-+ body->host.mipmap = 0;
-+
-+ body->transfer = (to_surface ? SVGA3D_WRITE_HOST_VRAM :
-+ SVGA3D_READ_HOST_VRAM);
-+
-+
-+ for (i=0; i < num_clips; i++, cb++, clips++) {
-+ cb->x = (uint16_t) clips->x1 + host_x;
-+ cb->y = (uint16_t) clips->y1 + host_y;
-+ cb->z = 0;
-+ cb->srcx = (uint16_t) clips->x1;
-+ cb->srcy = (uint16_t) clips->y1;
-+ cb->srcz = 0;
-+ cb->w = (uint16_t) (clips->x2 - clips->x1);
-+ cb->h = (uint16_t) (clips->y2 - clips->y1);
-+ cb->d = 1;
-+#if 0
-+ LogMessage(X_INFO, "DMA! x: %u y: %u srcx: %u srcy: %u w: %u h: %u %s\n",
-+ cb->x, cb->y, cb->srcx, cb->srcy, cb->w, cb->h,
-+ to_surface ? "to" : "from");
-+#endif
-+
-+ }
-+
-+ memset(&arg, 0, sizeof(arg));
-+ memset(&rep, 0, sizeof(rep));
-+
-+ rep.error = -EFAULT;
-+ arg.fence_rep = ((to_surface) ? 0UL : (unsigned long)&rep);
-+ arg.commands = (unsigned long)cmd;
-+ arg.command_size = size;
-+ arg.throttle_us = 0;
-+ arg.version = DRM_VMW_EXECBUF_VERSION;
-+
-+ ret = drmCommandWrite(ibuf->drm_fd, DRM_VMW_EXECBUF, &arg, sizeof(arg));
-+ if (ret) {
-+ LogMessage(X_ERROR, "DMA error %s.\n", strerror(-ret));
-+ }
-+
-+ free(cmd);
-+
-+ if (rep.error == 0) {
-+ ret = vmwgfx_fence_wait(ibuf->drm_fd, rep.handle, TRUE);
-+ if (ret) {
-+ LogMessage(X_ERROR, "DMA from host fence wait error %s.\n",
-+ strerror(-ret));
-+ vmwgfx_fence_unref(ibuf->drm_fd, rep.handle);
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+int
- vmwgfx_get_param(int drm_fd, uint32_t param, uint64_t *out)
- {
- struct drm_vmw_getparam_arg gp_arg;
-diff --git a/vmwgfx/vmwgfx_drmi.h b/vmwgfx/vmwgfx_drmi.h
-index fff728a..2435009 100644
---- a/vmwgfx/vmwgfx_drmi.h
-+++ b/vmwgfx/vmwgfx_drmi.h
-@@ -60,6 +60,11 @@ extern void
- vmwgfx_dmabuf_unmap(struct vmwgfx_dmabuf *buf);
-
- extern int
-+vmwgfx_dma(unsigned int host_x, unsigned int host_y,
-+ RegionPtr region, struct vmwgfx_dmabuf *buf,
-+ uint32_t buf_pitch, uint32_t surface_handle, int to_surface);
-+
-+extern int
- vmwgfx_num_streams(int drm_fd, uint32_t *ntot, uint32_t *nfree);
-
- extern int
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 28819c1..96275a5 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -285,40 +285,40 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- Bool to_hw)
- {
- struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap);
-- void *data = vpix->malloc;
-- int ret;
-
- if (!vpix->hw || (!vpix->gmr && !vpix->malloc))
- return TRUE;
-
-+ if (vpix->gmr && vsaa->can_optimize_dma) {
-+ uint32_t handle, dummy;
-
-- if (vpix->gmr) {
-- data = vmwgfx_dmabuf_map(vpix->gmr);
-- if (!data)
-+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-+ &handle, &dummy) != 0)
- goto out_err;
-- }
--
-- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-- (int) to_hw,
-- (struct xa_box *) REGION_RECTS(reg),
-- REGION_NUM_RECTS(reg));
-- if (vpix->gmr)
-- vmwgfx_dmabuf_unmap(vpix->gmr);
--
-- if (ret)
-- goto out_err;
-+ if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
-+ to_hw) != 0)
-+ goto out_err;
-+ } else {
-+ void *data = vpix->malloc;
-+ int ret;
-
-- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-- (int) to_hw,
-- (struct xa_box *) REGION_RECTS(reg),
-- REGION_NUM_RECTS(reg));
-- if (to_hw)
-- xa_context_flush(vsaa->xa_ctx);
-- if (vpix->gmr)
-- vmwgfx_dmabuf_unmap(vpix->gmr);
-- if (ret)
-- goto out_err;
-+ if (vpix->gmr) {
-+ data = vmwgfx_dmabuf_map(vpix->gmr);
-+ if (!data)
-+ goto out_err;
-+ }
-
-+ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind,
-+ (int) to_hw,
-+ (struct xa_box *) REGION_RECTS(reg),
-+ REGION_NUM_RECTS(reg));
-+ if (to_hw)
-+ xa_context_flush(vsaa->xa_ctx);
-+ if (vpix->gmr)
-+ vmwgfx_dmabuf_unmap(vpix->gmr);
-+ if (ret)
-+ goto out_err;
-+ }
- return TRUE;
- out_err:
- LogMessage(X_ERROR, "DMA %s surface failed.\n",
-@@ -1377,6 +1377,7 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat,
- vsaa->xa_ctx = xa_context_default(xat);
- vsaa->drm_fd = drm_fd;
- vsaa->present_flush = present_flush;
-+ vsaa->can_optimize_dma = FALSE;
- vsaa->use_present_opt = direct_presents;
- vsaa->only_hw_presents = only_hw_presents;
- vsaa->rendercheck = rendercheck;
-diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h
-index f5f45ba..16583b0 100644
---- a/vmwgfx/vmwgfx_saa_priv.h
-+++ b/vmwgfx/vmwgfx_saa_priv.h
-@@ -50,6 +50,7 @@ struct vmwgfx_saa {
- int ydiff;
- RegionRec present_region;
- uint32_t src_handle;
-+ Bool can_optimize_dma;
- Bool use_present_opt;
- Bool only_hw_presents;
- Bool rendercheck;
---
-1.8.5.1
-
-
-From 93228f3dd3355a25583d22dbb96791678b93be3e Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Wed, 11 Dec 2013 06:54:02 -0800
-Subject: [PATCH 10/11] vmwgfx: Really allow XA version 2.
-
-When XA starts to correctly advertise version 2, we didn't allow it.
-Fix this.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
----
- vmwgfx/vmwgfx_driver.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c
-index 6301c29..4e28097 100644
---- a/vmwgfx/vmwgfx_driver.c
-+++ b/vmwgfx/vmwgfx_driver.c
-@@ -79,7 +79,7 @@ typedef uint8_t uint8;
-
- #define XA_VERSION_MINOR_REQUIRED 0
- #define XA_VERSION_MAJOR_REQUIRED 1
--#define XA_VERSION_MAJOR_COMPAT 1
-+#define XA_VERSION_MAJOR_COMPAT 2
-
- #define DRM_VERSION_MAJOR_REQUIRED 2
- #define DRM_VERSION_MINOR_REQUIRED 3
---
-1.8.5.1
-
-
-From f45a551e9b70ccec8f92df02747d4e2af299cf8c Mon Sep 17 00:00:00 2001
-From: Thomas Hellstrom <thellstrom@vmware.com>
-Date: Mon, 16 Dec 2013 10:38:21 +0100
-Subject: [PATCH 11/11] vmwgfx: Fix compile breakage on XA version 1.
-
-A recent revert brought back code that assumed XA version 2.
-
-Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
-Reviewed-by: trivial
----
- vmwgfx/vmwgfx_saa.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 96275a5..e76bd09 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -292,8 +292,7 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa,
- if (vpix->gmr && vsaa->can_optimize_dma) {
- uint32_t handle, dummy;
-
-- if (xa_surface_handle(vpix->hw, xa_handle_type_shared,
-- &handle, &dummy) != 0)
-+ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0)
- goto out_err;
- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle,
- to_hw) != 0)
---
-1.8.5.1
-
diff --git a/abs/core/xfsprogs/PKGBUILD b/abs/core/xfsprogs/PKGBUILD
index 7d8cea6..09f2700 100644
--- a/abs/core/xfsprogs/PKGBUILD
+++ b/abs/core/xfsprogs/PKGBUILD
@@ -1,7 +1,7 @@
# $Id$
#
pkgname=xfsprogs
-pkgver=3.2.1
+pkgver=4.3.0
pkgrel=1
pkgdesc="XFS filesystem utilities"
arch=('i686' 'x86_64')
@@ -9,13 +9,14 @@ license=('LGPL')
url="http://oss.sgi.com/projects/xfs/"
groups=('base')
depends=('libutil-linux')
+makedepends=('git')
options=('!makeflags')
-# We mirror the sources as upstream tends to move them once a new release is out
-source=("ftp://ftp.archlinux.org/other/xfsprogs/${pkgname}-${pkgver}.tar.gz")
-md5sums=('5c6905932029c8f9207fe5a0a8aac24b')
+source=("git://oss.sgi.com/xfs/cmds/xfsprogs#tag=v${pkgver}")
+md5sums=('SKIP')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}"
+ make configure
export OPTIMIZER="-march=${CARCH/_/-} -O1"
export DEBUG=-DNDEBUG
./configure --prefix=/usr --sbindir=/usr/bin
@@ -23,7 +24,7 @@ build() {
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}"
make DIST_ROOT="${pkgdir}" PKG_ROOT_SBIN_DIR="/usr/bin" install install-dev
chown -R root $pkgdir
chgrp -R root $pkgdir
diff --git a/abs/core/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch b/abs/core/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch
deleted file mode 100644
index e3e42d4..0000000
--- a/abs/core/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 29d84d5a7ca4cc12cce47de9313adeb8554fb894 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Thu, 18 Oct 2012 15:11:31 +1000
-Subject: [PATCH] dix: fix zaphod screen scrossing (#54654)
-
-POINTER_SCREEN coordinates are screen-relative. For a Zaphod setup, the
-coordinates after a screen crossing are already relative to the new screen's
-origin. Add that offset to the coordinates before re-setting.
-
-regression introduced by
-commit bafbd99080be49a17be97d2cc758fbe623369945
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed Aug 8 11:34:32 2012 +1000
-
- dix: work around scaling issues during WarpPointer (#53037)
-
-X.Org Bug 54654 <http://bugs.freedesktop.org/show_bug.cgi?id=54654>
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- dix/getevents.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/dix/getevents.c b/dix/getevents.c
-index 71d83c4..8b4379d 100644
---- a/dix/getevents.c
-+++ b/dix/getevents.c
-@@ -1400,8 +1400,9 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,
- coordinates were.
- */
- if (flags & POINTER_SCREEN) {
-- screenx = sx;
-- screeny = sy;
-+ scr = miPointerGetScreen(pDev);
-+ screenx = sx + scr->x;
-+ screeny = sy + scr->y;
- }
-
- scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative,
---
-1.7.11.7
-
diff --git a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch b/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch
new file mode 100644
index 0000000..9daadf6
--- /dev/null
+++ b/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch
@@ -0,0 +1,55 @@
+From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001
+From: David Herrmann <dh.herrmann@gmail.com>
+Date: Mon, 22 Jun 2015 21:13:05 +0200
+Subject: systemd-logind: do not rely on directed signals
+
+Right now, Xorg does not install DBus matches for "PauseDevice" /
+"ResumeDevice". Therefore, it should usually not receive those DBus
+signals from logind. It is just a coincidence that systemd-logind sends
+those signals in a directed manner right now. Therefore, dbus-daemon
+bypasses the broadcast matches.
+
+However, this is not ABI and Xorg should not rely on this. systemd-logind
+is free to send those signals as broadcasts, in which case Xorg will
+freeze the VT. Fix this by always installing those matches.
+
+Cc: Hans de Goede <hdegoede@redhat.com>
+Cc: Keith Packard <keithp@keithp.com>
+Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com>
+Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
+Reviewed-by: Hans de Goede <hdegoede@redhat.com>
+Tested-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+
+diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c
+index 69e2f67..2612d9e 100644
+--- a/hw/xfree86/os-support/linux/systemd-logind.c
++++ b/hw/xfree86/os-support/linux/systemd-logind.c
+@@ -507,6 +507,24 @@ connect_hook(DBusConnection *connection, void *data)
+ goto cleanup;
+ }
+
++ dbus_bus_add_match(connection,
++ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='PauseDevice'",
++ &error);
++ if (dbus_error_is_set(&error)) {
++ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n",
++ error.message);
++ goto cleanup;
++ }
++
++ dbus_bus_add_match(connection,
++ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='ResumeDevice'",
++ &error);
++ if (dbus_error_is_set(&error)) {
++ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n",
++ error.message);
++ goto cleanup;
++ }
++
+ /*
+ * HdG: This is not useful with systemd <= 208 since the signal only
+ * contains invalidated property names there, rather than property, val
+--
+cgit v0.10.2
+
diff --git a/abs/core/xorg-server/10-quirks.conf b/abs/core/xorg-server/10-quirks.conf
deleted file mode 100644
index 7afad22..0000000
--- a/abs/core/xorg-server/10-quirks.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-# Collection of quirks and blacklist/whitelists for specific devices.
-
-
-# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
-# http://bugs.freedesktop.org/show_bug.cgi?id=22442
-Section "InputClass"
- Identifier "ThinkPad HDAPS accelerometer blacklist"
- MatchProduct "ThinkPad HDAPS accelerometer data"
- Option "Ignore" "on"
-EndSection
diff --git a/abs/core/xorg-server/PKGBUILD b/abs/core/xorg-server/PKGBUILD
index 3b6fee0..7f0e9d5 100644
--- a/abs/core/xorg-server/PKGBUILD
+++ b/abs/core/xorg-server/PKGBUILD
@@ -1,46 +1,48 @@
-# $Id: PKGBUILD 169327 2012-10-19 14:00:03Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=xorg-server
-pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.13.0
-pkgrel=3
+pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
+pkgver=1.18.0
+pkgrel=4
arch=('i686' 'x86_64')
license=('custom')
+groups=('xorg')
url="http://xorg.freedesktop.org"
-makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto'
- 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess'
- 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros'
- 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt')
-options=('!libtool')
-source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
- autoconfig-nvidia.patch
- autoconfig-sis.patch
+makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto'
+ 'inputproto' 'fontsproto' 'videoproto' 'presentproto' 'compositeproto' 'recordproto' 'scrnsaverproto'
+ 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv'
+ 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres'
+ 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt' 'libepoxy'
+ 'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto'
+ 'libxshmfence' 'libunwind')
+source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
xvfb-run
xvfb-run.1
- 10-quirks.conf
- 0001-dix-fix-zaphod-screen-scrossing-54654.patch)
-sha256sums=('548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a'
- '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162'
- 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84'
- 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
- '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
- '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166'
- '23861814b4283ca3fe43aae6e88ee82bcbae5713bf88eabeaef7beb94efe9707')
+ 0001-systemd-logind-do-not-rely-on-directed-signals.patch
+ v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
+ xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
+ Xwrapper.config)
+validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
+ 'C383B778255613DFDB409D91DB221A6900000011'
+ 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3')
+
+prepare() {
+ cd "${pkgbase}-${pkgver}"
+ # fix VT switching with kdbus; from upstream
+ patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch
+
+ # fix xorg only working with root FS#47061
+ patch -Np1 -i ../v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
+ # disable debugging glamor messages in xorg log file
+ patch -Np1 -i ../xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
+
+ autoreconf -fvi
+}
build() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
-
- # Use nouveau/nv/nvidia drivers for nvidia devices
- patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
-
- # Use unofficial imedia SiS driver for supported SiS devices
- patch -Np0 -i "${srcdir}/autoconfig-sis.patch"
-
- # https://bugs.archlinux.org/task/31959 / https://bugs.freedesktop.org/show_bug.cgi?id=54654
- patch -Np1 -i ${srcdir}/0001-dix-fix-zaphod-screen-scrossing-54654.patch
-
- autoreconf -fi
+ cd "${pkgbase}-${pkgver}"
./configure --prefix=/usr \
--enable-ipv6 \
--enable-dri \
@@ -49,25 +51,33 @@ build() {
--enable-xnest \
--enable-composite \
--enable-xcsecurity \
+ --enable-libunwind \
--enable-xorg \
--enable-xephyr \
- --enable-glx-tls \
+ --enable-glamor \
+ --enable-xwayland \
--enable-kdrive \
- --enable-kdrive-evdev \
--enable-kdrive-kbd \
--enable-kdrive-mouse \
- --enable-install-setuid \
--enable-config-udev \
- --disable-config-dbus \
+ --disable-systemd-logind \
+ --enable-suid-wrapper \
+ --enable-install-setuid \
--enable-record \
--disable-xfbdev \
--disable-xfake \
--disable-static \
- --sysconfdir=/etc/X11 \
+ --libexecdir=/usr/lib/xorg-server \
+ --sysconfdir=/etc \
--localstatedir=/var \
--with-xkb-path=/usr/share/X11/xkb \
--with-xkb-output=/var/lib/xkb \
- --with-fontrootdir=/usr/share/fonts
+ --with-fontrootdir=/usr/share/fonts \
+ --with-sha1=libgcrypt
+
+# --without-dtrace \
+# --disable-linux-acpi --disable-linux-apm \
+
make
# Disable subdirs for make install rule to make splitting easier
@@ -75,14 +85,16 @@ build() {
-e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
-e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
-e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
+ -e 's/^XWAYLAND_SUBDIRS =.*/XWAYLAND_SUBDIRS =/' \
-i hw/Makefile
}
package_xorg-server-common() {
pkgdesc="Xorg server common files"
- depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc')
+ depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc'
+ 'libunwind')
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd "${pkgbase}-${pkgver}"
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
@@ -97,21 +109,23 @@ package_xorg-server-common() {
package_xorg-server() {
pkgdesc="Xorg X server"
- depends=(libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev)
- backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
- # see xorg-server-1.13.0/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
- provides=('X-ABI-VIDEODRV_VERSION=13' 'X-ABI-XINPUT_VERSION=18' 'X-ABI-EXTENSION_VERSION=7.0' 'x-server')
- groups=('xorg')
- conflicts=('nvidia-utils<=290.10')
-
- cd "${srcdir}/${pkgbase}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ depends=(libepoxy libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common libxshmfence libgl xf86-input-driver)
- install -m755 -d "${pkgdir}/etc/X11"
- mv "${pkgdir}/usr/share/X11/xorg.conf.d" "${pkgdir}/etc/X11/"
- install -m644 "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+ # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
+ # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg
+ provides=('X-ABI-VIDEODRV_VERSION=20' 'X-ABI-XINPUT_VERSION=22.1' 'X-ABI-EXTENSION_VERSION=9.0' 'x-server')
+ conflicts=('nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting')
+ replaces=('glamor-egl' 'xf86-video-modesetting')
+ install=xorg-server.install
- rmdir "${pkgdir}/usr/share/X11"
+ cd "${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # distro specific files must be installed in /usr/share/X11/xorg.conf.d
+ install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
+
+ # LinHES Xwrapper.config
+ install -m644 "${srcdir}/Xwrapper.config" "${pkgdir}/etc/X11/Xwrapper.config"
# Needed for non-mesa drivers, libgl will restore it
mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
@@ -132,9 +146,10 @@ package_xorg-server() {
package_xorg-server-xephyr() {
pkgdesc="A nested X server that runs as an X application"
- depends=(libxfont libgl libgcrypt libxv pixman xorg-server-common)
+ depends=(libxfont libgl libepoxy libgcrypt libxv pixman xorg-server-common 'xcb-util-image'
+ 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms')
- cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive"
+ cd "${pkgbase}-${pkgver}/hw/kdrive"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
@@ -143,9 +158,9 @@ package_xorg-server-xephyr() {
package_xorg-server-xvfb() {
pkgdesc="Virtual framebuffer X server"
- depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common)
+ depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common xorg-xauth libgl)
- cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb"
+ cd "${pkgbase}-${pkgver}/hw/vfb"
make DESTDIR="${pkgdir}" install
install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
@@ -157,9 +172,9 @@ package_xorg-server-xvfb() {
package_xorg-server-xnest() {
pkgdesc="A nested X server that runs as an X application"
- depends=(libxfont libxext libgcrypt pixman xorg-server-common)
+ depends=(libxfont libxext libgcrypt pixman xorg-server-common libsystemd)
- cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest"
+ cd "${pkgbase}-${pkgver}/hw/xnest"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
@@ -170,23 +185,35 @@ package_xorg-server-xdmx() {
pkgdesc="Distributed Multihead X Server and utilities"
depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes pixman xorg-server-common)
- cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx"
+ cd "${pkgbase}-${pkgver}/hw/dmx"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING"
}
+package_xorg-server-xwayland() {
+ pkgdesc="run X clients under wayland"
+ depends=(libxfont libepoxy libgl pixman xorg-server-common)
+
+ cd "${pkgbase}-${pkgver}/hw/xwayland"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xwayland"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xwayland/COPYING"
+}
+
package_xorg-server-devel() {
pkgdesc="Development files for the X.Org X server"
depends=(# see pkgdir/usr/lib/pkgconfig/xorg-server.pc
xproto randrproto renderproto xextproto inputproto kbproto
fontsproto pixman videoproto xf86driproto glproto
- mesa dri2proto xineramaproto libpciaccess
+ mesa dri2proto dri3proto xineramaproto libpciaccess
+ resourceproto scrnsaverproto presentproto
# not technically required but almost every Xorg pkg needs it to build
xorg-util-macros)
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd "${pkgbase}-${pkgver}"
make DESTDIR="${pkgdir}" install
rm -rf "${pkgdir}/usr/bin"
@@ -194,8 +221,17 @@ package_xorg-server-devel() {
rm -rf "${pkgdir}/usr/share/doc"
rm -rf "${pkgdir}/usr/share/X11"
rm -rf "${pkgdir}/usr/lib/xorg"
+ rm -rf "${pkgdir}/usr/lib/xorg-server"
rm -rf "${pkgdir}/var"
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
}
+md5sums=('3c1c1057d3ad27380d8dd87ffcc182cd'
+ 'SKIP'
+ '52fd3effd80d7bc6c1660d4ecf23d31c'
+ '376c70308715cd2643f7bff936d9934b'
+ 'bea02fd837ba756456bf14ed51ff36c8'
+ 'ea8214d68150f3819eb049326b275f43'
+ 'dc9eda462a8d83413d3edd2e7b9669f6'
+ 'e3d31449c79ce49a748a678463ea3f20')
diff --git a/abs/core/xorg-server/Xwrapper.config b/abs/core/xorg-server/Xwrapper.config
new file mode 100644
index 0000000..2b9a582
--- /dev/null
+++ b/abs/core/xorg-server/Xwrapper.config
@@ -0,0 +1,3 @@
+#see man Xorg.wrap for these options
+allowed_users = anybody
+#needs_root_rights = yes
diff --git a/abs/core/xorg-server/__changelog b/abs/core/xorg-server/__changelog
index a0d578e..1d44956 100644
--- a/abs/core/xorg-server/__changelog
+++ b/abs/core/xorg-server/__changelog
@@ -1,2 +1,5 @@
placeholder to prevent auto update.
-pixman cache bug
+PKGBUILD - Change configure options:
+ --disable-systemd-logind \
+ --enable-install-setuid \
+PKGBUILD - Add Xwrapper.config file
diff --git a/abs/core/xorg-server/autoconfig-nvidia.patch b/abs/core/xorg-server/autoconfig-nvidia.patch
deleted file mode 100644
index 6d5220a..0000000
--- a/abs/core/xorg-server/autoconfig-nvidia.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c
---- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c 2012-02-10 10:10:37.583014924 +0000
-+++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c 2012-02-10 11:16:07.148971317 +0000
-@@ -1144,7 +1144,23 @@
- int idx = 0;
-
- #ifdef __linux__
-- driverList[idx++] = "nouveau";
-+ switch (dev->device_id)
-+ {
-+ /* NV1 */
-+ case 0x0008:
-+ case 0x0009:
-+ driverList[idx++] = "vesa";
-+ break;
-+ /* NV3 */
-+ case 0x0018:
-+ case 0x0019:
-+ driverList[idx++] = "nouveau";
-+ break;
-+ default:
-+ driverList[idx++] = "nouveau";
-+ driverList[idx++] = "nvidia";
-+ break;
-+ }
- #endif
- driverList[idx++] = "nv";
- break;
diff --git a/abs/core/xorg-server/autoconfig-sis.patch b/abs/core/xorg-server/autoconfig-sis.patch
deleted file mode 100644
index 0b50049..0000000
--- a/abs/core/xorg-server/autoconfig-sis.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- hw/xfree86/common/xf86pciBus.c.orig 2011-09-24 10:53:45.421697668 +0000
-+++ hw/xfree86/common/xf86pciBus.c 2011-09-24 10:55:56.416250708 +0000
-@@ -1200,9 +1200,15 @@
- break;
- }
- break;
-- case 0x1039:
-- driverList[0] = "sis";
-- break;
-+ case 0x1039:
-+ switch (dev->device_id)
-+ {
-+ case 0x6350: case 0x6351:
-+ driverList[0] = "sisimedia"; driverList[1] = "sis"; break;
-+ default:
-+ driverList[0] = "sis"; break;
-+ }
-+ break;
- case 0x126f:
- driverList[0] = "siliconmotion";
- break;
diff --git a/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch b/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
new file mode 100644
index 0000000..220c5bb
--- /dev/null
+++ b/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
@@ -0,0 +1,12 @@
+diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c
+index 4c37cfc..d930962 100644
+--- a/hw/xfree86/xorg-wrapper.c
++++ b/hw/xfree86/xorg-wrapper.c
+@@ -24,6 +24,7 @@
+ */
+
+ #include "dix-config.h"
++#include "xorg-config.h"
+
+ #include <errno.h>
+ #include <fcntl.h>
diff --git a/abs/core/xorg-server/xorg-server.install b/abs/core/xorg-server/xorg-server.install
new file mode 100644
index 0000000..46bf5a9
--- /dev/null
+++ b/abs/core/xorg-server/xorg-server.install
@@ -0,0 +1,18 @@
+post_upgrade() {
+ if (( $(vercmp $2 1.16.0-3) < 0 )); then
+ post_install
+ fi
+}
+
+post_install() {
+ cat <<MSG
+>>> xorg-server has now the ability to run without root rights with
+ the help of systemd-logind. xserver will fail to run if not launched
+ from the same virtual terminal as was used to log in.
+ Without root rights, log files will be in ~/.local/share/xorg/ directory.
+
+ Old behavior can be restored through Xorg.wrap config file.
+ See Xorg.wrap man page (man xorg.wrap).
+MSG
+}
+
diff --git a/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch b/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
new file mode 100644
index 0000000..41a67c7
--- /dev/null
+++ b/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
@@ -0,0 +1,14 @@
+diff --git a/glamor/glamor.c b/glamor/glamor.c
+index 116d10c..81aba2d 100644
+--- a/glamor/glamor.c
++++ b/glamor/glamor.c
+@@ -393,6 +393,9 @@ glamor_setup_debug_output(ScreenPtr screen)
+ return;
+
+ glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
++ /* Disable debugging messages other than GL API errors */
++ glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL,
++ GL_FALSE);
+ glDebugMessageControl(GL_DEBUG_SOURCE_API,
+ GL_DEBUG_TYPE_ERROR,
+ GL_DONT_CARE,
diff --git a/abs/core/xproto/PKGBUILD b/abs/core/xproto/PKGBUILD
index 5940df8..c923b54 100644
--- a/abs/core/xproto/PKGBUILD
+++ b/abs/core/xproto/PKGBUILD
@@ -1,25 +1,29 @@
-# $Id: PKGBUILD 153611 2012-03-16 17:10:15Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xproto
-pkgver=7.0.23
+pkgver=7.0.28
pkgrel=1
pkgdesc="X11 core wire protocol and auxiliary headers"
arch=(any)
license=('custom')
url="http://xorg.freedesktop.org/"
makedepends=('xorg-util-macros')
-source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('5d7f00d1dbe6cf8e725841ef663f0ee2491ba5b2')
+source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha256sums=('29e85568d1f68ceef8a2c081dad9bc0e5500a53cfffde24b564dc43d46ddf6ca'
+ 'SKIP')
+validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith <alan.coopersmith@oracle.com>"
+validpgpkeys+=('DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') # Adam Jackson <ajax@nwnk.net>
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xterm/PKGBUILD b/abs/core/xterm/PKGBUILD
index 38e4875..b60ec65 100644
--- a/abs/core/xterm/PKGBUILD
+++ b/abs/core/xterm/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xterm
-pkgver=313
+pkgver=322
pkgrel=1
pkgdesc="X Terminal Emulator"
arch=('i686' 'x86_64')
@@ -12,12 +12,13 @@ license=('custom')
depends=('libxft' 'libxaw' 'ncurses' 'xorg-luit' 'xbitmaps' 'libutempter' 'libxkbfile')
source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz{,.asc}
LICENSE)
-md5sums=('4c2e85f46d8a96c81daf3f9e6c2e1997'
+md5sums=('9ea4c83ac7275fdecf39fde9db781fac'
'SKIP'
'10ecc3f8ee91e3189863a172f68282d2')
+validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB') # "Thomas Dickey <dickey@invisible-island.net>"
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr \
--libdir=/etc \
--mandir=/usr/share/man \
@@ -49,7 +50,7 @@ build() {
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
chmod 0755 "${pkgdir}/usr/bin/xterm"
diff --git a/abs/core/xtrans/PKGBUILD b/abs/core/xtrans/PKGBUILD
index b2f225e..08e026b 100644
--- a/abs/core/xtrans/PKGBUILD
+++ b/abs/core/xtrans/PKGBUILD
@@ -1,24 +1,29 @@
-# $Id: PKGBUILD 26847 2009-02-13 15:27:40Z andyrtr $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id$
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xtrans
-pkgver=1.2.5
+pkgver=1.3.5
pkgrel=1
pkgdesc="X transport library"
-arch=(i686 x86_64)
+arch=('any')
license=('custom')
url="http://xorg.freedesktop.org/"
+options=(!emptydirs)
source=(${url}/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('adbd3b36932ce4c062cd10f57d78a156ba98d618bdb6f50664da327502bc8301')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr
}
-package () {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install || return 1
- install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+
+ install -m755 -d "${pkgdir}/usr/lib"
+ mv "${pkgdir}/usr/share/pkgconfig" "${pkgdir}/usr/lib/pkgconfig"
}
-md5sums=('2d1e57e82acc5f21797e92341415af2f')
diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD
index e8908cc..787ce61 100755
--- a/abs/core/xymon/PKGBUILD
+++ b/abs/core/xymon/PKGBUILD
@@ -1,7 +1,7 @@
pkgbase=xymon
pkgname=('xymonserver' 'xymonclient')
pkgver=4.3.17
-pkgrel=11
+pkgrel=23
pkgdesc="Xymon is a system for monitoring of hosts and networks"
license="GPL"
arch=('i686' 'x86_64')
@@ -9,7 +9,7 @@ url="http://www.xymon.com/"
source=("https://downloads.sourceforge.net/project/xymon/Xymon/$pkgver/$pkgbase-$pkgver.tar.gz"
'hobbitadd.py'
'xymon_ghost_check'
- 'graph.cfg.diff'
+ 'graphs.cfg.diff'
'xymonserver.cfg.diff'
'tasks.d.mv'
'clientlaunch.cfg.patch'
@@ -25,14 +25,17 @@ source=("https://downloads.sourceforge.net/project/xymon/Xymon/$pkgver/$pkgbase-
'alerts.cfg'
'hobbit_myth_data.py'
'xymon-gputemp.sh'
+ 'xymon-hddtemp.sh'
+ 'xymon-smart.sh'
'logrotate-server.xymon'
'logrotate-client.xymon'
'log_list.sh'
'client-local.cfg.patch'
'led_themes.tar.gz'
'xymon-server.rules'
+ 'xymon-client.rules'
'hosts.cfg.patch')
-depends=('rrdtool' 'fping' 'pcre' 'python2' 'graphviz')
+depends=('rrdtool' 'fping' 'pcre' 'python2' 'graphviz' 'smartmontools')
install=xymon.install
build() {
@@ -81,6 +84,8 @@ package_xymonserver(){
install -D -m755 ${srcdir}/hobbit_myth_data.py ${pkgdir}/home/xymon/server/ext/hobbit_myth_data.py
install -D -m755 ${srcdir}/hobbit-mem-myth.sh ${pkgdir}/home/xymon/server/ext/hobbit-mem-myth.sh
install -D -m755 ${srcdir}/xymon-gputemp.sh ${pkgdir}/home/xymon/server/ext/xymon-gputemp.sh
+ install -D -m755 ${srcdir}/xymon-hddtemp.sh ${pkgdir}/home/xymon/server/ext/xymon-hddtemp.sh
+ install -D -m755 ${srcdir}/xymon-smart.sh ${pkgdir}/home/xymon/server/ext/xymon-smart.sh
install -D -m755 ${srcdir}/log_list.sh ${pkgdir}/home/xymon/client/bin/log_list.sh
install -m755 analysis.cfg ${pkgdir}/home/xymon/etc/analysis.cfg
@@ -94,8 +99,9 @@ package_xymonserver(){
install -D -m644 ${srcdir}/logrotate-server.xymon ${pkgdir}/etc/logrotate.d/xymon-server
- # fix env for mythtb bindingds
+ # fix env for mythtv bindings
echo "MYTHCONFDIR=/usr/share/mythtv" >> ${pkgdir}/home/xymon/etc/xymonserver.cfg
+ echo "MYTHCONFDIR=/usr/share/mythtv" >> ${pkgdir}/home/xymon/client/etc/xymonclient.cfg
#copy in replacment icon set
DOCDIR=${pkgdir}/data/srv/httpd/htdocs/xymon
@@ -107,7 +113,7 @@ package_xymonserver(){
#apply patches to conf file
install -D -m775 ${srcdir}/tasks.d.mv ${pkgdir}/home/xymon/etc/tasks.d/mv.cfg
cd ${pkgdir}/home/xymon/etc
- patch -p0 < ${srcdir}/graph.cfg.diff || return 1
+ patch -p0 < ${srcdir}/graphs.cfg.diff || return 1
patch -p0 < ${srcdir}/xymonserver.cfg.diff || return 1
patch -p3 < ${srcdir}/client-local.cfg.patch || return 1
patch -p3 < ${srcdir}/hosts.cfg.patch || return 1
@@ -134,14 +140,18 @@ package_xymonserver(){
package_xymonclient(){
#create client package as well
- depends=()
+ depends=('smartmontools')
backup=('data/srv/xymon/client/etc/xymonclient.cfg')
install=xymon-client.install
+ install -D -m400 ${srcdir}/xymon-client.rules ${pkgdir}/etc/sudoers.d/xymon_client
install -D -m755 ${srcdir}/log_list.sh ${pkgdir}/home/xymon/client/bin/log_list.sh
install -D -m644 ${srcdir}/logrotate-client.xymon ${pkgdir}/etc/logrotate.d/xymon-client
+ install -D -m755 ${srcdir}/hobbit_myth_data.py ${pkgdir}/home/xymon/client/ext/hobbit_myth_data.py
install -D -m755 ${srcdir}/hobbit-mem-myth.sh ${pkgdir}/home/xymon/client/ext/hobbit-mem-myth.sh
install -D -m755 ${srcdir}/xymon-gputemp.sh ${pkgdir}/home/xymon/client/ext/xymon-gputemp.sh
+ install -D -m755 ${srcdir}/xymon-hddtemp.sh ${pkgdir}/home/xymon/client/ext/xymon-hddtemp.sh
+ install -D -m755 ${srcdir}/xymon-smart.sh ${pkgdir}/home/xymon/client/ext/xymon-smart.sh
cp -rp ${pkgdir}/../xymonserver/home/xymon/client/ ${pkgdir}/home/xymon/
cd -
@@ -153,28 +163,31 @@ package_xymonclient(){
md5sums=('d8d119a777e7b7204d1292fb27314312'
'a0fbb9cbeb3600a40943e6205790f22f'
'c60b0d59bb39505ee3d62c6dd65429c5'
- '53f1af1054d3c70f4d6b6fe952cf7e11'
- 'b2f404913400a25f13c63b27f064ad2e'
- 'e40c31eb53ef17c0c544389a525de957'
- '3ad3ce12b84cca82dd34ef97984c315e'
+ '92bd5e8279c688fd854d514443bc733c'
+ 'f0fca78520f434918bd1be717d165073'
+ 'a19c8c546dcd95049476bb19f9d4e3ae'
+ 'c9a31ea9ae131fb351db913e922c25aa'
'b2f98ac0df013332deedc1efae0a270d'
- '4a8244c1bb44fe35ca7372355b01cec4'
- '526c169e020b570b5b02661a831aa4e6'
+ 'df77d1de72157d23a301a72288fbf7e5'
+ '2a509d81ee1655130ce40bf970719e0a'
'166279c006c3ef7bf0c21537cf89fc83'
'80d9cfac86c6d96836e6f406e35e7cf5'
'd210c43fb9ee9ad6cd7648e0c2e0efea'
'0c808fa12672289f86b0651545381308'
'0469d775db9fdd18ea95dd41937ada82'
'0757294eec13771f8e63da23cf066796'
- '270e13da6cbc9d49079d994edaa71e64'
+ 'b1d5592fa92ef71303621964e84c2b9e'
'22d4c9065fd959efe82f121dcb511305'
'9af2ad60ac4c3cb653754618f603e311'
- 'a9b7f0a22f29f55b2928160bc44f2c14'
+ '313b11e7a22c3c08fb2afaadbfb46d87'
'6452d891d88bb46d07bcf7790a523ad0'
+ 'b49e7de696c1a0678ad198bab926266c'
+ 'e071c387deac6b896b20db19903b7794'
'b4e8641e97e6b689dbc634af785e6799'
'e2844513e2c92e8b5084818f3b2a478d'
'98e9242ae346f729b14cb195786571f2'
'31ac5c1f6dcc9408b64c4107b325a9a6'
'c7178bbf384bbe86c318b60fef6faf10'
- '72bf7caf0f53928d97ff5cd9810d6d4d'
+ '2871c53627e9e125922118013a868a95'
+ 'cdfbca43dbae4ce0ca72dd002ec22af1'
'606f535a49f32b35802ed9d46bd7d068')
diff --git a/abs/core/xymon/clientlaunch.cfg.patch b/abs/core/xymon/clientlaunch.cfg.patch
index 8c1915a..dba5876 100755
--- a/abs/core/xymon/clientlaunch.cfg.patch
+++ b/abs/core/xymon/clientlaunch.cfg.patch
@@ -1,17 +1,35 @@
---- clientlaunch.cfg.orig 2014-10-25 11:56:01.947006791 -0500
-+++ clientlaunch.cfg 2014-10-25 11:57:02.632312788 -0500
-@@ -26,3 +26,14 @@
- LOGFILE $XYMONCLIENTLOGS/xymonclient.log
- INTERVAL 5m
-
+--- clientlaunch.cfg.orig 2015-02-19 22:50:43.102571615 +0000
++++ clientlaunch.cfg 2015-03-06 19:23:04.010103917 +0000
+@@ -26,3 +26,32 @@
+ LOGFILE $XYMONCLIENTLOGS/xymonclient.log
+ INTERVAL 5m
+
+[memmyth]
+ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
+ CMD /home/xymon/client/ext/hobbit-mem-myth.sh
+ LOGFILE $XYMONCLIENTLOGS/mythmem.log
+ INTERVAL 5m
+
++[mtc]
++ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
++ CMD /home/xymon/client/ext/hobbit_myth_data.py
++ LOGFILE $XYMONCLIENTLOGS/mtc.log
++ INTERVAL 5m
++
+[gputemp]
+ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
+ CMD /home/xymon/client/ext/xymon-gputemp.sh
+ LOGFILE $XYMONCLIENTLOGS/xymon-gputemp.log
+ INTERVAL 5m
++
++[hddtemp]
++ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
++ CMD /home/xymon/client/ext/xymon-hddtemp.sh
++ LOGFILE $XYMONCLIENTLOGS/xymon-hddtemp.log
++ INTERVAL 5m
++
++[smart]
++ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
++ CMD /home/xymon/client/ext/xymon-smart.sh
++ LOGFILE $XYMONCLIENTLOGS/xymon-smart.log
++ INTERVAL 30m
diff --git a/abs/core/xymon/graph.cfg.diff b/abs/core/xymon/graphs.cfg.diff
index a105bd7..8b1b438 100755
--- a/abs/core/xymon/graph.cfg.diff
+++ b/abs/core/xymon/graphs.cfg.diff
@@ -1,15 +1,15 @@
---- graphs.cfg.orig 2014-10-25 12:01:22.209825001 -0500
-+++ graphs.cfg 2014-10-25 21:55:22.065856064 -0500
-@@ -2100,4 +2100,50 @@
+--- graphs.cfg.orig 2015-03-04 21:46:31.493387574 +0000
++++ graphs.cfg 2015-03-04 21:47:26.972936010 +0000
+@@ -2100,4 +2100,60 @@
GPRINT:qlen@RRDIDX@:AVERAGE: %6.1lf (avg)\n
-
+
########### end of ifmib graphs ###########
+[storage]
+ TITLE Storage Groups
+ YAXIS recordings
+ DEF:storage1=storage.rrd:rectvtotal:AVERAGE
+ LINE2:storage1#00CCCC:current recorded
-+
+
+ DEF:rectime=storage.rrd:rectvtime:AVERAGE
+ LINE2:rectime#000000:current recorded time
+
@@ -50,5 +50,14 @@
+ GPRINT:gputemp:MAX: \: %5.1lf (max)
+ GPRINT:gputemp:MIN: \: %5.1lf (min)
+ GPRINT:gputemp:AVERAGE: \: %5.1lf (avg)\n
-
-
++
++[hddtemp]
++ FNPATTERN ^hddtemp.(.*).rrd
++ TITLE Hard Drive Temperatures
++ YAXIS Celsius
++ DEF:p@RRDIDX@=@RRDFN@:lambda:AVERAGE
++ LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@\n
++ GPRINT:p@RRDIDX@:LAST: %5.1lf °C (cur)
++ GPRINT:p@RRDIDX@:MAX: \: %5.1lf °C (max)
++ GPRINT:p@RRDIDX@:MIN: \: %5.1lf °C (min)
++ GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf °C (avg)\n
diff --git a/abs/core/xymon/hbnotes.py b/abs/core/xymon/hbnotes.py
index d14d62a..d18a606 100755
--- a/abs/core/xymon/hbnotes.py
+++ b/abs/core/xymon/hbnotes.py
@@ -40,6 +40,7 @@ def create_dot_file():
for row in result:
hostname = row[0]
dot_hostname = row[0].replace('.','_')
+ dot_hostname = row[0].replace('-','__')
#Find the system type
cursor.execute("select value,data from settings where hostname=%s and value in ('HostSystemType','HostRunFrontend');",(row))
hostvalues=cursor.fetchall()
diff --git a/abs/core/xymon/hobbit-myth-orphan.sh b/abs/core/xymon/hobbit-myth-orphan.sh
index cc4ca30..5f7c7ba 100644
--- a/abs/core/xymon/hobbit-myth-orphan.sh
+++ b/abs/core/xymon/hobbit-myth-orphan.sh
@@ -1,48 +1,43 @@
#!/bin/bash
-TMPFILE=/tmp/oprhan.result
+TMPFILE=/tmp/orphan.result
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="No Orphans Found."
-
-
+MSG="No Orphans Found."
#yellow
for i in "Orphaned video files" "Orphaned snapshots" "Database backups" "Other files" "Recordings with missing files" "Zero byte recordings"
do
grep -q "$i" $TMPFILE
status=$?
- if [ $status -eq 0 ]
+ if [[ $status -eq 0 ]] && [[ $i == "Database backups" ]]
+ then
+ MSG="$i"
+ elif [ $status -eq 0 ]
then
COLOR="yellow"
- MSG="Problems with $i"
+ MSG="Problems with"
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 with $i"
-# fi
-#done
-
+if [[ $MSG == "Database backups" ]]
+then
MSG="
- ${MSG}
- `cat $TMPFILE` "
-# Tell Hobbit about it
-$BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date`
- ${MSG}
- "
-exit 0
-
-
+`cat $TMPFILE`
+"
+elif [[ $MSG != "No Orphans Found." ]]
+then
+MSG="
+${MSG} `cat $TMPFILE`
+<b>From <a href="/shell/" target="_blank">System >> Terminal</a> run find_orphans.py to clean up these issues.</b>
+"
+fi
+# Tell Hobbit about it
+$BB $BBDISP "status $MACHINE.$COLUMN $COLOR Results from find_orphans.py
+ ${MSG}
+ "
+exit 0
diff --git a/abs/core/xymon/hobbit_myth_data.py b/abs/core/xymon/hobbit_myth_data.py
index ec16818..618e2ac 100755
--- a/abs/core/xymon/hobbit_myth_data.py
+++ b/abs/core/xymon/hobbit_myth_data.py
@@ -7,7 +7,7 @@ import urllib2
import string
import time , datetime
import sys,os
-from MythTV import MythBE,MythDB,MythLog
+from MythTV import MythDB,MythLog
#0=green
@@ -77,7 +77,6 @@ def find_data_left():
days_left = 0
today = datetime.datetime.today()
try:
- be=MythBE()
db = MythDB()
cursor = db.cursor()
except:
diff --git a/abs/core/xymon/hobbit_notify.sh b/abs/core/xymon/hobbit_notify.sh
index 26b789f..39e4d43 100644
--- a/abs/core/xymon/hobbit_notify.sh
+++ b/abs/core/xymon/hobbit_notify.sh
@@ -40,40 +40,50 @@ function msg_func_out() {
}
function msg_local_out() {
-
/usr/LH/bin/msg_client.py --msg "${1}"
-
- }
+}
case x$BBSVCNAME in
xdisk)
- case $BBCOLORLEVEL in
+ case $BBCOLORLEVEL in
red )
- msg_func_out "$BBHOSTNAME disk is at 95% full or greater|alert"
+ if [[ $BBALPHAMSG == *"&red / ("* ]]
+ then
+ msg_func_out "The OS (/) partition on $BBHOSTNAME is over 99% full|alert"
+ fi
+ if [[ $BBALPHAMSG == *"&red /home ("* ]]
+ then
+ msg_func_out "The home (/home) partition on $BBHOSTNAME is over 99% full|alert"
+ fi
+ if [[ $BBALPHAMSG == *"&red /data/srv/mysql ("* ]]
+ then
+ msg_func_out "The mysql (/data/srv/mysql) partition on $BBHOSTNAME is over 99% full|alert"
+ fi
;;
yellow )
- msg_func_out "$BBHOSTNAME disk is almost full"
+ msg_func_out "A disk on $BBHOSTNAME is almost full"
;;
- esac
- ;;
-
- xfunc)
- if [ "x$hostname" = "x$BBHOSTNAME" ]
+ esac
+ ;;
+
+ xmemory)
+ #do nothing for memory
+ ;;
+
+ xfunc)
+ if [ "x$hostname" = "x$BBHOSTNAME" ]
then
- msg_local_out "System can not communicate with itself (func) |alert"
+ msg_local_out "System can not communicate with itself (func)|alert"
else
msg_func_out "$hostname can not communicate with $BBHOSTNAME (func)|alert"
fi
;;
- *)
+ *)
#catch all for everything else
msg_func_out "Condition $BBCOLORLEVEL $BBSVCNAME on $BBHOSTNAME\nSee the system health webpage.|alert"
;;
esac
-
-
-
diff --git a/abs/core/xymon/tasks.d.mv b/abs/core/xymon/tasks.d.mv
index 02afc14..2cdaebb 100755
--- a/abs/core/xymon/tasks.d.mv
+++ b/abs/core/xymon/tasks.d.mv
@@ -42,4 +42,16 @@
ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
CMD /home/xymon/server/ext/xymon-gputemp.sh
LOGFILE $BBSERVERLOGS/xymon-gputemp.log
- INTERVAL 5m \ No newline at end of file
+ INTERVAL 5m
+
+[hddtemp]
+ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
+ CMD /home/xymon/server/ext/xymon-hddtemp.sh
+ LOGFILE $BBSERVERLOGS/xymon-hddtemp.log
+ INTERVAL 5m
+
+[smart]
+ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
+ CMD /home/xymon/server/ext/xymon-smart.sh
+ LOGFILE $BBSERVERLOGS/xymon-smart.log
+ INTERVAL 30m
diff --git a/abs/core/xymon/xymon-client.rules b/abs/core/xymon/xymon-client.rules
new file mode 100644
index 0000000..f13b3f6
--- /dev/null
+++ b/abs/core/xymon/xymon-client.rules
@@ -0,0 +1,3 @@
+#These rules are used by xymon-client
+nobody ALL = NOPASSWD:/usr/bin/smartctl
+
diff --git a/abs/core/xymon/xymon-hddtemp.sh b/abs/core/xymon/xymon-hddtemp.sh
new file mode 100755
index 0000000..7084abc
--- /dev/null
+++ b/abs/core/xymon/xymon-hddtemp.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# NOTE: Must be run as root, so you probably need to setup sudo for this.
+
+ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' |
+while read DISK
+do
+ DISKDEV=`ls -l $DISK | awk -F/ '{print $NF}'`
+ DISKNAME=`echo $DISK | awk -F/ '{print $5}' | tr ":" "_"`
+
+ #check if device is optical
+ if [[ $DISKDEV == "sr"* ]]
+ then
+ continue
+ fi
+
+ #check if device is mounted
+ if ! mount | grep -q /dev/$DISKDEV
+ then
+ continue
+ fi
+
+ #check if SMART is disabled and enable
+ DRES=`sudo /usr/bin/smartctl -A $DISK`
+ if [[ $DRES == *"SMART Disabled. Use option -s with argument 'on'"* ]]
+ then
+ sudo /usr/bin/smartctl -s on $DISK
+ DRES=`sudo /usr/bin/smartctl -A $DISK`
+ fi
+
+ hddtemp=`echo "$DRES" | grep Temperature_Celsius | awk '{print $10}'`
+
+ TEMP=": $hddtemp"
+ if [[ $hddtemp == "" ]]
+ then
+ TEMP="- No Temp Sensor Found"
+ COLOR="4&clear"
+ elif test $hddtemp -gt 55
+ then
+ COLOR="1&red"
+ elif test $hddtemp -ge 50
+ then
+ COLOR="2&yellow"
+ else
+ COLOR="3&green"
+ fi
+
+ echo "${COLOR} $DISKNAME $TEMP"
+
+done > /tmp/hddcheck
+
+COLOR=`cat /tmp/hddcheck | awk '{print $1}' | sort | uniq | head -1 | cut -c3-`
+
+# Report status to Xymon Server
+$XYMON $XYMSRV "status ${MACHINE}.hddtemp ${COLOR} Hard Drive Temperatures (in &degC)
+
+`cat /tmp/hddcheck | cut -c2-`
+"
+
+rm -f /tmp/hddcheck
+
+exit 0
diff --git a/abs/core/xymon/xymon-server.rules b/abs/core/xymon/xymon-server.rules
index b0f6100..e4c515b 100644
--- a/abs/core/xymon/xymon-server.rules
+++ b/abs/core/xymon/xymon-server.rules
@@ -1,5 +1,6 @@
#These rules are used by xymon-server
nobody ALL = NOPASSWD:/usr/bin/certmaster-ca
+nobody ALL = NOPASSWD:/usr/bin/smartctl
http ALL = NOPASSWD:/usr/LH/bin/lh_system_backup_job
http ALL = NOPASSWD:/usr/LH/bin/lh_system_restore_job
http ALL = NOPASSWD:/sbin/sv
diff --git a/abs/core/xymon/xymon-smart.sh b/abs/core/xymon/xymon-smart.sh
new file mode 100755
index 0000000..7c10db5
--- /dev/null
+++ b/abs/core/xymon/xymon-smart.sh
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+# NOTE: Must be run as root, so you probably need to setup sudo for this.
+
+if test -f /tmp/dres; then rm -f /tmp/dres; fi
+
+ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' |
+while read DISK
+do
+ DISKDEV=`ls -l $DISK | awk -F/ '{print $NF}'`
+
+ #check if device is optical
+ if [[ $DISKDEV == "sr"* ]]
+ then
+ continue
+ fi
+
+ #check if device is mounted
+ if ! mount | grep -q /dev/$DISKDEV
+ then
+ continue
+ fi
+
+ DRES=`sudo /usr/bin/smartctl -H -n standby $DISK`
+ DCODE=$?
+
+ #check if SMART is disabled and enable
+ if [[ $DRES == *"SMART Disabled. Use option -s with argument 'on'"* ]]
+ then
+ sudo /usr/bin/smartctl -s on $DISK
+ DRES=`sudo /usr/bin/smartctl -H -n standby $DISK`
+ DCODE=$?
+ fi
+
+ DSTBY=$(( $DCODE & 2 ))
+ DFAIL=$(( $DCODE & 8 ))
+ DWARN=$(( $DCODE & 32 ))
+
+ if test $DSTBY -ne 0
+ then
+ COLOR="4&clear"
+ elif test $DFAIL -ne 0
+ then
+ COLOR="1&red"
+ elif test $DWARN -ne 0
+ then
+ COLOR="2&yellow"
+ else
+ COLOR="3&green"
+ fi
+
+ echo "${COLOR} $DISK (/dev/$DISKDEV)"
+
+ echo "${COLOR} $DISK (/dev/$DISKDEV)" | cut -c2- >>/tmp/dres
+ echo "" >>/tmp/dres
+ echo "$DRES" | egrep -v "^smartctl|^Copyright|^$|^===" >>/tmp/dres
+ echo "-----------------------------------------------------------------------------" >>/tmp/dres
+ echo "" >>/tmp/dres
+ echo "" >>/tmp/dres
+done >/tmp/dcheck
+
+COLOR=`cat /tmp/dcheck | awk '{print $1}' | sort | uniq | head -1 | cut -c3-`
+
+$XYMON $XYMSRV "status ${MACHINE}.smart ${COLOR} SMART Health Check
+
+`cat /tmp/dcheck | cut -c2-`
+
+============================== Detailed status ==============================
+
+`cat /tmp/dres`
+"
+
+rm -f /tmp/dres /tmp/dcheck
+
+exit 0
diff --git a/abs/core/xymon/xymonserver.cfg.diff b/abs/core/xymon/xymonserver.cfg.diff
index 8850670..48631dc 100755
--- a/abs/core/xymon/xymonserver.cfg.diff
+++ b/abs/core/xymon/xymonserver.cfg.diff
@@ -1,30 +1,31 @@
---- xymonserver.cfg.orig 2014-10-25 22:05:16.611876375 -0500
-+++ xymonserver.cfg 2014-10-25 22:07:35.818604144 -0500
-@@ -145,6 +145,11 @@
+--- xymonserver.cfg.orig 2015-03-04 21:28:58.618598840 +0000
++++ xymonserver.cfg 2015-03-04 21:31:55.352569106 +0000
+@@ -145,6 +145,12 @@
RRDHEIGHT="120"
RRDWIDTH="576" # The RRD's contain 576 data points, so this is a good value
-
+
+NCV_storage="*:GAUGE"
+NCV_memmbe="*:GAUGE"
+NCV_memmfe="*:GAUGE"
+NCV_gputemp="*:GAUGE"
++SPLITNCV_hddtemp="*:GAUGE"
+
# TEST2RRD defines the status- and data-messages you want to collect RRD data
# about. You will normally not need to modify this, unless you have added a
# script to pick up RRD data from custom tests (the xymond_rrd --extra-script
-@@ -156,11 +161,13 @@
+@@ -156,11 +162,13 @@
#
# This is also used by the svcstatus.cgi script to determine if the detailed
# status view of a test should include a graph.
-TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
+#TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
-+TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage=ncv,memmbe=ncv,memmfe=ncv,gputemp=ncv"
-
++TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage=ncv,memmbe=ncv,memmfe=ncv,gputemp=ncv,hddtemp=ncv,smart"
+
# This defines which RRD files to include on the "trends" column webpage,
# and the order in which they appear.
-GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
+#GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond"
-+GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage,memmbe,memmfe,gputemp"
-
++GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage,memmbe,memmfe,gputemp,hddtemp"
+
# These two settings can be used to restrict what filesystems are being
# tracked (i.e. have their utilisation graphed) by Xymon.
diff --git a/abs/core/xz/PKGBUILD b/abs/core/xz/PKGBUILD
index 945cc42..fb62b4c 100644
--- a/abs/core/xz/PKGBUILD
+++ b/abs/core/xz/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: François Charette <firmicus@gmx.net>
pkgname=xz
-pkgver=5.0.7
+pkgver=5.2.2
pkgrel=1
pkgdesc='Library and command line tools for XZ and LZMA compressed files'
arch=('i686' 'x86_64')
@@ -12,8 +12,9 @@ license=('GPL' 'LGPL' 'custom')
depends=('sh')
source=("http://tukaani.org/${pkgname}/${pkgname}-${pkgver}.tar.gz"
"http://tukaani.org/${pkgname}/${pkgname}-${pkgver}.tar.gz.sig")
-md5sums=('60449e1c9c0eabefc9c3166e325636e5'
+md5sums=('7cf6a8544a7dae8e8106fdf7addfa28c'
'SKIP')
+validpgpkeys=('3690C240CE51B4670D30AD1C38EE757D69184620')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/abs/core/zoneminder/PKGBUILD b/abs/core/zoneminder/PKGBUILD
index 686ffb0..e5c6b5d 100644
--- a/abs/core/zoneminder/PKGBUILD
+++ b/abs/core/zoneminder/PKGBUILD
@@ -11,7 +11,7 @@
pkgbase=zoneminder
pkgname=zoneminder
pkgver=1.28.0
-pkgrel=4
+pkgrel=5
pkgdesc='Capture, analyse, record and monitor video security cameras'
arch=( i686 x86_64 mips64el arm )
@@ -68,8 +68,8 @@ build() {
cd $srcdir/ZoneMinder-$pkgver
cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DZM_CGIDIR=/data/srv/http/cgi-bin \
- -DZM_WEBDIR=/data/srv/http/zoneminder \
+ -DZM_CGIDIR=/data/srv/httpd/cgi-bin \
+ -DZM_WEBDIR=/data/srv/httpd/zoneminder \
-DZM_WEB_USER=http \
-DZM_CONTENTDIR=/var/cache/zoneminder \
-DZM_LOGDIR=/var/log/zoneminder \
@@ -100,21 +100,22 @@ package() {
for i in events images temp; do
mkdir $pkgdir/var/cache/$pkgbase/$i
# chown -v http.http $pkgdir/var/cache/$pkgbase/$i
- ln -s /var/cache/$pkgbase/$i $pkgdir/data/srv/http/$pkgbase/$i
- chown -v --no-dereference http.http $pkgdir/data/srv/http/$pkgbase/$i
+ ln -s /var/cache/$pkgbase/$i $pkgdir/data/srv/httpd/$pkgbase/$i
+ chown -v --no-dereference http.http $pkgdir/data/srv/httpd/$pkgbase/$i
done
# Create a link to the Zoneminder cgi binaries
- ln -sv /data/srv/http/cgi-bin $pkgdir/data/srv/http/$pkgbase
+ ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$pkgbase
- chown -h http.http $pkgdir/data/srv/http/{cgi-bin,$pkgbase,$pkgbase/cgi-bin}
+ chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$pkgbase,$pkgbase/cgi-bin}
# Link Cambozola
- ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/http/$pkgbase
+ ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$pkgbase
# Install configuration files
- mkdir -p $pkgdir/etc/httpd/conf/extra
- install -D -m 644 $srcdir/httpd-$pkgbase.conf $pkgdir/etc/httpd/conf/extra
+# don't need these in LinHES as we use lighttpd not apache
+# mkdir -p $pkgdir/etc/httpd/conf/extra
+# install -D -m 644 $srcdir/httpd-$pkgbase.conf $pkgdir/etc/httpd/conf/extra
mkdir -p $pkgdir/usr/lib/systemd/system
install -D -m 644 $srcdir/$pkgbase.service $pkgdir/usr/lib/systemd/system
install -D -m 644 COPYING $pkgdir/usr/share/license/$pkgbase
diff --git a/abs/core/zoneminder/zoneminder.install b/abs/core/zoneminder/zoneminder.install
index e074c32..a086b96 100644
--- a/abs/core/zoneminder/zoneminder.install
+++ b/abs/core/zoneminder/zoneminder.install
@@ -18,14 +18,14 @@ install_db() {
pre_install() {
set -e
abort=false
- if [ -L /data/srv/http/zoneminder/events ]; then
- l=$(readlink /data/srv/http/zoneminder/events)
+ if [ -L /data/srv/httpd/zoneminder/events ]; then
+ l=$(readlink /data/srv/httpd/zoneminder/events)
if [ $l != /var/cache/zoneminder/events ]; then
abort=true
fi
fi
- if [ -L /data/srv/http/zoneminder/images ]; then
- l=$(readlink /data/srv/http/zoneminder/images)
+ if [ -L /data/srv/httpd/zoneminder/images ]; then
+ l=$(readlink /data/srv/httpd/zoneminder/images)
if [ $l != /var/cache/zoneminder/images ]; then
abort=true
fi
@@ -33,7 +33,7 @@ pre_install() {
if [ $abort = true ]; then
cat >&2 << EOF
Aborting installation of zoneminder due to non-default symlinks in
-/data/srv/http/zoneminder for the images and/or events directory, which could
+/data/srv/httpd/zoneminder for the images and/or events directory, which could
result in loss of data. Please move your data in each of these directories to
/var/cache/zoneminder before installing zoneminder from the package.
EOF