summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore6
-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/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
-rw-r--r--abs/extra/apcupsd/PKGBUILD10
-rw-r--r--abs/extra/apcupsd/apcupsd.install15
-rw-r--r--abs/extra/autoconf-archive/PKGBUILD35
-rw-r--r--abs/extra/autoconf-archive/autoconf-archive.install20
-rw-r--r--abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch59
-rw-r--r--abs/extra/bluez/PKGBUILD24
-rw-r--r--abs/extra/bluez/bluez.install15
-rw-r--r--abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch29
-rw-r--r--abs/extra/boost/PKGBUILD26
-rw-r--r--abs/extra/boost/__changelog2
-rw-r--r--abs/extra/cambozola/PKGBUILD13
-rw-r--r--abs/extra/check/PKGBUILD40
-rw-r--r--abs/extra/check/check.install20
-rw-r--r--abs/extra/cifs-utils/PKGBUILD15
-rw-r--r--abs/extra/cups/PKGBUILD119
-rw-r--r--abs/extra/cups/cups-avahi-address.patch75
-rw-r--r--abs/extra/cups/cups-enum-all.patch17
-rw-r--r--abs/extra/cups/cups-final-content-type.patch18
-rw-r--r--abs/extra/cups/cups-no-gcrypt.patch41
-rw-r--r--abs/extra/cups/cups-res_init.patch26
-rw-r--r--abs/extra/cups/cups-systemd-socket.patch404
-rw-r--r--abs/extra/cups/cups.install15
-rw-r--r--abs/extra/cups/cups.logrotate5
-rw-r--r--abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch19
-rw-r--r--abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch31
-rw-r--r--abs/extra/cups/ppd-poll-with-client-conf.patch23
-rw-r--r--abs/extra/dcadec/PKGBUILD35
-rw-r--r--abs/extra/dtv-scan-tables-git/PKGBUILD30
-rw-r--r--abs/extra/emacs/PKGBUILD19
-rw-r--r--abs/extra/emacs/emacs.install10
-rw-r--r--abs/extra/exiv2/PKGBUILD24
-rw-r--r--abs/extra/ffmpeg-compat/PKGBUILD28
-rw-r--r--abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch24
-rw-r--r--abs/extra/findbrokenpkgs/PKGBUILD18
-rw-r--r--abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh326
-rw-r--r--abs/extra/flashplugin/PKGBUILD29
-rw-r--r--abs/extra/fltk/PKGBUILD69
-rw-r--r--abs/extra/fltk/fltk-config-dynlibs.patch97
-rw-r--r--abs/extra/fltk/fltk-games.install11
-rw-r--r--abs/extra/fltk/fltk.install12
-rw-r--r--abs/extra/fltk/tigervnc.patch226
-rw-r--r--abs/extra/gd/PKGBUILD23
-rw-r--r--abs/extra/gd/color_c_null_pointer.patch18
-rw-r--r--abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch37
-rw-r--r--abs/extra/git/ChangeLog57
-rw-r--r--abs/extra/git/PKGBUILD104
-rw-r--r--abs/extra/git/git-daemon70
-rw-r--r--abs/extra/git/git-daemon.conf5
-rw-r--r--abs/extra/git/git-daemon.socket9
-rw-r--r--abs/extra/git/git-daemon@.service10
-rw-r--r--abs/extra/git/git.install12
-rw-r--r--abs/extra/glade/PKGBUILD33
-rw-r--r--abs/extra/glade/glade.install12
-rw-r--r--abs/extra/glew/PKGBUILD4
-rw-r--r--abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch36
-rw-r--r--abs/extra/glib-networking/PKGBUILD43
-rw-r--r--abs/extra/gnome-common/PKGBUILD18
-rw-r--r--abs/extra/google-chrome/PKGBUILD44
-rw-r--r--abs/extra/google-chrome/__changelog2
-rw-r--r--abs/extra/google-chrome/eula_text.html902
-rw-r--r--abs/extra/google-chrome/google-chrome-stable.sh9
-rw-r--r--abs/extra/google-chrome/google-chrome.install6
-rw-r--r--abs/extra/gperftools/PKGBUILD42
-rw-r--r--abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch85
-rw-r--r--abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch94
-rw-r--r--abs/extra/gtk3/PKGBUILD53
-rw-r--r--abs/extra/gtk3/gtk-update-icon-cache.install (renamed from abs/core/gtk2/gtk-update-icon-cache.install)0
-rw-r--r--abs/extra/gtk3/settings.ini2
-rw-r--r--abs/extra/gtk3/wacom.patch12
-rw-r--r--abs/extra/guile/PKGBUILD34
-rw-r--r--abs/extra/handbrake/PKGBUILD17
-rw-r--r--abs/extra/handbrake/standard-presets-fix-type.patch88
-rw-r--r--abs/extra/hardening-wrapper/PKGBUILD26
-rw-r--r--abs/extra/hardening-wrapper/hardening-wrapper-i686.conf6
-rw-r--r--abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf6
-rw-r--r--abs/extra/hardening-wrapper/path.sh1
-rw-r--r--abs/extra/harfbuzz/PKGBUILD15
-rw-r--r--abs/extra/htop/PKGBUILD14
-rw-r--r--abs/extra/http-parser/PKGBUILD39
-rw-r--r--abs/extra/icu/PKGBUILD6
-rw-r--r--abs/extra/itstool/PKGBUILD36
-rw-r--r--abs/extra/json-c/PKGBUILD33
-rw-r--r--abs/extra/jsoncpp/PKGBUILD38
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD64
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/__changelog4
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch509
-rw-r--r--abs/extra/kodi-platform/PKGBUILD36
-rw-r--r--abs/extra/kodi-pvr-addons/PKGBUILD33
-rw-r--r--abs/extra/kodi/PKGBUILD48
-rw-r--r--abs/extra/kodi/__changelog1
-rw-r--r--abs/extra/kodi/kodi.install4
-rw-r--r--abs/extra/l-smash/PKGBUILD36
-rw-r--r--abs/extra/ldb/PKGBUILD9
-rw-r--r--abs/extra/leveldb/PKGBUILD44
-rw-r--r--abs/extra/libbluray/PKGBUILD9
-rw-r--r--abs/extra/libcdio/PKGBUILD3
-rw-r--r--abs/extra/libcrossguid/PKGBUILD41
-rw-r--r--abs/extra/libcrystalhd-git/PKGBUILD16
-rw-r--r--abs/extra/libee/PKGBUILD27
-rw-r--r--abs/extra/libepoxy/PKGBUILD35
-rw-r--r--abs/extra/libepoxy/__changelog1
-rw-r--r--abs/extra/libestr/PKGBUILD24
-rw-r--r--abs/extra/libfbclient/ChangeLog26
-rw-r--r--abs/extra/libfbclient/LICENSE44
-rw-r--r--abs/extra/libfbclient/PKGBUILD47
-rw-r--r--abs/extra/libglvnd/LICENSE26
-rw-r--r--abs/extra/libglvnd/PKGBUILD38
-rw-r--r--abs/extra/libgudev/PKGBUILD32
-rw-r--r--abs/extra/libinput/PKGBUILD39
-rw-r--r--abs/extra/libinput/libinput.install11
-rw-r--r--abs/extra/liblogging/PKGBUILD27
-rw-r--r--abs/extra/liblogging/__changelog2
-rw-r--r--abs/extra/libmicrohttpd/PKGBUILD4
-rw-r--r--abs/extra/libnfs/PKGBUILD32
-rw-r--r--abs/extra/librelp/PKGBUILD23
-rw-r--r--abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch26
-rw-r--r--abs/extra/libsoxr/PKGBUILD55
-rw-r--r--abs/extra/libunwind/PKGBUILD35
-rw-r--r--abs/extra/libuv/PKGBUILD48
-rw-r--r--abs/extra/libuv/__changelog1
-rw-r--r--abs/extra/libva-intel-driver/PKGBUILD35
-rw-r--r--abs/extra/libva/PKGBUILD4
-rw-r--r--abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch317
-rw-r--r--abs/extra/libvpx/PKGBUILD54
-rw-r--r--abs/extra/linuxtv-dvb-apps/PKGBUILD30
-rw-r--r--abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch142
-rw-r--r--abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch115
-rw-r--r--abs/extra/llvm/PKGBUILD308
-rw-r--r--abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch1267
-rw-r--r--abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch9
-rw-r--r--abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch20
-rw-r--r--abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch39
-rw-r--r--abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch28
-rw-r--r--abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch11
-rw-r--r--abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch440
-rw-r--r--abs/extra/llvm/llvm-Config-config.h9
-rw-r--r--abs/extra/m17n-db/PKGBUILD6
-rw-r--r--abs/extra/m17n-lib/PKGBUILD10
-rw-r--r--abs/extra/mpd/PKGBUILD7
-rw-r--r--abs/extra/mpd/__changelog2
-rw-r--r--abs/extra/mpg123/PKGBUILD5
-rwxr-xr-xabs/extra/mythexpress/PKGBUILD14
-rwxr-xr-xabs/extra/mythexpress/mythexpress.html4
-rw-r--r--abs/extra/mythexpress/mythexpress.install11
-rw-r--r--abs/extra/mythexpress/mythprotocol.js.patch12
-rw-r--r--abs/extra/ncdu/PKGBUILD7
-rw-r--r--abs/extra/nodejs/PKGBUILD14
-rw-r--r--abs/extra/npm/PKGBUILD55
-rw-r--r--abs/extra/nspr/PKGBUILD8
-rw-r--r--abs/extra/nss/PKGBUILD30
-rw-r--r--abs/extra/nss/certdata2pem.py1
-rw-r--r--abs/extra/nss/legacy-certs.patch26
-rw-r--r--abs/extra/nss/nss.install13
-rw-r--r--abs/extra/nss/ssl-renegotiate-transitional.patch21
-rw-r--r--abs/extra/ocaml-ctypes/PKGBUILD34
-rw-r--r--abs/extra/ocaml-findlib/PKGBUILD37
-rw-r--r--abs/extra/ocaml/PKGBUILD20
-rw-r--r--abs/extra/ocaml/fix-ocaml-binutils-2.21.patch66
l---------abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz1
-rw-r--r--abs/extra/openal/PKGBUILD47
-rw-r--r--abs/extra/openal/__changelog4
-rw-r--r--abs/extra/openmpi/PKGBUILD18
-rwxr-xr-xabs/extra/openpht/PKGBUILD75
-rw-r--r--abs/extra/openpht/__changelog5
-rw-r--r--abs/extra/openpht/openpht.install (renamed from abs/extra/plex-home-theater/plex-home-theater.install)4
-rwxr-xr-xabs/extra/openpht/plex-ffmpeg-compat.patch (renamed from abs/extra/plex-home-theater/plex-ffmpeg-compat.patch)0
-rw-r--r--abs/extra/openpht/plex_lib.conf (renamed from abs/extra/plex-home-theater/plex_lib.conf)2
-rwxr-xr-xabs/extra/openpht/plexhometheater.sh11
-rw-r--r--abs/extra/oss/PKGBUILD41
-rw-r--r--abs/extra/oss/gcc-5.patch52
-rw-r--r--abs/extra/p8-platform/PKGBUILD35
-rwxr-xr-xabs/extra/plex-home-theater/PKGBUILD76
-rw-r--r--abs/extra/plex-home-theater/__changelog3
-rw-r--r--abs/extra/plex-home-theater/plex-libcec-2.2.0.patch114
-rw-r--r--abs/extra/plex-home-theater/plex-lirc-socket.patch56
-rwxr-xr-xabs/extra/plex-home-theater/plexhometheater.sh5
-rw-r--r--abs/extra/plex-media-server/MKPKG3
-rw-r--r--abs/extra/plex-media-server/PKGBUILD65
-rw-r--r--abs/extra/plex-media-server/__changelog6
-rw-r--r--abs/extra/plex-media-server/plex-media-server.install45
-rwxr-xr-xabs/extra/plex-media-server/plexmediascanner.sh6
-rw-r--r--abs/extra/plex-media-server/plexmediaserver.conf.d6
-rw-r--r--abs/extra/plex-media-server/plexmediaserver.service18
-rw-r--r--abs/extra/plex-media-server/terms.txt109
-rw-r--r--abs/extra/portaudio/PKGBUILD34
-rw-r--r--abs/extra/portaudio/__changelog2
-rw-r--r--abs/extra/powerpanel/PKGBUILD35
-rw-r--r--abs/extra/prelink/PKGBUILD39
-rw-r--r--abs/extra/prelink/prelink.conf43
-rw-r--r--abs/extra/qtchooser/4.conf2
-rw-r--r--abs/extra/qtchooser/5.conf2
-rw-r--r--abs/extra/qtchooser/PKGBUILD41
-rw-r--r--abs/extra/rsync/PKGBUILD14
-rw-r--r--abs/extra/rsync/rsyncd.service1
-rw-r--r--abs/extra/rsync/rsyncd@.service2
-rw-r--r--abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch69
-rw-r--r--abs/extra/samba/PKGBUILD17
-rw-r--r--abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch60
-rw-r--r--abs/extra/sdl_sound/PKGBUILD32
-rw-r--r--abs/extra/sdl_sound/flac.patch126
-rw-r--r--abs/extra/semver/PKGBUILD23
-rw-r--r--abs/extra/setconf/PKGBUILD22
-rw-r--r--abs/extra/shellinabox/PKGBUILD41
-rw-r--r--abs/extra/shellinabox/__changelog3
-rw-r--r--abs/extra/shellinabox/shellinaboxd.conf.d5
-rw-r--r--abs/extra/shellinabox/shellinaboxd.rc.d38
-rw-r--r--abs/extra/shellinabox/shellinaboxd.service17
-rw-r--r--abs/extra/smartmontools/PKGBUILD13
-rw-r--r--abs/extra/swig/PKGBUILD36
-rw-r--r--abs/extra/swig/pyint_fromsize_t.diff18
-rw-r--r--abs/extra/swig/upstream_r13128.diff73
-rw-r--r--abs/extra/tevent/PKGBUILD10
-rw-r--r--abs/extra/tig/PKGBUILD6
-rw-r--r--abs/extra/tigervnc/PKGBUILD89
-rw-r--r--abs/extra/tigervnc/cmakelists.patch70
-rw-r--r--abs/extra/tigervnc/gethomedir.patch24
-rw-r--r--abs/extra/tigervnc/gnutls.patch36
-rw-r--r--abs/extra/tigervnc/tiger.install22
-rw-r--r--abs/extra/tigervnc/vncserver.service29
-rw-r--r--abs/extra/tigervnc/vncsvc.rules4
-rw-r--r--abs/extra/tigervnc/vncviewer.desktop9
-rw-r--r--abs/extra/tigervnc/xorg111.patch235
-rw-r--r--abs/extra/tigervnc/xorg112.patch447
-rw-r--r--abs/extra/tigervnc/xorg118.patch27
-rw-r--r--abs/extra/tinyxml/PKGBUILD62
-rw-r--r--abs/extra/tinyxml/entity.patch64
-rw-r--r--abs/extra/tinyxml/tinyxml-2.5.3-stl.patch12
-rw-r--r--abs/extra/tinyxml/tinyxml.pc10
-rw-r--r--abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch35
-rw-r--r--abs/extra/upower/PKGBUILD32
-rw-r--r--abs/extra/vala/PKGBUILD12
-rw-r--r--abs/extra/valgrind/PKGBUILD22
-rw-r--r--abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch37
-rw-r--r--abs/extra/vid.stab/PKGBUILD43
-rw-r--r--abs/extra/vte3/PKGBUILD21
-rw-r--r--abs/extra/w_scan/PKGBUILD28
-rw-r--r--abs/extra/web-on-linhes/PKGBUILD4
-rwxr-xr-xabs/extra/web-on-linhes/web-on-linhes_is.conf32
-rw-r--r--abs/extra/webmin/PKGBUILD4
-rw-r--r--abs/extra/wxgtk/PKGBUILD16
-rw-r--r--abs/extra/wxgtk/make-abicheck-non-fatal.patch15
-rw-r--r--abs/extra/xbmc-pvr-addons/PKGBUILD31
-rw-r--r--abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch41
-rw-r--r--abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch39
-rw-r--r--abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch26
-rw-r--r--abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch112
-rw-r--r--abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch32
-rw-r--r--abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch29
-rw-r--r--abs/extra/xbmc/PKGBUILD147
-rw-r--r--abs/extra/xbmc/__changelog4
-rw-r--r--abs/extra/xbmc/xbmc.install26
-rw-r--r--abs/extra/xbmc/xbmc.sh7
-rw-r--r--abs/extra/xbmc/xbmc_lib.conf9
-rw-r--r--[-rwxr-xr-x]abs/extra/xfsdump/PKGBUILD22
-rw-r--r--abs/extra/yelp-tools/PKGBUILD26
-rw-r--r--abs/extra/yelp-xsl/PKGBUILD26
854 files changed, 34398 insertions, 14739 deletions
diff --git a/.gitignore b/.gitignore
index a3f7dd8..aec3eee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,7 +22,5 @@ srclinks.*
.updated
*.pkg.tar.*
*/git_src/mythtv
-abs/core/mythtv/stable-0.25/git_src/mythtv
-abs/core/mythtv/stable-0.25/git_src/mythweb
-abs/core/mythtv/stable-0.27/git_src/mythtv
-abs/core/mythtv/stable-0.27/git_src/mythweb
+abs/core/mythtv/stable-0.*/git_src/mythtv
+abs/core/mythtv/stable-0.*/git_src/mythweb
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/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
diff --git a/abs/extra/apcupsd/PKGBUILD b/abs/extra/apcupsd/PKGBUILD
index 936ae52..c994545 100644
--- a/abs/extra/apcupsd/PKGBUILD
+++ b/abs/extra/apcupsd/PKGBUILD
@@ -5,18 +5,18 @@
# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgname=apcupsd
-pkgver=3.14.12
-pkgrel=3
+pkgver=3.14.13
+pkgrel=2
pkgdesc="Power mangement and controlling most of APC's UPS models"
arch=(i686 x86_64)
url="http://www.apcupsd.org"
license=('GPL')
-install=apcupsd.install
-depends=('gcc-libs')
+depends=('gcc-libs' 'systemd-sysvcompat')
optdepends=('gd: for CGI'
'gconf: for frontend'
'gtk2: for frontend')
makedepends=('pkgconfig' 'gd' 'gconf' 'gtk2')
+install=apcupsd.install
backup=(etc/apcupsd/apcupsd.conf
etc/apcupsd/hosts.conf
etc/apcupsd/multimon.conf
@@ -30,7 +30,7 @@ backup=(etc/apcupsd/apcupsd.conf
source=(http://downloads.sourceforge.net/apcupsd/$pkgname-$pkgver.tar.gz{,.sig}
apcupsd.service
apcupsd-tmpfiles.conf)
-sha256sums=('1b4f703cb19cfdf44daf173dc8394cafd30fee0b30a0c75a7d19db622454a440'
+sha256sums=('57ecbde01d0448bf8c4dbfe0ad016724ae66ab98adf2de955bf2be553c5d03f9'
'SKIP'
'145e88863335f077fc354b4d263b15f64af67b45a10ed37c68ebd468181e23f7'
'a4474cfcd607c5e9b64e27eec7cbc2b0bcf08c8ea37fd1f0f28e98ac2883fd4f')
diff --git a/abs/extra/apcupsd/apcupsd.install b/abs/extra/apcupsd/apcupsd.install
index 3f1e6b2..06eeee4 100644
--- a/abs/extra/apcupsd/apcupsd.install
+++ b/abs/extra/apcupsd/apcupsd.install
@@ -1,24 +1,15 @@
-# This is a default template for a post-install scriptlet. You can
-# remove any functions you don't need (and this header).
-
-# arg 1: the new package version
post_install() {
add_service.sh apcupsd
- /sbin/sv start apcupsd
+ sv start apcupsd
+ systemd-tmpfiles --create apcupsd.conf
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
post_install
}
-# arg 1: the old package version
post_remove() {
- /sbin/sv stop apcupsd
+ sv stop apcupsd
remove_service.sh apcupsd
}
-op=$1
-shift
-$op $*
diff --git a/abs/extra/autoconf-archive/PKGBUILD b/abs/extra/autoconf-archive/PKGBUILD
new file mode 100644
index 0000000..94e7ff7
--- /dev/null
+++ b/abs/extra/autoconf-archive/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Contributor: Daniel Müllner <muellner@math.stanford.edu>
+
+pkgname=autoconf-archive
+pkgver=2015.09.25
+pkgrel=1
+epoch=1
+pkgdesc="A collection of freely re-usable Autoconf macros"
+arch=('any')
+url="http://www.gnu.org/software/autoconf-archive/"
+_watch="http://mirrors.axint.net/repos/gnu.org/autoconf-archive/"
+license=('GPL')
+depends=('autoconf')
+optdepends=('automake: macros for use with it')
+validpgpkeys=('1A4F63A13A4649B632F65EE141BC28FE99089D72')
+install=autoconf-archive.install
+source=(http://ftpmirror.gnu.org/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
+md5sums=('23c2a68fe323d30eaf0fbfa790b4dc92'
+ 'SKIP')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/abs/extra/autoconf-archive/autoconf-archive.install b/abs/extra/autoconf-archive/autoconf-archive.install
new file mode 100644
index 0000000..e17905a
--- /dev/null
+++ b/abs/extra/autoconf-archive/autoconf-archive.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(autoconf-archive.info{,-{1,2,3,4}})
+
+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/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch b/abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
deleted file mode 100644
index fe3c513..0000000
--- a/abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 3027cb7141fb65cf3eeda69c688db8c4045e2d3f Mon Sep 17 00:00:00 2001
-From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org>
-Date: Sat, 12 Oct 2013 17:45:25 +0200
-Subject: [PATCH] Allow using obexd without systemd in the user session
-
-Not all sessions run systemd --user (actually, the majority
-doesn't), so the dbus daemon must be able to spawn obexd
-directly, and to do so it needs the full path of the daemon.
----
- Makefile.obexd | 4 ++--
- obexd/src/org.bluez.obex.service | 4 ----
- obexd/src/org.bluez.obex.service.in | 4 ++++
- 3 files changed, 6 insertions(+), 6 deletions(-)
- delete mode 100644 obexd/src/org.bluez.obex.service
- create mode 100644 obexd/src/org.bluez.obex.service.in
-
-diff --git a/Makefile.obexd b/Makefile.obexd
-index 3760867..142e7c3 100644
---- a/Makefile.obexd
-+++ b/Makefile.obexd
-@@ -2,12 +2,12 @@
- if SYSTEMD
- systemduserunitdir = @SYSTEMD_USERUNITDIR@
- systemduserunit_DATA = obexd/src/obex.service
-+endif
-
- dbussessionbusdir = @DBUS_SESSIONBUSDIR@
- dbussessionbus_DATA = obexd/src/org.bluez.obex.service
--endif
-
--EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
-+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
-
- obex_plugindir = $(libdir)/obex/plugins
-
-diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
-deleted file mode 100644
-index a538088..0000000
---- a/obexd/src/org.bluez.obex.service
-+++ /dev/null
-@@ -1,4 +0,0 @@
--[D-BUS Service]
--Name=org.bluez.obex
--Exec=/bin/false
--SystemdService=dbus-org.bluez.obex.service
-diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
-new file mode 100644
-index 0000000..9c815f2
---- /dev/null
-+++ b/obexd/src/org.bluez.obex.service.in
-@@ -0,0 +1,4 @@
-+[D-BUS Service]
-+Name=org.bluez.obex
-+Exec=@libexecdir@/obexd
-+SystemdService=dbus-org.bluez.obex.service
---
-1.8.3.1
-
-
diff --git a/abs/extra/bluez/PKGBUILD b/abs/extra/bluez/PKGBUILD
index 3ea45a0..db1044c 100644
--- a/abs/extra/bluez/PKGBUILD
+++ b/abs/extra/bluez/PKGBUILD
@@ -5,29 +5,20 @@
pkgbase=bluez
pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins')
-pkgver=5.27
+pkgver=5.39
pkgrel=1
url="http://www.bluez.org/"
arch=('i686' 'x86_64')
license=('GPL2')
makedepends=('dbus' 'libical' 'systemd')
-source=(http://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.xz
- 0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
+source=(http://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.{xz,sign}
bluetooth.modprobe)
# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc
-sha256sums=('fbf33cebc76f8c81f28f0d67c71a8a1ec4b04b087460ec7353f7e0c207a1f981'
- '896a1403d9b7258c4fb0d41f3a6f70fd51eaa1115ab3f4259f3dbbe02b55766b'
+sha256sums=('21d1bc9150d3576296595217efb98a746b592389d25d5637e8bee5da7272593b'
+ 'SKIP'
'46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4')
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann <marcel@holtmann.org>
-prepare() {
- cd $pkgname-$pkgver
- # patch not upstreamable for obex file transfer - FS#37773 taken from FC
- # http://www.hadess.net/2013/11/bluetooth-file-sharing-obexpush-in.html
- patch -Np1 -i ${srcdir}/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
- autoreconf -vfi
-}
-
build() {
cd ${pkgname}-${pkgver}
./configure \
@@ -44,7 +35,7 @@ build() {
check() {
cd $pkgname-$pkgver
- #make check
+ make check
}
@@ -75,11 +66,14 @@ package_bluez() {
# fix module loading errors
install -dm755 ${pkgdir}/usr/lib/modprobe.d
install -Dm644 ${srcdir}/bluetooth.modprobe ${pkgdir}/usr/lib/modprobe.d/bluetooth-usb.conf
+
+ # fix obex file transfer - https://bugs.archlinux.org/task/45816
+ ln -fs /usr/lib/systemd/user/obex.service ${pkgdir}/usr/lib/systemd/user/dbus-org.bluez.obex.service
}
package_bluez-utils() {
pkgdesc="Development and debugging utilities for the bluetooth protocol stack"
- depends=('dbus' 'systemd')
+ depends=('dbus' 'systemd' 'glib2')
conflicts=('bluez-hcidump')
provides=('bluez-hcidump')
replaces=('bluez-hcidump' 'bluez<=4.101')
diff --git a/abs/extra/bluez/bluez.install b/abs/extra/bluez/bluez.install
deleted file mode 100644
index 9cfe793..0000000
--- a/abs/extra/bluez/bluez.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- add_service.sh bluetoothd
- echo ">>> Only the bluetoothd daemon is started by default."
- echo ">>> You can optionally add the following as required:"
- echo ">>> hidd dund pand sdpd rfcomm hid2hci"
- echo ">>> $ sudo add_service.sh <service_name>"
-}
-
-pre_remove() {
- for d in { bluetoothd,hidd,dund,pand,sdpd,rfcomm,hid2hci } ; do
- if [ -d /var/service/${d} ] ; then
- remove_service.sh $d
- fi
- done
-}
diff --git a/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch b/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch
deleted file mode 100644
index d833ee8..0000000
--- a/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 06ccdfee76fe487a141b95848d1c866890f15d88 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Thu, 6 Nov 2014 09:19:26 +0200
-Subject: [PATCH] Add missing include to signals2/trackable.hpp
-
-boost::weak_ptr started being used in commit a0bf2d1 (Disconnect slots
-associated with signals2::trackable immediately) but the matching header
-wasn't included.
-
-https://svn.boost.org/trac/boost/ticket/10100#comment:7
----
- include/boost/signals2/trackable.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/boost/signals2/trackable.hpp b/include/boost/signals2/trackable.hpp
-index dba001d..64e8489 100644
---- a/include/boost/signals2/trackable.hpp
-+++ b/include/boost/signals2/trackable.hpp
-@@ -18,6 +18,7 @@
-
- #include <boost/assert.hpp>
- #include <boost/shared_ptr.hpp>
-+#include <boost/weak_ptr.hpp>
-
- namespace boost {
- namespace signals2 {
---
-2.1.3
-
diff --git a/abs/extra/boost/PKGBUILD b/abs/extra/boost/PKGBUILD
index 17d4995..cb7b3b7 100644
--- a/abs/extra/boost/PKGBUILD
+++ b/abs/extra/boost/PKGBUILD
@@ -1,5 +1,6 @@
# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: kevin <kevin@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
@@ -8,23 +9,22 @@
pkgbase=boost
pkgname=('boost-libs' 'boost')
-pkgver=1.57.0
+pkgver=1.60.0
_boostver=${pkgver//./_}
-pkgrel=3
+pkgrel=2
url='http://www.boost.org/'
arch=('i686' 'x86_64')
license=('custom')
-makedepends=('icu>=53.1' 'python2' 'bzip2' 'zlib' 'openmpi')
+makedepends=('icu>=55.1' 'python2' 'bzip2' 'zlib' 'openmpi')
source=(https://downloads.sourceforge.net/project/${pkgbase}/${pkgbase}/${pkgver}/${pkgbase}_${_boostver}.tar.bz2
- 0001-Add-missing-include-to-signals2-trackable.hpp.patch)
-sha1sums=('e151557ae47afd1b43dc3fac46f8b04a8fe51c12'
- '35bc8ad7493a641ec708a691036fe5319aec70cd')
+ cuda_float128.patch::"https://github.com/boostorg/config/commit/a332112317450457c715675686386ec81214b863.patch")
+sha1sums=('7f56ab507d3258610391b47fef6b11635861175a'
+ 'bdc6486e0d90368bbfd872fed8ee3d3c73483933')
prepare() {
- cd ${pkgbase}_${_boostver}
-
- # https://github.com/boostorg/signals2/pull/8
- patch -Np2 -i ../0001-Add-missing-include-to-signals2-trackable.hpp.patch
+ cd ${pkgbase}_${_boostver}
+ # fix https://svn.boost.org/trac/boost/ticket/11852
+ patch -p2 -i ../cuda_float128.patch
}
build() {
@@ -41,7 +41,7 @@ build() {
# Add an extra python version. This does not replace anything and python 2.x
# need to be the default.
- #echo "using python : 3.4 : /usr/bin/python3 : /usr/include/python3.4m : /usr/lib ;" \
+ #echo "using python : 3.5 : /usr/bin/python3 : /usr/include/python3.5m : /usr/lib ;" \
# >> project-config.jam
# Support for OpenMPI
@@ -65,7 +65,7 @@ build() {
link=shared,static \
toolset=gcc \
python=2.7 \
- cflags="${CPPFLAGS} ${CFLAGS} -O3" linkflags="${LDFLAGS}" \
+ cflags="${CPPFLAGS} ${CFLAGS} -fPIC -O3" linkflags="${LDFLAGS}" \
--layout=system \
--prefix="${_stagedir}" \
${JOBS} \
diff --git a/abs/extra/boost/__changelog b/abs/extra/boost/__changelog
index 36e53c0..f11e775 100644
--- a/abs/extra/boost/__changelog
+++ b/abs/extra/boost/__changelog
@@ -1 +1 @@
-PKGBUILD: remove python dep and comment out python 3.4 line
+PKGBUILD: remove python dep and comment out python 3.5 line
diff --git a/abs/extra/cambozola/PKGBUILD b/abs/extra/cambozola/PKGBUILD
index 27664f1..59067b9 100644
--- a/abs/extra/cambozola/PKGBUILD
+++ b/abs/extra/cambozola/PKGBUILD
@@ -1,15 +1,15 @@
-# Maintainer: Ernie Brodeur <ebrodeur@ujami.net>
+# Maintainer: Vojtěch Aschenbrenner <v@asch.cz>
+
pkgname=cambozola
-pkgver=0.92
+pkgver=0.936
pkgrel=1
pkgdesc="A java servlet for streaming JPEG's from ip Cameras."
-url="http://www.charliemouse.com:8080/code/cambozola/"
-arch=('x86_64' 'i686')
+url="http://www.charliemouse.com/code/cambozola/"
+arch=('any')
license=('GPL')
depends=('java-runtime')
makedepends=('apache-ant')
-source=("${url}${pkgname}-${pkgver}.tar.gz")
-md5sums=('602daba851e726e2399445fda3ca718f')
+source=("http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz")
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -24,3 +24,4 @@ package() {
# vim:set ts=2 sw=2 et:
+md5sums=('c4896a99702af61eead945ed58b5667b')
diff --git a/abs/extra/check/PKGBUILD b/abs/extra/check/PKGBUILD
new file mode 100644
index 0000000..6ee17d2
--- /dev/null
+++ b/abs/extra/check/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jeremy Cowgar <jeremy@cowgar.com>
+
+pkgname=check
+pkgver=0.9.14
+pkgrel=1
+pkgdesc="A unit testing framework for C"
+arch=('i686' 'x86_64')
+url="http://check.sourceforge.net/"
+license=('LGPL')
+install=$pkgname.install
+depends=('awk')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('38263d115d784c17aa3b959ce94be8b8')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ # Extremely long
+ #make -k check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # get rid of the package's info directory,
+ # install-info adds entries for us at install-time
+ rm "$pkgdir/usr/share/info/dir"
+
+ # svn log file is too big
+ rm "$pkgdir"/usr/share/doc/check/*ChangeLog*
+}
diff --git a/abs/extra/check/check.install b/abs/extra/check/check.install
new file mode 100644
index 0000000..c4092e2
--- /dev/null
+++ b/abs/extra/check/check.install
@@ -0,0 +1,20 @@
+_infodir=/usr/share/info
+_filelist=(check.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${_filelist[@]}; do
+ install-info $_infodir/$file $_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 $_infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/extra/cifs-utils/PKGBUILD b/abs/extra/cifs-utils/PKGBUILD
index fb2db27..cc97948 100644
--- a/abs/extra/cifs-utils/PKGBUILD
+++ b/abs/extra/cifs-utils/PKGBUILD
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD 200381 2013-11-27 10:08:51Z tpowa $
+# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=cifs-utils
-pkgver=6.2
+pkgver=6.4
pkgrel=1
pkgdesc="CIFS filesystem user-space tools"
arch=(i686 x86_64)
url="http://wiki.samba.org/index.php/LinuxCIFS_utils"
license=('GPL')
-depends=('libcap-ng' 'keyutils' 'krb5' 'talloc' 'libwbclient')
-source=(ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/$pkgname-$pkgver.tar.bz2)
+depends=('libcap-ng' 'keyutils' 'krb5' 'talloc' 'libwbclient' 'pam')
+source=("https://download.samba.org/pub/linux-cifs/cifs-utils/$pkgname-$pkgver.tar.bz2"{,.asc})
+validpgpkeys=('98EDEB95638461E78CE83B795AFDBFB270F3B981') #cifs-utils Distribution Verification Key <cifs-utils@samba.org>
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -21,7 +22,11 @@ build() {
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" ROOTSBINDIR=/usr/bin install
+ mkdir -p $pkgdir/etc/request-key.d
+ install -m 644 contrib/request-key.d/cifs.idmap.conf $pkgdir/etc/request-key.d
+ install -m 644 contrib/request-key.d/cifs.spnego.conf $pkgdir/etc/request-key.d
# set mount.cifs uid, to enable none root mounting form fstab
chmod +s $pkgdir/usr/bin/mount.cifs
}
-md5sums=('6a83fe19e02266cb468ea3bf1cc0d007')
+md5sums=('b7d75b67fd3987952896d27256c7293d'
+ 'SKIP')
diff --git a/abs/extra/cups/PKGBUILD b/abs/extra/cups/PKGBUILD
index 3975850..e82a2f1 100644
--- a/abs/extra/cups/PKGBUILD
+++ b/abs/extra/cups/PKGBUILD
@@ -1,94 +1,59 @@
-# $Id: PKGBUILD 218449 2014-07-31 13:11:09Z andyrtr $
+# $Id$
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups')
-pkgver=1.7.5
-pkgrel=1
+pkgver=2.1.2
+pkgrel=3
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
-makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'openssl'
+makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus'
'avahi' 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 'valgrind')
-source=(#http://mirror.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
- http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2{,.sig}
+source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2{,.sig}
cups.logrotate cups.pam
# improve build and linking
cups-no-export-ssllibs.patch
cups-no-gcrypt.patch
cups-no-gzip-man.patch
- # FC
- cups-systemd-socket.patch
- cups-res_init.patch
- cups-avahi-address.patch
- cups-enum-all.patch
- cups-final-content-type.patch
- # Gentoo
- cups-1.6.0-fix-install-perms.patch
cups-1.6.2-statedir.patch
- # Debian
- cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
- get-ppd-file-for-statically-configured-ipp-shared-queues.patch
- ppd-poll-with-client-conf.patch)
-md5sums=('5d893edc2957005f78e2b2423fdace2e'
+ cups-1.6.0-fix-install-perms.patch
+ # bugfixes
+)
+md5sums=('b3ba0ca676d56857bbd9b182ef4b14b3'
'SKIP'
- '26e9b4e65c0a4d76db5737c9b156fd80'
+ 'fc8286f185e2cc5f7e1f6843bf193e2b'
'96f82c38f3f540b53f3e5144900acf17'
'3ba9e3410df1dc3015463d615ef91b3b'
- 'cc4101beccb5ed6deb1c92707a575925'
+ '1beb4896f217bc241bc08a422274ec0c'
'90c30380d4c8cd48a908cfdadae1ea24'
- '8162e1d05947bd59fa29ba40ac565fec'
- '8fe27d4248cacbc02824e7937cab4088'
- 'df0c367c0022e3c7d8e01827e8a6c5e7'
- 'f30c2a161caaf27854581507cde8cac6'
- 'a31b64ba25a985fbae65d8ddf311b08c'
- '5117f65342fcc69c6a506529e4daca9e'
'451609db34f95209d64c38474de27ce1'
- 'cb58bf4e0b80eaee383712e5c84a1ab4'
- 'b578bcd17949a7203237ba1e31f78ef9'
- '0becd6ab8782b97f19a02c1dc174c75e')
+ '5117f65342fcc69c6a506529e4daca9e')
+validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <security@cups.org>
prepare() {
cd ${pkgbase}-${pkgver}
-#return 1
- # add systemd socket support - Fedora patch, also used in Gentoo
- # modified now to the changes done by Gentoo in their svn ebuild
- # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-1.5.0-systemd-socket.patch?revision=1.1
- patch -Np1 -i ${srcdir}/cups-systemd-socket.patch
-
+
+ # improve build and linking
# Do not export SSL libs in cups-config
- patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch"
-
- patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch"
-
+ patch -Np1 -i ${srcdir}/cups-no-export-ssllibs.patch
+ # https://www.cups.org/str.php?L4399
+ patch -Np1 -i ${srcdir}/cups-no-gcrypt.patch
# don't zip man pages in make install, let makepkg do that / Fedora
patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch
-
-
- # various bugfixes (upstream reports/SVN or Fedora/Debian
-
- # Fixed crash which sometimes happens on shutdown of the CUPS daemon, caused by a wrong shutdown sequence for shutting down the Avahi threaded poll.
-# patch -Np1 -i ${srcdir}/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
- # Applications could not get the PPD file for statically-configured IPP-shared print queues
- patch -Np1 -i ${srcdir}/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
- # If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs
- # for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server Bug: http://www.cups.org/str.php?L2763
-# patch -Np1 -i ${srcdir}/ppd-poll-with-client-conf.patch
- # fix permissions on some files - alternative: cups-0755.patch by FC
- patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
# move /var/run -> /run for pid file
patch -Np1 -i ${srcdir}/cups-1.6.2-statedir.patch
- # Re-initialise the resolver on failure in httpAddrGetList()
- patch -Np1 -i ${srcdir}/cups-res_init.patch
- # Use IP address when resolving DNSSD URIs
- patch -Np1 -i ${srcdir}/cups-avahi-address.patch
- # Return from cupsEnumDests() once all records have been returned.
- patch -Np1 -i ${srcdir}/cups-enum-all.patch
+ # fix permissions on some files (by Gentoo) - alternative: cups-0755.patch by FC
+ patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
+
+ # bug fixes
- # Fix printing to some network printers fails - https://bugs.archlinux.org/task/37605
- patch -Np1 -i ${srcdir}/cups-final-content-type.patch
+ # set MaxLogSize to 0 to prevent using cups internal log rotation
+ sed -i -e '5i\ ' conf/cupsd.conf.in
+ sed -i -e '6i# Disable cups internal logging - use logrotate instead' conf/cupsd.conf.in
+ sed -i -e '7iMaxLogSize 0' conf/cupsd.conf.in
# Rebuild configure script for not zipping man-pages.
aclocal -I config-scripts
@@ -97,11 +62,11 @@ prepare() {
build() {
cd ${pkgbase}-${pkgver}
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
--sbindir=/usr/bin \
--libdir=/usr/lib \
- --with-systemdsystemunitdir=/usr/lib/systemd/system \
--with-logdir=/var/log/cups \
--with-docdir=/usr/share/cups/doc \
--with-cups-user=daemon \
@@ -109,23 +74,23 @@ build() {
--enable-pam=yes \
--enable-raw-printing \
--enable-dbus --with-dbusdir=/etc/dbus-1 \
- --enable-ssl=yes --enable-openssl \
+ --enable-ssl=yes \
--enable-threads \
--enable-avahi\
--enable-libpaper \
--with-php=/usr/bin/php-cgi \
- --with-optim="$CFLAGS"
+ --with-optim="$CFLAGS" #--help
make
}
check() {
cd ${pkgbase}-${pkgver}
- make -k check || /bin/true
+ #make -k check || /bin/true
}
package_libcups() {
pkgdesc="The CUPS Printing System - client libraries and headers"
-depends=('openssl' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi')
+depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi' 'libusb')
backup=(etc/cups/client.conf)
cd ${pkgbase}-${pkgver}
@@ -140,7 +105,7 @@ backup=(etc/cups/client.conf)
install -dm755 -g lp ${pkgdir}/etc/cups
touch ${pkgdir}/etc/cups/client.conf
echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
- echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
+ echo "ServerName /run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
chgrp -R lp ${pkgdir}/etc/cups
}
@@ -155,10 +120,9 @@ backup=(etc/cups/cupsd.conf
etc/cups/subscriptions.conf
etc/dbus-1/system.d/cups.conf
etc/logrotate.d/cups
- etc/pam.d/cups
- etc/xinetd.d/cups-lpd)
+ etc/pam.d/cups)
depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord'
- 'libusb' 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
+ 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
optdepends=('xdg-utils: xdg .desktop file support')
cd ${pkgbase}-${pkgver}
@@ -197,12 +161,9 @@ optdepends=('xdg-utils: xdg .desktop file support')
# remove client.conf man page
rm -f ${pkgdir}/usr/share/man/man5/client.conf.5
- # remove files now part of cups-filters
- rm -v ${pkgdir}/usr/share/cups/banners/*
- rm -v ${pkgdir}/usr/share/cups/data/testprint
- # comment out all conversion rules which use any of the removed filters
+ # comment out all conversion rules which use any of the removed filters that are now part of cups-filters
perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' $pkgdir/usr/share/cups/mime/mime.convs
-
- # Provide native service for arch-daemons generator
- ln -s cups.service "$pkgdir/usr/lib/systemd/system/cupsd.service"
+
+ # comment out unnecessary PageLogFormat entry
+ sed -i -e 's:PageLogFormat:#PageLogFormat:' $pkgdir/etc/cups/cupsd.conf*
}
diff --git a/abs/extra/cups/cups-avahi-address.patch b/abs/extra/cups/cups-avahi-address.patch
deleted file mode 100644
index a03d1ad..0000000
--- a/abs/extra/cups/cups-avahi-address.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-support.c
---- cups-1.6.2/cups/http-support.c.avahi-address 2013-03-11 18:44:36.000000000 +0000
-+++ cups-1.6.2/cups/http-support.c 2013-04-04 15:39:06.651847041 +0100
-@@ -2121,7 +2121,7 @@ http_resolve_cb(
- const char *type, /* I - Registration type */
- const char *domain, /* I - Domain (unused) */
- const char *hostTarget, /* I - Hostname */
-- const AvahiAddress *address, /* I - Address (unused) */
-+ const AvahiAddress *address, /* I - Address */
- uint16_t port, /* I - Port number */
- AvahiStringList *txt, /* I - TXT record */
- AvahiLookupResultFlags flags, /* I - Lookup flags (unused) */
-@@ -2253,36 +2253,37 @@ http_resolve_cb(
-
- DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget));
-
-- snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port));
-- if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL)
-+ int error = getnameinfo(&(address->data),
-+ address->proto == AVAHI_PROTO_INET ?
-+ sizeof (AvahiIPv4Address) :
-+ (address->proto == AVAHI_PROTO_INET6 ?
-+ sizeof (AvahiIPv6Address) :
-+ sizeof (address->data)),
-+ fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
-+
-+ if (!error)
- {
-- for (addr = addrlist; addr; addr = addr->next)
-+ DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
-+
-+ if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
-+ _cups_strcasecmp(hostptr, ".local"))
- {
-- int error = getnameinfo(&(addr->addr.addr),
-- httpAddrLength(&(addr->addr)),
-- fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
--
-- if (!error)
-- {
-- DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
--
-- if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
-- _cups_strcasecmp(hostptr, ".local"))
-- {
-- hostTarget = fqdn;
-- break;
-- }
-- }
-+ hostTarget = fqdn;
-+ }
-+ }
- #ifdef DEBUG
-- else
-- DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
-- httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
-- error));
-+ else
-+ DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
-+ httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
-+ error));
- #endif /* DEBUG */
-- }
-+ } else {
-+ /*
-+ * Use the IP address that responded...
-+ */
-
-- httpAddrFreeList(addrlist);
-- }
-+ avahi_address_snprint (fqdn, sizeof (fqdn), address);
-+ hostTarget = fqdn;
- }
-
- /*
diff --git a/abs/extra/cups/cups-enum-all.patch b/abs/extra/cups/cups-enum-all.patch
deleted file mode 100644
index 0ac3983..0000000
--- a/abs/extra/cups/cups-enum-all.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up cups-1.6.2/cups/dest.c.enum-all cups-1.6.2/cups/dest.c
---- cups-1.6.2/cups/dest.c.enum-all 2013-06-04 10:58:36.169786250 +0100
-+++ cups-1.6.2/cups/dest.c 2013-06-04 10:59:02.147900811 +0100
-@@ -2724,9 +2724,12 @@ cups_dnssd_browse_cb(
- break;
-
- case AVAHI_BROWSER_REMOVE:
-- case AVAHI_BROWSER_ALL_FOR_NOW:
- case AVAHI_BROWSER_CACHE_EXHAUSTED:
- break;
-+
-+ case AVAHI_BROWSER_ALL_FOR_NOW:
-+ avahi_simple_poll_quit(data->simple_poll);
-+ break;
- }
- }
-
diff --git a/abs/extra/cups/cups-final-content-type.patch b/abs/extra/cups/cups-final-content-type.patch
deleted file mode 100644
index 6ae4010..0000000
--- a/abs/extra/cups/cups-final-content-type.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up cups-1.6.4/scheduler/job.c.final-content-type cups-1.6.4/scheduler/job.c
---- cups-1.6.4/scheduler/job.c.final-content-type 2013-09-27 16:58:13.934775402 +0100
-+++ cups-1.6.4/scheduler/job.c 2013-09-27 17:00:57.716549576 +0100
-@@ -692,12 +692,7 @@ cupsdContinueJob(cupsd_job_t *job) /* I
-
- if (!job->printer->remote)
- {
-- for (filter = (mime_filter_t *)cupsArrayLast(filters);
-- filter && filter->dst;
-- filter = (mime_filter_t *)cupsArrayPrev(filters))
-- if (strcmp(filter->dst->super, "printer") ||
-- strcmp(filter->dst->type, job->printer->name))
-- break;
-+ filter = (mime_filter_t *)cupsArrayLast(filters);
-
- if (filter && filter->dst)
- {
-
diff --git a/abs/extra/cups/cups-no-gcrypt.patch b/abs/extra/cups/cups-no-gcrypt.patch
index 4eaff67..0cd64b1 100644
--- a/abs/extra/cups/cups-no-gcrypt.patch
+++ b/abs/extra/cups/cups-no-gcrypt.patch
@@ -1,40 +1,11 @@
-diff -ruN cups-1.4.7.orig//config-scripts/cups-ssl.m4 cups-1.4.7/config-scripts/cups-ssl.m4
---- cups-1.5.0.orig//config-scripts/cups-ssl.m4 2011-01-11 08:05:58.000000000 +0100
-+++ cups-1.5.0/config-scripts/cups-ssl.m4 2011-08-02 10:44:26.011047900 +0200
-@@ -96,7 +96,6 @@
+diff -up cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry cups-2.0rc1/config-scripts/cups-ssl.m4
+--- cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry 2014-09-12 15:41:23.324760213 +0200
++++ cups-2.0rc1/config-scripts/cups-ssl.m4 2014-09-12 15:43:13.124203363 +0200
+@@ -60,7 +60,6 @@ if test x$enable_ssl != xno; then
dnl Then look for GNU TLS...
if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
- AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
-- AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config)
+ AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
+- AC_PATH_TOOL(LIBGCRYPTCONFIG,libgcrypt-config)
if $PKGCONFIG --exists gnutls; then
have_ssl=1
SSLLIBS=`$PKGCONFIG --libs gnutls`
-@@ -108,18 +107,6 @@
- AC_DEFINE(HAVE_GNUTLS)
- fi
-
-- if test $have_ssl = 1; then
-- CUPS_SERVERCERT="ssl/server.crt"
-- CUPS_SERVERKEY="ssl/server.key"
--
-- if $PKGCONFIG --exists gcrypt; then
-- SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
-- SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
-- elif test "x$LIBGCRYPTCONFIG" != x; then
-- SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`"
-- SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`"
-- fi
-- fi
- fi
-
- dnl Check for the OpenSSL library last...
---- cups-1.5.0.orig//cups/http-private.h 2011-01-22 01:07:22.000000000 +0100
-+++ cups-1.5.0/cups/http-private.h 2011-08-02 10:42:43.341604107 +0200
-@@ -93,7 +93,6 @@
- # elif defined HAVE_GNUTLS
- # include <gnutls/gnutls.h>
- # include <gnutls/x509.h>
--# include <gcrypt.h>
- # elif defined(HAVE_CDSASSL)
- # include <CoreFoundation/CoreFoundation.h>
- # include <Security/Security.h>
diff --git a/abs/extra/cups/cups-res_init.patch b/abs/extra/cups/cups-res_init.patch
deleted file mode 100644
index 94a81a4..0000000
--- a/abs/extra/cups/cups-res_init.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -up cups-1.6b1/cups/http-addr.c.res_init cups-1.6b1/cups/http-addr.c
---- cups-1.6b1/cups/http-addr.c.res_init 2012-05-17 00:57:03.000000000 +0200
-+++ cups-1.6b1/cups/http-addr.c 2012-05-25 15:51:51.323916352 +0200
-@@ -254,7 +254,8 @@ httpAddrLookup(
-
- if (error)
- {
-- if (error == EAI_FAIL)
-+ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
-+ error == EAI_NONAME)
- cg->need_res_init = 1;
-
- return (httpAddrString(addr, name, namelen));
-diff -up cups-1.6b1/cups/http-addrlist.c.res_init cups-1.6b1/cups/http-addrlist.c
---- cups-1.6b1/cups/http-addrlist.c.res_init 2012-04-23 19:26:57.000000000 +0200
-+++ cups-1.6b1/cups/http-addrlist.c 2012-05-25 16:05:05.930377452 +0200
-@@ -540,7 +540,8 @@ httpAddrGetList(const char *hostname, /*
- }
- else
- {
-- if (error == EAI_FAIL)
-+ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
-+ error == EAI_NONAME)
- cg->need_res_init = 1;
-
- _cupsSetError(IPP_INTERNAL_ERROR, gai_strerror(error), 0);
diff --git a/abs/extra/cups/cups-systemd-socket.patch b/abs/extra/cups/cups-systemd-socket.patch
deleted file mode 100644
index 2eef708..0000000
--- a/abs/extra/cups/cups-systemd-socket.patch
+++ /dev/null
@@ -1,404 +0,0 @@
-diff -up cups-1.7.2/config.h.in.systemd-socket cups-1.7.2/config.h.in
---- cups-1.7.2/config.h.in.systemd-socket 2014-02-27 16:57:59.000000000 +0100
-+++ cups-1.7.2/config.h.in 2014-04-17 14:05:04.104472016 +0200
-@@ -451,6 +451,13 @@
-
-
- /*
-+ * Do we have systemd support?
-+ */
-+
-+#undef HAVE_SYSTEMD
-+
-+
-+/*
- * Various scripting languages...
- */
-
-diff -up cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.7.2/config-scripts/cups-systemd.m4
---- cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket 2014-04-17 14:05:04.104472016 +0200
-+++ cups-1.7.2/config-scripts/cups-systemd.m4 2014-04-17 14:05:04.104472016 +0200
-@@ -0,0 +1,36 @@
-+dnl
-+dnl "$Id$"
-+dnl
-+dnl systemd stuff for CUPS.
-+
-+dnl Find whether systemd is available
-+
-+SDLIBS=""
-+AC_ARG_WITH([systemdsystemunitdir],
-+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
-+ [], [with_systemdsystemunitdir=$($PKGCONFIG --variable=systemdsystemunitdir systemd)])
-+if test "x$with_systemdsystemunitdir" != xno; then
-+ AC_MSG_CHECKING(for libsystemd-daemon)
-+ if $PKGCONFIG --exists libsystemd-daemon; then
-+ AC_MSG_RESULT(yes)
-+ SDCFLAGS=`$PKGCONFIG --cflags libsystemd-daemon`
-+ SDLIBS=`$PKGCONFIG --libs libsystemd-daemon`
-+ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
-+ AC_DEFINE(HAVE_SYSTEMD)
-+ else
-+ AC_MSG_RESULT(no)
-+ fi
-+fi
-+
-+if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ; then
-+ SYSTEMD_UNITS="cups.service cups.socket cups.path"
-+else
-+ SYSTEMD_UNITS=""
-+fi
-+
-+AC_SUBST(SYSTEMD_UNITS)
-+AC_SUBST(SDLIBS)
-+
-+dnl
-+dnl "$Id$"
-+dnl
-diff -up cups-1.7.2/configure.in.systemd-socket cups-1.7.2/configure.in
---- cups-1.7.2/configure.in.systemd-socket 2013-07-08 23:15:13.000000000 +0200
-+++ cups-1.7.2/configure.in 2014-04-17 14:05:04.104472016 +0200
-@@ -33,6 +33,7 @@ sinclude(config-scripts/cups-pam.m4)
- sinclude(config-scripts/cups-largefile.m4)
- sinclude(config-scripts/cups-dnssd.m4)
- sinclude(config-scripts/cups-launchd.m4)
-+sinclude(config-scripts/cups-systemd.m4)
- sinclude(config-scripts/cups-defaults.m4)
- sinclude(config-scripts/cups-scripting.m4)
-
-@@ -67,6 +68,9 @@ AC_OUTPUT(Makedefs
- conf/snmp.conf
- cups-config
- data/testprint
-+ data/cups.service
-+ data/cups.socket
-+ data/cups.path
- desktop/cups.desktop
- doc/help/ref-cups-files-conf.html
- doc/help/ref-cupsd-conf.html
-diff -up cups-1.7.2/cups/usersys.c.systemd-socket cups-1.7.2/cups/usersys.c
---- cups-1.7.2/cups/usersys.c.systemd-socket 2014-03-05 22:22:12.000000000 +0100
-+++ cups-1.7.2/cups/usersys.c 2014-04-17 14:05:04.105472002 +0200
-@@ -1050,7 +1050,7 @@ cups_read_client_conf(
- struct stat sockinfo; /* Domain socket information */
-
- if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) &&
-- (sockinfo.st_mode & S_IRWXO) == S_IRWXO)
-+ (sockinfo.st_mode & (S_IROTH | S_IWOTH)) == (S_IROTH | S_IWOTH))
- cups_server = CUPS_DEFAULT_DOMAINSOCKET;
- else
- #endif /* CUPS_DEFAULT_DOMAINSOCKET */
-diff -up cups-1.7.2/data/cups.path.in.systemd-socket cups-1.7.2/data/cups.path.in
---- cups-1.7.2/data/cups.path.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
-+++ cups-1.7.2/data/cups.path.in 2014-04-17 14:05:04.105472002 +0200
-@@ -0,0 +1,8 @@
-+[Unit]
-+Description=CUPS Printer Service Spool
-+
-+[Path]
-+PathExistsGlob=@CUPS_REQUESTS@/d*
-+
-+[Install]
-+WantedBy=multi-user.target
-diff -up cups-1.7.2/data/cups.service.in.systemd-socket cups-1.7.2/data/cups.service.in
---- cups-1.7.2/data/cups.service.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
-+++ cups-1.7.2/data/cups.service.in 2014-04-17 14:05:04.105472002 +0200
-@@ -0,0 +1,11 @@
-+[Unit]
-+Description=CUPS Printing Service
-+
-+[Service]
-+Type=notify
-+ExecStart=@sbindir@/cupsd -f
-+PrivateTmp=true
-+
-+[Install]
-+Also=cups.socket cups.path
-+WantedBy=printer.target
-diff -up cups-1.7.2/data/cups.socket.in.systemd-socket cups-1.7.2/data/cups.socket.in
---- cups-1.7.2/data/cups.socket.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
-+++ cups-1.7.2/data/cups.socket.in 2014-04-17 14:05:04.105472002 +0200
-@@ -0,0 +1,10 @@
-+[Unit]
-+Description=CUPS Printing Service Sockets
-+
-+[Socket]
-+ListenStream=@CUPS_DEFAULT_DOMAINSOCKET@
-+ListenStream=@DEFAULT_IPP_PORT@
-+BindIPv6Only=ipv6-only
-+
-+[Install]
-+WantedBy=sockets.target
-diff -up cups-1.7.2/data/Makefile.systemd-socket cups-1.7.2/data/Makefile
---- cups-1.7.2/data/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7.2/data/Makefile 2014-04-17 14:05:04.106471988 +0200
-@@ -100,6 +100,12 @@ install-data:
- $(INSTALL_DATA) $$file $(DATADIR)/ppdc; \
- done
- $(INSTALL_DIR) -m 755 $(DATADIR)/profiles
-+ if test "x$(SYSTEMD_UNITS)" != "x" ; then \
-+ $(INSTALL_DIR) -m 755 $(SYSTEMDUNITDIR); \
-+ for file in $(SYSTEMD_UNITS); do \
-+ $(INSTALL_DATA) $$file $(SYSTEMDUNITDIR); \
-+ done; \
-+ fi
-
-
- #
-@@ -143,6 +149,9 @@ uninstall:
- -$(RMDIR) $(DATADIR)/data
- -$(RMDIR) $(DATADIR)/banners
- -$(RMDIR) $(DATADIR)
-+ for file in $(SYSTEMD_UNITS); do \
-+ $(RM) $(SYSTEMDUNITDIR)/$$file; \
-+ done
-
-
- #
-diff -up cups-1.7.2/Makedefs.in.systemd-socket cups-1.7.2/Makedefs.in
---- cups-1.7.2/Makedefs.in.systemd-socket 2014-04-17 14:05:04.092472182 +0200
-+++ cups-1.7.2/Makedefs.in 2014-04-17 14:05:04.106471988 +0200
-@@ -134,6 +134,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@
- CXXLIBS = @CXXLIBS@
- DBUS_NOTIFIER = @DBUS_NOTIFIER@
- DBUS_NOTIFIERLIBS = @DBUS_NOTIFIERLIBS@
-+SYSTEMD_UNITS = @SYSTEMD_UNITS@
- DNSSD_BACKEND = @DNSSD_BACKEND@
- DSOFLAGS = -L../cups @DSOFLAGS@
- DSOLIBS = @DSOLIBS@ $(COMMONLIBS)
-@@ -141,6 +142,7 @@ DNSSDLIBS = @DNSSDLIBS@
- IPPFIND_BIN = @IPPFIND_BIN@
- IPPFIND_MAN = @IPPFIND_MAN@
- LAUNCHDLIBS = @LAUNCHDLIBS@
-+SDLIBS = @SDLIBS@
- LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
- -L../scheduler @LDARCHFLAGS@ \
- @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
-@@ -232,6 +234,7 @@ PAMFILE = @PAMFILE@
-
- DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@
- DBUSDIR = @DBUSDIR@
-+SYSTEMDUNITDIR = $(BUILDROOT)@systemdsystemunitdir@
-
-
- #
-diff -up cups-1.7.2/scheduler/client.h.systemd-socket cups-1.7.2/scheduler/client.h
---- cups-1.7.2/scheduler/client.h.systemd-socket 2013-08-02 00:23:18.000000000 +0200
-+++ cups-1.7.2/scheduler/client.h 2014-04-17 14:05:04.106471988 +0200
-@@ -79,6 +79,9 @@ typedef struct
- int fd; /* File descriptor for this server */
- http_addr_t address; /* Bind address of socket */
- http_encryption_t encryption; /* To encrypt or not to encrypt... */
-+#ifdef HAVE_SYSTEMD
-+ int is_systemd; /* Is this a systemd socket? */
-+#endif /* HAVE_SYSTEMD */
- } cupsd_listener_t;
-
-
-diff -up cups-1.7.2/scheduler/listen.c.systemd-socket cups-1.7.2/scheduler/listen.c
---- cups-1.7.2/scheduler/listen.c.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7.2/scheduler/listen.c 2014-04-17 14:05:04.107471974 +0200
-@@ -401,7 +401,11 @@ cupsdStopListening(void)
- lis;
- lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
- {
-- if (lis->fd != -1)
-+ if (lis->fd != -1
-+#ifdef HAVE_SYSTEMD
-+ && !lis->is_systemd
-+#endif /* HAVE_SYSTEMD */
-+ )
- {
- #ifdef WIN32
- closesocket(lis->fd);
-diff -up cups-1.7.2/scheduler/main.c.systemd-socket cups-1.7.2/scheduler/main.c
---- cups-1.7.2/scheduler/main.c.systemd-socket 2014-04-17 14:05:04.052472738 +0200
-+++ cups-1.7.2/scheduler/main.c 2014-04-17 14:09:39.102634667 +0200
-@@ -39,6 +39,10 @@
- # endif /* !LAUNCH_JOBKEY_SERVICEIPC */
- #endif /* HAVE_LAUNCH_H */
-
-+#ifdef HAVE_SYSTEMD
-+#include <systemd/sd-daemon.h>
-+#endif /* HAVE_SYSTEMD */
-+
- #if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
- # include <malloc.h>
- #endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
-@@ -64,6 +68,9 @@
- static void launchd_checkin(void);
- static void launchd_checkout(void);
- #endif /* HAVE_LAUNCHD */
-+#ifdef HAVE_SYSTEMD
-+static void systemd_checkin(void);
-+#endif /* HAVE_SYSTEMD */
- static void parent_handler(int sig);
- static void process_children(void);
- static void sigchld_handler(int sig);
-@@ -563,6 +570,13 @@ main(int argc, /* I - Number of comm
- }
- #endif /* HAVE_LAUNCHD */
-
-+#ifdef HAVE_SYSTEMD
-+ /*
-+ * If we were started by systemd get the listen sockets file descriptors...
-+ */
-+ systemd_checkin();
-+#endif /* HAVE_SYSTEMD */
-+
- /*
- * Startup the server...
- */
-@@ -654,6 +668,12 @@ main(int argc, /* I - Number of comm
- "Scheduler started via launchd.");
- else
- #endif /* HAVE_LAUNCHD */
-+#ifdef HAVE_SYSTEMD
-+ sd_notifyf(0, "READY=1\n"
-+ "STATUS=Scheduler is running...\n"
-+ "MAINPID=%lu",
-+ (unsigned long) getpid());
-+#endif /* HAVE_SYSTEMD */
- if (fg)
- cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL,
- "Scheduler started in foreground.");
-@@ -751,6 +771,15 @@ main(int argc, /* I - Number of comm
- }
- #endif /* HAVE_LAUNCHD */
-
-+#ifdef HAVE_SYSTEMD
-+ /*
-+ * If we were started by systemd get the listen sockets file
-+ * descriptors...
-+ */
-+
-+ systemd_checkin();
-+#endif /* HAVE_SYSTEMD */
-+
- /*
- * Startup the server...
- */
-@@ -1500,6 +1529,102 @@ launchd_checkout(void)
- }
- #endif /* HAVE_LAUNCHD */
-
-+#ifdef HAVE_SYSTEMD
-+static void
-+systemd_checkin(void)
-+{
-+ int n, fd;
-+
-+ n = sd_listen_fds(0);
-+ if (n < 0)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Failed to acquire sockets from systemd - %s",
-+ strerror(-n));
-+ exit(EXIT_FAILURE);
-+ return;
-+ }
-+
-+ if (n == 0)
-+ return;
-+
-+ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd ++)
-+ {
-+ http_addr_t addr;
-+ socklen_t addrlen = sizeof (addr);
-+ int r;
-+ cupsd_listener_t *lis;
-+ char s[256];
-+
-+ r = sd_is_socket(fd, AF_UNSPEC, SOCK_STREAM, 1);
-+ if (r < 0)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Unable to verify socket type - %s",
-+ strerror(-r));
-+ continue;
-+ }
-+
-+ if (!r)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Socket not of the right type");
-+ continue;
-+ }
-+
-+ if (getsockname(fd, (struct sockaddr*) &addr, &addrlen))
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Unable to get local address - %s",
-+ strerror(errno));
-+ continue;
-+ }
-+
-+ /*
-+ * Try to match the systemd socket address to one of the listeners...
-+ */
-+
-+ for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
-+ lis;
-+ lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
-+ if (httpAddrEqual(&lis->address, &addr))
-+ break;
-+
-+ if (lis)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_DEBUG,
-+ "systemd_checkin: Matched existing listener %s with fd %d...",
-+ httpAddrString(&(lis->address), s, sizeof(s)), fd);
-+ }
-+ else
-+ {
-+ cupsdLogMessage(CUPSD_LOG_DEBUG,
-+ "systemd_checkin: Adding new listener %s with fd %d...",
-+ httpAddrString(&addr, s, sizeof(s)), fd);
-+
-+ if ((lis = calloc(1, sizeof(cupsd_listener_t))) == NULL)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Unable to allocate listener - "
-+ "%s.", strerror(errno));
-+ exit(EXIT_FAILURE);
-+ }
-+
-+ cupsArrayAdd(Listeners, lis);
-+
-+ memcpy(&lis->address, &addr, sizeof(lis->address));
-+ }
-+
-+ lis->fd = fd;
-+ lis->is_systemd = 1;
-+
-+# ifdef HAVE_SSL
-+ if (_httpAddrPort(&(lis->address)) == 443)
-+ lis->encryption = HTTP_ENCRYPT_ALWAYS;
-+# endif /* HAVE_SSL */
-+ }
-+}
-+#endif /* HAVE_SYSTEMD */
-
- /*
- * 'parent_handler()' - Catch USR1/CHLD signals...
-diff -up cups-1.7.2/scheduler/Makefile.systemd-socket cups-1.7.2/scheduler/Makefile
---- cups-1.7.2/scheduler/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7.2/scheduler/Makefile 2014-04-17 14:05:04.108471960 +0200
-@@ -381,7 +381,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu
- $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
- $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
- $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBS) \
-- $(LIBGSSAPI) $(LIBWRAP)
-+ $(LIBGSSAPI) $(LIBWRAP) $(SDLIBS)
-
- cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC)
- echo Linking $@...
-@@ -389,7 +389,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a
- $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
- ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
- $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
-- $(LIBWRAP)
-+ $(LIBWRAP) $(SDLIBS)
-
- tls.o: tls-darwin.c tls-gnutls.c tls-openssl.c
-
diff --git a/abs/extra/cups/cups.install b/abs/extra/cups/cups.install
index 121eeb0..77fac93 100644
--- a/abs/extra/cups/cups.install
+++ b/abs/extra/cups/cups.install
@@ -13,18 +13,11 @@ post_upgrade() {
xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
fi
- if [ "`vercmp $2 1.6.0`" -lt 0 ]; then
+ if [ "`vercmp $2 2.0.0-1`" -lt 0 ]; then
# important upgrade notice
- echo "* avahi-daemon should now run before you start cupsd for"
- echo " printer Browsing support"
- echo "* check your config with cupsd -t"
- echo " and fix all Browsing related settings"
- fi
-
- if [ "`vercmp $2 1.6.1-3`" -lt 0 ]; then
- # important upgrade notice
- echo "> It's now safe to load usblp kernel module."
- echo "> There's no more need to blacklist it."
+ echo "> systemd unit names have been renamed"
+ echo "> you should systemctl stop and disable cups.service and"
+ echo "> systemctl daemon-reload, start and enable org.cups.cupsd.service"
fi
}
diff --git a/abs/extra/cups/cups.logrotate b/abs/extra/cups/cups.logrotate
new file mode 100644
index 0000000..19e1210
--- /dev/null
+++ b/abs/extra/cups/cups.logrotate
@@ -0,0 +1,5 @@
+/var/log/cups/*_log {
+ missingok
+ notifempty
+ sharedscripts
+}
diff --git a/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch b/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
deleted file mode 100644
index ee36936..0000000
--- a/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Description: Fixed crash which sometimes happens on shutdown of the CUPS
- daemon, caused by a wrong shutdown sequence for shutting down the Avahi
- threaded poll.
-Author: Till Kamppeter <till.kamppeter@gmail.com>
-Bug-Upstream: http://cups.org/str.php?L4180
-Bug-Upstream: http://cups.org/str.php?L4213
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/1034045
-Last-Updated: 2012-10-16
-
---- a/scheduler/dirsvc.c
-+++ b/scheduler/dirsvc.c
-@@ -1333,6 +1333,7 @@
- DNSSDMaster = NULL;
-
- # else /* HAVE_AVAHI */
-+ avahi_threaded_poll_stop(DNSSDMaster);
- avahi_client_free(DNSSDClient);
- DNSSDClient = NULL;
-
diff --git a/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch b/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
deleted file mode 100644
index ed132d7..0000000
--- a/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Description: Applications could not get the PPD file for
- statically-configured IPP-shared print queues
-Author: Till Kamppeter <till.kamppeter@gmail.com>
-Bug-Upstream: http://cups.org/str.php?L4178
-Last-Updated: 2012-09-19
-
---- a/cups/util.c
-+++ b/cups/util.c
-@@ -1731,6 +1731,22 @@
-
- return (1);
- }
-+ else if (device_uri &&
-+ (!strncmp(device_uri, "ipp:", 4) != NULL ||
-+ !strncmp(device_uri, "ipps:", 5) != NULL))
-+ {
-+ /*
-+ * Statically-configured IPP shared printer.
-+ */
-+
-+ httpSeparateURI(HTTP_URI_CODING_ALL,
-+ device_uri,
-+ scheme, sizeof(scheme), username, sizeof(username),
-+ host, hostsize, port, resource, resourcesize);
-+ ippDelete(response);
-+
-+ return (1);
-+ }
- else if ((attr = ippFindAttribute(response, "member-uris",
- IPP_TAG_URI)) != NULL)
- {
diff --git a/abs/extra/cups/ppd-poll-with-client-conf.patch b/abs/extra/cups/ppd-poll-with-client-conf.patch
deleted file mode 100644
index 8985fa3..0000000
--- a/abs/extra/cups/ppd-poll-with-client-conf.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Description: If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server
-Bug: http://www.cups.org/str.php?L2763
-
---- a/cups/util.c
-+++ b/cups/util.c
-@@ -1085,11 +1085,13 @@
- http2 = http;
- else if ((http2 = httpConnectEncrypt(hostname, port,
- cupsEncryption())) == NULL)
-- {
-- DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
-+ if ((http2 = httpConnectEncrypt(http_hostname, http_port,
-+ cupsEncryption())) == NULL)
-+ {
-+ DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
-
-- return (HTTP_SERVICE_UNAVAILABLE);
-- }
-+ return (HTTP_SERVICE_UNAVAILABLE);
-+ }
-
- /*
- * Get a temp file...
diff --git a/abs/extra/dcadec/PKGBUILD b/abs/extra/dcadec/PKGBUILD
new file mode 100644
index 0000000..5e52ae8
--- /dev/null
+++ b/abs/extra/dcadec/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Yamashita Ren <lemaitre.lotus@gmail.com>
+
+pkgname=dcadec
+pkgver=0.2.0
+pkgrel=1
+pkgdesc='DTS Coherent Acoustics decoder with support for HD extensions'
+arch=('i686' 'x86_64')
+url='https://github.com/foo86/dcadec.git'
+license=('LGPL2.1')
+depends=('glibc')
+provides=('libdcadec.so')
+source=("dcadec-${pkgver}.tar.gz::https://github.com/foo86/dcadec/archive/v${pkgver}.tar.gz")
+sha256sums=('ed9d207fde3e8d576f3af8b0d1235b3371e315175757173689104efcaebf0d44')
+
+build() {
+ cd dcadec-${pkgver}
+
+ export CONFIG_SHARED='TRUE'
+
+ make
+}
+
+package() {
+ cd dcadec-${pkgver}
+
+ export CONFIG_SHARED='TRUE'
+ export PREFIX='/usr'
+
+ make DESTDIR="${pkgdir}" install
+ mv "${pkgdir}"/usr/bin/dcadec{,-hd}
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/dtv-scan-tables-git/PKGBUILD b/abs/extra/dtv-scan-tables-git/PKGBUILD
new file mode 100644
index 0000000..4f5a67e
--- /dev/null
+++ b/abs/extra/dtv-scan-tables-git/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Olaf Bauer <hydro@freenet.de>
+
+pkgname=dtv-scan-tables-git
+pkgver=r1185.82dfbc1
+pkgrel=1
+pkgdesc="Digital TV scan tables"
+arch=('any')
+url="http://linuxtv.org/"
+license=('GPL2' 'LGPL2')
+makedepends=('git' 'v4l-utils')
+conflicts=('dtv-scan-tables')
+provides=('dtv-scan-tables')
+source=('git://linuxtv.org/dtv-scan-tables.git')
+md5sums=('SKIP')
+
+pkgver() {
+ cd "$srcdir/dtv-scan-tables"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd "$srcdir/dtv-scan-tables"
+ make dvbv3
+}
+
+package() {
+ cd "$srcdir/dtv-scan-tables"
+ make PREFIX="$pkgdir/usr" DVBV5DIR=dvb install
+ make PREFIX="$pkgdir/usr" install_v3
+}
diff --git a/abs/extra/emacs/PKGBUILD b/abs/extra/emacs/PKGBUILD
index f22828a..bc223a0 100644
--- a/abs/extra/emacs/PKGBUILD
+++ b/abs/extra/emacs/PKGBUILD
@@ -1,23 +1,24 @@
-# $Id: PKGBUILD 171502 2012-11-18 08:01:29Z eric $
+# $Id$
# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
pkgname=emacs
-pkgver=24.2
-pkgrel=3
+pkgver=24.5
+pkgrel=2
pkgdesc="The extensible, customizable, self-documenting real-time display editor"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/emacs/emacs.html"
license=('GPL3')
-depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'imagemagick')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'imagemagick' 'gnutls')
install=emacs.install
-source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.bz2{,.sig})
-md5sums=('1676803a50e8adc817fdaaebb9234f14' 'ca1766337f419ef827dd96d1ff78f158')
-
+validpgpkeys=('B29426DEFB07724C3C35E5D36592E9A3A0B0F199' '28D3BED851FDF3AB57FEF93C233587A47C207910')
+source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.xz{,.sig})
+md5sums=('50560ee00bac9bb9cf0e822764cd0832'
+ 'SKIP')
build() {
cd "$srcdir"/$pkgname-$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft
make
}
@@ -29,6 +30,8 @@ package() {
# remove conflict with ctags package
mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
+ # remove conflict with texinfo
+ rm "$pkgdir"/usr/share/info/info.info.gz
# fix user/root permissions on usr/share files
find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \;
# fix perms on /var/games
diff --git a/abs/extra/emacs/emacs.install b/abs/extra/emacs/emacs.install
index fa9ffee..6712f44 100644
--- a/abs/extra/emacs/emacs.install
+++ b/abs/extra/emacs/emacs.install
@@ -1,11 +1,11 @@
ICON_PATH=usr/share/icons/hicolor
INFO_DIR=usr/share/info
-INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse
+INFO_FILES=(ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse
ede ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime epa erc ert eshell eudc flymake
-forms gnus idlwave info mairix-el message mh-e newsticker nxml-mode
+forms gnus htmlfontify idlwave mairix-el message mh-e newsticker nxml-mode
org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail
-speedbar tramp url vip viper widget woman)
+speedbar srecode tramp url vip viper widget wisent woman)
post_install() {
gtk-update-icon-cache -q -t -f ${ICON_PATH}
@@ -13,7 +13,7 @@ post_install() {
[[ -x usr/bin/install-info ]] || return 0
for f in ${INFO_FILES[@]}; do
- install-info ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null
+ install-info ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
done
}
@@ -27,6 +27,6 @@ pre_remove() {
[[ -x usr/bin/install-info ]] || return 0
for f in ${INFO_FILES[@]}; do
- install-info --delete ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null
+ install-info --delete ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
done
}
diff --git a/abs/extra/exiv2/PKGBUILD b/abs/extra/exiv2/PKGBUILD
new file mode 100644
index 0000000..95a40d1
--- /dev/null
+++ b/abs/extra/exiv2/PKGBUILD
@@ -0,0 +1,24 @@
+#$Id$
+# Maintainer: tobias <tobias@arhlinux.org>
+
+pkgname=exiv2
+pkgver=0.25
+pkgrel=3
+pkgdesc="Exif, Iptc and XMP metadata manipulation library and tools"
+arch=('i686' 'x86_64')
+url="http://exiv2.org"
+license=('GPL2')
+depends=('gcc-libs' 'zlib' 'expat')
+source=(http://www.exiv2.org/${pkgname}-${pkgver}.tar.gz)
+md5sums=('258d4831b30f75a01e0234065c6c2806')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --enable-video
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/abs/extra/ffmpeg-compat/PKGBUILD b/abs/extra/ffmpeg-compat/PKGBUILD
index 2627385..5b5879f 100644
--- a/abs/extra/ffmpeg-compat/PKGBUILD
+++ b/abs/extra/ffmpeg-compat/PKGBUILD
@@ -6,22 +6,34 @@
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg-compat
-pkgver=0.10.15
-pkgrel=1
+pkgver=0.10.16
+pkgrel=4
epoch=1
pkgdesc='Complete and free Internet live audio and video broadcasting solution'
arch=('i686' 'x86_64')
url='http://ffmpeg.org/'
license=('GPL')
depends=(
- 'alsa-lib' 'bzip2' 'gsm' 'lame' 'libass'
- 'libmodplug' 'libtheora' 'libva' 'libvorbis' 'libvpx'
- 'opencore-amr' 'openjpeg' 'rtmpdump' 'schroedinger' 'sdl' 'speex'
- 'v4l-utils' 'libx264' 'xvidcore' 'zlib'
+ 'alsa-lib' 'bzip2' 'gsm' 'lame' 'libass' 'libmodplug'
+ 'libtheora' 'libva' 'opencore-amr' 'openjpeg' 'rtmpdump' 'schroedinger'
+ 'sdl' 'speex' 'v4l-utils' 'xvidcore' 'zlib'
+ 'libvorbisenc.so' 'libvorbis.so' 'libvpx.so' 'libx264.so'
)
makedepends=('libvdpau' 'yasm' 'x264')
-source=(http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.bz2)
-sha256sums=('8b6dbf73c192d2217e6ded8e0dd560c678f362e373d87c28ed9fc8eb52293d5d')
+provides=('libavcodec.so' 'libavutil.so' 'libpostproc.so' 'libswscale.so'
+ 'libswresample.so' 'libavformat.so' 'libavfilter.so' 'libavdevice.so')
+source=(http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.bz2{,.asc}
+ ffmpeg-0.10-libvpx-1.5.patch)
+validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') # ffmpeg-devel
+sha256sums=('e77823cbd58dfdb61f88059476070bc432d80e3821c14abcf804ef709d2f3fd1'
+ 'SKIP'
+ 'd6797973889582b82b7c81b91a39c222e09b5ccf8a7e031c364ae1e9275a497d')
+
+
+prepare() {
+ cd ffmpeg-$pkgver
+ patch -p1 -i ../ffmpeg-0.10-libvpx-1.5.patch
+}
build() {
cd ffmpeg-$pkgver
diff --git a/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch b/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch
new file mode 100644
index 0000000..740bb74
--- /dev/null
+++ b/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch
@@ -0,0 +1,24 @@
+diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
+index 1d33ce9..dface51 100644
+--- a/libavcodec/libvpxenc.c
++++ b/libavcodec/libvpxenc.c
+@@ -78,19 +78,11 @@ typedef struct VP8EncoderContext {
+
+ /** String mappings for enum vp8e_enc_control_id */
+ static const char *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",
diff --git a/abs/extra/findbrokenpkgs/PKGBUILD b/abs/extra/findbrokenpkgs/PKGBUILD
new file mode 100644
index 0000000..32d7a38
--- /dev/null
+++ b/abs/extra/findbrokenpkgs/PKGBUILD
@@ -0,0 +1,18 @@
+# Maintaine: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Paul Bredbury <brebs@sent.com>
+
+pkgname=findbrokenpkgs
+pkgver=1.1
+pkgrel=1
+pkgdesc="Broken package identifier for Arch Linux, based on Gentoo's revdep-rebuild"
+arch=('any')
+url="http://bbs.archlinux.org/viewtopic.php?id=13882"
+license=('GPL')
+depends=('binutils' 'pacman')
+source=($pkgname-$pkgver.sh)
+md5sums=('ee683c467e4881736ed60a15ebbcc7a5')
+
+package() {
+ install -Dm755 $pkgname-$pkgver.sh "${pkgdir}"/usr/bin/$pkgname
+}
diff --git a/abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh b/abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh
new file mode 100644
index 0000000..ee59628
--- /dev/null
+++ b/abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh
@@ -0,0 +1,326 @@
+#! /bin/bash
+# Distributed under the terms of the GNU General Public License v2
+
+# Shamelessly copied mostly from Gentoo's revdep-rebuild utility.
+# http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-portage/gentoolkit/
+# $ equery belongs /usr/bin/revdep-rebuild
+# app-portage/gentoolkit-0.2.3-r1
+# $ cat /usr/portage/app-portage/gentoolkit/gentoolkit-0.2.3-r1.ebuild | grep LICENSE
+# LICENSE="GPL-2"
+
+# findbrokenpkgs for Arch Linux.
+# Converted to use pacman instead of emerge by Paul Bredbury <brebs@sent.com>
+#
+# v1.1 - files now in $HOME/.findbrokenpkgs/ directory - based on changes from
+# Stefan Husmann, repackaged by Jaroslav Lichtblau
+
+# Customizable variables:
+#
+# LD_LIBRARY_MASK - Mask of specially evaluated libraries
+# SEARCH_DIRS - List of directories to search for executables and libraries
+# SEARCH_DIRS_MASK - List of directories to not search
+#
+# These variables can be prepended to by setting the variable in
+# your environment prior to execution.
+#
+# An entry of "-*" means to clear the variable from that point forward.
+# Example: env SEARCH_DIRS="/usr/bin -*" findbrokenpkgs will set SEARCH_DIRS
+# to contain only /usr/bin
+
+if [ "$1" = "-h" -o "$1" = "-help" -o "$1" = "--help" ] ; then
+ echo "Broken package identifier, version 1.0"
+ echo "Checks dynamic library linking."
+ echo
+ echo "Usage: $0 [OPTIONS]"
+ echo
+ echo " -nc, --no-color Turn off colored output"
+ echo " -nw, --no-warning Disable newbie-friendly warning"
+ echo " -q, --quiet Be less verbose"
+ echo
+ echo "Report bugs to http://bbs.archlinux.org/viewtopic.php?id=13882"
+ exit 0
+fi
+
+# Update the incremental variables using /etc/profile.env, /etc/ld.so.conf,
+# and the environment.
+
+# Read the incremental variables from environment
+PRELIMINARY_SEARCH_DIRS="$SEARCH_DIRS"
+PRELIMINARY_SEARCH_DIRS_MASK="$SEARCH_DIRS_MASK"
+PRELIMINARY_LD_LIBRARY_MASK="$LD_LIBRARY_MASK"
+SONAME_SEARCH="not found"
+SONAME_GREP=grep
+
+# Add the defaults
+if [ -d /etc/findbrokenpkgs ] ; then
+ for file in $(ls /etc/findbrokenpkgs) ; do
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS $(. /etc/findbrokenpkgs/${file}; echo $SEARCH_DIRS)"
+ PRELIMINARY_SEARCH_DIRS_MASK="$PRELIMINARY_SEARCH_DIRS_MASK $(. /etc/findbrokenpkgs/${file}; echo $SEARCH_DIRS_MASK)"
+ PRELIMINARY_LD_LIBRARY_MASK="$PRELIMINARY_LD_LIBRARY_MASK $(. /etc/findbrokenpkgs/${file}; echo $LD_LIBRARY_MASK)"
+ done
+else
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS /bin /sbin /usr/bin /usr/sbin /lib* /usr/lib*"
+ # openoffice is a binary, and we don't want to check that monster
+ PRELIMINARY_SEARCH_DIRS_MASK="$PRELIMINARY_SEARCH_DIRS_MASK /opt/openoffice"
+ # Binary libraries
+ PRELIMINARY_LD_LIBRARY_MASK="$PRELIMINARY_LD_LIBRARY_MASK libodbcinst.so libodbc.so libjava.so libjvm.so"
+fi
+
+# Get the ROOTPATH and PATH from /etc/profile.env
+if [ -e "/etc/profile.env" ] ; then
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS $((. /etc/profile.env; echo ${ROOTPATH}:${PATH}) | tr ':' ' ')"
+fi
+
+# Get the directories from /etc/ld.so.conf
+if [ -e /etc/ld.so.conf ] ; then
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS $(grep -v "^#" /etc/ld.so.conf | tr '\n' ' ')"
+fi
+
+# Set the final variables
+# Note: Using $(echo $variable) removes extraneous spaces from variable assignment
+unset SEARCH_DIRS
+for i in $(echo $PRELIMINARY_SEARCH_DIRS) ; do
+ [ "$i" = "-*" ] && break
+ # Append a / at the end so that links and directories are treated the same by find
+ # Remove any existing trailing slashes to prevent double-slashes
+ SEARCH_DIRS="$(echo $SEARCH_DIRS ${i/%\//}/)"
+done
+# Remove any double-slashes from the path
+SEARCH_DIRS="$(echo $SEARCH_DIRS | sed 's:/\+:/:g')"
+
+unset SEARCH_DIRS_MASK
+for i in $(echo $PRELIMINARY_SEARCH_DIRS_MASK) ; do
+ [ "$i" = "-*" ] && break
+ SEARCH_DIRS_MASK="$(echo $SEARCH_DIRS_MASK $i)"
+done
+
+unset LD_LIBRARY_MASK
+for i in $(echo $PRELIMINARY_LD_LIBRARY_MASK) ; do
+ [ "$i" = "-*" ] && break
+ LD_LIBRARY_MASK="$(echo $LD_LIBRARY_MASK $i)"
+done
+
+# Base of temporary files names.
+[ -d ${HOME}/.findbrokenpkgs ] || mkdir ${HOME}/.findbrokenpkgs
+touch ${HOME}/.findbrokenpkgs/findbrokenpkgs_0.test 2>/dev/null
+if [ $? -eq 0 ] ; then
+ LIST="${HOME}/.findbrokenpkgs/findbrokenpkgs"
+ rm ~/.findbrokenpkgs/findbrokenpkgs_0.test
+else
+ # Try to use /var/tmp since $HOME is not available
+ touch /var/tmp/.findbrokenpkgs/findbrokenpkgs_0.test 2>/dev/null
+ if [ $? -eq 0 ] ; then
+ LIST="/var/tmp/.findbrokenpkgs/findbrokenpkgs"
+ rm /var/tmp/.findbrokenpkgs/findbrokenpkgs_0.test
+ else
+ echo
+ echo "!!! Unable to write temporary files to either $HOME or /var/tmp !!!"
+ echo
+ exit 1
+ fi
+fi
+
+shopt -s nullglob
+shopt -s expand_aliases
+unalias -a
+alias echo_v=echo
+
+while [ ! -z "$1" ] ; do
+ case "$1" in
+ -q | --quiet )
+ alias echo_v=:
+ shift
+ ;;
+ -nc | --no-color )
+ NOCOLOR=true
+ shift
+ ;;
+ -nw | --no-warning )
+ NOWARNING=true
+ shift
+ ;;
+ * )
+ echo "Unknown option: $1"
+ exit 1
+ ;;
+ esac
+done
+
+# Color Definitions
+if [ "$NOCOLOR" = "yes" -o "$NOCOLOR" = "true" ] ; then
+ NO=""
+ BR=""
+ CY=""
+ GR=""
+ RD=""
+ YL=""
+ BL=""
+else
+ NO="\x1b[0m"
+ BR="\x1b[0;01m"
+ CY="\x1b[36;01m"
+ GR="\x1b[32;01m"
+ RD="\x1b[31;01m"
+ YL="\x1b[33;01m"
+ BL="\x1b[34;01m"
+fi
+
+function set_trap () {
+ trap "rm_temp $1" SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM
+}
+
+function rm_temp () {
+ echo " terminated."
+ echo "Removing incomplete $1."
+ rm $1
+ echo
+ exit 1
+}
+
+# Want program results (especially from pacman) in English
+export LC_ALL=C
+
+# Always delete the temporary files from a previous run
+rm -f ${LIST}.[0-9]_*
+
+# Clean up no longer needed environment variables
+unset PREVIOUS_SEARCH_DIRS PREVIOUS_SEARCH_DIRS_MASK PREVIOUS_LD_LIBRARY_MASK PREVIOUS_PREVIOUS_OPTIONS
+unset PRELIMINARY_SEARCH_DIRS PRELIMINARY_SEARCH_DIRS_MASK PRELIMINARY_LD_LIBRARY_MASK
+
+# Log our environment
+echo "SEARCH_DIRS=\"$SEARCH_DIRS\"" > $LIST.0_env
+echo "SEARCH_DIRS_MASK=\"$SEARCH_DIRS_MASK\"" >> $LIST.0_env
+echo "LD_LIBRARY_MASK=\"$LD_LIBRARY_MASK\"" >> $LIST.0_env
+
+echo_v
+echo_v "Checking reverse dependencies..."
+echo_v
+echo_v -n -e "${GR}Collecting system binaries and libraries...${NO}"
+
+set_trap "$LIST.1_*"
+
+# Be extra paranoid and pipe results through sed to remove multiple slashes
+# using -perm /u+x for find command
+find $SEARCH_DIRS -type f \( -perm /u+x -o -name '*.so' -o -name '*.so.*' -o -name '*.la' \) 2>/dev/null | sort | uniq | sed 's:/\+:/:g' >$LIST.0_files
+
+# Remove files that match SEARCH_DIR_MASK
+for dir in $SEARCH_DIRS_MASK ; do
+ grep -v "^$dir" $LIST.0_files > $LIST.1_files
+ mv $LIST.1_files $LIST.0_files
+done
+
+mv $LIST.0_files $LIST.1_files
+echo_v -e " ${GR}done.${NO}\n ($LIST.1_files)"
+
+echo_v
+echo_v -n -e "${GR}Collecting complete LD_LIBRARY_PATH...${NO}"
+set_trap "$LIST.2_ldpath"
+# Ensure that the "trusted" lib directories are at the start of the path
+(
+ echo /lib* /usr/lib* | sed 's/ /:/g'
+ sed '/^#/d;s/#.*$//' </etc/ld.so.conf
+ sed 's:/[^/]*$::' <$LIST.1_files | sort -ru
+) | tr '\n' : | tr -d '\r' | sed 's/:$//' >$LIST.2_ldpath
+echo_v -e " ${GR}done.${NO}\n ($LIST.2_ldpath)"
+COMPLETE_LD_LIBRARY_PATH="$(cat $LIST.2_ldpath)"
+
+echo_v
+echo_v -e "${GR}Checking dynamic linking consistency...${NO}"
+set_trap "$LIST.3_rebuild"
+LD_MASK="\\( $(echo "$LD_LIBRARY_MASK" | sed 's/\./\\./g;s/ / \\| /g') \\)"
+echo -n > $LIST.3_rebuild
+cat $LIST.1_files | egrep -v '*\.la$' | while read FILE ; do
+ # Note: double checking seems to be faster than single
+ # with complete path (special add-ons are rare).
+ if ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then
+ if LD_LIBRARY_PATH="$COMPLETE_LD_LIBRARY_PATH" ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then
+ # Only build missing direct dependencies
+ ALL_MISSING_LIBS=$(ldd "$FILE" 2>/dev/null | sort -u | sed -n 's/ \(.*\) => not found/\1/p' | tr '\n' ' ' | sed 's/ $//' )
+ REQUIRED_LIBS=$(objdump -x $FILE | grep NEEDED | awk '{print $2}' | tr '\n' ' ' | sed 's/ $//')
+ MISSING_LIBS=""
+ for lib in $ALL_MISSING_LIBS ; do
+ if echo $REQUIRED_LIBS | grep -q $lib ; then
+ MISSING_LIBS="$MISSING_LIBS $lib"
+ fi
+ done
+ if [ "$MISSING_LIBS" != "" ] ; then
+ echo "$FILE" >> $LIST.3_rebuild
+ # MISSING_LIBS already starts with a space
+ echo_v -e " $FILE ${RD}needs missing${NO}${MISSING_LIBS}"
+ fi
+ fi
+ fi
+done
+# Not sure if *.la files should even be checked
+cat $LIST.1_files | egrep '*\.la$' | while read FILE ; do
+ for depend in $(grep '^dependency_libs' $FILE | awk -F'=' '{print $2}' | sed "s/'//g") ; do
+ [ ${depend:0:1} != '/' ] && continue
+ if [ ! -e $depend ] ; then
+ echo "$FILE" >> $LIST.3_rebuild
+ echo_v -e " $FILE ${RD}needs missing${NO} ${depend}"
+ fi
+ done
+done
+echo_v -e " ${GR}done${NO}.\n ($LIST.3_rebuild)"
+
+echo_v
+echo_v -n -e "${GR}Assigning files to packages...${NO}"
+set_trap "$LIST.4_*"
+echo -n > $LIST.4_package_owners
+echo -n > $LIST.4_packages_raw
+echo -n > $LIST.4_orphans
+
+cat $LIST.3_rebuild | while read FILE ; do
+ EXACT_PKG=$(pacman -Qo $FILE | awk '{print $5 " " $6}')
+ PKG=$(echo $EXACT_PKG | awk '{print $1}')
+ if [ -z "$PKG" ] ; then
+ echo_v -n -e "\n ${RD}*** $FILE is orphan & broken! ***${NO}"
+ echo "$FILE -> (none)" >> $LIST.4_package_owners
+ echo "$FILE" >> $LIST.4_orphans
+ echo_v -n -e "\n $FILE ${RD}-> (none)${NO}"
+ else
+ echo "$PKG" >> $LIST.4_packages_raw
+ echo "$FILE -> $EXACT_PKG" >> $LIST.4_package_owners
+ echo_v -n -e "\n $FILE ${CY}->${NO} ${BR}$PKG${NO}"
+ fi
+done
+echo_v
+echo_v -e " ${GR}done.${NO}\n ($LIST.4_*)"
+
+echo_v
+echo_v -n -e "${GR}Cleaning list of packages to rebuild...${NO}"
+set_trap "$LIST.5_packages"
+sort -u $LIST.4_packages_raw >$LIST.5_packages
+echo_v -e " ${GR}done.${NO}\n ($LIST.5_packages)"
+
+REBUILD_LIST="$(cat $LIST.5_packages | tr '\n' ' ')"
+ORPHAN_LIST="$(cat $LIST.4_orphans)"
+
+# Clean up no longer needed environment variables
+unset COMPLETE_LD_LIBRARY_PATH SEARCH_DIRS SEARCH_DIRS_MASK LD_LIBRARY_MASK
+
+trap - SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM
+
+if [ -z "$REBUILD_LIST" ] && [ -z "$ORPHAN_LIST" ] ; then
+ echo_v -e "\n${GR}Dynamic linking on your system is consistent.${NO}"
+ # All OK, so delete temporary files
+ rm -f ${LIST}.[0-9]_*
+else
+ # Show broken files & packages
+ if [ -n "$ORPHAN_LIST" ] ; then
+ echo -e "\n${RD}Orphaned broken files:${NO}"
+ echo "$ORPHAN_LIST"
+ echo_v -e "\n${GR}This list of orphaned broken files is in $LIST.4_orphans${NO}"
+ fi
+ if [ -n "$REBUILD_LIST" ] ; then
+ echo -e "\n${RD}Recompile these packages:${NO}"
+ echo -e "${BR}$REBUILD_LIST${NO}"
+ if ! [ "$NOWARNING" = "yes" -o "$NOWARNING" = "true" ] ; then
+ echo_v -e "\nSome/all breakages may be ${GR}OK${NO} - this program cannot distinguish between ${RD}required${NO}"
+ echo_v -e "and ${GR}optional${NO} dependencies. See http://bbs.archlinux.org/viewtopic.php?id=13882"
+ fi
+ fi
+ # The temporary files are deliberately not deleted, as a source of info
+fi
+
+exit 0
diff --git a/abs/extra/flashplugin/PKGBUILD b/abs/extra/flashplugin/PKGBUILD
index c78fd36..454c4a3 100644
--- a/abs/extra/flashplugin/PKGBUILD
+++ b/abs/extra/flashplugin/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=flashplugin
_licensefile='PlatformClients_PC_WWEULA_Combined_20100108_1657.pdf'
-pkgver=11.2.202.425
+pkgver=11.2.202.559
pkgrel=1
pkgdesc='Adobe Flash Player'
url='http://get.adobe.com/flashplayer'
@@ -16,22 +16,14 @@ license=('custom')
options=(!strip)
install=flashplugin.install
backup=(etc/adobe/mms.cfg)
-
-if [ "$CARCH" = "i686" ]; then
- source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.i386.tar.gz"
- "http://www.adobe.com/products/eulas/pdfs/${_licensefile}"
- mms.cfg)
- md5sums=('3de010fba558cf5d8c66892456b0ed33'
- '94ca2aecb409abfe36494d1a7ec7591d'
- 'f34aae6279b40e0bd2abfb0d9963d7b8')
-elif [ "$CARCH" = "x86_64" ]; then
- source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.x86_64.tar.gz"
- "http://www.adobe.com/products/eulas/pdfs/${_licensefile}"
- mms.cfg)
- md5sums=('a060430d0900dd98252b9102ec1a32d6'
- '94ca2aecb409abfe36494d1a7ec7591d'
- 'f34aae6279b40e0bd2abfb0d9963d7b8')
-fi
+source=(http://www.adobe.com/products/eulas/pdfs/${_licensefile}
+ mms.cfg)
+source_i686=(flashplugin_$pkgver.i386.tar.gz::http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.i386.tar.gz)
+source_x86_64=(flashplugin_$pkgver.x86_64.tar.gz::http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.x86_64.tar.gz)
+md5sums=('94ca2aecb409abfe36494d1a7ec7591d'
+ 'f34aae6279b40e0bd2abfb0d9963d7b8')
+md5sums_i686=('b133fef5420808363d80235ac56a47e1')
+md5sums_x86_64=('f88b62884ef00d4b8735a3391caf35d4')
package () {
install -Dm755 libflashplayer.so "$pkgdir/usr/lib/mozilla/plugins/libflashplayer.so"
@@ -50,6 +42,3 @@ package () {
install -Dm644 "${_licensefile}" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.pdf"
install -Dm644 mms.cfg "$pkgdir/etc/adobe/mms.cfg"
}
-md5sums=('719258340ba34eda72495187b8148f75'
- '94ca2aecb409abfe36494d1a7ec7591d'
- 'f34aae6279b40e0bd2abfb0d9963d7b8')
diff --git a/abs/extra/fltk/PKGBUILD b/abs/extra/fltk/PKGBUILD
new file mode 100644
index 0000000..d927c70
--- /dev/null
+++ b/abs/extra/fltk/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id$
+# Maintainer:
+
+pkgbase=fltk
+pkgname=('fltk' 'fltk-docs' 'fltk-games')
+pkgver=1.3.3
+pkgrel=5
+arch=('i686' 'x86_64')
+license=('custom:LGPL')
+url="http://www.fltk.org/"
+makedepends=('mesa' 'glu' 'doxygen' 'libjpeg' 'libxft' 'libxinerama'
+ 'alsa-lib' 'desktop-file-utils' 'libxcursor')
+source=(http://fltk.org/pub/fltk/$pkgver/fltk-$pkgver-source.tar.gz
+ tigervnc.patch fltk-config-dynlibs.patch)
+md5sums=('9ccdb0d19dc104b87179bd9fd10822e3'
+ '45bb8f6be2b92710c8f21c1f91fad7d2'
+ '401c6df25c78f766e6dff26a13806eb2')
+
+prepare() {
+ cd $pkgbase-$pkgver
+ patch -p1 -i ../tigervnc.patch
+ patch -p1 -i ../fltk-config-dynlibs.patch
+ sed -i 's/class Fl_XFont_On_Demand/class FL_EXPORT Fl_XFont_On_Demand/' FL/x.H
+}
+
+build() {
+ cd $pkgbase-$pkgver
+ sed -i -e 's/$(LINKFLTK)/$(LINKSHARED)/' \
+ -e 's/$(LINKFLTKIMG)/$(LINKSHARED)/' test/Makefile
+ ./configure --prefix=/usr --enable-threads --enable-xft --enable-shared
+ make
+ make -C documentation html
+}
+
+package_fltk() {
+ pkgdesc="Graphical user interface toolkit for X"
+ depends=('libjpeg' 'libxft' 'libxinerama' 'hicolor-icon-theme'
+ 'desktop-file-utils' 'xdg-utils' 'libxcursor' 'glu')
+ options=('!docs')
+ install=fltk.install
+
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" -C fluid install install-linux
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_fltk-docs() {
+ pkgdesc="Graphical user interface toolkit for X (documentation)"
+
+ cd $pkgbase-$pkgver/documentation
+ install -d "$pkgdir"/usr/share/doc/fltk/
+ for _file in html/* ; do
+ install -m644 $_file "$pkgdir"/usr/share/doc/fltk/
+ done
+ make DESTDIR="$pkgdir" -C ../test install
+ install -D -m644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_fltk-games() {
+ pkgdesc="Example games that accompany FLTK: blocks, checkers and sudoku"
+ depends=('alsa-lib' 'fltk')
+ install=fltk-games.install
+
+ cd $pkgbase-$pkgver/test
+ make DESTDIR="$pkgdir" install-linux
+ make DESTDIR="$pkgdir" -C ../documentation install-linux
+ install -D -m644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/extra/fltk/fltk-config-dynlibs.patch b/abs/extra/fltk/fltk-config-dynlibs.patch
new file mode 100644
index 0000000..30842c0
--- /dev/null
+++ b/abs/extra/fltk/fltk-config-dynlibs.patch
@@ -0,0 +1,97 @@
+diff -Naur fltk-1.3.3-orig/fltk-config.in fltk-1.3.3/fltk-config.in
+--- fltk-1.3.3-orig/fltk-config.in 2014-12-31 15:43:07.203519633 -0500
++++ fltk-1.3.3/fltk-config.in 2014-12-31 15:49:01.636277725 -0500
+@@ -54,21 +54,6 @@
+ bindir="$selfdir/fluid"
+ includedir="$selfdir"
+ libdir="$selfdir/lib"
+-
+- if test -f "$libdir/libfltk_jpeg.a"; then
+- CFLAGS="-I$includedir/jpeg $CFLAGS"
+- CXXFLAGS="-I$includedir/jpeg $CXXFLAGS"
+- fi
+-
+- if test -f "$libdir/libfltk_z.a"; then
+- CFLAGS="-I$includedir/zlib $CFLAGS"
+- CXXFLAGS="-I$includedir/zlib $CXXFLAGS"
+- fi
+-
+- if test -f "$libdir/libfltk_png.a"; then
+- CFLAGS="-I$includedir/png $CFLAGS"
+- CXXFLAGS="-I$includedir/png $CXXFLAGS"
+- fi
+ fi
+
+ if test -d $includedir/FL/images; then
+@@ -76,11 +61,6 @@
+ CXXFLAGS="-I$includedir/FL/images $CXXFLAGS"
+ fi
+
+-if test -f "$libdir/libfltk_cairo.a"; then
+- CFLAGS="$CAIROFLAGS $CFLAGS"
+- CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
+-fi
+-
+ # libraries to link with:
+ LIBNAME="@LIBNAME@"
+ DSONAME="@DSONAME@"
+@@ -230,25 +210,20 @@
+ fi
+
+ # Calculate needed libraries
+-LDSTATIC="$libdir/libfltk.a $LDLIBS"
+ LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+
+ if test x$use_forms = xyes; then
+ LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
+- LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
+ fi
+ if test x$use_gl = xyes; then
+ LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
+- LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
+ fi
+ if test x$use_images = xyes; then
+ LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
+- LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
+ fi
+
+ if test x$use_cairo = xyes; then
+ LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS"
+- LDSTATIC="$libdir/libfltk_cairo.a $CAIROLIBS $LDSTATIC"
+ fi
+
+ LDLIBS="$DSOLINK $LDFLAGS $libs $LDLIBS"
+@@ -359,26 +334,26 @@
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- USELIBS="$libdir/libfltk.a"
++ USELIBS="$libdir/libfltk.so"
+
+ if test x$use_forms = xyes; then
+- USELIBS="$libdir/libfltk_forms.a $USELIBS"
++ USELIBS="$libdir/libfltk_forms.so $USELIBS"
+ fi
+
+ if test x$use_gl = xyes; then
+- USELIBS="$libdir/libfltk_gl.a $USELIBS"
++ USELIBS="$libdir/libfltk_gl.so $USELIBS"
+ fi
+
+ if test x$use_cairo = xyes; then
+- USELIBS="$libdir/libfltk_cairo.a $USELIBS"
++ USELIBS="$libdir/libfltk_cairo.so $USELIBS"
+ fi
+
+ if test x$use_images = xyes; then
+- USELIBS="$libdir/libfltk_images.a $USELIBS"
++ USELIBS="$libdir/libfltk_images.so $USELIBS"
+
+ for lib in fltk_jpeg fltk_png fltk_z; do
+- if test -f $libdir/lib$lib.a; then
+- USELIBS="$libdir/lib$lib.a $USELIBS"
++ if test -f $libdir/lib$lib.so; then
++ USELIBS="$libdir/lib$lib.so $USELIBS"
+ fi
+ done
+ fi
diff --git a/abs/extra/fltk/fltk-games.install b/abs/extra/fltk/fltk-games.install
new file mode 100644
index 0000000..f3fe2b0
--- /dev/null
+++ b/abs/extra/fltk/fltk-games.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/extra/fltk/fltk.install b/abs/extra/fltk/fltk.install
new file mode 100644
index 0000000..f89ec82
--- /dev/null
+++ b/abs/extra/fltk/fltk.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/extra/fltk/tigervnc.patch b/abs/extra/fltk/tigervnc.patch
new file mode 100644
index 0000000..f02e03f
--- /dev/null
+++ b/abs/extra/fltk/tigervnc.patch
@@ -0,0 +1,226 @@
+diff -Nur fltk-1.3.2.orig/FL/Enumerations.H fltk-1.3.2/FL/Enumerations.H
+--- fltk-1.3.2.orig/FL/Enumerations.H 2012-12-09 19:45:57.000000000 +0100
++++ fltk-1.3.2/FL/Enumerations.H 2013-07-17 19:37:45.785342886 +0200
+@@ -909,27 +909,27 @@
+ /* FIXME: We should renumber these, but that will break the ABI */
+ enum Fl_Cursor {
+ FL_CURSOR_DEFAULT = 0, /**< the default cursor, usually an arrow. */
+- FL_CURSOR_ARROW = 35, /**< an arrow pointer. */
+- FL_CURSOR_CROSS = 66, /**< crosshair. */
+- FL_CURSOR_WAIT = 76, /**< busy indicator (e.g. hourglass). */
+- FL_CURSOR_INSERT = 77, /**< I-beam. */
+- FL_CURSOR_HAND = 31, /**< pointing hand. */
+- FL_CURSOR_HELP = 47, /**< question mark pointer. */
+- FL_CURSOR_MOVE = 27, /**< 4-pointed arrow or hand. */
++ FL_CURSOR_ARROW = 1, /**< an arrow pointer. */
++ FL_CURSOR_CROSS = 2, /**< crosshair. */
++ FL_CURSOR_WAIT = 3, /**< busy indicator (e.g. hourglass). */
++ FL_CURSOR_INSERT = 4, /**< I-beam. */
++ FL_CURSOR_HAND = 5, /**< pointing hand. */
++ FL_CURSOR_HELP = 6, /**< question mark pointer. */
++ FL_CURSOR_MOVE = 7, /**< 4-pointed arrow or hand. */
+
+ /* Resize indicators */
+- FL_CURSOR_NS = 78, /**< up/down resize. */
+- FL_CURSOR_WE = 79, /**< left/right resize. */
+- FL_CURSOR_NWSE = 80, /**< diagonal resize. */
+- FL_CURSOR_NESW = 81, /**< diagonal resize. */
+- FL_CURSOR_N = 70, /**< upwards resize. */
+- FL_CURSOR_NE = 69, /**< upwards, right resize. */
+- FL_CURSOR_E = 49, /**< rightwards resize. */
+- FL_CURSOR_SE = 8, /**< downwards, right resize. */
+- FL_CURSOR_S = 9, /**< downwards resize. */
+- FL_CURSOR_SW = 7, /**< downwards, left resize. */
+- FL_CURSOR_W = 36, /**< leftwards resize. */
+- FL_CURSOR_NW = 68, /**< upwards, left resize. */
++ FL_CURSOR_NS = 101, /**< up/down resize. */
++ FL_CURSOR_WE = 102, /**< left/right resize. */
++ FL_CURSOR_NWSE = 103, /**< diagonal resize. */
++ FL_CURSOR_NESW = 104, /**< diagonal resize. */
++ FL_CURSOR_NE = 110, /**< upwards, right resize. */
++ FL_CURSOR_N = 111, /**< upwards resize. */
++ FL_CURSOR_NW = 112, /**< upwards, left resize. */
++ FL_CURSOR_E = 113, /**< rightwards resize. */
++ FL_CURSOR_W = 114, /**< leftwards resize. */
++ FL_CURSOR_SE = 115, /**< downwards, right resize. */
++ FL_CURSOR_S = 116, /**< downwards resize. */
++ FL_CURSOR_SW = 117, /**< downwards, left resize. */
+
+ FL_CURSOR_NONE =255 /**< invisible. */
+ };
+diff -Nur fltk-1.3.2.orig/FL/Fl_Widget.H fltk-1.3.2/FL/Fl_Widget.H
+--- fltk-1.3.2.orig/FL/Fl_Widget.H 2012-04-23 22:12:06.000000000 +0200
++++ fltk-1.3.2/FL/Fl_Widget.H 2013-07-17 19:37:07.411344886 +0200
+@@ -172,6 +172,7 @@
+ COPIED_TOOLTIP = 1<<17, ///< the widget tooltip is internally copied, its destruction is handled by the widget
+ FULLSCREEN = 1<<18, ///< a fullscreen window (Fl_Window)
+ MAC_USE_ACCENTS_MENU = 1<<19, ///< On the Mac OS platform, pressing and holding a key on the keyboard opens an accented-character menu window (Fl_Input_, Fl_Text_Editor)
++ SIMPLE_KEYBOARD = 1<<20, ///< the widget wants simple, consistent keypresses and not advanced input (like character composition and CJK input)
+ // (space for more flags)
+ USERFLAG3 = 1<<29, ///< reserved for 3rd party extensions
+ USERFLAG2 = 1<<30, ///< reserved for 3rd party extensions
+@@ -790,6 +791,35 @@
+ */
+ void set_active() {flags_ &= ~INACTIVE;}
+
++ /**
++ Returns if the widget sees a simplified keyboard model or not.
++
++ Normally widgets get a full-featured keyboard model that is geared
++ towards text input. This includes support for compose sequences and
++ advanced input methods, commonly used for asian writing system. This
++ system however has downsides in that extra graphic can be presented
++ to the user and that a physical key press doesn't correspond directly
++ to a FLTK event.
++
++ Widgets that need a direct correspondence between actual key events
++ and those seen by the widget can swith to the simplified keyboard
++ model.
++
++ \retval 0 if the widget uses the normal keyboard model
++ \see set_changed(), clear_changed()
++ */
++ unsigned int simple_keyboard() const {return flags_&SIMPLE_KEYBOARD;}
++
++ /** Marks a widget to use the simple keyboard model.
++ \see changed(), clear_changed()
++ */
++ void set_simple_keyboard() {flags_ |= SIMPLE_KEYBOARD;}
++
++ /** Marks a widget to use the normal keyboard model.
++ \see changed(), set_changed()
++ */
++ void set_normal_keyboard() {flags_ &= ~SIMPLE_KEYBOARD;}
++
+ /** Gives the widget the keyboard focus.
+ Tries to make this widget be the Fl::focus() widget, by first sending
+ it an FL_FOCUS event, and if it returns non-zero, setting
+diff -Nur fltk-1.3.2.orig/src/Fl_cocoa.mm fltk-1.3.2/src/Fl_cocoa.mm
+--- fltk-1.3.2.orig/src/Fl_cocoa.mm 2012-11-30 19:20:36.000000000 +0100
++++ fltk-1.3.2/src/Fl_cocoa.mm 2013-07-17 19:38:17.320341239 +0200
+@@ -724,7 +723,7 @@
+ return NO; // prevent the caption to be redrawn as active on click
+ // when another modal window is currently the key win
+
+- return !(w->tooltip_window() || w->menu_window());
++ return !w->tooltip_window();
+ }
+
+ - (BOOL)canBecomeMainWindow
+diff -Nur fltk-1.3.2.orig/src/Fl.cxx fltk-1.3.2/src/Fl.cxx
+--- fltk-1.3.2.orig/src/Fl.cxx 2012-08-16 22:59:36.000000000 +0200
++++ fltk-1.3.2/src/Fl.cxx 2013-07-17 19:38:01.696342059 +0200
+@@ -70,6 +70,8 @@
+ extern double fl_mac_flush_and_wait(double time_to_wait, char in_idle);
+ #endif // WIN32
+
++extern void fl_update_focus(void);
++
+ //
+ // Globals...
+ //
+@@ -876,6 +941,8 @@
+ fl_oldfocus = p;
+ }
+ e_number = old_event;
++ // let the platform code do what it needs
++ fl_update_focus();
+ }
+ }
+
+diff -Nur fltk-1.3.2.orig/src/Fl_grab.cxx fltk-1.3.2/src/Fl_grab.cxx
+--- fltk-1.3.2.orig/src/Fl_grab.cxx 2012-03-23 17:47:53.000000000 +0100
++++ fltk-1.3.2/src/Fl_grab.cxx 2013-07-17 19:37:07.411344886 +0200
+@@ -29,6 +29,7 @@
+ // override_redirect, it does similar things on WIN32.
+
+ extern void fl_fix_focus(); // in Fl.cxx
++void fl_update_focus(void);
+
+ #ifdef WIN32
+ // We have to keep track of whether we have captured the mouse, since
+@@ -80,6 +81,7 @@
+ #endif
+ }
+ grab_ = win;
++ fl_update_focus();
+ } else {
+ if (grab_) {
+ #ifdef WIN32
+@@ -98,6 +100,7 @@
+ XFlush(fl_display);
+ #endif
+ grab_ = 0;
++ fl_update_focus();
+ fl_fix_focus();
+ }
+ }
+diff -Nur fltk-1.3.2.orig/src/xutf8/imKStoUCS.c fltk-1.3.2/src/xutf8/imKStoUCS.c
+--- fltk-1.3.2.orig/src/xutf8/imKStoUCS.c 2009-03-13 23:43:43.000000000 +0100
++++ fltk-1.3.2/src/xutf8/imKStoUCS.c 2013-07-17 19:37:07.412344891 +0200
+@@ -266,6 +266,12 @@
+ 0x20a8, 0x20a9, 0x20aa, 0x20ab, 0x20ac /* 0x20a8-0x20af */
+ };
+
++static unsigned short const keysym_to_unicode_fe50_fe60[] = {
++ 0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0306, 0x0307, 0x0308, /* 0xfe50-0xfe57 */
++ 0x030a, 0x030b, 0x030c, 0x0327, 0x0328, 0x1da5, 0x3099, 0x309a, /* 0xfe58-0xfe5f */
++ 0x0323 /* 0xfe60-0xfe67 */
++};
++
+ static unsigned int
+ KeySymToUcs4(KeySym keysym)
+ {
+@@ -315,6 +321,8 @@
+ return keysym_to_unicode_1e9f_1eff[keysym - 0x1e9f];
+ else if (keysym > 0x209f && keysym < 0x20ad)
+ return keysym_to_unicode_20a0_20ac[keysym - 0x20a0];
++ else if (keysym > 0xfe4f && keysym < 0xfe61)
++ return keysym_to_unicode_fe50_fe60[keysym - 0xfe50];
+ else
+ return 0;
+ }
+diff -Nur fltk-1.3.2.orig/src/Fl_x.cxx fltk-1.3.2/src/Fl_x.cxx
+--- fltk-1.3.2.orig/src/Fl_x.cxx 2012-10-16 17:35:34.000000000 +0200
++++ fltk-1.3.2/src/Fl_x.cxx 2013-07-17 19:38:17.326341239 +0200
+@@ -583,6 +600,30 @@
+ }
+ }
+
++extern Fl_Window *fl_xfocus;
++
++void fl_update_focus(void)
++{
++ Fl_Widget *focus;
++
++ focus = Fl::grab();
++ if (!focus)
++ focus = Fl::focus();
++ if (!focus)
++ return;
++
++ if (focus->simple_keyboard()) {
++ fl_xim_deactivate();
++ } else {
++ // fl_xfocus should always be set if something has focus, but let's
++ // play it safe
++ if (!fl_xfocus || !fl_xid(fl_xfocus))
++ return;
++
++ fl_xim_activate(fl_xid(fl_xfocus));
++ }
++}
++
+ void fl_open_display() {
+ if (fl_display) return;
+
+--- fltk-1.3.2.orig/src/Fl_x.cxx (revision 10433)
++++ fltk-1.3.2/src/Fl_x.cxx (revision 10434)
+@@ -2211,6 +2211,7 @@
+ static int result = -1;
+
+ if (result == -1) {
++ fl_open_display();
+ result = 0;
+ unsigned long nitems;
+ unsigned long *words = 0;
diff --git a/abs/extra/gd/PKGBUILD b/abs/extra/gd/PKGBUILD
index b050624..4988f09 100644
--- a/abs/extra/gd/PKGBUILD
+++ b/abs/extra/gd/PKGBUILD
@@ -1,27 +1,28 @@
# $Id$
pkgname=gd
-pkgver=2.1.0
+pkgver=2.1.1
pkgrel=3
pkgdesc="Library for the dynamic creation of images by programmers"
arch=('i686' 'x86_64')
url="http://www.libgd.org/"
license=('custom')
depends=('fontconfig' 'libvpx' 'libxpm' 'libtiff')
+makedepends=('git')
optdepends=('perl: bdftogd script')
-source=("https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${pkgver}.tar.xz"
- 'color_c_null_pointer.patch')
-md5sums=('03588159bf4faab9079849c8d709acc6'
- '51f5ff073eabbd7809e0ce438d5bb1c2')
+source=("${pkgname}::git+https://github.com/libgd/libgd.git#tag=${pkgname}-${pkgver}"
+ gd-2.1.1-libvpx-1.4.0.patch)
+md5sums=('SKIP'
+ '9114dd8259aaa88b0a09188fe7b19afc')
prepare() {
- cd libgd-${pkgver}
- # CVE-2014-2497
- patch -p1 -i ${srcdir}/color_c_null_pointer.patch
+ cd ${pkgname}
+ ./bootstrap.sh
+ patch -p1 -i "${srcdir}/gd-2.1.1-libvpx-1.4.0.patch"
}
build() {
- cd libgd-${pkgver}
+ cd ${pkgname}
./configure \
--prefix=/usr \
--disable-rpath \
@@ -31,12 +32,12 @@ build() {
}
check() {
- cd libgd-${pkgver}
+ cd ${pkgname}
make check
}
package() {
- cd libgd-${pkgver}
+ cd ${pkgname}
make DESTDIR="${pkgdir}" install
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/extra/gd/color_c_null_pointer.patch b/abs/extra/gd/color_c_null_pointer.patch
deleted file mode 100644
index 95b3eeb..0000000
--- a/abs/extra/gd/color_c_null_pointer.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up ./src/gdxpm.c.color_c_null_pointer ./src/gdxpm.c
---- ./src/gdxpm.c.color_c_null_pointer 2013-06-25 11:58:23.000000000 +0200
-+++ ./src/gdxpm.c 2014-07-16 16:43:44.000000000 +0200
-@@ -62,6 +62,13 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFro
-
- for(i = 0; i < number; i++) {
- char *c_color = image.colorTable[i].c_color;
-+ if (!c_color)
-+ {
-+ /* unsupported color key or color key not defined */
-+ gdImageDestroy(im);
-+ im = 0;
-+ goto done;
-+ }
- if(strcmp(c_color, "None") == 0) {
- colors[i] = gdImageGetTransparent(im);
- if(colors[i] == -1) colors[i] = gdImageColorAllocate(im, 0, 0, 0);
-diff -up ./x.color_c_null_pointer ./x
diff --git a/abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch b/abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch
new file mode 100644
index 0000000..c698972
--- /dev/null
+++ b/abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch
@@ -0,0 +1,37 @@
+From d41eb72cd4545c394578332e5c102dee69e02ee8 Mon Sep 17 00:00:00 2001
+From: Remi Collet <fedora@famillecollet.com>
+Date: Tue, 7 Apr 2015 13:11:03 +0200
+Subject: [PATCH] Fix build with latest libvpx 1.4.0
+
+These new constants exist at least since 1.0.0
+Compatibility ones have been droped in 1.4.0
+---
+ src/webpimg.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/webpimg.c b/src/webpimg.c
+index cf73d64..e49fcc6 100644
+--- a/src/webpimg.c
++++ b/src/webpimg.c
+@@ -711,14 +711,14 @@ static WebPResult VPXEncode(const uint8* Y,
+ codec_ctl(&enc, VP8E_SET_STATIC_THRESHOLD, 0);
+ codec_ctl(&enc, VP8E_SET_TOKEN_PARTITIONS, 2);
+
+- vpx_img_wrap(&img, IMG_FMT_I420,
++ vpx_img_wrap(&img, VPX_IMG_FMT_I420,
+ y_width, y_height, 16, (uint8*)(Y));
+- img.planes[PLANE_Y] = (uint8*)(Y);
+- img.planes[PLANE_U] = (uint8*)(U);
+- img.planes[PLANE_V] = (uint8*)(V);
+- img.stride[PLANE_Y] = y_stride;
+- img.stride[PLANE_U] = uv_stride;
+- img.stride[PLANE_V] = uv_stride;
++ img.planes[VPX_PLANE_Y] = (uint8*)(Y);
++ img.planes[VPX_PLANE_U] = (uint8*)(U);
++ img.planes[VPX_PLANE_V] = (uint8*)(V);
++ img.stride[VPX_PLANE_Y] = y_stride;
++ img.stride[VPX_PLANE_U] = uv_stride;
++ img.stride[VPX_PLANE_V] = uv_stride;
+
+ res = vpx_codec_encode(&enc, &img, 0, 1, 0, VPX_DL_BEST_QUALITY);
+
diff --git a/abs/extra/git/ChangeLog b/abs/extra/git/ChangeLog
deleted file mode 100644
index f0c1523..0000000
--- a/abs/extra/git/ChangeLog
+++ /dev/null
@@ -1,57 +0,0 @@
-Simple version bumps are omitted from the following ChangeLog.
-
-2011-08-16 Dan McGee <dan@archlinux.org>
- Version 1.7.6.1-1
- * Enable USE_LIBPCRE for `git grep -P` usage
-
-2011-05-05 Dan McGee <dan@archlinux.org>
- Version 1.7.5.1-1
- * Byte compile emacs files (FS#20874)
- * Respect CFLAGS/LDFLAGS (FS#23963)
-
-2011-04-27 Dan McGee <dan@archlinux.org>
- Version 1.7.5-1
- * Add missing optdepends for git send-email (FS#20923)
-
-2011-01-05 Dan McGee <dan@archlinux.org>
- Version 1.7.3.5-1
- * More flexible git-daemon RC scripts (FS#20575)
-
-2010-10-01 Allan McRae <allan@archlinux.org>
- Version 1.7.3.1-2
- * Python 2/3 rebuild
-
-2010-06-29 Dan McGee <dan@archlinux.org>
- Version 1.7.1.1-1
- * Add emacs completion files (FS#17968)
- * Add git-daemon RC scripts (FS#19291)
-
-2009-06-05 Dan McGee <dan@archlinux.org>
- Version 1.6.3.2-1
- * Remove gitweb from /usr/share; it needs customization to be helpful
- * Add NO_CROSS_DIRECTORY_HARDLINKS option to build (FS#13683)
-
-2008-09-14 Dan McGee <dan@archlinux.org>
- Version 1.6.0.2-1
- * Moved optional depends from install file to optdepends array
-
-2008-06-15 Dan McGee <dan@archlinux.org>
- Version 1.5.6-1
- * Removed 'cpio' dependency, clone is now a builtin and no longer needs it
-
-2008-02-02 Dan McGee <dan@archlinux.org>
- Version 1.5.4-1
- * Upstream version 1.5.4
- * Enable pthreads support in pack-objects. To use, set the pack.threads
- git config option. Read manpages of pack-objects and config for more
- details.
- * Changelog added (with entries going back a bit).
-
-2008-01-28 Kevin Piche <kevin@archlinux.org>
- Version 1.5.3.7-2
- * Updated for new perl policy (vendor dirs)
- * Change license to GPL2
-
-2007-11-01 Eric Belanger <eric@archlinux.org>
- Version 1.5.3.5-2
- * Fix Perl module location
diff --git a/abs/extra/git/PKGBUILD b/abs/extra/git/PKGBUILD
index 75be079..c762f95 100644
--- a/abs/extra/git/PKGBUILD
+++ b/abs/extra/git/PKGBUILD
@@ -1,13 +1,15 @@
+# $Id$
+# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=git
-pkgver=1.7.11.4
+pkgver=2.5.3
pkgrel=1
pkgdesc="the fast distributed version control system"
arch=(i686 x86_64)
url="http://git-scm.com/"
license=('GPL2')
depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre')
-makedepends=('python2' 'emacs')
+makedepends=('python2' 'emacs' 'libgnome-keyring' 'xmlto' 'asciidoc')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
'perl-term-readkey: git svn'
@@ -16,15 +18,24 @@ optdepends=('tk: gitk and git gui'
'perl-authen-sasl: git send-email TLS support'
'python2: various helper scripts'
'subversion: git svn'
- 'cvsps: git cvsimport')
+ 'cvsps2: git cvsimport'
+ 'gnome-keyring: GNOME keyring credential helper')
replaces=('git-core')
provides=('git-core')
-backup=('etc/conf.d/git-daemon.conf')
-source=("http://git-core.googlecode.com/files/git-$pkgver.tar.gz"
- "http://git-core.googlecode.com/files/git-manpages-$pkgver.tar.gz"
- git-daemon
- git-daemon.conf)
-changelog=ChangeLog
+install=git.install
+source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz"
+ "https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.sign"
+ git-daemon@.service
+ git-daemon.socket)
+md5sums=('e69b41f2d0a93f3d3dc5eb19196e4e5c'
+ 'SKIP'
+ '042524f942785772d7bd52a1f02fe5ae'
+ 'f67869315c2cc112e076f0c73f248002')
+validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+}
build() {
export PYTHON_PATH='/usr/bin/python2'
@@ -33,30 +44,32 @@ build() {
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
- all
+ MAN_BOLD_LITERAL=1 \
+ all doc
- cd contrib/emacs
- make prefix=/usr
+ make -C contrib/emacs prefix=/usr
+ make -C contrib/credential/gnome-keyring
+ make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc
}
check() {
export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
local jobs
- jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*')
+ jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true
+ mkdir -p /dev/shm/git-test
make prefix=/usr gitexecdir=/usr/lib/git-core \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
+ MAN_BOLD_LITERAL=1 \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
- GIT_TEST_OPTS="--root=/dev/shm/" \
+ GIT_TEST_OPTS="--root=/dev/shm/git-test" \
test
}
-
-
package() {
export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
@@ -64,44 +77,39 @@ package() {
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
- INSTALLDIRS=vendor DESTDIR="$pkgdir" install
+ MAN_BOLD_LITERAL=1 \
+ INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc
# bash completion
- # until this is fixed, no point in loading it dynamically:
- # http://git.661346.n2.nabble.com/bash-completion-now-loads-completions-dynamically-so-git-ps1-is-not-defined-when-you-open-a-shell-td7415323.html
- #mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
- #install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
- mkdir -p "$pkgdir"/etc/bash_completion.d/
- install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/etc/bash_completion.d/git
- # more contrib stuff
- cp -a ./contrib $pkgdir/usr/share/git/
+ mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
+ install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
+ # fancy git prompt
+ mkdir -p "$pkgdir"/usr/share/git/
+ install -m644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh
+ # emacs
+ make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install
+ # gnome credentials helper
+ install -m755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
+ "$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring
+ make -C contrib/credential/gnome-keyring clean
+ # subtree installation
+ make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc
+ # the rest of the contrib stuff
+ cp -a ./contrib/* $pkgdir/usr/share/git/
+
# scripts are for python 2.x
- sed -i 's|#![ ]*/usr/bin/env python|#!/usr/bin/env python2|' \
+ sed -i 's|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|' \
$(find "$pkgdir" -name '*.py') \
- "$pkgdir"/usr/lib/git-core/git-p4 \
- "$pkgdir"/usr/share/git/gitview/gitview
-
- # emacs interface
- cd contrib/emacs
- make prefix=/usr DESTDIR="$pkgdir" install
-
- # how 'bout some manpages?
- for mansect in man1 man5 man7; do
- for manpage in "$srcdir"/$mansect/*; do
- install -D -m644 $manpage "$pkgdir"/usr/share/man/$mansect/$(basename $manpage)
- done
- done
+ "$pkgdir"/usr/share/git/gitview/gitview \
+ "$pkgdir"/usr/share/git/remote-helpers/git-remote-bzr \
+ "$pkgdir"/usr/share/git/remote-helpers/git-remote-hg
+ sed -i 's|#![ ]*/usr/bin/python$|#!/usr/bin/python2|' \
+ "$pkgdir"/usr/share/git/svn-fe/svnrdump_sim.py
# remove perllocal.pod, .packlist, and empty directories.
rm -rf "$pkgdir"/usr/lib/perl5
- # git daemon script
- install -D -m755 "$srcdir"/git-daemon "$pkgdir"/etc/rc.d/git-daemon
- install -D -m644 "$srcdir"/git-daemon.conf "$pkgdir"/etc/conf.d/git-daemon.conf
+ # git-daemon via systemd socket activation
+ install -D -m 644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service
+ install -D -m 644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket
}
-
-md5sums=('21c7100cddee8579233a924111e829ab'
- '397af842126a5099968238ab946580a5'
- '8e2648910fd5dd4f1c41d3c7fa9e9156'
- '2e42bf97779a1c6411d89043334c9e78')
-
diff --git a/abs/extra/git/git-daemon b/abs/extra/git/git-daemon
deleted file mode 100644
index 21ba73e..0000000
--- a/abs/extra/git/git-daemon
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-
-daemon_bin="/usr/lib/git-core/git-daemon"
-daemon_name=$(basename $daemon_bin)
-PIDF="/var/run/$daemon_name.pid"
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/$daemon_name.conf
-
-get_pid() {
- pidof -o %PPID $daemon_name
-}
-
-case "$1" in
- start)
- stat_busy "Starting $daemon_name daemon"
-
- PID=$(get_pid)
- if [ -z "$PID" ]; then
- [ -f $PIDF ] && rm -f $PIDF
- # RUN
- $daemon_bin --pid-file=$PIDF $GIT_DAEMON_ARGS
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- echo $(get_pid) > $PIDF
- add_daemon $daemon_name
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- stop)
- stat_busy "Stopping $daemon_name daemon"
- PID=$(get_pid)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- rm -f $PIDF &> /dev/null
- rm_daemon $daemon_name
- stat_done
- fi
- ;;
-
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
-
- status)
- stat_busy "Checking $daemon_name status";
- ck_status $daemon_name
- ;;
-
- *)
- echo "usage: $0 {start|stop|restart|status}"
-esac
-
-exit 0
diff --git a/abs/extra/git/git-daemon.conf b/abs/extra/git/git-daemon.conf
deleted file mode 100644
index 3f9a120..0000000
--- a/abs/extra/git/git-daemon.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-# path to git repositories served
-GIT_REPO="/srv/git/"
-# see `man git-daemon` for all available options
-# $GIT_REPO will be present twice in most configs
-GIT_DAEMON_ARGS="--detach --syslog --verbose --base-path=$GIT_REPO $GIT_REPO"
diff --git a/abs/extra/git/git-daemon.socket b/abs/extra/git/git-daemon.socket
new file mode 100644
index 0000000..58ed2f1
--- /dev/null
+++ b/abs/extra/git/git-daemon.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Git Daemon Socket
+
+[Socket]
+ListenStream=9418
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/abs/extra/git/git-daemon@.service b/abs/extra/git/git-daemon@.service
new file mode 100644
index 0000000..55ca714
--- /dev/null
+++ b/abs/extra/git/git-daemon@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Git Daemon Instance
+
+[Service]
+User=git
+# The '-' is to ignore non-zero exit statuses
+ExecStart=-/usr/lib/git-core/git-daemon --inetd --export-all --base-path=/srv/git
+StandardInput=socket
+StandardOutput=inherit
+StandardError=journal
diff --git a/abs/extra/git/git.install b/abs/extra/git/git.install
new file mode 100644
index 0000000..064eda0
--- /dev/null
+++ b/abs/extra/git/git.install
@@ -0,0 +1,12 @@
+post_install() {
+ if ! getent group git >/dev/null; then
+ groupadd --system git
+ fi
+ if ! getent passwd git >/dev/null; then
+ useradd --system -c 'git daemon user' -g git -d / -s /bin/bash git
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
diff --git a/abs/extra/glade/PKGBUILD b/abs/extra/glade/PKGBUILD
new file mode 100644
index 0000000..6d61747
--- /dev/null
+++ b/abs/extra/glade/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgname=glade
+pkgver=3.19.0
+pkgrel=1
+pkgdesc="User interface builder for GTK+ and GNOME."
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('gtk3' 'libxml2' 'desktop-file-utils')
+makedepends=('intltool' 'gtk-doc' 'gobject-introspection' 'python2-gobject' 'itstool' 'docbook-xsl')
+optdepends=('python2: Python widgets support'
+ 'devhelp: help browser')
+url="http://glade.gnome.org/"
+install=glade.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('a7a3f6d32fbfcc9b754b48a3410bf025e462bc7898e124f0ad8f64c3d7ad6fa2')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/glade/glade.install b/abs/extra/glade/glade.install
new file mode 100644
index 0000000..bce670a
--- /dev/null
+++ b/abs/extra/glade/glade.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/extra/glew/PKGBUILD b/abs/extra/glew/PKGBUILD
index 4731ab8..f800717 100644
--- a/abs/extra/glew/PKGBUILD
+++ b/abs/extra/glew/PKGBUILD
@@ -4,7 +4,7 @@
# Contributor: SleepyDog
pkgname=glew
-pkgver=1.11.0
+pkgver=1.13.0
pkgrel=1
pkgdesc="The OpenGL Extension Wrangler Library"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ url="http://glew.sourceforge.net"
license=('BSD' 'MIT' 'GPL')
depends=('libxmu' 'libxi' 'glu')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tgz)
-sha1sums=('9bb5c87c055acd122a4956112bbb18ee72c38e5c')
+sha1sums=('d5b1c499f429aa91c466193b4e8ea94a84019e37')
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch b/abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch
new file mode 100644
index 0000000..1728d39
--- /dev/null
+++ b/abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch
@@ -0,0 +1,36 @@
+From ad464b856318691c1277dd3239573d18dd04bb08 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 28 Apr 2015 22:09:33 +0200
+Subject: [PATCH] gnutls: Switch backend priorities so gnutls-pkcs11 is
+ preferred
+
+---
+ tls/gnutls/gtlsbackend-gnutls-pkcs11.c | 2 +-
+ tls/gnutls/gtlsbackend-gnutls.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tls/gnutls/gtlsbackend-gnutls-pkcs11.c b/tls/gnutls/gtlsbackend-gnutls-pkcs11.c
+index 48be45e..429acbb 100644
+--- a/tls/gnutls/gtlsbackend-gnutls-pkcs11.c
++++ b/tls/gnutls/gtlsbackend-gnutls-pkcs11.c
+@@ -61,5 +61,5 @@ g_tls_backend_gnutls_pkcs11_register (GIOModule *module)
+ g_io_extension_point_implement (G_TLS_BACKEND_EXTENSION_POINT_NAME,
+ g_tls_backend_gnutls_pkcs11_get_type(),
+ "gnutls-pkcs11",
+- -5);
++ 0);
+ }
+diff --git a/tls/gnutls/gtlsbackend-gnutls.c b/tls/gnutls/gtlsbackend-gnutls.c
+index 55ec1a5..ca79b92 100644
+--- a/tls/gnutls/gtlsbackend-gnutls.c
++++ b/tls/gnutls/gtlsbackend-gnutls.c
+@@ -310,5 +310,5 @@ g_tls_backend_gnutls_register (GIOModule *module)
+ g_io_extension_point_implement (G_TLS_BACKEND_EXTENSION_POINT_NAME,
+ g_tls_backend_gnutls_get_type(),
+ "gnutls",
+- 0);
++ -5);
+ }
+--
+2.3.6
+
diff --git a/abs/extra/glib-networking/PKGBUILD b/abs/extra/glib-networking/PKGBUILD
index d2ed8c3..46869e8 100644
--- a/abs/extra/glib-networking/PKGBUILD
+++ b/abs/extra/glib-networking/PKGBUILD
@@ -1,31 +1,42 @@
-# $Id: PKGBUILD 159094 2012-05-15 14:33:52Z ibiru $
-# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgname=glib-networking
-pkgver=2.32.3
+pkgver=2.46.1
pkgrel=1
pkgdesc="Network-related giomodules for glib"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
url="http://www.gtk.org/"
-license=('GPL2')
-depends=('glib2' 'libproxy' 'gnutls' 'libgcrypt' 'ca-certificates' 'gsettings-desktop-schemas')
-makedepends=('intltool')
-options=('!libtool')
+license=(GPL2)
+depends=(glib2 libproxy gnutls ca-certificates gsettings-desktop-schemas)
+makedepends=(intltool)
install=glib-networking.install
-source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('39fe23e86a57bb7a8a67c65668394ad0fbe2d43960c1f9d68311d5d13ef1e5cf')
+source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz
+ 0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch)
+sha256sums=('d5034214217f705891b6c9e719cc2c583c870bfcfdc454ebbb5e5e8940ac90b1'
+ '5d12c3b8905f67a93adc884920f7e062404b723e9d2e56f935b914e58a20b29e')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch
+}
build() {
- cd "$pkgname-$pkgver"
- ./configure \
- --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/glib-networking --disable-static
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/$pkgname --disable-static \
+ --disable-installed-tests
make
}
+check() {
+ cd $pkgname-$pkgver
+ make -j1 -k check
+}
+
package() {
- cd "$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install testfiles_DATA=
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/gnome-common/PKGBUILD b/abs/extra/gnome-common/PKGBUILD
index 445cd50..7d68863 100644
--- a/abs/extra/gnome-common/PKGBUILD
+++ b/abs/extra/gnome-common/PKGBUILD
@@ -1,22 +1,20 @@
-# $Id: PKGBUILD 157808 2012-04-29 21:33:25Z ibiru $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-common
-pkgver=3.4.0.1
-pkgrel=2
+pkgver=3.18.0
+pkgrel=1
pkgdesc="Common development macros for GNOME"
arch=(any)
-license=('GPL')
+depends=(sh autoconf-archive intltool yelp-tools gtk-doc)
+license=(GPL)
url="http://www.gnome.org"
-source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz
- automake1.12.patch::http://git.gnome.org/browse/gnome-common/patch/?id=1fed4ee7015b89a1ac4c4a535aeb753e820e4970)
-sha256sums=('3d92a5d1dae550c409f644d87a4bba17342e14fb11ce8b1e58757ce35f3a46f7'
- '78081e33a0091bfb4531e723fcd6b28219c1c94173aea9071ecb5fe6da9066ab')
+source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf')
build() {
cd $pkgname-$pkgver
- patch -Np1 -i "$srcdir/automake1.12.patch"
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --with-autoconf-archive
make
}
diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD
index 7cb2ad9..6d76bb9 100644
--- a/abs/extra/google-chrome/PKGBUILD
+++ b/abs/extra/google-chrome/PKGBUILD
@@ -5,35 +5,39 @@
# or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }'
pkgname=google-chrome
-pkgver=40.0.2214.111
+pkgver=50.0.2661.102
pkgrel=1
pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)"
-arch=('i686' 'x86_64')
-url="https://www.google.com/chrome/index.html"
+arch=('x86_64')
+url="https://www.google.com/chrome"
license=('custom:chrome')
depends=('alsa-lib' 'desktop-file-utils' 'flac' 'gconf' 'gtk2' 'harfbuzz' 'harfbuzz-icu' 'hicolor-icon-theme'
- 'icu' 'libcups' 'libpng' 'libxss' 'libxtst' 'nss' 'opus' 'snappy' 'speech-dispatcher' 'ttf-font' 'xdg-utils')
+ 'icu' 'libpng' 'libxss' 'libxtst' 'nss' 'opus' 'snappy' 'speech-dispatcher' 'ttf-font' 'xdg-utils')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
'ttf-liberation: fix fonts for some PDFs')
-provides=("google-chrome=$pkgver")
+provides=('google-chrome' 'pepper-flash')
options=('!emptydirs' '!strip')
install=$pkgname.install
_channel=stable
-_arch=amd64
-[[ $CARCH = i686 ]] && _arch=i386
-source=("google-chrome-${_channel}_${pkgver}_${_arch}.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_${_arch}.deb"
- 'eula_text.html')
-[[ $CARCH = i686 ]] && md5sums[0]='b2e60863b171bfc152b25030df196ecb'
+source=("google-chrome-${_channel}_${pkgver}_amd64.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_amd64.deb"
+ "$url/browser/privacy/eula_text.html"
+ 'google-chrome-stable.sh')
+md5sums=('28ea63b729ef8b83bc783ab99cfe8f67'
+ 'SKIP'
+ '99fa93d5e7fb5d622cef0f9621f3ffa3')
package() {
- msg2 "Extracting the data.tar.lzma..."
- bsdtar -xf data.tar.lzma -C "$pkgdir/"
+ msg2 "Extracting the data.tar.xz..."
+ bsdtar -xf data.tar.xz -C "$pkgdir/"
msg2 "Moving stuff in place..."
+ # Launcher
+ install -m755 google-chrome-$_channel.sh "$pkgdir"/usr/bin/google-chrome-$_channel
+
# Icons
- for i in 16 22 24 32 48 64 128 256; do
- install -Dm644 "$pkgdir"/opt/google/chrome/product_logo_$i.png \
- "$pkgdir"/usr/share/icons/hicolor/${i}x${i}/apps/google-chrome.png
+ for i in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256; do
+ install -Dm644 "$pkgdir"/opt/google/chrome/product_logo_${i/x*}.png \
+ "$pkgdir"/usr/share/icons/hicolor/$i/apps/google-chrome.png
done
# Man page
@@ -42,18 +46,12 @@ package() {
# License
install -Dm644 eula_text.html "$pkgdir"/usr/share/licenses/google-chrome/eula_text.html
- msg2 "Symlinking missing Udev lib..."
- ln -s /usr/lib/libudev.so.1 "$pkgdir"/opt/google/chrome/libudev.so.0
-
msg2 "Fixing Chrome icon resolution..."
- sed -i "/Exec=/i\StartupWMClass=Google-chrome-$_channel" "$pkgdir"/usr/share/applications/google-chrome.desktop
+ sed -i "/Exec=/i\StartupWMClass=google-chrome" "$pkgdir"/usr/share/applications/google-chrome.desktop
msg2 "Fixing permissions of documentation folder..."
chmod 755 "$pkgdir"/usr/share/doc/google-chrome-$_channel/
- msg2 "Adding support for CHROMIUM_USER_FLAGS..."
- sed -i 's/ "$@"/ $CHROMIUM_USER_FLAGS "$@"/' "$pkgdir"/opt/google/chrome/google-chrome
-
msg2 "Removing unnecessities (e.g. Debian Cron job)..."
rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/
rm "$pkgdir"/opt/google/chrome/product_logo_*.png
@@ -61,5 +59,3 @@ package() {
msg2 "Rename google-chrome-stable to google-chrome..."
mv "$pkgdir"/usr/bin/google-chrome-stable "$pkgdir"/usr/bin/google-chrome
}
-md5sums=('7814ce4a8c941a918d48ace4a2362ebd'
- 'b7e752f549b215ac77f284b6486794b6')
diff --git a/abs/extra/google-chrome/__changelog b/abs/extra/google-chrome/__changelog
index 289a6f2..672914a 100644
--- a/abs/extra/google-chrome/__changelog
+++ b/abs/extra/google-chrome/__changelog
@@ -1,5 +1,3 @@
Pull from ARU: https://aur.archlinux.org/packages/google-chrome/
-- PKGBUILD: add replaces chromium
- google-chrome.install: add symlink from /usr/bin/chromium to google-chrome so as not to break pkgs that use chromium
- PKGBUILD: Rename google-chrome-stable to google-chrome"
-- PKGBUILD: Add dep libcups
diff --git a/abs/extra/google-chrome/eula_text.html b/abs/extra/google-chrome/eula_text.html
deleted file mode 100644
index b45cb21..0000000
--- a/abs/extra/google-chrome/eula_text.html
+++ /dev/null
@@ -1,902 +0,0 @@
-<!DOCTYPE html>
-<!-- saved from url=(0068)https://www.google.com/intl/en/chrome/browser/privacy/eula_text.html -->
-<html class="js consumer" lang="en" id="linux"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
- <script type="text/javascript" async="" src="./Google Chrome Terms of Service_files/ga.js"></script><script>
-(function(e, p){
- var m = location.href.match(/platform=(win8|win|mac|linux|cros)/);
- e.id = (m && m[1]) ||
- (p.indexOf('Windows NT 6.2') > -1 ? 'win8' : p.indexOf('Windows') > -1 ? 'win' : p.indexOf('Mac') > -1 ? 'mac' : p.indexOf('CrOS') > -1 ? 'cros' : 'linux');
- e.className = e.className.replace(/\bno-js\b/,'js');
- })(document.documentElement, window.navigator.userAgent)
- </script>
- <meta charset="utf-8">
- <meta content="initial-scale=1, minimum-scale=1, width=device-width" name="viewport">
- <meta content="Google Chrome Terms of Service" name="description">
- <title>
- Google Chrome Terms of Service
- </title>
- <link href="https://plus.google.com/100585555255542998765" rel="publisher">
- <link href="https://www.google.com/images/icons/product/chrome-32.png" rel="icon" type="image/ico">
- <style>
-body {
- font-family: Arial;
- font-size: 13px;
- }
- </style>
- <script src="./Google Chrome Terms of Service_files/autotrack.js">
-</script><style type="text/css"></style>
- <script>
-new gweb.analytics.AutoTrack({
- profile: 'UA-26908291-1'
- });
- </script>
- <style type="text/css">.st {word-wrap: break-word;}</style></head>
- <body class="" id="grid">
- <div class="browser-eula" id="main">
- <div class="compact">
- <h2>
- Google Chrome Terms of Service
- </h2>
- <p>
- These Terms of Service apply to the executable code version of Google Chrome. Source code
- for Google Chrome is available free of charge under open source software license
- agreements at http://code.google.com/chromium/terms.html.
- </p>
- <p>
- <strong>1. Your relationship with Google</strong>
- </p>
- <p>
- 1.1 Your use of Google’s products, software, services and web sites (referred to
- collectively as the “Services†in this document and excluding any services provided to
- you by Google under a separate written agreement) is subject to the terms of a legal
- agreement between you and Google. “Google†means Google Inc., whose principal place of
- business is at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. This
- document explains how the agreement is made up, and sets out some of the terms of that
- agreement.
- </p>
- <p>
- 1.2 Unless otherwise agreed in writing with Google, your agreement with Google will
- always include, at a minimum, the terms and conditions set out in this document. These
- are referred to below as the “Universal Termsâ€. Open source software licenses for Google
- Chrome source code constitute separate written agreements. To the limited extent that the
- open source software licenses expressly supersede these Universal Terms, the open source
- licenses govern your agreement with Google for the use of Google Chrome or specific
- included components of Google Chrome.
- </p>
- <p>
- 1.3 Your agreement with Google will also include the terms set forth below in the Google
- Chrome Additional Terms of Service and terms of any Legal Notices applicable to the
- Services, in addition to the Universal Terms. All of these are referred to below as the
- “Additional Termsâ€. Where Additional Terms apply to a Service, these will be accessible
- for you to read either within, or through your use of, that Service.
- </p>
- <p>
- 1.4 The Universal Terms, together with the Additional Terms, form a legally binding
- agreement between you and Google in relation to your use of the Services. It is important
- that you take the time to read them carefully. Collectively, this legal agreement is
- referred to below as the “Termsâ€.
- </p>
- <p>
- 1.5 If there is any contradiction between what the Additional Terms say and what the
- Universal Terms say, then the Additional Terms shall take precedence in relation to that
- Service.
- </p>
- <p>
- <strong>2. Accepting the Terms</strong>
- </p>
- <p>
- 2.1 In order to use the Services, you must first agree to the Terms. You may not use the
- Services if you do not accept the Terms.
- </p>
- <p>
- 2.2 You can accept the Terms by:
- </p>
- <p>
- (A) clicking to accept or agree to the Terms, where this option is made available to you
- by Google in the user interface for any Service; or
- </p>
- <p>
- (B) by actually using the Services. In this case, you understand and agree that Google
- will treat your use of the Services as acceptance of the Terms from that point onwards.
- </p>
- <p>
- <strong>3. Language of the Terms</strong>
- </p>
- <p>
- 3.1 Where Google has provided you with a translation of the English language version of
- the Terms, then you agree that the translation is provided for your convenience only and
- that the English language versions of the Terms will govern your relationship with
- Google.
- </p>
- <p>
- 3.2 If there is any contradiction between what the English language version of the Terms
- says and what a translation says, then the English language version shall take
- precedence.
- </p>
- <p>
- <strong>4. Provision of the Services by Google</strong>
- </p>
- <p>
- 4.1 Google has subsidiaries and affiliated legal entities around the world (“Subsidiaries
- and Affiliatesâ€). Sometimes, these companies will be providing the Services to you on
- behalf of Google itself. You acknowledge and agree that Subsidiaries and Affiliates will
- be entitled to provide the Services to you.
- </p>
- <p>
- 4.2 Google is constantly innovating in order to provide the best possible experience for
- its users. You acknowledge and agree that the form and nature of the Services which
- Google provides may change from time to time without prior notice to you.
- </p>
- <p>
- 4.3 As part of this continuing innovation, you acknowledge and agree that Google may stop
- (permanently or temporarily) providing the Services (or any features within the Services)
- to you or to users generally at Google’s sole discretion, without prior notice to you.
- You may stop using the Services at any time. You do not need to specifically inform
- Google when you stop using the Services.
- </p>
- <p>
- 4.4 You acknowledge and agree that if Google disables access to your account, you may be
- prevented from accessing the Services, your account details or any files or other content
- which is contained in your account.
- </p>
- <p>
- <strong>5. Use of the Services by you</strong>
- </p>
- <p>
- 5.1 You agree to use the Services only for purposes that are permitted by (a) the Terms
- and (b) any applicable law, regulation or generally accepted practices or guidelines in
- the relevant jurisdictions (including any laws regarding the export of data or software
- to and from the United States or other relevant countries).
- </p>
- <p>
- 5.2 You agree that you will not engage in any activity that interferes with or disrupts
- the Services (or the servers and networks which are connected to the Services).
- </p>
- <p>
- 5.3 Unless you have been specifically permitted to do so in a separate agreement with
- Google, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the
- Services for any purpose.
- </p>
- <p>
- 5.4 You agree that you are solely responsible for (and that Google has no responsibility
- to you or to any third party for) any breach of your obligations under the Terms and for
- the consequences (including any loss or damage which Google may suffer) of any such
- breach.
- </p>
- <p>
- <strong>6. Privacy and your personal information</strong>
- </p>
- <p>
- 6.1 For information about Google’s data protection practices, please read Google’s
- privacy policy at http://www.google.com/privacy.html and at
- http://www.google.com/chrome/intl/en/privacy.html. This policy explains how Google treats
- your personal information, and protects your privacy, when you use the Services.
- </p>
- <p>
- 6.2 You agree to the use of your data in accordance with Google’s privacy policies.
- </p>
- <p>
- <strong>7. Content in the Services</strong>
- </p>
- <p>
- 7.1 You understand that all information (such as data files, written text, computer
- software, music, audio files or other sounds, photographs, videos or other images) which
- you may have access to as part of, or through your use of, the Services are the sole
- responsibility of the person from which such content originated. All such information is
- referred to below as the “Content.â€
- </p>
- <p>
- 7.2 You should be aware that Content presented to you as part of the Services, including
- but not limited to advertisements in the Services and sponsored Content within the
- Services may be protected by intellectual property rights which are owned by the sponsors
- or advertisers who provide that Content to Google (or by other persons or companies on
- their behalf). You may not modify, rent, lease, loan, sell, distribute or create
- derivative works based on this Content (either in whole or in part) unless you have been
- specifically told that you may do so by Google or by the owners of that Content, in a
- separate agreement.
- </p>
- <p>
- 7.3 Google reserves the right (but shall have no obligation) to pre-screen, review, flag,
- filter, modify, refuse or remove any or all Content from any Service. For some of the
- Services, Google may provide tools to filter out explicit sexual content. These tools
- include the SafeSearch preference settings (see
- http://www.google.com/help/customize.html#safe). In addition, there are commercially
- available services and software to limit access to material that you may find
- objectionable.
- </p>
- <p>
- 7.4 You understand that by using the Services you may be exposed to Content that you may
- find offensive, indecent or objectionable and that, in this respect, you use the Services
- at your own risk.
- </p>
- <p>
- 7.5 You agree that you are solely responsible for (and that Google has no responsibility
- to you or to any third party for) any Content that you create, transmit or display while
- using the Services and for the consequences of your actions (including any loss or damage
- which Google may suffer) by doing so.
- </p>
- <p>
- <strong>8. Proprietary rights</strong>
- </p>
- <p>
- 8.1 You acknowledge and agree that Google (or Google’s licensors) own all legal right,
- title and interest in and to the Services, including any intellectual property rights
- which subsist in the Services (whether those rights happen to be registered or not, and
- wherever in the world those rights may exist).
- </p>
- <p>
- 8.2 Unless you have agreed otherwise in writing with Google, nothing in the Terms gives
- you a right to use any of Google’s trade names, trade marks, service marks, logos, domain
- names, and other distinctive brand features.
- </p>
- <p>
- 8.3 If you have been given an explicit right to use any of these brand features in a
- separate written agreement with Google, then you agree that your use of such features
- shall be in compliance with that agreement, any applicable provisions of the Terms, and
- Google's brand feature use guidelines as updated from time to time. These guidelines can
- be viewed online at http://www.google.com/permissions/guidelines.html (or such other URL
- as Google may provide for this purpose from time to time).
- </p>
- <p>
- 8.4 Google acknowledges and agrees that it obtains no right, title or interest from you
- (or your licensors) under these Terms in or to any Content that you submit, post,
- transmit or display on, or through, the Services, including any intellectual property
- rights which subsist in that Content (whether those rights happen to be registered or
- not, and wherever in the world those rights may exist). Unless you have agreed otherwise
- in writing with Google, you agree that you are responsible for protecting and enforcing
- those rights and that Google has no obligation to do so on your behalf.
- </p>
- <p>
- 8.5 You agree that you shall not remove, obscure, or alter any proprietary rights notices
- (including copyright and trade mark notices) which may be affixed to or contained within
- the Services.
- </p>
- <p>
- 8.6 Unless you have been expressly authorized to do so in writing by Google, you agree
- that in using the Services, you will not use any trade mark, service mark, trade name,
- logo of any company or organization in a way that is likely or intended to cause
- confusion about the owner or authorized user of such marks, names or logos.
- </p>
- <p>
- <strong>9. License from Google</strong>
- </p>
- <p>
- 9.1 Google gives you a personal, worldwide, royalty-free, non-assignable and
- non-exclusive license to use the software provided to you by Google as part of the
- Services as provided to you by Google (referred to as the “Software†below). This license
- is for the sole purpose of enabling you to use and enjoy the benefit of the Services as
- provided by Google, in the manner permitted by the Terms.
- </p>
- <p>
- 9.2 Subject to section 1.2, you may not (and you may not permit anyone else to) copy,
- modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to
- extract the source code of the Software or any part thereof, unless this is expressly
- permitted or required by law, or unless you have been specifically told that you may do
- so by Google, in writing.
- </p>
- <p>
- 9.3 Subject to section 1.2, unless Google has given you specific written permission to do
- so, you may not assign (or grant a sub-license of) your rights to use the Software, grant
- a security interest in or over your rights to use the Software, or otherwise transfer any
- part of your rights to use the Software.
- </p>
- <p>
- <strong>10. Content license from you</strong>
- </p>
- <p>
- 10.1 You retain copyright and any other rights you already hold in Content which you
- submit, post or display on or through, the Services.
- </p>
- <p>
- <strong>11. Software updates</strong>
- </p>
- <p>
- 11.1 The Software which you use may automatically download and install updates from time
- to time from Google. These updates are designed to improve, enhance and further develop
- the Services and may take the form of bug fixes, enhanced functions, new software modules
- and completely new versions. You agree to receive such updates (and permit Google to
- deliver these to you) as part of your use of the Services.
- </p>
- <p>
- <strong>12. Ending your relationship with Google</strong>
- </p>
- <p>
- 12.1 The Terms will continue to apply until terminated by either you or Google as set out
- below.
- </p>
- <p>
- 12.2 Google may at any time, terminate its legal agreement with you if:
- </p>
- <p>
- (A) you have breached any provision of the Terms (or have acted in manner which clearly
- shows that you do not intend to, or are unable to comply with the provisions of the
- Terms); or
- </p>
- <p>
- (B) Google is required to do so by law (for example, where the provision of the Services
- to you is, or becomes, unlawful); or
- </p>
- <p>
- (C) the partner with whom Google offered the Services to you has terminated its
- relationship with Google or ceased to offer the Services to you; or
- </p>
- <p>
- (D) Google is transitioning to no longer providing the Services to users in the country
- in which you are resident or from which you use the service; or
- </p>
- <p>
- (E) the provision of the Services to you by Google is, in Google’s opinion, no longer
- commercially viable.
- </p>
- <p>
- 12.3 Nothing in this Section shall affect Google’s rights regarding provision of Services
- under Section 4 of the Terms.
- </p>
- <p>
- 12.4 When these Terms come to an end, all of the legal rights, obligations and
- liabilities that you and Google have benefited from, been subject to (or which have
- accrued over time whilst the Terms have been in force) or which are expressed to continue
- indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 19.7
- shall continue to apply to such rights, obligations and liabilities indefinitely.
- </p>
- <p>
- <strong>13. EXCLUSION OF WARRANTIES</strong>
- </p>
- <p>
- 13.1 NOTHING IN THESE TERMS, INCLUDING SECTIONS 13 AND 14, SHALL EXCLUDE OR LIMIT
- GOOGLE’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED
- BY APPLICABLE LAW. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR
- CONDITIONS OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR LOSS OR DAMAGE CAUSED BY
- NEGLIGENCE, BREACH OF CONTRACT OR BREACH OF IMPLIED TERMS, OR INCIDENTAL OR CONSEQUENTIAL
- DAMAGES. ACCORDINGLY, ONLY THE LIMITATIONS WHICH ARE LAWFUL IN YOUR JURISDICTION WILL
- APPLY TO YOU AND OUR LIABILITY WILL BE LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW.
- </p>
- <p>
- 13.2 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICES IS AT YOUR SOLE
- RISK AND THAT THE SERVICES ARE PROVIDED "AS IS" AND “AS AVAILABLE.â€
- </p>
- <p>
- 13.3 IN PARTICULAR, GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT
- REPRESENT OR WARRANT TO YOU THAT:
- </p>
- <p>
- (A) YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS,
- </p>
- <p>
- (B) YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR,
- </p>
- <p>
- (C) ANY INFORMATION OBTAINED BY YOU AS A RESULT OF YOUR USE OF THE SERVICES WILL BE
- ACCURATE OR RELIABLE, AND
- </p>
- <p>
- (D) THAT DEFECTS IN THE OPERATION OR FUNCTIONALITY OF ANY SOFTWARE PROVIDED TO YOU AS
- PART OF THE SERVICES WILL BE CORRECTED.
- </p>
- <p>
- 13.4 ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SERVICES IS
- DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY RESPONSIBLE FOR ANY
- DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM THE
- DOWNLOAD OF ANY SUCH MATERIAL.
- </p>
- <p>
- 13.5 NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM GOOGLE OR
- THROUGH OR FROM THE SERVICES SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN THE TERMS.
- </p>
- <p>
- 13.6 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND,
- WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND
- CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- </p>
- <p>
- <strong>14. LIMITATION OF LIABILITY</strong>
- </p>
- <p>
- 14.1 SUBJECT TO OVERALL PROVISION IN PARAGRAPH 13.1 ABOVE, YOU EXPRESSLY UNDERSTAND AND
- AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE
- TO YOU FOR:
- </p>
- <p>
- (A) ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH
- MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY.. THIS SHALL
- INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR
- INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST
- OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS;
- </p>
- <p>
- (B) ANY LOSS OR DAMAGE WHICH MAY BE INCURRED BY YOU, INCLUDING BUT NOT LIMITED TO LOSS OR
- DAMAGE AS A RESULT OF:
- </p>
- <p>
- (I) ANY RELIANCE PLACED BY YOU ON THE COMPLETENESS, ACCURACY OR EXISTENCE OF ANY
- ADVERTISING, OR AS A RESULT OF ANY RELATIONSHIP OR TRANSACTION BETWEEN YOU AND ANY
- ADVERTISER OR SPONSOR WHOSE ADVERTISING APPEARS ON THE SERVICES;
- </p>
- <p>
- (II) ANY CHANGES WHICH GOOGLE MAY MAKE TO THE SERVICES, OR FOR ANY PERMANENT OR TEMPORARY
- CESSATION IN THE PROVISION OF THE SERVICES (OR ANY FEATURES WITHIN THE SERVICES);
- </p>
- <p>
- (III) THE DELETION OF, CORRUPTION OF, OR FAILURE TO STORE, ANY CONTENT AND OTHER
- COMMUNICATIONS DATA MAINTAINED OR TRANSMITTED BY OR THROUGH YOUR USE OF THE SERVICES;
- </p>
- <p>
- (IV) YOUR FAILURE TO PROVIDE GOOGLE WITH ACCURATE ACCOUNT INFORMATION;
- </p>
- <p>
- (V) YOUR FAILURE TO KEEP YOUR PASSWORD OR ACCOUNT DETAILS SECURE AND CONFIDENTIAL;
- </p>
- <p>
- 14.2 THE LIMITATIONS ON GOOGLE’S LIABILITY TO YOU IN PARAGRAPH 14.1 ABOVE SHALL APPLY
- WHETHER OR NOT GOOGLE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF
- ANY SUCH LOSSES ARISING.
- </p>
- <p>
- <strong>15. Copyright and trade mark policies</strong>
- </p>
- <p>
- 15.1 It is Google’s policy to respond to notices of alleged copyright infringement that
- comply with applicable international intellectual property law (including, in the United
- States, the Digital Millennium Copyright Act) and to terminating the accounts of repeat
- infringers. Details of Google’s policy can be found at http://www.google.com/dmca.html.
- </p>
- <p>
- 15.2 Google operates a trade mark complaints procedure in respect of Google’s advertising
- business, details of which can be found at http://www.google.com/tm_complaint.html.
- </p>
- <p>
- <strong>16. Advertisements</strong>
- </p>
- <p>
- 16.1 Some of the Services are supported by advertising revenue and may display
- advertisements and promotions. These advertisements may be targeted to the content of
- information stored on the Services, queries made through the Services or other
- information.
- </p>
- <p>
- 16.2 The manner, mode and extent of advertising by Google on the Services are subject to
- change without specific notice to you.
- </p>
- <p>
- 16.3 In consideration for Google granting you access to and use of the Services, you
- agree that Google may place such advertising on the Services.
- </p>
- <p>
- <strong>17. Other content</strong>
- </p>
- <p>
- 17.1 The Services may include hyperlinks to other web sites or content or resources.
- Google may have no control over any web sites or resources which are provided by
- companies or persons other than Google.
- </p>
- <p>
- 17.2 You acknowledge and agree that Google is not responsible for the availability of any
- such external sites or resources, and does not endorse any advertising, products or other
- materials on or available from such web sites or resources.
- </p>
- <p>
- 17.3 You acknowledge and agree that Google is not liable for any loss or damage which may
- be incurred by you as a result of the availability of those external sites or resources,
- or as a result of any reliance placed by you on the completeness, accuracy or existence
- of any advertising, products or other materials on, or available from, such web sites or
- resources.
- </p>
- <p>
- <strong>18. Changes to the Terms</strong>
- </p>
- <p>
- 18.1 Google may make changes to the Universal Terms or Additional Terms from time to
- time. When these changes are made, Google will make a new copy of the Universal Terms
- available at http://www.google.com/chrome/intl/en/eula_text.html and any new Additional
- Terms will be made available to you from within, or through, the affected Services.
- </p>
- <p>
- 18.2 You understand and agree that if you use the Services after the date on which the
- Universal Terms or Additional Terms have changed, Google will treat your use as
- acceptance of the updated Universal Terms or Additional Terms.
- </p>
- <p>
- <strong>19. General legal terms</strong>
- </p>
- <p>
- 19.1 Sometimes when you use the Services, you may (as a result of, or in connection with
- your use of the Services) use a service or download a piece of software, or purchase
- goods, which are provided by another person or company. Your use of these other services,
- software or goods may be subject to separate terms between you and the company or person
- concerned. If so, the Terms do not affect your legal relationship with these other
- companies or individuals.
- </p>
- <p>
- 19.2 The Terms constitute the whole legal agreement between you and Google and govern
- your use of the Services (but excluding any services which Google may provide to you
- under a separate written agreement), and completely replace any prior agreements between
- you and Google in relation to the Services.
- </p>
- <p>
- 19.3 You agree that Google may provide you with notices, including those regarding
- changes to the Terms, by email, regular mail, or postings on the Services.
- </p>
- <p>
- 19.4 You agree that if Google does not exercise or enforce any legal right or remedy
- which is contained in the Terms (or which Google has the benefit of under any applicable
- law), this will not be taken to be a formal waiver of Google’s rights and that those
- rights or remedies will still be available to Google.
- </p>
- <p>
- 19.5 If any court of law, having the jurisdiction to decide on this matter, rules that
- any provision of these Terms is invalid, then that provision will be removed from the
- Terms without affecting the rest of the Terms. The remaining provisions of the Terms will
- continue to be valid and enforceable.
- </p>
- <p>
- 19.6 You acknowledge and agree that each member of the group of companies of which Google
- is the parent shall be third party beneficiaries to the Terms and that such other
- companies shall be entitled to directly enforce, and rely upon, any provision of the
- Terms which confers a benefit on (or rights in favor of) them. Other than this, no other
- person or company shall be third party beneficiaries to the Terms.
- </p>
- <p>
- 19.7 The Terms, and your relationship with Google under the Terms, shall be governed by
- the laws of the State of California without regard to its conflict of laws provisions.
- You and Google agree to submit to the exclusive jurisdiction of the courts located within
- the county of Santa Clara, California to resolve any legal matter arising from the Terms.
- Notwithstanding this, you agree that Google shall still be allowed to apply for
- injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
- </p>
- <p>
- <strong>20. Additional Terms for Extensions for Google Chrome</strong>
- </p>
- <p>
- 20.1 These terms in this section apply if you install extensions on your copy of Google
- Chrome. Extensions are small software programs, developed by Google or third parties,
- that can modify and enhance the functionality of Google Chrome. Extensions may have
- greater privileges to access your browser or your computer than regular webpages,
- including the ability to read and modify your private data.
- </p>
- <p>
- 20.2 From time to time, Google Chrome may check with remote servers (hosted by Google or
- by third parties) for available updates to extensions, including but not limited to bug
- fixes or enhanced functionality. You agree that such updates will be automatically
- requested, downloaded, and installed without further notice to you.
- </p>
- <p>
- 20.3 From time to time, Google may discover an extension that violates Google developer
- terms or other legal agreements, laws, regulations or policies. Google Chrome will
- periodically download a list of such extensions from Google’s servers. You agree that
- Google may remotely disable or remove any such extension from user systems in its sole
- discretion.
- </p>
- <p>
- <strong>21. Additional Terms for Enterprise Use</strong>
- </p>
- <p>
- 21.1 If you are a business entity, then the individual accepting on behalf of the entity
- (for the avoidance of doubt, for business entities, in these Terms, "you" means the
- entity) represents and warrants that he or she has the authority to act on your behalf,
- that you represent that you are duly authorized to do business in the country or
- countries where you operate, and that your employees, officers, representatives, and
- other agents accessing the Service are duly authorized to access Google Chrome and to
- legally bind you to these Terms.
- </p>
- <p>
- 21.2 Subject to the Terms, and in addition to the license grant in Section 9, Google
- grants you a non-exclusive, non-transferable license to reproduce, distribute, install,
- and use Google Chrome solely on machines intended for use by your employees, officers,
- representatives, and agents in connection with your business entity, and provided that
- their use of Google Chrome will be subject to the Terms.
- </p>
- <p>
- August 12, 2010
- </p><br>
- <hr>
- <br>
- <h2>
- Google Chrome Additional Terms of Service
- </h2>
- <p>
- <strong>MPEGLA</strong>
- </p>
- <p>
- THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL AND
- NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD
- ( “AVC VIDEOâ€) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A
- PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PARTNER LICENSED TO
- PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE.
- ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM.
- </p>
- <p>
- <strong>Adobe</strong>
- </p>
- <p>
- Google Chrome may include one or more components provided by Adobe Systems Incorporated
- and Adobe Software Ireland Limited (collectively “Adobeâ€). Your use of the Adobe software
- as provided by Google (“Adobe Softwareâ€) is subject to the following additional terms
- (the “Adobe Termsâ€). You, the entity receiving the Adobe Software, will be hereinafter
- referred to as “Sublicensee.â€
- </p>
- <p>
- 1. License Restrictions.
- </p>
- <p>
- (a) Flash Player, Version 10.x is designed only as a browser plug-in. Sublicensee may not
- modify or distribute this Adobe Software for use as anything but a browser plug-in for
- playing back content on a web page. For example, Sublicensee will not modify this Adobe
- Software in order to allow interoperation with applications that run outside of the
- browser (e.g., standalone applications, widgets, device UI).
- </p>
- <p>
- (b) Sublicensee will not expose any APIs of the Flash Player, Version 10.x through a
- browser plug-in interface in such a way that allows such extension to be used to playback
- content from a web page as a stand-alone application.
- </p>
- <p>
- (c) The Chrome-Reader Software may not be used to render any PDF or EPUB documents that
- utilize digital rights management protocols or systems other than Adobe DRM.
- </p>
- <p>
- (d) Adobe DRM must be enabled in the Chrome-Reader Software for all Adobe DRM protected
- PDF and EPUB documents.
- </p>
- <p>
- (e) The Chrome-Reader Software may not, other than as explicitly permitted by the
- technical specifications, disable any capabilities provided by Adobe in the Adobe
- Software, including but not limited to, support for PDF and EPUB formats and Adobe DRM.
- </p>
- <p>
- 2. Electronic Transmission. Sublicensee may allow the download of the Adobe Software from
- a web site, the Internet, an intranet, or similar technology (an, “Electronic
- Transmissionsâ€) provided that Sublicensee agrees that any distributions of the Adobe
- Software by Sublicensee, including those on CD-ROM, DVD-ROM or other storage media and
- Electronic Transmissions, if expressly permitted, shall be subject to reasonable security
- measures to prevent unauthorized use. With relation to Electronic Transmissions approved
- hereunder, Sublicensee agrees to employ any reasonable use restrictions set by Adobe,
- including those related to security and/or the restriction of distribution to end users
- of the Sublicensee Product.
- </p>
- <p>
- 3. EULA and Distribution Terms.
- </p>
- <p>
- (a) Sublicensee shall ensure that the Adobe Software is distributed to end users under an
- enforceable end user license agreement, in favor of Sublicensee and its suppliers
- containing at least each of the following minimum terms (the “End-User Licenseâ€): (i) a
- prohibition against distribution and copying, (ii) a prohibition against modifications
- and derivative works, (iii) a prohibition against decompiling, reverse engineering,
- disassembling, and otherwise reducing the Adobe Software to a human-perceivable form,
- (iv) a provision indicating ownership of Sublicensee Product (as defined in Section 8) by
- Sublicensee and its licensors, (v) a disclaimer of indirect, special, incidental,
- punitive, and consequential damages, and (vi) other industry standard disclaimers and
- limitations, including, as applicable: a disclaimer of all applicable statutory
- warranties, to the full extent allowed by law.
- </p>
- <p>
- (b) Sublicensee shall ensure that the Adobe Software is distributed to Sublicensee’s
- distributors under an enforceable distribution license agreement, in favor of Sublicensee
- and its suppliers containing terms as protective of Adobe as the Adobe Terms.
- </p>
- <p>
- 4. Opensource. Sublicensee will not directly or indirectly grant, or purport to grant, to
- any third party any rights or immunities under Adobe’s intellectual property or
- proprietary rights that will subject such intellectual property to an open source license
- or scheme in which there is or could be interpreted to be a requirement that as a
- condition of use, modification and/or distribution, the Adobe Software be: (i) disclosed
- or distributed in source code form; (ii) licensed for the purpose of making derivative
- works; or (iii) redistributable at no charge. For clarification purposes, the foregoing
- restriction does not preclude Sublicensee from distributing, and Sublicensee will
- distribute the Adobe Software as bundled with the Google Software, without charge.
- </p>
- <p>
- 5. Additional Terms. With respect to any update, upgrade, new versions of the Adobe
- Software (collectively “Upgradesâ€) provided to Sublicenses, Adobe reserves the right to
- require additional terms and conditions applicable solely to the Upgrade and future
- versions thereof, and solely to the extent that such restrictions are imposed by Adobe on
- all licensees of such Upgrade. If Sublicensee does not agree to such additional terms or
- conditions, Sublicensee will have no license rights with respect to such Upgrade, and
- Sublicensee’s license rights with respect to the Adobe Software will terminate
- automatically on the 90th day from the date such additional terms are made available to
- Sublicensee.
- </p>
- <p>
- 6. Proprietary Rights Notices. Sublicensee shall not, and shall require its distributors
- not to, delete or in any manner alter the copyright notices, trademarks, logos or related
- notices, or other proprietary rights notices of Adobe (and its licensors, if any)
- appearing on or within the Adobe Software or accompanying materials.
- </p>
- <p>
- 7. Technical Requirements. Sublicensee and its distributors may only distribute Adobe
- Software and/or Upgrade on devices that (i) meet the technical specifications posted on
- http://www.adobe.com/mobile/licensees, (or a successor web site thereto), and (ii) has
- been verified by Adobe as set forth below.
- </p>
- <p>
- 8. Verification and Update. Sublicensee must submit to Adobe each Sublicensee product
- (and each version thereof) containing the Adobe Software and/or Upgrade (“Sublicensee
- Productâ€) that do not meet the Device Verification exemption criteria to be communicated
- by Google, for Adobe to verify. Sublicensee shall pay for each submission made by
- Sublicensee by procuring verification packages at Adobe’s then-current terms set forth at
- http://flashmobile.adobe.com/. Sublicensee Product that has not passed verification may
- not be distributed. Verification will be accomplished in accordance with Adobe’s
- then-current process described at http://flashmobile.adobe.com/ (“Verificationâ€).
- </p>
- <p>
- 9. Profiles and Device Central. Sublicensee will be prompted to enter certain profile
- information about the Sublicensee Products either as part of the Verification process or
- some other method, and Sublicensee will provide such information, to Adobe. Adobe may (i)
- use such profile information as reasonably necessary to verify the Sublicensee Product
- (if such product is subject to Verification), and (ii) display such profile information
- in “Adobe Device Intelligence system,†located at
- https://devices.adobe.com/partnerportal/, and made available through Adobe’s authoring
- and development tools and services to enable developers and end users to see how content
- or applications are displayed in Sublicensee Products (e.g. how video images appear in
- certain phones).
- </p>
- <p>
- 10. Export. Sublicensee acknowledges that the laws and regulations of the United States
- restrict the export and re-export of commodities and technical data of United States
- origin, which may include the Adobe Software. Sublicensee agrees that it will not export
- or re-export the Adobe Software, without the appropriate United States and foreign
- governmental clearances, if any.
- </p>
- <p>
- 11. Technology Pass-through Terms.
- </p>
- <p>
- (a) Except pursuant to applicable permissions or agreements therefor, from or with the
- applicable parties, Sublicensees shall not use and shall not allow the use of, the Adobe
- Software for the encoding or decoding of mp3 audio only (.mp3) data on any non-pc device
- (e.g., mobile phone or set-top box), nor may the mp3 encoders or decoders contained in
- the Adobe Software be used or accessed by any product other than the Adobe Software. The
- Adobe Software may be used for the encoding or decoding of MP3 data contained within a
- swf or flv file, which contains video, picture or other data. Sublicensee shall
- acknowledge that use of the Adobe Software for non-PC devices, as described in the
- prohibitions in this section, may require the payment of licensing royalties or other
- amounts to third parties who may hold intellectual property rights related to the MP3
- technology and that Adobe nor Sublicensee has not paid any royalties or other amounts on
- account of third party intellectual property rights for such use. If Sublicensee requires
- an MP3 encoder or decoder for such use, Sublicensee is responsible for obtaining the
- necessary intellectual property license, including any applicable patent rights.
- </p>
- <p>
- (b) Sublicensee will not use, copy, reproduce and modify (i) the On2 source code
- (provided hereunder as a component of the Source Code) as necessary to enable the Adobe
- Software to decode video in the Flash video file format (.flv or .f4v), and (ii) the
- Sorenson Spark source code (provided hereunder as a component of the Source Code) for the
- limited purpose of making bug fixes and performance enhancements to the Adobe Software.
- All codecs provided with the Adobe Software may only be used and distributed as an
- integrated part of the Adobe Software and may not be accessed by any other application,
- including other Google applications.
- </p>
- <p>
- (c) The Source Code may be provided with an AAC codec and/or HE-AAC codec (“the AAC
- Codecâ€). Use of the AAC Codec is conditioned on Sublicensee obtaining a proper patent
- license covering necessary patents as provided by VIA Licensing, for end products on or
- in which the AAC Codec will be used. Sublicensee acknowledges and agrees that Adobe is
- not providing a patent license for an AAC Codec under this Agreement to Sublicensee or
- its sublicensees.
- </p>
- <p>
- (d) THE SOURCE CODE MAY CONTAIN CODE LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR
- THE PERSONAL NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE
- AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER
- ENGAGED IN A PERSONAL NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER
- LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR WILL BE IMPLIED FOR ANY OTHER
- USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. See
- http://www.mpegla.com
- </p>
- <p>
- 12. Update. Sublicensee will not circumvent Google’s or Adobe’s efforts to update the
- Adobe Software in all Sublicensee’s products incorporating the Adobe Software as bundled
- with the Google Software (“Sublicensee Productsâ€).
- </p>
- <p>
- 13. Attribution and Proprietary Notices. Sublicensee will list the Adobe Software in
- publicly available Sublicensee Product specifications and include appropriate Adobe
- Software branding (specifically excluding the Adobe corporate logo) on the Sublicensee
- Product packaging or marketing materials in a manner consistent with branding of other
- third party products contained within the Sublicensee Product.
- </p>
- <p>
- 14. No Warranty. THE ADOBE SOFTWARE IS MADE AVAILABLE TO SUBLICENSEE FOR USE AND
- REPRODUCTION “AS IS†AND ADOBE MAKES NO WARRANTY AS TO ITS USE OR PERFORMANCE. ADOBE AND
- ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS OBTAINED BY USING THE
- ADOBE SOFTWARE. EXCEPT FOR ANY WARRANTY, CONDITION, REPRESENTATION OR TERM TO THE EXTENT
- TO WHICH THE SAME CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO
- SUBLICENSEEIN SUBLICENSEE’S JURISDICTION, ADOBE AND ITS SUPPLIERS MAKE NO WARRANTIES,
- CONDITIONS, REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW,
- CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION NONINFRINGEMENT
- OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, OR FITNESS FOR
- ANY PARTICULAR PURPOSE. SUBLICENSEE AGREES THAT SUBLICENSEE SHALL NOT MAKE ANY WARRANTY,
- EXPRESS OR IMPLIED, ON BEHALF OF ADOBE.
- </p>
- <p>
- 15. Limitation of Liability. IN NO EVENT WILL ADOBE OR ITS SUPPLIERS BE LIABLE TO
- SUBLICENSEE FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL, INDIRECT,
- OR INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS, EVEN IF AN ADOBE
- REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS
- OR FOR ANY CLAIM BY ANY THIRD PARTY. THE FOREGOING LIMITATIONS AND EXCLUSIONS APPLY TO
- THE EXTENT PERMITTED BY APPLICABLE LAW IN SUBLICENSEE’S JURISDICTION. ADOBE’S AGGREGATE
- LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE
- LIMITED TO ONE THOUSAND DOLLARS (US$1,000). Nothing contained in this Agreement limits
- Adobe’s liability to Sublicensee in the event of death or personal injury resulting from
- Adobe’s negligence or for the tort of deceit (fraud). Adobe is acting on behalf of its
- suppliers for the purpose of disclaiming, excluding and/or limiting obligations,
- warranties and liability as provided in this Agreement, but in no other respects and for
- no other purpose.
- </p>
- <p>
- 16. Content Protection Terms
- </p>
- <p>
- (a) Definitions.
- </p>
- <p>
- “Compliance and Robustness Rules†means the document setting forth compliance and
- robustness rules for the Adobe Software located at http://www.adobe.com/mobile/licensees,
- or a successor web site thereto.
- </p>
- <p>
- “Content Protection Functions†means those aspects of the Adobe Software that are
- designed to ensure compliance with the Compliance and Robustness Rules, and to prevent
- playback, copying, modification, redistribution or other actions with respect to digital
- content distributed for consumption by users of the Adobe Software when such actions are
- not authorized by the owners of such digital content or its licensed distributors.
- </p>
- <p>
- “Content Protection Code†means code within certain designated versions of the Adobe
- Software that enables certain Content Protection Functions.
- </p>
- <p>
- “Key†means a cryptographic value contained in the Adobe Software for use in decrypting
- digital content.
- </p>
- <p>
- (b) License Restrictions. Sublicensee’s right to exercise the licenses with respect to
- the Adobe Software is subject to the following additional restrictions and obligations.
- Sublicensee will ensure that Sublicensee’s customers comply with these restrictions and
- obligations to the same extent imposed on Sublicensee with respect to the Adobe Software;
- any failure by Sublicensee’s customers to comply with these additional restrictions and
- obligations shall be treated as a material breach by Sublicensee.
- </p>
- <p>
- b.1. Sublicensee and customers may only distribute the Adobe Software that meets the
- Robustness and Compliance Rules as so confirmed by Sublicensee during the verification
- process described above in the Adobe Terms.
- </p>
- <p>
- b.2. Sublicensee shall not (i) circumvent the Content Protection Functions of either the
- Adobe Software or any related Adobe Software that is used to encrypt or decrypt digital
- content for authorized consumption by users of the Adobe Software, or (ii) develop or
- distribute products that are designed to circumvent the Content Protection Functions of
- either the Adobe Software or any Adobe Software that is used to encrypt or decrypt
- digital content for authorized consumption by users of the Adobe Software.
- </p>
- <p>
- (c) The Keys are hereby designated as Adobe’s Confidential Information, and Sublicensee
- will, with respect to the Keys, adhere to Adobe’s Source Code Handling Procedure (to be
- provided by Adobe upon request).
- </p>
- <p>
- (d) Injunctive Relief. Sublicensee agrees that a breach of this Agreement may compromise
- the Content Protection Functions of the Adobe Software and may cause unique and lasting
- harm to the interests of Adobe and owners of digital content that rely on such Content
- Protection Functions, and that monetary damages may be inadequate to compensate fully for
- such harm. Therefore, Sublicensee further agrees that Adobe may be entitled to seek
- injunctive relief to prevent or limit the harm caused by any such breach, in addition to
- monetary damages.
- </p>
- <p>
- 17. Intended Third-party Beneficiary. Adobe Systems Incorporated and Adobe Software
- Ireland Limited are the intended third-party beneficiaries of Google’s agreement with
- Sublicensee with respect to the Adobe Software, including but not limited to, the Adobe
- Terms. Sublicensee agrees, notwithstanding anything to the contrary in its agreement with
- Google, that Google may disclose Sublicensee’s identity to Adobe and certify in writing
- that Sublicensee has entered into a license agreement with Google which includes the
- Adobe Terms. Sublicensee must have an agreement with each of its licensees, and if such
- licensees are allowed to redistribute the Adobe Software, such agreement will include the
- Adobe Terms.
- </p>
- </div>
- </div>
-
-</body></html> \ No newline at end of file
diff --git a/abs/extra/google-chrome/google-chrome-stable.sh b/abs/extra/google-chrome/google-chrome-stable.sh
new file mode 100644
index 0000000..e55c822
--- /dev/null
+++ b/abs/extra/google-chrome/google-chrome-stable.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# Allow users to override command-line options
+if [[ -f ~/.config/chrome-flags.conf ]]; then
+ CHROME_USER_FLAGS="$(cat ~/.config/chrome-flags.conf)"
+fi
+
+# Launch
+exec /opt/google/chrome/google-chrome $CHROME_USER_FLAGS "$@" \ No newline at end of file
diff --git a/abs/extra/google-chrome/google-chrome.install b/abs/extra/google-chrome/google-chrome.install
index c958cc3..541b400 100644
--- a/abs/extra/google-chrome/google-chrome.install
+++ b/abs/extra/google-chrome/google-chrome.install
@@ -15,8 +15,9 @@ yellow="${bold}$(tput setaf 3)"
_update() {
msg_blue "Updating desktop MIME database..."
update-desktop-database -q
+
msg_blue "Updating icon cache.."
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
}
post_install() {
@@ -24,14 +25,13 @@ post_install() {
if [ ! -e /usr/bin/chromium ]; then
ln -s /usr/bin/google-chrome /usr/bin/chromium
fi
+ note "Custom flags should be put directly in: ~/.config/chrome-flags.conf"
}
-
post_upgrade() {
post_install
}
-
post_remove() {
_update
if [ -h /usr/bin/chromium ]; then
diff --git a/abs/extra/gperftools/PKGBUILD b/abs/extra/gperftools/PKGBUILD
new file mode 100644
index 0000000..fbdb440
--- /dev/null
+++ b/abs/extra/gperftools/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas Jost <schnouki@schnouki.net>
+# Contributor: JaDa <jada@archlinux.us>
+# Contributor: Joaquim Pedro <osmano807@gmail.com>
+# Contributor: Jan Rüegg <rggjan@gmail.com>
+
+pkgname=gperftools
+pkgver=2.4
+pkgrel=2
+pkgdesc="Fast, multi-threaded malloc and nifty performance analysis tools"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/gperftools/"
+license=('BSD')
+depends=('perl')
+provides=('libtcmalloc.so'
+ 'libprofiler.so'
+ 'libtcmalloc_debug.so'
+ 'libtcmalloc_and_profiler.so'
+ 'libtcmalloc_minimal.so'
+ 'libtcmalloc_minimal_debug.so')
+optdepends=('graphviz: pprof graph generation'
+ 'gv: pprof postscript generation')
+source=("https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/$pkgname-$pkgver.tar.gz")
+md5sums=('2171cea3bbe053036fb5d5d25176a160')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --enable-frame-pointers
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch b/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
new file mode 100644
index 0000000..d187d40
--- /dev/null
+++ b/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
@@ -0,0 +1,85 @@
+From affd6e70734d7897324409d6fc0beb7b4eb7235a Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Wed, 6 Jan 2016 14:54:33 -0500
+Subject: [PATCH 1/2] x11: Only do cursor name fallback for standard names
+
+Always returning a left_ptr if we can't find anything better
+broke firefox application-specific fallback for missing cursors.
+Keep that working by only doing the fallback for the CSS cursor
+names, not for things like hashes.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=760141
+---
+ gdk/x11/gdkcursor-x11.c | 24 ++++++++++++++++++++----
+ 1 file changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c
+index 540f48e..d619f58 100644
+--- a/gdk/x11/gdkcursor-x11.c
++++ b/gdk/x11/gdkcursor-x11.c
+@@ -611,17 +611,23 @@ static const struct {
+ const gchar *css_name, *traditional_name;
+ } name_map[] = {
+ { "default", "left_ptr" },
++ { "help", "left_ptr" },
++ { "context-menu", "left_ptr" },
+ { "pointer", "hand" },
+ { "progress", "left_ptr_watch" },
+ { "wait", "watch" },
+ { "cell", "crosshair" },
+ { "crosshair", "cross" },
+ { "text", "xterm" },
++ { "vertical-text","xterm" },
+ { "alias", "dnd-link" },
+ { "copy", "dnd-copy" },
++ { "move", "dnd-move" },
+ { "no-drop", "dnd-none" },
+ { "not-allowed", "crossed_circle" },
+ { "grab", "hand2" },
++ { "grabbing", "hand2" },
++ { "all-scroll", "left_ptr" },
+ { "col-resize", "h_double_arrow" },
+ { "row-resize", "v_double_arrow" },
+ { "n-resize", "top_side" },
+@@ -636,6 +642,8 @@ static const struct {
+ { "ns-resize", "v_double_arrow" },
+ { "nesw-resize", "fd_double_arrow" },
+ { "nwse-resize", "bd_double_arrow" },
++ { "zoom-in", "left_ptr" },
++ { "zoom-out", "left_ptr" },
+ { NULL, NULL }
+ };
+
+@@ -650,7 +658,7 @@ name_fallback (const gchar *name)
+ return name_map[i].traditional_name;
+ }
+
+- return "left_ptr";
++ return NULL;
+ }
+
+ GdkCursor*
+@@ -683,9 +691,17 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display,
+ xdisplay = GDK_DISPLAY_XDISPLAY (display);
+ xcursor = XcursorLibraryLoadCursor (xdisplay, name);
+ if (xcursor == None)
+- xcursor = XcursorLibraryLoadCursor (xdisplay, name_fallback (name));
+- if (xcursor == None)
+- xcursor = XcursorLibraryLoadCursor (xdisplay, "left_ptr");
++ {
++ const char *fallback;
++
++ fallback = name_fallback (name);
++ if (fallback)
++ {
++ xcursor = XcursorLibraryLoadCursor (xdisplay, fallback);
++ if (xcursor == None)
++ xcursor = XcursorLibraryLoadCursor (xdisplay, "left_ptr");
++ }
++ }
+ if (xcursor == None)
+ return NULL;
+ }
+--
+2.7.0
+
diff --git a/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch b/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
new file mode 100644
index 0000000..94b69fb
--- /dev/null
+++ b/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
@@ -0,0 +1,94 @@
+From 81a287478a4db9ce650cc764474b9c173b137dee Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Wed, 6 Jan 2016 14:56:06 -0500
+Subject: [PATCH 2/2] wayland: Only do cursor name fallback for standard names
+
+Always returning a left_ptr if we can't find anything better
+broke firefox application-specific fallback for missing cursors.
+Keep that working by only doing the fallback for the CSS cursor
+names, not for things like hashes.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=760141
+---
+ gdk/wayland/gdkcursor-wayland.c | 29 +++++++++++++++++++++--------
+ 1 file changed, 21 insertions(+), 8 deletions(-)
+
+diff --git a/gdk/wayland/gdkcursor-wayland.c b/gdk/wayland/gdkcursor-wayland.c
+index 8aee5ae..bdfa316 100644
+--- a/gdk/wayland/gdkcursor-wayland.c
++++ b/gdk/wayland/gdkcursor-wayland.c
+@@ -87,17 +87,23 @@ static const struct {
+ const gchar *css_name, *traditional_name;
+ } name_map[] = {
+ { "default", "left_ptr" },
++ { "help", "left_ptr" },
++ { "context-menu", "left_ptr" },
+ { "pointer", "hand" },
+ { "progress", "left_ptr_watch" },
+ { "wait", "watch" },
+ { "cell", "crosshair" },
+ { "crosshair", "cross" },
+ { "text", "xterm" },
++ { "vertical-text","xterm" },
+ { "alias", "dnd-link" },
+ { "copy", "dnd-copy" },
++ { "move", "dnd-move" },
+ { "no-drop", "dnd-none" },
+ { "not-allowed", "crossed_circle" },
+ { "grab", "hand2" },
++ { "grabbing", "hand2" },
++ { "all-scroll", "left_ptr" },
+ { "col-resize", "h_double_arrow" },
+ { "row-resize", "v_double_arrow" },
+ { "n-resize", "top_side" },
+@@ -112,6 +118,8 @@ static const struct {
+ { "ns-resize", "v_double_arrow" },
+ { "nesw-resize", "fd_double_arrow" },
+ { "nwse-resize", "bd_double_arrow" },
++ { "zoom-in", "left_ptr" },
++ { "zoom-out", "left_ptr" },
+ { NULL, NULL }
+ };
+
+@@ -126,7 +134,7 @@ name_fallback (const gchar *name)
+ return name_map[i].traditional_name;
+ }
+
+- return "left_ptr";
++ return NULL;
+ }
+
+ static gboolean
+@@ -144,17 +152,22 @@ _gdk_wayland_cursor_update (GdkWaylandDisplay *wayland_display,
+ cursor->scale);
+ c = wl_cursor_theme_get_cursor (theme, cursor->name);
+ if (!c)
+- c = wl_cursor_theme_get_cursor (theme, name_fallback (cursor->name));
++ {
++ const char *fallback;
++
++ fallback = name_fallback (cursor->name);
++ if (fallback)
++ {
++ c = wl_cursor_theme_get_cursor (theme, name_fallback (cursor->name));
++ if (!c)
++ c = wl_cursor_theme_get_cursor (theme, "left_ptr");
++ }
++ }
+
+ if (!c)
+ {
+ g_warning (G_STRLOC ": Unable to load %s from the cursor theme", cursor->name);
+-
+- /* return the left_ptr cursor as a fallback */
+- c = wl_cursor_theme_get_cursor (theme, "left_ptr");
+-
+- if (!c)
+- return FALSE;
++ return FALSE;
+ }
+
+ cursor->wl_cursor = c;
+--
+2.7.0
+
diff --git a/abs/extra/gtk3/PKGBUILD b/abs/extra/gtk3/PKGBUILD
index 5557008..15dc342 100644
--- a/abs/extra/gtk3/PKGBUILD
+++ b/abs/extra/gtk3/PKGBUILD
@@ -2,23 +2,34 @@
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-pkgname=gtk3
-pkgver=3.14.5
-pkgrel=1
-pkgdesc="GObject-based multi-platform GUI toolkit (v3)"
+pkgbase=gtk3
+pkgname=(gtk3 gtk-update-icon-cache)
+pkgver=3.18.6
+pkgrel=2
+pkgdesc="GObject-based multi-platform GUI toolkit"
arch=(i686 x86_64)
url="http://www.gtk.org/"
-install=gtk3.install
-depends=(atk cairo gtk-update-icon-cache libcups libxcursor libxinerama libxrandr libxi
+depends=(atk cairo libcups libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2
libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon
- adwaita-icon-theme json-glib rest)
-makedepends=(gobject-introspection python2)
+ adwaita-icon-theme json-glib rest librsvg)
+makedepends=(gobject-introspection libcanberra)
license=(LGPL)
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz)
-sha256sums=('ba70f5ccde6646c6d8aa5a6398794b7bcf23fc45af22580a215d258f392dbbe2')
+source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz
+ 0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
+ 0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
+ settings.ini)
+sha256sums=('78cabf0fd5a662f8723f62d5ac633072c76c557c1d700454c9c3deaa37e441ef'
+ '0402c3b7801810beb0f24ad20e4fb2eb7519cf3984f39e093a6e2752a0f7d9de'
+ '94722b06284e76f628fc8933617ac19c14f6775a5250fe3c382defab63d7b10e'
+ '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202')
prepare() {
cd gtk+-$pkgver
+
+ # Fix zoom in/out cursors in GTK3 builds of Firefox
+ # https://bugzilla.gnome.org/show_bug.cgi?id=760141
+ patch -Np1 -i ../0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
+ patch -Np1 -i ../0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
}
build() {
@@ -27,7 +38,6 @@ build() {
CXX=/bin/false ./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
- --enable-gtk2-dependency \
--disable-schemas-compile \
--enable-x11-backend \
--enable-broadway-backend \
@@ -39,7 +49,26 @@ build() {
make
}
-package() {
+package_gtk3() {
+ depends+=(gtk-update-icon-cache)
+ optdepends=('libcanberra: gtk3-widget-factory demo')
+ install=gtk3.install
+
cd "gtk+-$pkgver"
make DESTDIR="$pkgdir" install
+ install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
+
+ # split this out to use with gtk2 too
+ rm "$pkgdir/usr/bin/gtk-update-icon-cache"
}
+
+package_gtk-update-icon-cache() {
+ pkgdesc="GTK+ icon cache updater"
+ depends=(gdk-pixbuf2 hicolor-icon-theme)
+ install=gtk-update-icon-cache.install
+
+ cd gtk+-$pkgver/gtk
+ install -Dm755 gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
+}
+
+# vim:set et sw=4:
diff --git a/abs/core/gtk2/gtk-update-icon-cache.install b/abs/extra/gtk3/gtk-update-icon-cache.install
index 1afcc72..1afcc72 100644
--- a/abs/core/gtk2/gtk-update-icon-cache.install
+++ b/abs/extra/gtk3/gtk-update-icon-cache.install
diff --git a/abs/extra/gtk3/settings.ini b/abs/extra/gtk3/settings.ini
index 6a0643b..921d1dd 100644
--- a/abs/extra/gtk3/settings.ini
+++ b/abs/extra/gtk3/settings.ini
@@ -1,4 +1,4 @@
[Settings]
-gtk-icon-theme-name = gnome
+gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = Cantarell 11
diff --git a/abs/extra/gtk3/wacom.patch b/abs/extra/gtk3/wacom.patch
deleted file mode 100644
index 79ad84f..0000000
--- a/abs/extra/gtk3/wacom.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u -r gtk+-3.4.2/gdk/x11/gdkdevicemanager-xi2.c gtk+-3.4.2-wacom/gdk/x11/gdkdevicemanager-xi2.c
---- gtk+-3.4.2/gdk/x11/gdkdevicemanager-xi2.c 2012-05-02 14:45:04.000000000 +0200
-+++ gtk+-3.4.2-wacom/gdk/x11/gdkdevicemanager-xi2.c 2012-05-03 18:34:18.034807644 +0200
-@@ -331,6 +331,8 @@
- input_source = GDK_SOURCE_ERASER;
- else if (strstr (tmp_name, "cursor"))
- input_source = GDK_SOURCE_CURSOR;
-+ else if (strstr (tmp_name, "finger"))
-+ input_source = GDK_SOURCE_TOUCHSCREEN;
- else if (strstr (tmp_name, "wacom") ||
- strstr (tmp_name, "pen"))
- input_source = GDK_SOURCE_PEN;
diff --git a/abs/extra/guile/PKGBUILD b/abs/extra/guile/PKGBUILD
index 50f10eb..642bf8a 100644
--- a/abs/extra/guile/PKGBUILD
+++ b/abs/extra/guile/PKGBUILD
@@ -1,29 +1,29 @@
-# $Id: PKGBUILD 150868 2012-02-23 13:23:16Z ibiru $
+# $Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=guile
-pkgver=1.8.8
-pkgrel=2
-pkgdesc="a portable, embeddable Scheme implementation written in C"
-url="http://www.gnu.org/software/guile/"
-arch=(i686 x86_64)
+pkgver=2.0.11
+pkgrel=3
+pkgdesc='Portable, embeddable Scheme implementation written in C'
+url='http://www.gnu.org/software/guile/'
+arch=('i686' 'x86_64')
license=('GPL')
-depends=('gmp' 'libltdl' 'ncurses>=5.7' 'texinfo')
+depends=('gmp' 'libltdl' 'ncurses' 'texinfo' 'libunistring' 'gc' 'libffi')
install=guile.install
-source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-options=('!libtool')
-md5sums=('18661a8fdfef13e2fcb7651720aa53f3')
+source=(ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('e532c68c6f17822561e3001136635ddd')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname-$pkgver
./configure --prefix=/usr \
- --disable-static \
- --disable-error-on-warning
- make LDFLAGS+="-lpthread"
+ --disable-static \
+ --disable-error-on-warning
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ make -C $pkgname-$pkgver DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/lib/libguile-2.0.so.22.7.2-gdb.scm
}
diff --git a/abs/extra/handbrake/PKGBUILD b/abs/extra/handbrake/PKGBUILD
index 058f218..499f790 100644
--- a/abs/extra/handbrake/PKGBUILD
+++ b/abs/extra/handbrake/PKGBUILD
@@ -4,18 +4,18 @@
# Contributor: Sebastien Piccand <sebcactus gmail com>
pkgname=('handbrake' 'handbrake-cli')
-pkgver=0.10.0
-pkgrel=1
+pkgver=0.10.2
+pkgrel=3
arch=('i686' 'x86_64')
-url="http://handbrake.fr/"
+url="https://handbrake.fr/"
license=('GPL')
makedepends=('intltool' 'python2' 'yasm' 'wget' 'bzip2' 'gcc-libs' 'libnotify'
'gst-plugins-base' 'gtk3' 'dbus-glib' 'fribidi' 'libass' 'lame'
'fontconfig' 'freetype2' 'libxml2' 'libogg' 'libvorbis' 'cmake'
'libtheora' 'libsamplerate' 'libbluray' 'x264' 'libx264'
- 'libdvdnav')
-source=(http://downloads.sourceforge.net/project/handbrake/$pkgver/HandBrake-$pkgver.tar.bz2)
-sha256sums=('a91042da3cc08454844f7c171ee2fde4f0ed08176407fc0328d5118227ed4114')
+ 'libdvdnav' 'librsvg' 'libgudev')
+source=(https://handbrake.fr/mirror/HandBrake-$pkgver.tar.bz2)
+sha256sums=('4cc3828393b26a982dbe00febd700c5090d3443c1d45492e0b373e02da73c699')
prepare() {
cd "$srcdir/HandBrake-$pkgver"
@@ -46,7 +46,9 @@ package_handbrake() {
depends=('bzip2' 'gcc-libs' 'gst-plugins-base' 'libnotify' 'dbus-glib'
'fribidi' 'libass' 'lame' 'gtk3' 'fontconfig' 'freetype2' 'libxml2'
'libogg' 'libvorbis' 'libtheora' 'libsamplerate' 'libbluray'
- 'libx264' 'libdvdnav' 'desktop-file-utils' 'hicolor-icon-theme')
+ 'libx264' 'libdvdnav' 'librsvg' 'libgudev' 'desktop-file-utils'
+ 'hicolor-icon-theme')
+ depends+=('libx264.so')
optdepends=('gst-plugins-good: for video previews'
'gst-libav: for video previews')
install=$pkgname.install
@@ -61,6 +63,7 @@ package_handbrake-cli() {
pkgdesc="Multithreaded video transcoder (CLI)"
depends=('bzip2' 'gcc-libs' 'zlib' 'fribidi' 'libass' 'lame' 'libxml2'
'libtheora' 'libsamplerate' 'libbluray' 'libx264' 'libdvdnav')
+ depends+=('libx264.so')
cd "$srcdir/HandBrake-$pkgver/build"
install -D HandBrakeCLI "$pkgdir/usr/bin/HandBrakeCLI"
diff --git a/abs/extra/handbrake/standard-presets-fix-type.patch b/abs/extra/handbrake/standard-presets-fix-type.patch
new file mode 100644
index 0000000..797c3fa
--- /dev/null
+++ b/abs/extra/handbrake/standard-presets-fix-type.patch
@@ -0,0 +1,88 @@
+Index: branches/0.10.x/gtk/src/standard_presets.xml
+===================================================================
+--- branches/0.10.x/gtk/src/standard_presets.xml (revision 6995)
++++ branches/0.10.x/gtk/src/standard_presets.xml (revision 7008)
+@@ -85,5 +85,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -216,5 +216,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -347,5 +347,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -478,5 +478,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -625,5 +625,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -772,5 +772,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -919,5 +919,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1050,5 +1050,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1181,5 +1181,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1312,5 +1312,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1458,5 +1458,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1605,5 +1605,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
diff --git a/abs/extra/hardening-wrapper/PKGBUILD b/abs/extra/hardening-wrapper/PKGBUILD
new file mode 100644
index 0000000..b863f7e
--- /dev/null
+++ b/abs/extra/hardening-wrapper/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+pkgname=hardening-wrapper
+pkgver=10
+pkgrel=1
+pkgdesc='Wrapper scripts for building hardened executables by default'
+arch=(i686 x86_64)
+url='https://github.com/thestinger/hardening-wrapper'
+license=('MIT')
+depends=(bash)
+backup=(etc/hardening-wrapper.conf)
+source=("$pkgname-$pkgver.tar.gz::https://github.com/thestinger/hardening-wrapper/archive/$pkgver.tar.gz"
+ path.sh hardening-wrapper-i686.conf hardening-wrapper-x86_64.conf)
+sha1sums=('61e8c7e3062e6830cd7b190aa6b81834138a7137'
+ '1e5f6d9931f01b26bb4b6fbb839e21d34d534cdc'
+ '6729f0a6d2af72b6def9383e8104d0f763d3f01d'
+ '9453d7984a4a90aa884a51a7bf1bd2c72cbddc9f')
+
+package() {
+ install -Dm644 hardening-wrapper-${CARCH}.conf "$pkgdir/etc/hardening-wrapper.conf"
+ install -Dm644 path.sh "$pkgdir/etc/profile.d/hardening-wrapper.sh"
+
+ cd $pkgname-$pkgver
+ make install DESTDIR="$pkgdir" PREFIX=/usr
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/hardening-wrapper/hardening-wrapper-i686.conf b/abs/extra/hardening-wrapper/hardening-wrapper-i686.conf
new file mode 100644
index 0000000..5bc97ed
--- /dev/null
+++ b/abs/extra/hardening-wrapper/hardening-wrapper-i686.conf
@@ -0,0 +1,6 @@
+HARDENING_BINDNOW=0
+HARDENING_PIE=0
+HARDENING_FORTIFY=2
+HARDENING_RELRO=1
+HARDENING_STACK_CHECK=1
+HARDENING_STACK_PROTECTOR=2
diff --git a/abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf b/abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf
new file mode 100644
index 0000000..15d4fd1
--- /dev/null
+++ b/abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf
@@ -0,0 +1,6 @@
+HARDENING_BINDNOW=0
+HARDENING_PIE=1
+HARDENING_FORTIFY=2
+HARDENING_RELRO=1
+HARDENING_STACK_CHECK=1
+HARDENING_STACK_PROTECTOR=2
diff --git a/abs/extra/hardening-wrapper/path.sh b/abs/extra/hardening-wrapper/path.sh
new file mode 100644
index 0000000..640ab75
--- /dev/null
+++ b/abs/extra/hardening-wrapper/path.sh
@@ -0,0 +1 @@
+export PATH="/usr/lib/hardening-wrapper/bin:$PATH"
diff --git a/abs/extra/harfbuzz/PKGBUILD b/abs/extra/harfbuzz/PKGBUILD
index 1c066f1..df8912c 100644
--- a/abs/extra/harfbuzz/PKGBUILD
+++ b/abs/extra/harfbuzz/PKGBUILD
@@ -3,15 +3,22 @@
pkgbase=(harfbuzz)
pkgname=(harfbuzz harfbuzz-icu)
-pkgver=0.9.36
+pkgver=1.1.3
pkgrel=1
pkgdesc="OpenType text shaping engine"
arch=(i686 x86_64)
url="http://www.freedesktop.org/wiki/Software/HarfBuzz"
license=(MIT)
-makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection python2)
+makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection)
source=(http://www.freedesktop.org/software/harfbuzz/release/${pkgbase}-${pkgver}.tar.bz2)
-sha256sums=('3bfbf7b016167ee6b2a2f83948fef75cc1253081873d6a91022161815956b9be')
+sha256sums=('d93d7cb7979c32672e902fdfa884599e63f07f2fa5b06c66147d20c516d4b8f7')
+
+prepare() {
+ mkdir path
+ ln -s /usr/bin/python2 path/python
+
+ cd $pkgbase-$pkgver
+}
build() {
cd $pkgbase-$pkgver
@@ -23,7 +30,7 @@ build() {
check() {
cd $pkgbase-$pkgver
- make -k check || :
+ PATH="$srcdir/path:$PATH" make -k check || :
}
package_harfbuzz() {
diff --git a/abs/extra/htop/PKGBUILD b/abs/extra/htop/PKGBUILD
index 1ba9d94..531cf81 100644
--- a/abs/extra/htop/PKGBUILD
+++ b/abs/extra/htop/PKGBUILD
@@ -4,11 +4,11 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=htop
-pkgver=1.0.3
+pkgver=2.0.1
pkgrel=1
pkgdesc="Interactive process viewer"
arch=('i686' 'x86_64')
-url="http://htop.sourceforge.net/"
+url="http://hisham.hm/htop/"
license=('GPL')
depends=('ncurses')
makedepends=('python2')
@@ -16,20 +16,14 @@ optdepends=('lsof: show files opened by a process'
'strace: attach to a running process')
options=('!emptydirs')
source=("http://hisham.hm/$pkgname/releases/$pkgver/$pkgname-$pkgver.tar.gz")
-md5sums=('e768b9b55c033d9c1dffda72db3a6ac7')
-
-prepare() {
- cd "$pkgname-$pkgver"
-
- sed -i 's|ncursesw/curses.h|curses.h|' RichString.[ch] configure
- sed -i 's|python|python2|' scripts/MakeHeader.py
-}
+md5sums=('f75fe92b4defaa80d99109830f34b5e2')
build() {
cd "$pkgname-$pkgver"
./configure \
--prefix=/usr \
+ --sysconfdir=/etc \
--enable-unicode \
--enable-openvz \
--enable-vserver \
diff --git a/abs/extra/http-parser/PKGBUILD b/abs/extra/http-parser/PKGBUILD
new file mode 100644
index 0000000..668229c
--- /dev/null
+++ b/abs/extra/http-parser/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Brian Bidulock <bidulock@openss7.org>
+
+pkgname=http-parser
+pkgver=2.7.0
+pkgrel=1
+pkgdesc="Parser for HTTP Request/Response written in C"
+arch=('i686' 'x86_64')
+url="https://github.com/nodejs/http-parser"
+license=('MIT')
+depends=('glibc')
+makedepends=('git')
+source=("git+https://github.com/nodejs/http-parser.git#tag=v$pkgver")
+md5sums=('SKIP')
+
+prepare() {
+ sed -i 's|-Werror||' $pkgname/Makefile
+}
+
+build() {
+ cd $pkgname
+ make library
+}
+
+check() {
+ cd $pkgname
+ make test
+}
+
+package() {
+ cd $pkgname
+ make PREFIX="$pkgdir/usr" install
+
+ install -Dm644 LICENSE-MIT \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-MIT"
+
+ ln -sf libhttp_parser.so.$pkgver "${pkgdir}/usr/lib/libhttp_parser.so"
+}
diff --git a/abs/extra/icu/PKGBUILD b/abs/extra/icu/PKGBUILD
index eafa339..90fb89b 100644
--- a/abs/extra/icu/PKGBUILD
+++ b/abs/extra/icu/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: Art Gramlich <art@gramlich-net.com>
pkgname=icu
-pkgver=54.1
-pkgrel=1
+pkgver=56.1
+pkgrel=2
pkgdesc="International Components for Unicode library"
arch=(i686 x86_64)
url="http://www.icu-project.org/"
@@ -14,7 +14,7 @@ depends=('gcc-libs>=4.7.1-5' 'sh')
source=(#http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver/./_}-src.tgz
http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz
icu.8198.revert.icu5431.patch)
-md5sums=('e844caed8f2ca24c088505b0d6271bc0'
+md5sums=('c4a2d71ff56aec5ebfab2a3f059be99d'
'ebd5470fc969c75e52baf4af94a9ee82')
prepare() {
diff --git a/abs/extra/itstool/PKGBUILD b/abs/extra/itstool/PKGBUILD
new file mode 100644
index 0000000..edfd764
--- /dev/null
+++ b/abs/extra/itstool/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Michael Pusterhofer <pusterhofer(at)student(dot)tugraz(dot)at>
+
+pkgname=itstool
+pkgver=2.0.2
+pkgrel=1
+pkgdesc="XML to PO and back again"
+arch=(any)
+url="http://itstool.org/"
+license=(GPL3)
+depends=(python2 libxml2)
+source=(http://files.itstool.org/itstool/$pkgname-$pkgver.tar.bz2)
+sha256sums=('bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a')
+
+prepare() {
+ cd $pkgname-$pkgver
+ sed -i 's/| python/&2/' configure.ac
+ autoreconf -fi
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr PYTHON=/usr/bin/python2
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make -k check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/json-c/PKGBUILD b/abs/extra/json-c/PKGBUILD
new file mode 100644
index 0000000..70dd735
--- /dev/null
+++ b/abs/extra/json-c/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: congyiwu <congyiwu AT gmail DOT com>
+
+pkgname=json-c
+pkgver=0.12
+pkgrel=2
+pkgdesc="A JSON implementation in C"
+url="https://github.com/json-c/json-c/wiki"
+license=(MIT)
+arch=(i686 x86_64)
+depends=(glibc)
+source=(https://s3.amazonaws.com/${pkgname}_releases/releases/$pkgname-${pkgver}.tar.gz)
+sha256sums=('000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f')
+
+build() {
+ cd $pkgname-$pkgver
+ CFLAGS="$CFLAGS -Wno-error"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git a/abs/extra/jsoncpp/PKGBUILD b/abs/extra/jsoncpp/PKGBUILD
new file mode 100644
index 0000000..693cdbd
--- /dev/null
+++ b/abs/extra/jsoncpp/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Jonahtan Schaeffer <joschaeffer@gmail.com>
+# COntributor: Drake Arconis <lightdrake@gmail.com>
+
+pkgname=jsoncpp
+pkgver=1.6.5
+pkgrel=3
+pkgdesc='A C++ library for interacting with JSON'
+url='https://github.com/open-source-parsers/jsoncpp'
+license=('MIT' 'custom:Public_Domain')
+arch=('i686' 'x86_64')
+depends=('gcc-libs')
+makedepends=('cmake')
+source=(${pkgname}-${pkgver}.tar.gz::"https://github.com/open-source-parsers/${pkgname}/archive/${pkgver}.tar.gz")
+md5sums=('2bb16bb8d2b867acbdd71d1855062a89')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_STATIC_LIBS=OFF
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make test
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD b/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD
new file mode 100644
index 0000000..cee5f2d
--- /dev/null
+++ b/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Westin Miller <equinox.aur@gmail.com>
+# Contributor: Michael Lass <bevan@bi-co.net>
+
+pkgname=kodi-addon-pvr-mythtv-git
+pkgver=r543.fd91be1
+pkgrel=1
+API=16
+if [ -z "$API" ]; then
+ error "No API Version Defined, defaulting to 16. 15 = Isengard, 16 = Jarvis, 99 = git master"
+fi
+API=${API:-16}
+
+_branch=$(
+ case "${API}" in
+ 15) echo "Isengard";;
+ 16) echo "Jarvis";;
+ 99) echo "master";;
+ *) error "Unknown API version.";;
+ esac
+)
+pkgdesc='MythTV PVR client addon for Kodi'
+arch=('armv7h' 'i686' 'x86_64')
+url="https://github.com/kodi-pvr/pvr.hts"
+license=('GPL')
+makedepends=('cmake' 'git' 'kodi-platform')
+if [ "$API" -eq "99" ]; then
+ depends=("kodi-git")
+else
+ depends=("kodi>=$API.0" "kodi<$[$API+1].0")
+fi
+provides=('kodi-addon-pvr-mythtv')
+conflicts=('kodi-addon-pvr-mythtv' 'kodi-pvr-addons')
+source=("${pkgname}::git+https://github.com/kodi-pvr/pvr.mythtv.git#branch=${_branch}"
+ 'p8-platform.patch')
+
+pkgver() {
+ cd "$pkgname"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd kodi-addon-pvr-mythtv-git/
+ patch -p1 -i ${srcdir}/p8-platform.patch
+ cd ..
+
+ echo "API Version $API"
+ echo "Branch version $_branch"
+ mkdir -p "$pkgname/build"
+ cd "$pkgname/build"
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/kodi \
+ -DCMAKE_BUILD_TYPE=Release \
+ ..
+ make
+}
+
+package() {
+ cd "$pkgname/build"
+ make DESTDIR="$pkgdir" install
+}
+md5sums=('SKIP'
+ 'a3cf865a74564f1c07b16c20265174d2')
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/__changelog b/abs/extra/kodi-addon-pvr-mythtv-git/__changelog
new file mode 100644
index 0000000..2094284
--- /dev/null
+++ b/abs/extra/kodi-addon-pvr-mythtv-git/__changelog
@@ -0,0 +1,4 @@
+PKGBUILD:
+ - Add p8-platform.patch
+ - force API=16
+ - change dep kodi-platform-git to kodi-platform
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch b/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch
new file mode 100644
index 0000000..87fb73f
--- /dev/null
+++ b/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch
@@ -0,0 +1,509 @@
+From 5aaf171deb1e31c7e3df173d109eb114499e5f45 Mon Sep 17 00:00:00 2001
+From: "h.udo" <hudokkow@gmail.com>
+Date: Wed, 6 Jan 2016 15:08:54 +0000
+Subject: [PATCH 1/2] [src] Update to p8-platform
+
+---
+ src/categories.cpp | 2 +-
+ src/cppmyth/MythScheduleHelper75.cpp | 2 +-
+ src/cppmyth/MythScheduleHelperNoHelper.cpp | 10 +++++-----
+ src/cppmyth/MythScheduleHelperNoHelper.h | 2 +-
+ src/cppmyth/MythScheduleManager.cpp | 2 +-
+ src/cppmyth/MythScheduleManager.h | 4 ++--
+ src/demux.cpp | 4 ++--
+ src/demux.h | 12 ++++++------
+ src/demuxer/tsDemuxer.cpp | 26 +++++++++++++-------------
+ src/demuxer/tsDemuxer.h | 4 ++--
+ src/fileOps.cpp | 2 +-
+ src/fileOps.h | 8 ++++----
+ src/filestreaming.cpp | 2 +-
+ src/pvrclient-mythtv.cpp | 2 +-
+ src/pvrclient-mythtv.h | 8 ++++----
+ src/tools.h | 2 +-
+ 16 files changed, 46 insertions(+), 46 deletions(-)
+
+diff --git a/src/categories.cpp b/src/categories.cpp
+index 1a10f9c..03d1867 100644
+--- a/src/categories.cpp
++++ b/src/categories.cpp
+@@ -22,7 +22,7 @@
+
+ #include "categories.h"
+ #include "client.h"
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+
+ #define CATEGORIES_FILENAME "eit_categories.txt"
+ #define CATEGORIES_MAXLINESIZE 255
+diff --git a/src/cppmyth/MythScheduleHelper75.cpp b/src/cppmyth/MythScheduleHelper75.cpp
+index 58f0a87..be8beb9 100644
+--- a/src/cppmyth/MythScheduleHelper75.cpp
++++ b/src/cppmyth/MythScheduleHelper75.cpp
+@@ -34,7 +34,7 @@ using namespace ADDON;
+
+ MythTimerTypeList MythScheduleHelper75::GetTimerTypes() const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ if (!m_timerTypeListInit)
+ {
+ m_timerTypeListInit = true;
+diff --git a/src/cppmyth/MythScheduleHelperNoHelper.cpp b/src/cppmyth/MythScheduleHelperNoHelper.cpp
+index 26358fc..751b895 100644
+--- a/src/cppmyth/MythScheduleHelperNoHelper.cpp
++++ b/src/cppmyth/MythScheduleHelperNoHelper.cpp
+@@ -40,7 +40,7 @@ MythScheduleHelperNoHelper::MythScheduleHelperNoHelper()
+
+ MythTimerTypeList MythScheduleHelperNoHelper::GetTimerTypes() const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ return m_timerTypeList;
+ }
+
+@@ -103,7 +103,7 @@ static inline uint32_t expiration_key(const MythScheduleHelperNoHelper::RuleExpi
+
+ int MythScheduleHelperNoHelper::GetRuleExpirationId(const RuleExpiration& expiration) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ if (!m_expirationByKeyInit)
+ {
+ m_expirationByKeyInit = true;
+@@ -119,7 +119,7 @@ int MythScheduleHelperNoHelper::GetRuleExpirationId(const RuleExpiration& expira
+
+ MythScheduleHelperNoHelper::RuleExpiration MythScheduleHelperNoHelper::GetRuleExpiration(int id) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ static RuleExpiration _empty(false, 0, false);
+ RuleExpirationMap::const_iterator it = GetRuleExpirationMap().find(id);
+ if (it != m_expirationMap.end())
+@@ -129,7 +129,7 @@ MythScheduleHelperNoHelper::RuleExpiration MythScheduleHelperNoHelper::GetRuleEx
+
+ int MythScheduleHelperNoHelper::GetRuleRecordingGroupId(const std::string& name) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ if (!m_recGroupByNameInit)
+ {
+ m_recGroupByNameInit = true;
+@@ -145,7 +145,7 @@ int MythScheduleHelperNoHelper::GetRuleRecordingGroupId(const std::string& name)
+
+ std::string MythScheduleHelperNoHelper::GetRuleRecordingGroupName(int id) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ static std::string _empty = "";
+ if (!m_recGroupByIdInit)
+ {
+diff --git a/src/cppmyth/MythScheduleHelperNoHelper.h b/src/cppmyth/MythScheduleHelperNoHelper.h
+index 686c770..e3ec012 100644
+--- a/src/cppmyth/MythScheduleHelperNoHelper.h
++++ b/src/cppmyth/MythScheduleHelperNoHelper.h
+@@ -73,7 +73,7 @@ class MythScheduleHelperNoHelper : public MythScheduleManager::VersionHelper
+ virtual const MythTimerType::AttributeList& GetRuleExpirationNameList() const;
+ virtual const MythTimerType::AttributeList& GetRuleRecordingGroupList() const;
+
+- mutable PLATFORM::CMutex m_lock;
++ mutable P8PLATFORM::CMutex m_lock;
+
+ mutable bool m_timerTypeListInit;
+ mutable MythTimerTypeList m_timerTypeList;
+diff --git a/src/cppmyth/MythScheduleManager.cpp b/src/cppmyth/MythScheduleManager.cpp
+index 3381496..7466ac6 100644
+--- a/src/cppmyth/MythScheduleManager.cpp
++++ b/src/cppmyth/MythScheduleManager.cpp
+@@ -32,7 +32,7 @@
+ #include <math.h>
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ enum
+ {
+diff --git a/src/cppmyth/MythScheduleManager.h b/src/cppmyth/MythScheduleManager.h
+index 00b0b6b..3106c2d 100644
+--- a/src/cppmyth/MythScheduleManager.h
++++ b/src/cppmyth/MythScheduleManager.h
+@@ -26,7 +26,7 @@
+ #include "MythChannel.h"
+
+ #include <kodi/xbmc_pvr_types.h>
+-#include <platform/threads/mutex.h>
++#include <p8-platform/threads/mutex.h>
+
+ #include <vector>
+ #include <list>
+@@ -209,7 +209,7 @@ class MythScheduleManager
+ static uint32_t MakeIndex(const MythRecordingRule& rule);
+
+ private:
+- mutable PLATFORM::CMutex m_lock;
++ mutable P8PLATFORM::CMutex m_lock;
+ Myth::Control *m_control;
+
+ int m_protoVersion;
+diff --git a/src/demux.cpp b/src/demux.cpp
+index 452f786..98243fb 100644
+--- a/src/demux.cpp
++++ b/src/demux.cpp
+@@ -20,7 +20,7 @@
+ *
+ */
+
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+ #include <kodi/libXBMC_pvr.h>
+ #include <kodi/xbmc_codec_types.h>
+
+@@ -34,7 +34,7 @@
+ #define READAV_TIMEOUT 10000 // 10 secs
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ void DemuxLog(int level, char *msg)
+ {
+diff --git a/src/demux.h b/src/demux.h
+index f86e27a..b84c1bc 100644
+--- a/src/demux.h
++++ b/src/demux.h
+@@ -25,9 +25,9 @@
+ #include "client.h"
+
+ #include <mythstream.h>
+-#include <platform/threads/threads.h>
+-#include <platform/threads/mutex.h>
+-#include <platform/util/buffer.h>
++#include <p8-platform/threads/threads.h>
++#include <p8-platform/threads/mutex.h>
++#include <p8-platform/util/buffer.h>
+ #include <kodi/xbmc_stream_utils.hpp>
+
+ #include <map>
+@@ -35,7 +35,7 @@
+
+ #define AV_BUFFER_SIZE 131072
+
+-class Demux : public TSDemux::TSDemuxer, PLATFORM::CThread
++class Demux : public TSDemux::TSDemuxer, P8PLATFORM::CThread
+ {
+ public:
+ Demux(Myth::Stream *file);
+@@ -56,8 +56,8 @@ class Demux : public TSDemux::TSDemuxer, PLATFORM::CThread
+ private:
+ Myth::Stream *m_file;
+ uint16_t m_channel;
+- PLATFORM::SyncedBuffer<DemuxPacket*> m_demuxPacketBuffer;
+- PLATFORM::CMutex m_mutex;
++ P8PLATFORM::SyncedBuffer<DemuxPacket*> m_demuxPacketBuffer;
++ P8PLATFORM::CMutex m_mutex;
+ ADDON::XbmcStreamProperties m_streams;
+
+ bool get_stream_data(TSDemux::STREAM_PKT* pkt);
+diff --git a/src/demuxer/tsDemuxer.cpp b/src/demuxer/tsDemuxer.cpp
+index 00e40c1..fc283a8 100644
+--- a/src/demuxer/tsDemuxer.cpp
++++ b/src/demuxer/tsDemuxer.cpp
+@@ -56,7 +56,7 @@ AVContext::AVContext(TSDemuxer* const demux, uint64_t pos, uint16_t channel)
+
+ void AVContext::Reset(void)
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ pid = 0xffff;
+ transport_error = false;
+@@ -75,7 +75,7 @@ uint16_t AVContext::GetPID() const
+
+ PACKET_TYPE AVContext::GetPIDType() const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (packet)
+ return packet->packet_type;
+@@ -84,7 +84,7 @@ PACKET_TYPE AVContext::GetPIDType() const
+
+ uint16_t AVContext::GetPIDChannel() const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (packet)
+ return packet->channel;
+@@ -93,7 +93,7 @@ uint16_t AVContext::GetPIDChannel() const
+
+ bool AVContext::HasPIDStreamData() const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ // PES packets append frame buffer of elementary stream until next start of unit
+ // On new unit start, flag is held
+@@ -109,7 +109,7 @@ bool AVContext::HasPIDPayload() const
+
+ ElementaryStream* AVContext::GetPIDStream()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (packet && packet->packet_type == PACKET_TYPE_PES)
+ return packet->stream;
+@@ -118,7 +118,7 @@ ElementaryStream* AVContext::GetPIDStream()
+
+ std::vector<ElementaryStream*> AVContext::GetStreams()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::vector<ElementaryStream*> v;
+ for (std::map<uint16_t, Packet>::iterator it = packets.begin(); it != packets.end(); ++it)
+@@ -129,7 +129,7 @@ std::vector<ElementaryStream*> AVContext::GetStreams()
+
+ void AVContext::StartStreaming(uint16_t pid)
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -138,7 +138,7 @@ void AVContext::StartStreaming(uint16_t pid)
+
+ void AVContext::StopStreaming(uint16_t pid)
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -147,7 +147,7 @@ void AVContext::StopStreaming(uint16_t pid)
+
+ ElementaryStream* AVContext::GetStream(uint16_t pid) const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::const_iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -157,7 +157,7 @@ ElementaryStream* AVContext::GetStream(uint16_t pid) const
+
+ uint16_t AVContext::GetChannel(uint16_t pid) const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::const_iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -167,7 +167,7 @@ uint16_t AVContext::GetChannel(uint16_t pid) const
+
+ void AVContext::ResetPackets()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ for (std::map<uint16_t, Packet>::iterator it = packets.begin(); it != packets.end(); ++it)
+ {
+@@ -391,7 +391,7 @@ uint64_t AVContext::GetPosition() const
+ */
+ int AVContext::ProcessTSPacket()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ int ret = AVCONTEXT_CONTINUE;
+ std::map<uint16_t, Packet>::iterator it;
+@@ -516,7 +516,7 @@ int AVContext::ProcessTSPacket()
+ */
+ int AVContext::ProcessTSPayload()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (!this->packet)
+ return AVCONTEXT_CONTINUE;
+diff --git a/src/demuxer/tsDemuxer.h b/src/demuxer/tsDemuxer.h
+index 2efbb58..ebb779e 100644
+--- a/src/demuxer/tsDemuxer.h
++++ b/src/demuxer/tsDemuxer.h
+@@ -24,7 +24,7 @@
+
+ #include "tsPacket.h"
+ #include "elementaryStream.h"
+-#include <platform/threads/mutex.h>
++#include <p8-platform/threads/mutex.h>
+
+ #include <map>
+ #include <vector>
+@@ -102,7 +102,7 @@ namespace TSDemux
+ int parse_ts_pes();
+
+ // Critical section
+- mutable PLATFORM::CMutex mutex;
++ mutable P8PLATFORM::CMutex mutex;
+
+ // AV stream owner
+ TSDemuxer* m_demux;
+diff --git a/src/fileOps.cpp b/src/fileOps.cpp
+index 80d6462..71a71f9 100644
+--- a/src/fileOps.cpp
++++ b/src/fileOps.cpp
+@@ -34,7 +34,7 @@
+ #define FILEOPS_RECORDING_DUMMY_ICON "recording.png"
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ FileOps::FileOps(FileConsumer *consumer, const std::string& server, unsigned wsapiport, const std::string& wsapiSecurityPin)
+ : CThread()
+diff --git a/src/fileOps.h b/src/fileOps.h
+index 58081f4..90c023b 100644
+--- a/src/fileOps.h
++++ b/src/fileOps.h
+@@ -25,7 +25,7 @@
+ #include "cppmyth/MythProgramInfo.h"
+
+ #include <mythwsapi.h>
+-#include <platform/threads/threads.h>
++#include <p8-platform/threads/threads.h>
+
+ #include <string>
+ #include <vector>
+@@ -39,7 +39,7 @@ class FileConsumer
+ virtual void HandleCleanedCache() = 0;
+ };
+
+-class FileOps : public PLATFORM::CThread
++class FileOps : public P8PLATFORM::CThread
+ {
+ public:
+ enum FileType
+@@ -152,7 +152,7 @@ class FileOps : public PLATFORM::CThread
+ int m_errorCount;
+ };
+
+- PLATFORM::CMutex m_lock;
+- PLATFORM::CEvent m_queueContent;
++ P8PLATFORM::CMutex m_lock;
++ P8PLATFORM::CEvent m_queueContent;
+ std::list<FileOps::JobItem> m_jobQueue;
+ };
+diff --git a/src/filestreaming.cpp b/src/filestreaming.cpp
+index d25680e..eeaa672 100644
+--- a/src/filestreaming.cpp
++++ b/src/filestreaming.cpp
+@@ -22,7 +22,7 @@
+
+ #include "filestreaming.h"
+ #include "client.h"
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+
+ #define MAX_READ_SIZE 131072
+
+diff --git a/src/pvrclient-mythtv.cpp b/src/pvrclient-mythtv.cpp
+index 5901d55..f0ed353 100644
+--- a/src/pvrclient-mythtv.cpp
++++ b/src/pvrclient-mythtv.cpp
+@@ -31,7 +31,7 @@
+ #include <cassert>
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ PVRClientMythTV::PVRClientMythTV()
+ : m_connectionError(CONN_ERROR_NO_ERROR)
+diff --git a/src/pvrclient-mythtv.h b/src/pvrclient-mythtv.h
+index e9efc64..561fee3 100644
+--- a/src/pvrclient-mythtv.h
++++ b/src/pvrclient-mythtv.h
+@@ -28,7 +28,7 @@
+ #include "filestreaming.h"
+
+ #include <kodi/xbmc_pvr_types.h>
+-#include <platform/threads/mutex.h>
++#include <p8-platform/threads/mutex.h>
+ #include <mythsharedptr.h>
+ #include <mythcontrol.h>
+ #include <mytheventhandler.h>
+@@ -162,7 +162,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
+ // Backend
+ FileOps *m_fileOps;
+ MythScheduleManager *m_scheduleManager;
+- PLATFORM::CMutex m_lock;
++ P8PLATFORM::CMutex m_lock;
+
+ // Categories
+ Categories m_categories;
+@@ -182,7 +182,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
+ PVRChannelGroupMap m_PVRChannelGroups;
+ typedef std::map<unsigned int, unsigned int> PVRChannelMap;
+ PVRChannelMap m_PVRChannelUidById;
+- mutable PLATFORM::CMutex m_channelsLock;
++ mutable P8PLATFORM::CMutex m_channelsLock;
+ int FillChannelsAndChannelGroups();
+ MythChannel FindChannel(uint32_t channelId) const;
+ int FindPVRChannelUid(uint32_t channelId) const;
+@@ -192,7 +192,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
+
+ // Recordings
+ ProgramInfoMap m_recordings;
+- mutable PLATFORM::CMutex m_recordingsLock;
++ mutable P8PLATFORM::CMutex m_recordingsLock;
+ unsigned m_recordingChangePinCount;
+ bool m_recordingsAmountChange;
+ int m_recordingsAmount;
+diff --git a/src/tools.h b/src/tools.h
+index 45666bf..7ad3af9 100644
+--- a/src/tools.h
++++ b/src/tools.h
+@@ -21,7 +21,7 @@
+ *
+ */
+
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+ #include <math.h>
+
+ #ifdef __WINDOWS__
+
+From 960830c023c74b54883ed558763275877088be90 Mon Sep 17 00:00:00 2001
+From: "h.udo" <hudokkow@gmail.com>
+Date: Wed, 6 Jan 2016 15:21:40 +0000
+Subject: [PATCH 2/2] [cmake] Update to p8-platform
+
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 79d1b98..95fdbbb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -9,10 +9,10 @@ enable_language(C)
+
+ find_package(kodi REQUIRED)
+ find_package(kodiplatform REQUIRED)
+-find_package(platform REQUIRED)
++find_package(p8-platform REQUIRED)
+
+ include_directories(${kodiplatform_INCLUDE_DIRS}
+- ${platform_INCLUDE_DIRS}
++ ${p8-platform_INCLUDE_DIRS}
+ ${KODI_INCLUDE_DIR}
+ ${PROJECT_SOURCE_DIR}/lib/cppmyth/src)
+
+@@ -54,7 +54,7 @@ set(MYTHTV_SOURCES src/avinfo.cpp
+
+ add_subdirectory(lib/cppmyth)
+
+-set(DEPLIBS ${platform_LIBRARIES} cppmyth)
++set(DEPLIBS ${p8-platform_LIBRARIES} cppmyth)
+ if(WIN32)
+ list(APPEND DEPLIBS ws2_32)
+ else()
diff --git a/abs/extra/kodi-platform/PKGBUILD b/abs/extra/kodi-platform/PKGBUILD
new file mode 100644
index 0000000..a0f776d
--- /dev/null
+++ b/abs/extra/kodi-platform/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: BlackEagle <ike.devolder@gmail.com>>
+
+pkgname=kodi-platform
+_commit=92583ef
+pkgver=20160131.92583ef
+pkgrel=2
+pkgdesc="platform library for external kodi addons"
+arch=('i686' 'x86_64')
+url='https://github.com/xbmc/kodi-platform'
+license=('GPL')
+depends=('kodi' 'p8-platform')
+makedepends=('git' 'cmake')
+source=("$pkgname::git://github.com/xbmc/kodi-platform.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd "$pkgname"
+ git log -1 --date=short --format="%cd.%h" | tr -d '-'
+}
+
+build() {
+ cd "$pkgname"
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=1 \
+ -DUSE_LTO=1
+ make
+}
+
+package() {
+ cd "$pkgname"
+ make DESTDIR="$pkgdir/" install
+}
+
diff --git a/abs/extra/kodi-pvr-addons/PKGBUILD b/abs/extra/kodi-pvr-addons/PKGBUILD
deleted file mode 100644
index bf9c6d0..0000000
--- a/abs/extra/kodi-pvr-addons/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: BlackEagle <ike.devolder@gmail.com>>
-
-pkgname=kodi-pvr-addons
-pkgver=20141212
-_relname='Helix_rc3'
-pkgrel=2
-pkgdesc="PVR add-ons for current stable kodi"
-arch=('i686' 'x86_64')
-url="https://github.com/opdenkamp/xbmc-pvr-addons"
-license=('GPL3')
-groups=('kodi-addons')
-depends=('kodi')
-makedepends=('git')
-optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend')
-replaces=('xbmc-pvr-addons')
-conflicts=('xbmc-pvr-addons' 'xbmc-pvr-addons-git')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${_relname}.tar.gz")
-
-build() {
- cd "$srcdir/xbmc-pvr-addons-${_relname}"
- ./bootstrap
- ./configure --prefix=/usr --enable-addons-with-dependencies
- make
-}
-
-package() {
- cd "$srcdir/xbmc-pvr-addons-${_relname}"
- make DESTDIR="$pkgdir/" install
-}
-
-sha256sums=('e48de53c58245e512095d515d463f013e51e165fc617f1cb93e443cdd9f5096b')
diff --git a/abs/extra/kodi/PKGBUILD b/abs/extra/kodi/PKGBUILD
index 91fe23c..6623868 100644
--- a/abs/extra/kodi/PKGBUILD
+++ b/abs/extra/kodi/PKGBUILD
@@ -9,12 +9,10 @@
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Maxime Gauduin <alucryd@gmail.com>
-_prefix=/usr
-
pkgbase=kodi
pkgname=('kodi' 'kodi-eventclients')
-pkgver=14.0
-_codename=Helix
+pkgver=16.1
+_codename=Jarvis
pkgrel=2
arch=('i686' 'x86_64')
url="http://kodi.tv"
@@ -22,11 +20,12 @@ license=('GPL2')
makedepends=(
'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'doxygen' 'git' 'glew'
'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass'
- 'libbluray' 'libcdio' 'libcec' 'libgl' 'libmariadbclient' 'libmicrohttpd'
+ 'libbluray' 'libcdio' 'libcec' 'libgl' 'libmysqlclient' 'libmicrohttpd'
'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libssh' 'libva'
- 'libvdpau' 'libxrandr' 'libxslt' 'lzo' 'nasm' 'nss-mdns' 'python2-pillow'
- 'python2-pybluez' 'python2-simplejson' 'rtmpdump' 'sdl2' 'sdl_image'
- 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' 'yajl' 'zip'
+ 'libvdpau' 'libxrandr' 'libxslt' 'lzo' 'mesa' 'nasm' 'nss-mdns'
+ 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'rtmpdump' 'sdl2'
+ 'sdl_image' 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower'
+ 'yajl' 'zip' 'mesa' 'dcadec' 'libcrossguid'
)
source=(
"$pkgname-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
@@ -40,6 +39,9 @@ prepare() {
find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" +
sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl
sed 's/python/python2/' -i tools/Linux/kodi.sh.in
+ sed 's/shell python/shell python2/' -i tools/EventClients/Makefile.in
+
+ # patches
}
build() {
@@ -53,12 +55,13 @@ build() {
# Configuring XBMC
export PYTHON_VERSION=2 # external python v2
- ./configure --prefix=$_prefix --exec-prefix=$_prefix \
+ ./configure --prefix=/usr --exec-prefix=/usr \
--disable-debug \
--enable-optimizations \
--enable-libbluray \
- --enable-external-libraries \
- --with-lirc-device=/run/lirc/lircd
+ --enable-shared-libraries \
+ --with-lirc-device=/run/lirc/lircd \
+ ac_cv_type__Bool=yes
# Now (finally) build
make
@@ -74,10 +77,10 @@ package_kodi() {
depends=(
'python2-pillow' 'python2-pybluez' 'python2-simplejson'
'mesa-demos' 'xorg-xdpyinfo'
- 'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libcdio'
- 'libjpeg-turbo' 'libmariadbclient' 'libmicrohttpd' 'libssh'
+ 'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libass' 'libcdio'
+ 'libjpeg-turbo' 'libmysqlclient' 'libmicrohttpd' 'libssh'
'libva' 'libxrandr' 'libxslt' 'lzo' 'sdl2' 'smbclient' 'taglib' 'tinyxml'
- 'yajl'
+ 'yajl' 'mesa' 'dcadec' 'desktop-file-utils'
)
optdepends=(
'afpfs-ng: Apple shares support'
@@ -102,11 +105,16 @@ package_kodi() {
# Running make install
make DESTDIR="$pkgdir" install
+ # We will no longer support the xbmc name
+ rm "$pkgdir/usr/share/xsessions/xbmc.desktop"
+ rm "$pkgdir/usr/bin/"xbmc{,-standalone}
+ # we will leave /usr/{include,lib,share}/xbmc for now
+
# Licenses
- install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
+ install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
for licensef in LICENSE.GPL copying.txt; do
- mv ${pkgdir}${_prefix}/share/doc/kodi/${licensef} \
- ${pkgdir}${_prefix}/share/licenses/${pkgname}
+ mv ${pkgdir}/usr/share/doc/kodi/${licensef} \
+ ${pkgdir}/usr/share/licenses/${pkgname}
done
# LinHES stuff
@@ -124,12 +132,8 @@ package_kodi-eventclients() {
cd "$srcdir/xbmc-$pkgver-$_codename"
make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD
-
- install -dm755 "$pkgdir/usr/lib/python2.7/$pkgbase"
- #mv "$pkgdir/kodi"/* "$pkgdir/usr/lib/python2.7/$pkgbase"
- #rmdir "$pkgdir/kodi"
}
-md5sums=('9717c539789789b8aeaf1dcfdb9f2c69'
+md5sums=('79358ad5f77f42c5498a9412d5a78dd5'
'f6adc8e06d7076143ca2ad118126b158'
'f04d1c89f5108c6aba36cf708a74cc95')
diff --git a/abs/extra/kodi/__changelog b/abs/extra/kodi/__changelog
index 8015995..6069eb3 100644
--- a/abs/extra/kodi/__changelog
+++ b/abs/extra/kodi/__changelog
@@ -2,3 +2,4 @@ PKGBUILD - remove libpulse dep and remove --enable-pulse config option
PKGBUILD - Add /usr/LH/bin/kodi.sh
PKGBUILD - Add /etc/gen_lib_xml.d/kodi_lib.conf
kodi.install - add gen_lib_xml.py to post_install and post_remove
+PKGBUILD - change dep libmariadbclient to libmysqlclient
diff --git a/abs/extra/kodi/kodi.install b/abs/extra/kodi/kodi.install
index d28289b..01c138d 100644
--- a/abs/extra/kodi/kodi.install
+++ b/abs/extra/kodi/kodi.install
@@ -1,6 +1,6 @@
post_install() {
update_icons
- gen_lib_xml.py
+ gen_lib_xml.py
}
post_upgrade() {
@@ -9,7 +9,7 @@ post_upgrade() {
post_remove() {
update_icons
- gen_lib_xml.py
+ gen_lib_xml.py
}
update_icons() {
diff --git a/abs/extra/l-smash/PKGBUILD b/abs/extra/l-smash/PKGBUILD
new file mode 100644
index 0000000..6355a06
--- /dev/null
+++ b/abs/extra/l-smash/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com>
+
+pkgname=l-smash
+pkgver=2.3.0
+pkgrel=2
+pkgdesc='MP4 muxer and other tools'
+arch=('i686' 'x86_64')
+url='https://github.com/l-smash/l-smash'
+license=('custom')
+depends=('glibc')
+provides=('liblsmash.so')
+source=("l-smash-${pkgver}.tar.gz::https://github.com/l-smash/l-smash/archive/v${pkgver}.tar.gz")
+sha256sums=('1c1a487191b723a486bd3e8abd5e28e0d34f7ac1964d98fac0a9a2db962e3838')
+
+build() {
+ cd l-smash-${pkgver}
+
+ ./configure \
+ --prefix='/usr' \
+ --enable-shared \
+ --disable-static
+ make
+}
+
+package() {
+ cd l-smash-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses/l-smash
+ install -m 644 LICENSE "${pkgdir}"/usr/share/licenses/l-smash/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/ldb/PKGBUILD b/abs/extra/ldb/PKGBUILD
index 9a41c98..ed4d1f0 100644
--- a/abs/extra/ldb/PKGBUILD
+++ b/abs/extra/ldb/PKGBUILD
@@ -4,16 +4,18 @@
# Contributor: Marco A Rojas <marquicus at gmail dot com>
pkgname=ldb
-pkgver=1.1.17
+pkgver=1.1.24
pkgrel=1
pkgdesc="A schema-less, ldap like, API and database"
arch=('i686' 'x86_64')
url="http://ldb.samba.org/"
-source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.asc)
license=('GPL3')
depends=('talloc' 'tevent' 'tdb' 'popt')
makedepends=('python2')
optdepends=('python2: for python bindings')
+validpgpkeys=('9147A339719518EE9011BCB54793916113084025') # Samba Library Distribution Key <samba-bugs@samba.org>
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -37,4 +39,5 @@ package() {
make DESTDIR=${pkgdir}/ install
}
-md5sums=('7c2ab4e3f2a4186493aa06eabbc61cc0')
+md5sums=('152f061422de5b90f8ce51e0ea316292'
+ 'SKIP')
diff --git a/abs/extra/leveldb/PKGBUILD b/abs/extra/leveldb/PKGBUILD
new file mode 100644
index 0000000..9c6b59f
--- /dev/null
+++ b/abs/extra/leveldb/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Contributor: feydaykyn <feydaykyn@yahoo.fr>
+
+pkgname=leveldb
+pkgver=1.18
+pkgrel=2
+pkgdesc="A fast and lightweight key/value database library"
+arch=('i686' 'x86_64')
+url="https://code.google.com/p/leveldb/"
+license=('BSD')
+depends=('gperftools' 'snappy')
+makedepends=('git')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/google/leveldb/archive/v$pkgver.tar.gz")
+sha1sums=('18684a0ad7a07920d10f5295b171fbf5eeec7337')
+
+build() {
+ make -C "$pkgname-$pkgver"
+}
+
+check() {
+ make -C "$pkgname-$pkgver" check
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ install -dm755 \
+ "$pkgdir"/usr/{include/leveldb,lib} \
+ "$pkgdir"/usr/share/doc/"$pkgname"
+
+ # libraries
+ install -m644 -t "$pkgdir/usr/lib" "libleveldb.so.${pkgver%.?*}" libleveldb.a
+ cp -P libleveldb.so* "$pkgdir/usr/lib"
+
+ # headers
+ install -m644 -t "$pkgdir/usr/include/leveldb" include/leveldb/*
+
+ # documentation
+ cp -r doc/* "$pkgdir/usr/share/doc/$pkgname"
+
+ # license
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/libbluray/PKGBUILD b/abs/extra/libbluray/PKGBUILD
index bdedee0..d596927 100644
--- a/abs/extra/libbluray/PKGBUILD
+++ b/abs/extra/libbluray/PKGBUILD
@@ -4,15 +4,18 @@
# Contributor: Andrew Cook <ariscop@gmail.com>
pkgname=libbluray
-pkgver=0.6.2
+pkgver=0.9.2
pkgrel=1
pkgdesc='Library to access Blu-Ray disks for video playback'
arch=('i686' 'x86_64')
url='http://www.videolan.org/developers/libbluray.html'
license=('LGPL2.1')
-depends=('libxml2' 'freetype2')
+depends=('libxml2' 'freetype2' 'fontconfig')
+makedepends=('apache-ant')
+optdepends=('java-environment: for BD-J library')
+provides=('libbluray.so')
source=(ftp://ftp.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
-md5sums=('f4d2f2cab53f976cbb22cbae069057bd')
+md5sums=('836b2de16547776bf2726166cf796f13')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/libcdio/PKGBUILD b/abs/extra/libcdio/PKGBUILD
index d4b425b..c20a675 100644
--- a/abs/extra/libcdio/PKGBUILD
+++ b/abs/extra/libcdio/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=libcdio
pkgver=0.93
-pkgrel=1
+pkgrel=3
pkgdesc="GNU Compact Disc Input and Control Library"
arch=('i686' 'x86_64')
license=('GPL3')
@@ -16,6 +16,7 @@ source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz{,.sig}
md5sums=('d154476feaac5a7b5f180e83eaf3d689'
'SKIP'
'5a7f50209c03d5919d5b932f07871af7')
+validpgpkeys=('DAA63BC2582034A02B923D521A8DE5008275EC21') # R. Bernstein
prepare() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/libcrossguid/PKGBUILD b/abs/extra/libcrossguid/PKGBUILD
new file mode 100644
index 0000000..aff05a7
--- /dev/null
+++ b/abs/extra/libcrossguid/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: BlackEagle <ike DOT devolder AT gmail DOT com>
+
+pkgname=libcrossguid
+_gitname=libcrossguid
+_commit=8f399e8
+pkgver=20150803.$_commit
+pkgrel=1
+pkgdesc="Lightweight cross platform C++ GUID/UUID library"
+arch=('i686' 'x86_64')
+url="https://github.com/graeme-hill/crossguid"
+license=('MIT')
+makedepends=('git')
+provides=('libcrossguid')
+conflicts=('libcrossguid')
+source=("$_gitname::git+https://github.com/graeme-hill/crossguid.git#commit=$_commit")
+md5sums=('SKIP')
+
+build() {
+ cd libcrossguid
+
+ g++ -c guid.cpp -o guid.o $CXXFLAGS -std=c++11 -DGUID_LIBUUID
+ ar rvs libcrossguid.a guid.o
+
+ g++ -c test.cpp -o test.o $CXXFLAGS -std=c++11
+ g++ -c testmain.cpp -o testmain.o $CXXFLAGS
+ g++ test.o guid.o testmain.o -o test $CXXFLAGS -luuid
+ chmod +x test
+}
+
+check(){
+ cd libcrossguid
+ ./test
+}
+
+package() {
+ cd libcrossguid
+ install -D -m644 libcrossguid.a "${pkgdir}/usr/lib/libcrossguid.a"
+ install -D -m644 guid.h "${pkgdir}/usr/include/guid.h"
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
diff --git a/abs/extra/libcrystalhd-git/PKGBUILD b/abs/extra/libcrystalhd-git/PKGBUILD
index c0bf7d1..8778296 100644
--- a/abs/extra/libcrystalhd-git/PKGBUILD
+++ b/abs/extra/libcrystalhd-git/PKGBUILD
@@ -14,23 +14,25 @@ _gitroot='git://linuxtv.org/jarod/crystalhd.git'
_gitname='crystalhd'
build() {
-
- cd $startdir/src
-
+ cd $srcdir/
msg "Connecting to git.wilsonet.com GIT server...."
-
- if [ -d $startdir/src/$_gitname ] ; then
+ if [ -d $srcdir/$_gitname ] ; then
cd $_gitname && git pull origin
msg "The local files are updated."
else
git clone $_gitroot
cd $_gitname
fi
-
cd linux_lib/libcrystalhd
-
make || return 1
+}
+
+package() {
+ cd $srcdir/$_gitname/linux_lib/libcrystalhd
make install DESTDIR=$pkgdir || return 1
+ # move lib/firmware to usr/lib/firmware
+ mv ${pkgdir}/lib/firmware ${pkgdir}/usr/lib/
+ rm -rf ${pkgdir}/lib
}
md5sums=()
diff --git a/abs/extra/libee/PKGBUILD b/abs/extra/libee/PKGBUILD
new file mode 100644
index 0000000..2964d8a
--- /dev/null
+++ b/abs/extra/libee/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Brian Knox <taotetek@gmail.com>
+
+pkgname=libee
+pkgver=0.4.1
+pkgrel=3
+pkgdesc="event expression library inspired by CEE"
+url="http://www.libee.org/"
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+depends=('libestr' 'glibc')
+makedepends=()
+optdepends=()
+source=("http://www.libee.org/files/download/libee-$pkgver.tar.gz")
+md5sums=('7bbf4160876c12db6193c06e2badedb2')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make -j1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/abs/extra/libepoxy/PKGBUILD b/abs/extra/libepoxy/PKGBUILD
new file mode 100644
index 0000000..5ba5cf8
--- /dev/null
+++ b/abs/extra/libepoxy/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+
+pkgname=libepoxy
+pkgver=1.2
+pkgrel=2
+pkgdesc="A library for handling OpenGL function pointer management for you"
+url="https://github.com/anholt/libepoxy"
+arch=('i686' 'x86_64')
+license=(MIT)
+depends=('glibc')
+makedepends=('xorg-util-macros' 'python2' 'mesa-libgl')
+options=('!libtool')
+source=(${pkgname}-${pkgver}.tar.gz::https://github.com/anholt/${pkgname}/archive/v${pkgver}.tar.gz)
+md5sums=('12d6b7621f086c0c928887c27d90bc30')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+
+ ./autogen.sh --prefix=/usr
+}
+
+check() {
+ cd "${pkgname}-${pkgver}"
+
+ make -k check
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+}
+
diff --git a/abs/extra/libepoxy/__changelog b/abs/extra/libepoxy/__changelog
new file mode 100644
index 0000000..00bdcfb
--- /dev/null
+++ b/abs/extra/libepoxy/__changelog
@@ -0,0 +1 @@
+-PKGBUILD: change dep python to python2
diff --git a/abs/extra/libestr/PKGBUILD b/abs/extra/libestr/PKGBUILD
new file mode 100644
index 0000000..065e1f8
--- /dev/null
+++ b/abs/extra/libestr/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Brian Knox <taotetek@gmail.com>
+
+pkgname=libestr
+pkgver=0.1.10
+pkgrel=1
+pkgdesc="essentials for string handling (and a bit more)"
+url="http://libestr.adiscon.com/"
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+depends=()
+source=("http://libestr.adiscon.com/files/download/libestr-$pkgver.tar.gz")
+md5sums=('f4c9165a23587e77f7efe65d676d5e8e')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/abs/extra/libfbclient/ChangeLog b/abs/extra/libfbclient/ChangeLog
new file mode 100644
index 0000000..f02bd5f
--- /dev/null
+++ b/abs/extra/libfbclient/ChangeLog
@@ -0,0 +1,26 @@
+
+2009-06-08 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Rebuilt for the new icu
+
+2009-04-09 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.1.2
+
+2008-08-10 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.1.1
+
+2008-05-10 Mateusz Herych <heniekk@gmail.com>
+
+ * Updated for x86_64 - 2.1.0
+
+2008-04-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated for i686 - 2.1.0
+ * Sure, firebird is the hell to build. Waiting contributions ;-)
+
+2007-07-06 tardo <tardo@nagi-fanboi.net>
+
+ * Built for x86_64
+ * This is the most fucked up pkg evar.
diff --git a/abs/extra/libfbclient/LICENSE b/abs/extra/libfbclient/LICENSE
new file mode 100644
index 0000000..e735b0c
--- /dev/null
+++ b/abs/extra/libfbclient/LICENSE
@@ -0,0 +1,44 @@
+
+LICENSES
+--------
+
+The applicable and approved licenses for the source files
+of the Firebird RDBMS project are:
+
+ 1) InterBase Public License (IPL), version 1.0
+ http://bdn.borland.com/article/0,1410,30198,00.html
+
+ 2) Initial Developer's Public License (IDPL), version 1.0
+ http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl
+
+The IPL is copyright of Borland Corp., the other licenses are copyright
+by the source code authors and contributors.
+
+
+USAGE RULES
+-----------
+
+1) The source code which was released under the IPL must keep this license.
+ All modifications / adaptations of this code are still subjects of the IPL.
+
+2) The files that are derived from the IPL covered code, must also keep
+ this license. It means that if any new file contains some code covered by
+ the IPL, then this file should be released under the IPL too.
+
+3) The new files developed by the members of the Firebird project should
+ be released under the IDPL.
+
+4) The new files contributed by people who are not members of the Firebird
+ project should follow the rule #3. If an author (initial developer) doesn't
+ specify the license to be used, the person who applies the contributed code
+ to the CVS tree (a committer) becomes responsible for the license assigned
+ to the contributed code.
+
+5) Every non-binary file that exists in the CVS tree, should have a header
+ section which describes the license this code is released under. If a file
+ contains no header, it means that this code is freeware and nobody owns the
+ appropriate copyrights.
+
+
+You may find the exhibits for the approved licenses in /doc/license directory
+of the CVS tree.
diff --git a/abs/extra/libfbclient/PKGBUILD b/abs/extra/libfbclient/PKGBUILD
new file mode 100644
index 0000000..56c80b2
--- /dev/null
+++ b/abs/extra/libfbclient/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Carlier Laurent <lordheavym@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgname=libfbclient
+pkgver=2.5.4.26856
+pkgrel=3
+pkgdesc="Client library for Firebird."
+arch=('i686' 'x86_64')
+url="http://www.firebirdsql.org/"
+license=('custom')
+depends=('gcc-libs' 'icu')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/firebird/Firebird-$pkgver-0.tar.bz2
+ LICENSE)
+md5sums=('7a17ec9889424b98baa29e001a054434'
+ '0d61798861e159c85dbdf0f30fe2f2ce')
+
+build() {
+ cd $srcdir/Firebird-$pkgver-0
+
+ ./configure --prefix=/usr --with-system-icu --without-fbudf \
+ --without-fbsbin --without-fbconf --without-fbdoc --without-fbsample \
+ --without-fbsample-db --without-fbintl --without-fbmisc --without-fbhelp \
+ --without-fbsecure-db --with-fbmsg=/usr/share/firebird --without-fblog \
+ --without-fbglock --without-fbplugins
+
+ make
+}
+
+package() {
+ cd $srcdir/Firebird-$pkgver-0
+
+ mkdir -p $pkgdir/usr/{bin,share/{firebird,licenses/$pkgname}}
+
+ cp -R gen/firebird/{lib,include} $pkgdir/usr
+ rm -f $pkgdir/usr/lib/libedit.a
+
+ install -m644 gen/firebird/*.msg $pkgdir/usr/share/firebird
+ install -m755 gen/firebird/bin/fb_config $pkgdir/usr/bin
+ install -m644 ${srcdir}/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+
+ # Add libgds support FS#30062 FS#30282
+ cd $pkgdir/usr/lib
+ ln -s libfbclient.so libgds.so.0
+ ln -s libfbclient.so libgds.so
+}
diff --git a/abs/extra/libglvnd/LICENSE b/abs/extra/libglvnd/LICENSE
new file mode 100644
index 0000000..57bc4f4
--- /dev/null
+++ b/abs/extra/libglvnd/LICENSE
@@ -0,0 +1,26 @@
+Copyright (c) 2013, NVIDIA CORPORATION.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and/or associated documentation files (the
+"Materials"), to deal in the Materials without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Materials, and to
+permit persons to whom the Materials are furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+unaltered in all copies or substantial portions of the Materials.
+Any additions, deletions, or changes to the original source files
+must be clearly indicated in accompanying documentation.
+
+If only executable code is distributed, then the accompanying
+documentation must state that "this software is based in part on the
+work of the Khronos Group."
+
+THE MATERIALS ARE 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 OR COPYRIGHT HOLDERS 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
+MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. \ No newline at end of file
diff --git a/abs/extra/libglvnd/PKGBUILD b/abs/extra/libglvnd/PKGBUILD
new file mode 100644
index 0000000..b3ef540
--- /dev/null
+++ b/abs/extra/libglvnd/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 249779 2015-10-27 00:47:25Z eric $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=libglvnd
+pkgver=0.0.0.20160210
+_commit=236710018777d8b16f62b5c275e3ee95af7052cd
+pkgrel=2
+pkgdesc="The GL Vendor-Neutral Dispatch library"
+arch=('i686' 'x86_64')
+url="https://github.com/NVIDIA/libglvnd"
+license=('custom:BSD-like')
+depends=('libxext')
+makedepends=('xorg-server-devel' 'git' 'python2')
+source=("git+https://github.com/NVIDIA/libglvnd.git#commit=$_commit"
+ LICENSE)
+sha1sums=('SKIP'
+ 'c88e07f333fcf8dcdbef370b85372b4d88ad8a66')
+
+build() {
+ cd $pkgname
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="${pkgdir}" install
+
+ # For compatibility with older nvidia drivers for bumblebee
+ # Symlinks to /usr/lib will be in nvidia-libgl
+ mkdir "$pkgdir/usr/lib/nvidia"
+ for _lib in libGL.so libGLESv1_CM.so libGLESv2.so; do
+ mv "$pkgdir"/usr/lib/$_lib* "$pkgdir"/usr/lib/nvidia/
+ done
+
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/libgudev/PKGBUILD b/abs/extra/libgudev/PKGBUILD
new file mode 100644
index 0000000..363b588
--- /dev/null
+++ b/abs/extra/libgudev/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=libgudev
+pkgver=230
+pkgrel=1
+pkgdesc="GObject bindings for libudev"
+arch=('i686' 'x86_64')
+url="https://wiki.gnome.org/Projects/libgudev"
+license=('LGPL2.1')
+depends=('libsystemd')
+makedepends=('systemd' 'gobject-introspection' 'gtk-doc')
+provides=('libgudev-1.0.so')
+conflicts=('libsystemd<221')
+source=(https://download.gnome.org/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz)
+sha256sums=('a2e77faced0c66d7498403adefcc0707105e03db71a2b2abd620025b86347c18')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --enable-gtk-doc
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/libinput/PKGBUILD b/abs/extra/libinput/PKGBUILD
new file mode 100644
index 0000000..1d39dd9
--- /dev/null
+++ b/abs/extra/libinput/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Jan de Groot
+
+pkgname=libinput
+pkgver=1.1.4
+pkgrel=1
+pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices."
+arch=(i686 x86_64)
+url="http://www.freedesktop.org/wiki/Software/libinput/"
+license=(custom:X11)
+depends=('mtdev' 'systemd' 'libevdev')
+install=libinput.install
+options=('!libtool')
+source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
+sha256sums=('302cb76209b9c57a5a318e178f9bc446eede8ea79386103b5291cbfaa5fab5b6'
+ 'SKIP')
+validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net>
+
+prepare() {
+ cd $pkgname-$pkgver
+}
+
+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 -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/extra/libinput/libinput.install b/abs/extra/libinput/libinput.install
new file mode 100644
index 0000000..b9d5d0e
--- /dev/null
+++ b/abs/extra/libinput/libinput.install
@@ -0,0 +1,11 @@
+post_install() {
+ udevadm hwdb --update >/dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/abs/extra/liblogging/PKGBUILD b/abs/extra/liblogging/PKGBUILD
new file mode 100644
index 0000000..7f27113
--- /dev/null
+++ b/abs/extra/liblogging/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Denis Wernert <deniswernert@gmail.com>
+
+pkgname=liblogging
+pkgver=1.0.5
+pkgrel=1
+pkgdesc="easy to use, portable, open source library for system logging"
+url="http://www.liblogging.org/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('systemd')
+makedepends=('python2-docutils')
+options=('strip' 'zipman' '!libtool')
+source=("http://download.rsyslog.com/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('44b8ce2daa1bfb84c9feaf42f9925fd7')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/abs/extra/liblogging/__changelog b/abs/extra/liblogging/__changelog
new file mode 100644
index 0000000..a082f73
--- /dev/null
+++ b/abs/extra/liblogging/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD
+- change dep python-docutils to python2-docutils
diff --git a/abs/extra/libmicrohttpd/PKGBUILD b/abs/extra/libmicrohttpd/PKGBUILD
index 76c7b6e..316d989 100644
--- a/abs/extra/libmicrohttpd/PKGBUILD
+++ b/abs/extra/libmicrohttpd/PKGBUILD
@@ -6,7 +6,7 @@
# Contributor: Mathias Rohnstock <linksoft@gmx.de>
pkgname=libmicrohttpd
-pkgver=0.9.37
+pkgver=0.9.44
pkgrel=1
pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application."
arch=('i686' 'x86_64')
@@ -16,7 +16,7 @@ depends=('gnutls' 'libgcrypt')
optdepends=('file' 'curl')
install=libmicrohttpd.install
source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz)
-md5sums=('fdf1e0534d83bbf2663f80fa7873be77')
+md5sums=('9101b5ebf8f71792938ae672da314da2')
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/libnfs/PKGBUILD b/abs/extra/libnfs/PKGBUILD
index eaef7ac..42cf789 100644
--- a/abs/extra/libnfs/PKGBUILD
+++ b/abs/extra/libnfs/PKGBUILD
@@ -1,30 +1,34 @@
-# $Id: PKGBUILD 68570 2012-03-28 10:32:51Z idevolder $
+# $Id$
# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
pkgname=libnfs
-pkgver=1.3.0
+pkgver=1.10.0
pkgrel=1
pkgdesc="client library for accessing NFS shares"
arch=('i686' 'x86_64')
url="https://github.com/sahlberg/libnfs"
license=('GPL')
depends=('glibc')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/sahlberg/libnfs/tarball/$pkgname-$pkgver")
-_srcfolder=sahlberg-libnfs-47e5a2c
-sha256sums=('0acda3029db699c3978684080843f71d222ad35b30a2ff0d220d144e98854948')
-options=(!libtool)
+source=(
+ "https://github.com/sahlberg/$pkgname/archive/$pkgname-$pkgver.tar.gz"
+)
+sha256sums=('7f6c62a05c7e0f0749f2b13f178a4ed7aaf17bd09e65a10bb147bfe9807da272')
-build() {
- mv "$_srcfolder" "$pkgname-$pkgver"
+#prepare() {
+ #cd "$pkgname-$pkgname-$pkgver"
+
+#}
- cd "$pkgname-$pkgver"
+build() {
+ cd "$pkgname-$pkgname-$pkgver"
- autoreconf -vif
- ./configure --prefix=/usr
- make
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
}
package() {
- cd "$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
+ cd "$pkgname-$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
}
+
diff --git a/abs/extra/librelp/PKGBUILD b/abs/extra/librelp/PKGBUILD
new file mode 100644
index 0000000..a127fed
--- /dev/null
+++ b/abs/extra/librelp/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Kaiting Chen <kaiting.chen@kiwilight.com>
+
+pkgname='librelp'
+pkgver='1.2.7'
+pkgrel=3
+pkgdesc="The Reliable Event Logging Protocol"
+url="http://www.librelp.com/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('gnutls')
+source=("http://download.rsyslog.com/librelp/librelp-${pkgver}.tar.gz")
+md5sums=('26e02602490af3a681a2a13e6ce29efb')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch b/abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch
new file mode 100644
index 0000000..c55d81b
--- /dev/null
+++ b/abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch
@@ -0,0 +1,26 @@
+From fb8657b4469f864f9722d28bbb86c9b8a53446ac Mon Sep 17 00:00:00 2001
+From: Rob Sykes <rob@rob-Ideapad-S205.(none)>
+Date: Sun, 7 Apr 2013 07:39:36 +0100
+Subject: [PATCH 1/1] fix ineffectual SOXR_MINIMUM_PHASE and
+ SOXR_INTERMEDIATE_PHASE in soxr_quality_spec recipe
+
+---
+ src/soxr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/soxr.c b/src/soxr.c
+index 93dd9c1..36b0251 100644
+--- a/src/soxr.c
++++ b/src/soxr.c
+@@ -85,7 +85,7 @@ soxr_quality_spec_t soxr_quality_spec(unsigned long recipe, unsigned long flags)
+ quality = 6;
+ else if (quality > 10)
+ quality = 0;
+- p->phase_response = "\62\31\144"[(recipe & 0x30)>>8];
++ p->phase_response = "\62\31\144"[(recipe & 0x30) >> 4];
+ p->stopband_begin = 1;
+ p->precision = !quality? 0: quality < 3? 16 : quality < 8? 4 + quality * 4 : 55 - quality * 4;
+ rej = p->precision * linear_to_dB(2.);
+--
+2.3.5
+
diff --git a/abs/extra/libsoxr/PKGBUILD b/abs/extra/libsoxr/PKGBUILD
new file mode 100644
index 0000000..b3b4a6e
--- /dev/null
+++ b/abs/extra/libsoxr/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Anatol Pomozov
+# Contributor: JSpaces <jspace -aT- unseen -d0T- is>
+# Contributor: Triode <triode1 -aT- btinternet -d0t- com>
+
+pkgname=libsoxr
+pkgver=0.1.1
+pkgrel=3
+pkgdesc='The SoX Resampler library that aims to give fast and high quality results for any constant resampling ratio'
+arch=(i686 x86_64)
+url='http://sourceforge.net/p/soxr/wiki/Home/'
+license=(GPL)
+depends=(gcc-libs)
+makedepends=(cmake)
+options=(!emptydirs)
+source=(http://downloads.sourceforge.net/project/soxr/soxr-$pkgver-Source.tar.xz
+ 0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch)
+sha1sums=('f5d90e375db3914a522fef477898bde8c70243e7'
+ '73e6a3418001ce01aa16c3d8e29e2535d0158111')
+
+prepare() {
+ cd soxr-$pkgver-Source
+ patch -p1 < "$srcdir"/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch
+}
+
+build() {
+ cd soxr-$pkgver-Source
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DVISIBILITY_HIDDENL=ON \
+ -DWITH_AVFFT=ON \
+ -DWITH_DOUBLE_PRECISION=ON \
+ -DWITH_LSR_BINDINGS=ON \
+ -DWITH_OPENMP=ON \
+ -DWITH_PFFFT=ON \
+ -DWITH_SIMD=ON \
+ .
+ make
+}
+
+check() {
+ cd soxr-$pkgver-Source
+ make test
+}
+
+package() {
+ cd soxr-$pkgver-Source
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENCE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ rm -r "$pkgdir"/usr/share/doc/$pkgname/
+}
diff --git a/abs/extra/libunwind/PKGBUILD b/abs/extra/libunwind/PKGBUILD
new file mode 100644
index 0000000..84ee163
--- /dev/null
+++ b/abs/extra/libunwind/PKGBUILD
@@ -0,0 +1,35 @@
+# $id$
+# Maintainer: Sébastien Luttringer
+# Contributor: Lawrence Lee <valheru@facticius.net>
+# Contributor: Phillip Marvin <phillip.marvin@gmail.com>
+# Contributor: keystone <phillip.marvin@gmail.com>
+
+pkgname=libunwind
+pkgver=1.1
+pkgrel=2
+pkgdesc='Portable and efficient C programming interface (API) to determine the call-chain of a program'
+arch=('i686' 'x86_64')
+url='http://www.nongnu.org/libunwind/'
+license=('GPL')
+depends=('glibc' 'xz')
+source=("http://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('fb4ea2f6fbbe45bf032cd36e586883ce')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure CFLAGS="$CFLAGS -U_FORTIFY_SOURCE" --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ # This function is ``supposed'' to fail. Upstream know, but haven't fixed it.
+ make check || return 0
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/libuv/PKGBUILD b/abs/extra/libuv/PKGBUILD
new file mode 100644
index 0000000..9cc9991
--- /dev/null
+++ b/abs/extra/libuv/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id$
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=libuv
+pkgver=1.9.0
+pkgrel=1
+pkgdesc="Multi-platform support library with a focus on asynchronous I/O"
+arch=('i686' 'x86_64')
+url="https://github.com/libuv/libuv"
+license=('custom')
+depends=('glibc')
+makedepends=('python2-sphinx')
+source=("https://github.com/libuv/libuv/archive/v$pkgver/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+ make man -C docs
+
+ # skip failing get_passwd test
+ sed '/pwd\.homedir/d' -i test/test-get-passwd.c
+}
+
+check() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 LICENSE \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 AUTHORS \
+ "$pkgdir"/usr/share/doc/$pkgname/AUTHORS
+ install -Dm644 README.md \
+ "$pkgdir"/usr/share/doc/$pkgname/README.md
+ install -Dm644 ChangeLog \
+ "$pkgdir"/usr/share/doc/$pkgname/ChangeLog
+ install -Dm644 docs/build/man/libuv.1 \
+ "$pkgdir"/usr/share/man/man1/libuv.1
+}
+
+sha256sums=('f8b8272a0d80138b709d38fad2baf771899eed61e7f9578d17898b07a1a2a5eb')
diff --git a/abs/extra/libuv/__changelog b/abs/extra/libuv/__changelog
new file mode 100644
index 0000000..1f97308
--- /dev/null
+++ b/abs/extra/libuv/__changelog
@@ -0,0 +1 @@
+PKGBUILD: change dep python-sphinx to python2-sphinx
diff --git a/abs/extra/libva-intel-driver/PKGBUILD b/abs/extra/libva-intel-driver/PKGBUILD
new file mode 100644
index 0000000..f3ab7b9
--- /dev/null
+++ b/abs/extra/libva-intel-driver/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+
+pkgname=libva-intel-driver
+pkgver=1.6.1
+pkgrel=1
+pkgdesc='VA-API implementation for Intel G45 and HD Graphics family'
+arch=('i686' 'x86_64')
+url='http://freedesktop.org/wiki/Software/vaapi'
+license=('MIT')
+depends=('libva')
+replaces=('libva-driver-intel')
+source=(http://freedesktop.org/software/vaapi/releases/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('ed1b04c1a3c029ad389b7e23822a2762')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # Only relevant if intel-gpu-tools is installed,
+ # since then the shaders will be recompiled
+ sed -i '1s/python$/&2/' src/shaders/gpp.py
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/abs/extra/libva/PKGBUILD b/abs/extra/libva/PKGBUILD
index dad11fd..1873cec 100644
--- a/abs/extra/libva/PKGBUILD
+++ b/abs/extra/libva/PKGBUILD
@@ -3,7 +3,7 @@
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
pkgname=libva
-pkgver=1.4.1
+pkgver=1.6.1
pkgrel=1
pkgdesc='Video Acceleration (VA) API for Linux'
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ makedepends=('mesa')
optdepends=('libva-vdpau-driver: backend for Nvidia and AMD cards'
'libva-intel-driver: backend for Intel cards')
source=(http://freedesktop.org/software/vaapi/releases/$pkgname/$pkgname-$pkgver.tar.bz2)
-md5sums=('8e3e7096750c14d1f98da807df7c1ba5')
+md5sums=('7a5eb1fdf531f987211b7228a6a46428')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch b/abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch
new file mode 100644
index 0000000..0e01dd5
--- /dev/null
+++ b/abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch
@@ -0,0 +1,317 @@
+From 7361ef732b432e153496c30da66081d7e530c7f6 Mon Sep 17 00:00:00 2001
+From: Peter de Rivaz <peter.derivaz@argondesign.com>
+Date: Mon, 14 Dec 2015 16:35:29 +0000
+Subject: [PATCH] Fix for issue 1114 compile error
+
+In 32-bit build with --enable-shared, there is a lot of
+register pressure and register src_strideq is reused.
+The code needs to use the stack based version of src_stride,
+but this doesn't compile when used in an lea instruction.
+
+This patch also fixes a related segmentation fault caused by the
+implementation using src_strideq even though it has been
+reused.
+
+This patch also fixes the HBD subpel variance tests that fail
+when compiled without disable-optimizations.
+These failures were caused by local variables in the assembler
+routines colliding with the caller's stack frame.
+
+Change-Id: Ice9d4dafdcbdc6038ad5ee7c1c09a8f06deca362
+---
+ vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm | 18 +++----
+ vpx_dsp/x86/highbd_variance_sse2.c | 64 ++++++++++++++----------
+ 2 files changed, 44 insertions(+), 38 deletions(-)
+
+diff --git a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
+index 22d52a2..30ee81b 100644
+--- a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
++++ b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
+@@ -79,20 +79,13 @@ SECTION .text
+
+ %macro INC_SRC_BY_SRC_STRIDE 0
+ %if ARCH_X86=1 && CONFIG_PIC=1
+- lea srcq, [srcq + src_stridemp*2]
++ add srcq, src_stridemp
++ add srcq, src_stridemp
+ %else
+ lea srcq, [srcq + src_strideq*2]
+ %endif
+ %endmacro
+
+-%macro INC_SRC_BY_SRC_2STRIDE 0
+-%if ARCH_X86=1 && CONFIG_PIC=1
+- lea srcq, [srcq + src_stridemp*4]
+-%else
+- lea srcq, [srcq + src_strideq*4]
+-%endif
+-%endmacro
+-
+ %macro SUBPEL_VARIANCE 1-2 0 ; W
+ %define bilin_filter_m bilin_filter_m_sse2
+ %define filter_idx_shift 5
+@@ -984,8 +977,9 @@ SECTION .text
+ .x_other_y_other_loop:
+ movu m2, [srcq]
+ movu m4, [srcq+2]
+- movu m3, [srcq+src_strideq*2]
+- movu m5, [srcq+src_strideq*2+2]
++ INC_SRC_BY_SRC_STRIDE
++ movu m3, [srcq]
++ movu m5, [srcq+2]
+ pmullw m2, filter_x_a
+ pmullw m4, filter_x_b
+ paddw m2, filter_rnd
+@@ -1018,7 +1012,7 @@ SECTION .text
+ SUM_SSE m0, m2, m4, m3, m6, m7
+ mova m0, m5
+
+- INC_SRC_BY_SRC_2STRIDE
++ INC_SRC_BY_SRC_STRIDE
+ lea dstq, [dstq + dst_strideq * 4]
+ %if %2 == 1 ; avg
+ add secq, sec_str
+diff --git a/vpx_dsp/x86/highbd_variance_sse2.c b/vpx_dsp/x86/highbd_variance_sse2.c
+index b45331c..81ec5db 100644
+--- a/vpx_dsp/x86/highbd_variance_sse2.c
++++ b/vpx_dsp/x86/highbd_variance_sse2.c
+@@ -243,13 +243,18 @@ unsigned int vpx_highbd_12_mse8x8_sse2(const uint8_t *src8, int src_stride,
+ }
+
+ #if CONFIG_USE_X86INC
++// The 2 unused parameters are place holders for PIC enabled build.
++// These definitions are for functions defined in
++// highbd_subpel_variance_impl_sse2.asm
+ #define DECL(w, opt) \
+ int vpx_highbd_sub_pixel_variance##w##xh_##opt(const uint16_t *src, \
+ ptrdiff_t src_stride, \
+ int x_offset, int y_offset, \
+ const uint16_t *dst, \
+ ptrdiff_t dst_stride, \
+- int height, unsigned int *sse);
++ int height, \
++ unsigned int *sse, \
++ void *unused0, void *unused);
+ #define DECLS(opt1, opt2) \
+ DECL(8, opt1); \
+ DECL(16, opt1)
+@@ -274,7 +279,7 @@ uint32_t vpx_highbd_8_sub_pixel_variance##w##x##h##_##opt(const uint8_t *src8, \
+ int se = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src, src_stride, \
+ x_offset, y_offset, \
+ dst, dst_stride, h, \
+- &sse); \
++ &sse, NULL, NULL); \
+ if (w > wf) { \
+ unsigned int sse2; \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 16, \
+@@ -282,19 +287,20 @@ uint32_t vpx_highbd_8_sub_pixel_variance##w##x##h##_##opt(const uint8_t *src8, \
+ x_offset, y_offset, \
+ dst + 16, \
+ dst_stride, \
+- h, &sse2); \
++ h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 48, src_stride, x_offset, y_offset, \
+- dst + 48, dst_stride, h, &sse2); \
++ dst + 48, dst_stride, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -312,7 +318,7 @@ uint32_t vpx_highbd_10_sub_pixel_variance##w##x##h##_##opt( \
+ int se = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src, src_stride, \
+ x_offset, y_offset, \
+ dst, dst_stride, \
+- h, &sse); \
++ h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 16, \
+@@ -320,20 +326,21 @@ uint32_t vpx_highbd_10_sub_pixel_variance##w##x##h##_##opt( \
+ x_offset, y_offset, \
+ dst + 16, \
+ dst_stride, \
+- h, &sse2); \
++ h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 48, src_stride, \
+ x_offset, y_offset, \
+ dst + 48, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -359,27 +366,27 @@ uint32_t vpx_highbd_12_sub_pixel_variance##w##x##h##_##opt( \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 16 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 16 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 32 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 32 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 48 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 48 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ }\
+@@ -410,6 +417,7 @@ FNS(sse2, sse);
+ #undef FNS
+ #undef FN
+
++// The 2 unused parameters are place holders for PIC enabled build.
+ #define DECL(w, opt) \
+ int vpx_highbd_sub_pixel_avg_variance##w##xh_##opt(const uint16_t *src, \
+ ptrdiff_t src_stride, \
+@@ -419,7 +427,8 @@ int vpx_highbd_sub_pixel_avg_variance##w##xh_##opt(const uint16_t *src, \
+ const uint16_t *sec, \
+ ptrdiff_t sec_stride, \
+ int height, \
+- unsigned int *sse);
++ unsigned int *sse, \
++ void *unused0, void *unused);
+ #define DECLS(opt1) \
+ DECL(16, opt1) \
+ DECL(8, opt1)
+@@ -439,23 +448,23 @@ uint32_t vpx_highbd_8_sub_pixel_avg_variance##w##x##h##_##opt( \
+ uint16_t *sec = CONVERT_TO_SHORTPTR(sec8); \
+ int se = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src, src_stride, x_offset, \
+- y_offset, dst, dst_stride, sec, w, h, &sse); \
++ y_offset, dst, dst_stride, sec, w, h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 16, src_stride, x_offset, y_offset, \
+- dst + 16, dst_stride, sec + 16, w, h, &sse2); \
++ dst + 16, dst_stride, sec + 16, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 32, src_stride, x_offset, y_offset, \
+- dst + 32, dst_stride, sec + 32, w, h, &sse2); \
++ dst + 32, dst_stride, sec + 32, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48, src_stride, x_offset, y_offset, \
+- dst + 48, dst_stride, sec + 48, w, h, &sse2); \
++ dst + 48, dst_stride, sec + 48, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -475,14 +484,15 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance##w##x##h##_##opt( \
+ int se = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src, src_stride, x_offset, \
+ y_offset, dst, dst_stride, \
+- sec, w, h, &sse); \
++ sec, w, h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 16, src_stride, \
+ x_offset, y_offset, \
+ dst + 16, dst_stride, \
+- sec + 16, w, h, &sse2); \
++ sec + 16, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+@@ -490,14 +500,16 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- sec + 32, w, h, &sse2); \
++ sec + 32, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48, src_stride, \
+ x_offset, y_offset, \
+ dst + 48, dst_stride, \
+- sec + 48, w, h, &sse2); \
++ sec + 48, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -525,7 +537,7 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + (start_row * src_stride), src_stride, x_offset, \
+ y_offset, dst + (start_row * dst_stride), dst_stride, \
+- sec + (start_row * w), w, height, &sse2); \
++ sec + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf) { \
+@@ -533,7 +545,7 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 16 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 16 + (start_row * dst_stride), dst_stride, \
+- sec + 16 + (start_row * w), w, height, &sse2); \
++ sec + 16 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf * 2) { \
+@@ -541,14 +553,14 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 32 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 32 + (start_row * dst_stride), dst_stride, \
+- sec + 32 + (start_row * w), w, height, &sse2); \
++ sec + 32 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 48 + (start_row * dst_stride), dst_stride, \
+- sec + 48 + (start_row * w), w, height, &sse2); \
++ sec + 48 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ } \
+--
+2.7.0
+
diff --git a/abs/extra/libvpx/PKGBUILD b/abs/extra/libvpx/PKGBUILD
index 0fad7b8..f4aa2d1 100644
--- a/abs/extra/libvpx/PKGBUILD
+++ b/abs/extra/libvpx/PKGBUILD
@@ -1,34 +1,48 @@
# $Id$
# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
pkgname=libvpx
-pkgver=1.3.0
-pkgrel=1
-pkgdesc='The VP8 Codec SDK'
+pkgver=1.5.0
+pkgrel=4
+pkgdesc='VP8 and VP9 codec'
arch=('i686' 'x86_64')
url='http://www.webmproject.org/'
license=('BSD')
-depends=('glibc')
+depends=('glibc' 'gcc-libs')
makedepends=('yasm' 'git')
-source=($pkgname::git+http://code.google.com/p/webm.libvpx#tag=v$pkgver)
-md5sums=('SKIP')
+provides=('libvpx.so')
+source=($pkgname-$pkgver.tar.gz::https://github.com/webmproject/libvpx/archive/v$pkgver.tar.gz
+ 0001-Fix-for-issue-1114-compile-error.patch)
+md5sums=('0c662bc7525afe281badb3175140d35c'
+ 'a03e318d5d92270ed826b55d6d9dc828')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # https://bugs.chromium.org/p/webm/issues/detail?id=1114
+ patch -Np1 -i ../0001-Fix-for-issue-1114-compile-error.patch
+}
build() {
- cd $pkgname
- ./configure --prefix=/usr \
- --enable-vp8 \
- --enable-vp9 \
- --enable-runtime-cpu-detect \
- --enable-shared \
- --enable-postproc \
- --enable-pic \
- --disable-install-docs \
- --disable-install-srcs
- make
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --enable-vp8 \
+ --enable-vp9 \
+ --enable-vp9-highbitdepth \
+ --enable-runtime-cpu-detect \
+ --enable-shared \
+ --enable-postproc \
+ --enable-pic \
+ --enable-experimental --enable-spatial-svc \
+ --disable-install-docs \
+ --disable-install-srcs
+ make
}
package() {
- cd $pkgname
- make DIST_DIR="$pkgdir/usr" install
- install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd $pkgname-$pkgver
+ make DIST_DIR="$pkgdir/usr" install
+ install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/abs/extra/linuxtv-dvb-apps/PKGBUILD b/abs/extra/linuxtv-dvb-apps/PKGBUILD
index 2414de4..9d5b090 100644
--- a/abs/extra/linuxtv-dvb-apps/PKGBUILD
+++ b/abs/extra/linuxtv-dvb-apps/PKGBUILD
@@ -1,32 +1,32 @@
-# $Id: PKGBUILD 80369 2012-11-21 04:04:30Z jconder $
+# $Id$
# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
# Contributor: Camille Moncelier <pix@devlife.org>
pkgname=linuxtv-dvb-apps
-pkgver=1486
-pkgrel=2
-_hgrev=3fc7dfa68484
-pkgdesc='Viewer programs for DVB cards'
+pkgver=1505
+pkgrel=1
+_hgrev=3d43b280298c
+pkgdesc='Linux DVB API applications and utilities'
arch=('i686' 'x86_64')
url='http://www.linuxtv.org/'
license=('GPL')
+depends=('glibc')
source=("http://linuxtv.org/hg/dvb-apps/archive/$_hgrev.tar.bz2")
-sha256sums=('60cfd45fe7417a4445a7814ce6e645ddaad0f8e934015c09d53eb93c8739b35a')
-build() {
+prepare() {
cd "dvb-apps-$_hgrev"
- rm -rf include
+}
- make -C lib
- make -C util
+build() {
+ cd "dvb-apps-$_hgrev"
+ make
}
package() {
cd "dvb-apps-$_hgrev"
-
- make -C lib DESTDIR="$pkgdir" install
- make -C util DESTDIR="$pkgdir" install
-
- chmod 755 "$pkgdir"/usr/lib/*.so*
+ make DESTDIR="$pkgdir" install
+ # Remove conflict with xbase (FS#37862)
+ mv "$pkgdir"/usr/bin/{zap,dvbzap}
}
+md5sums=('e2cc2ca0c429f6cb73d0f73b29dd70e8')
diff --git a/abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch b/abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch
new file mode 100644
index 0000000..d5e06a7
--- /dev/null
+++ b/abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch
@@ -0,0 +1,142 @@
+From 0bee2d927c97454e629b0789c7f4e3d509cf4178 Mon Sep 17 00:00:00 2001
+From: Evgeniy Stepanov <eugeni.stepanov@gmail.com>
+Date: Thu, 8 Oct 2015 21:35:34 +0000
+Subject: [PATCH] New MSan mapping layout (compiler-rt part).
+
+This is an implementation of
+https://github.com/google/sanitizers/issues/579
+
+It has a number of advantages over the current mapping:
+* Works for non-PIE executables.
+* Does not require ASLR; as a consequence, debugging MSan programs in
+ gdb no longer requires "set disable-randomization off".
+* Supports linux kernels >=4.1.2.
+* The code is marginally faster and smaller.
+
+This is an ABI break. We never really promised ABI stability, but
+this patch includes a courtesy escape hatch: a compile-time macro
+that reverts back to the old mapping layout.
+
+git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249754 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ lib/msan/msan.h | 23 ++++++++++++++++++++++
+ lib/msan/msan_allocator.cc | 8 +++++++-
+ test/msan/mmap.cc | 4 +++-
+ test/msan/strlen_of_shadow.cc | 2 +-
+ .../TestCases/Posix/decorate_proc_maps.cc | 4 ++--
+ 5 files changed, 36 insertions(+), 5 deletions(-)
+
+diff --git a/lib/msan/msan.h b/lib/msan/msan.h
+index 3776fa9..2d77983 100644
+--- a/lib/msan/msan.h
++++ b/lib/msan/msan.h
+@@ -135,6 +135,7 @@ const MappingDesc kMemoryLayout[] = {
+
+ #elif SANITIZER_LINUX && SANITIZER_WORDSIZE == 64
+
++#ifdef MSAN_LINUX_X86_64_OLD_MAPPING
+ // Requries PIE binary and ASLR enabled.
+ // Main thread stack and DSOs at 0x7f0000000000 (sometimes 0x7e0000000000).
+ // Heap at 0x600000000000.
+@@ -146,6 +147,28 @@ const MappingDesc kMemoryLayout[] = {
+
+ #define MEM_TO_SHADOW(mem) (((uptr)(mem)) & ~0x400000000000ULL)
+ #define SHADOW_TO_ORIGIN(mem) (((uptr)(mem)) + 0x200000000000ULL)
++#else // MSAN_LINUX_X86_64_OLD_MAPPING
++// All of the following configurations are supported.
++// ASLR disabled: main executable and DSOs at 0x555550000000
++// PIE and ASLR: main executable and DSOs at 0x7f0000000000
++// non-PIE: main executable below 0x100000000, DSOs at 0x7f0000000000
++// Heap at 0x700000000000.
++const MappingDesc kMemoryLayout[] = {
++ {0x000000000000ULL, 0x010000000000ULL, MappingDesc::APP, "app-1"},
++ {0x010000000000ULL, 0x100000000000ULL, MappingDesc::SHADOW, "shadow-2"},
++ {0x100000000000ULL, 0x110000000000ULL, MappingDesc::INVALID, "invalid"},
++ {0x110000000000ULL, 0x200000000000ULL, MappingDesc::ORIGIN, "origin-2"},
++ {0x200000000000ULL, 0x300000000000ULL, MappingDesc::SHADOW, "shadow-3"},
++ {0x300000000000ULL, 0x400000000000ULL, MappingDesc::ORIGIN, "origin-3"},
++ {0x400000000000ULL, 0x500000000000ULL, MappingDesc::INVALID, "invalid"},
++ {0x500000000000ULL, 0x510000000000ULL, MappingDesc::SHADOW, "shadow-1"},
++ {0x510000000000ULL, 0x600000000000ULL, MappingDesc::APP, "app-2"},
++ {0x600000000000ULL, 0x610000000000ULL, MappingDesc::ORIGIN, "origin-1"},
++ {0x610000000000ULL, 0x700000000000ULL, MappingDesc::INVALID, "invalid"},
++ {0x700000000000ULL, 0x800000000000ULL, MappingDesc::APP, "app-3"}};
++#define MEM_TO_SHADOW(mem) (((uptr)(mem)) ^ 0x500000000000ULL)
++#define SHADOW_TO_ORIGIN(mem) (((uptr)(mem)) + 0x100000000000ULL)
++#endif // MSAN_LINUX_X86_64_OLD_MAPPING
+
+ #else
+ #error "Unsupported platform"
+diff --git a/lib/msan/msan_allocator.cc b/lib/msan/msan_allocator.cc
+index 865a458..b7d3947 100644
+--- a/lib/msan/msan_allocator.cc
++++ b/lib/msan/msan_allocator.cc
+@@ -49,15 +49,21 @@ struct MsanMapUnmapCallback {
+ typedef SizeClassAllocator32<0, SANITIZER_MMAP_RANGE_SIZE, sizeof(Metadata),
+ SizeClassMap, kRegionSizeLog, ByteMap,
+ MsanMapUnmapCallback> PrimaryAllocator;
++
+ #elif defined(__x86_64__)
++#if SANITIZER_LINUX && !defined(MSAN_LINUX_X86_64_OLD_MAPPING)
++ static const uptr kAllocatorSpace = 0x700000000000ULL;
++#else
+ static const uptr kAllocatorSpace = 0x600000000000ULL;
+- static const uptr kAllocatorSize = 0x80000000000; // 8T.
++#endif
++ static const uptr kAllocatorSize = 0x80000000000; // 8T.
+ static const uptr kMetadataSize = sizeof(Metadata);
+ static const uptr kMaxAllowedMallocSize = 8UL << 30;
+
+ typedef SizeClassAllocator64<kAllocatorSpace, kAllocatorSize, kMetadataSize,
+ DefaultSizeClassMap,
+ MsanMapUnmapCallback> PrimaryAllocator;
++
+ #elif defined(__powerpc64__)
+ static const uptr kAllocatorSpace = 0x300000000000;
+ static const uptr kAllocatorSize = 0x020000000000; // 2T
+diff --git a/test/msan/mmap.cc b/test/msan/mmap.cc
+index 250ce34..962836c 100644
+--- a/test/msan/mmap.cc
++++ b/test/msan/mmap.cc
+@@ -15,7 +15,9 @@ bool AddrIsApp(void *p) {
+ #if defined(__FreeBSD__) && defined(__x86_64__)
+ return addr < 0x010000000000ULL || addr >= 0x600000000000ULL;
+ #elif defined(__x86_64__)
+- return addr >= 0x600000000000ULL;
++ return (addr >= 0x000000000000ULL && addr < 0x010000000000ULL) ||
++ (addr >= 0x510000000000ULL && addr < 0x600000000000ULL) ||
++ (addr >= 0x700000000000ULL && addr < 0x800000000000ULL);
+ #elif defined(__mips64)
+ return addr >= 0x00e000000000ULL;
+ #elif defined(__powerpc64__)
+diff --git a/test/msan/strlen_of_shadow.cc b/test/msan/strlen_of_shadow.cc
+index fee9223..0594f00 100644
+--- a/test/msan/strlen_of_shadow.cc
++++ b/test/msan/strlen_of_shadow.cc
+@@ -12,7 +12,7 @@
+
+ const char *mem_to_shadow(const char *p) {
+ #if defined(__x86_64__)
+- return (char *)((uintptr_t)p & ~0x400000000000ULL);
++ return (char *)((uintptr_t)p ^ 0x500000000000ULL);
+ #elif defined (__mips64)
+ return (char *)((uintptr_t)p & ~0x4000000000ULL);
+ #elif defined(__powerpc64__)
+diff --git a/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc b/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
+index 8744c3f..36d4df5 100644
+--- a/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
++++ b/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
+@@ -47,8 +47,8 @@ int main(void) {
+ // CHECK-asan: rw-p {{.*}} [high shadow]
+
+ // CHECK-msan: ---p {{.*}} [invalid]
+-// CHECK-msan: rw-p {{.*}} [shadow]
+-// CHECK-msan: ---p {{.*}} [origin]
++// CHECK-msan: rw-p {{.*}} [shadow{{.*}}]
++// CHECK-msan: ---p {{.*}} [origin{{.*}}]
+
+ // CHECK-tsan: rw-p {{.*}} [shadow]
+ // CHECK-tsan: rw-p {{.*}} [meta shadow]
+--
+2.6.1
+
diff --git a/abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch b/abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch
new file mode 100644
index 0000000..28fe687
--- /dev/null
+++ b/abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch
@@ -0,0 +1,115 @@
+From 2c87d24da09ecd2c14c38a0b4f7a0e3f332b08ee Mon Sep 17 00:00:00 2001
+From: Evgeniy Stepanov <eugeni.stepanov@gmail.com>
+Date: Thu, 8 Oct 2015 21:35:26 +0000
+Subject: [PATCH] New MSan mapping layout (llvm part).
+
+This is an implementation of
+https://github.com/google/sanitizers/issues/579
+
+It has a number of advantages over the current mapping:
+* Works for non-PIE executables.
+* Does not require ASLR; as a consequence, debugging MSan programs in
+ gdb no longer requires "set disable-randomization off".
+* Supports linux kernels >=4.1.2.
+* The code is marginally faster and smaller.
+
+This is an ABI break. We never really promised ABI stability, but
+this patch includes a courtesy escape hatch: a compile-time macro
+that reverts back to the old mapping layout.
+
+git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249753 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ lib/Transforms/Instrumentation/MemorySanitizer.cpp | 22 +++++++++++++++-------
+ .../MemorySanitizer/origin-alignment.ll | 10 ++++++----
+ 2 files changed, 21 insertions(+), 11 deletions(-)
+
+diff --git a/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+index 9d4c7de..bc6da5a 100644
+--- a/lib/Transforms/Instrumentation/MemorySanitizer.cpp
++++ b/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+@@ -232,10 +232,17 @@ static const MemoryMapParams Linux_I386_MemoryMapParams = {
+
+ // x86_64 Linux
+ static const MemoryMapParams Linux_X86_64_MemoryMapParams = {
++#ifdef MSAN_LINUX_X86_64_OLD_MAPPING
+ 0x400000000000, // AndMask
+ 0, // XorMask (not used)
+ 0, // ShadowBase (not used)
+ 0x200000000000, // OriginBase
++#else
++ 0, // AndMask (not used)
++ 0x500000000000, // XorMask
++ 0, // ShadowBase (not used)
++ 0x100000000000, // OriginBase
++#endif
+ };
+
+ // mips64 Linux
+@@ -926,16 +933,17 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
+ ///
+ /// Offset = (Addr & ~AndMask) ^ XorMask
+ Value *getShadowPtrOffset(Value *Addr, IRBuilder<> &IRB) {
++ Value *OffsetLong = IRB.CreatePointerCast(Addr, MS.IntptrTy);
++
+ uint64_t AndMask = MS.MapParams->AndMask;
+- assert(AndMask != 0 && "AndMask shall be specified");
+- Value *OffsetLong =
+- IRB.CreateAnd(IRB.CreatePointerCast(Addr, MS.IntptrTy),
+- ConstantInt::get(MS.IntptrTy, ~AndMask));
++ if (AndMask)
++ OffsetLong =
++ IRB.CreateAnd(OffsetLong, ConstantInt::get(MS.IntptrTy, ~AndMask));
+
+ uint64_t XorMask = MS.MapParams->XorMask;
+- if (XorMask != 0)
+- OffsetLong = IRB.CreateXor(OffsetLong,
+- ConstantInt::get(MS.IntptrTy, XorMask));
++ if (XorMask)
++ OffsetLong =
++ IRB.CreateXor(OffsetLong, ConstantInt::get(MS.IntptrTy, XorMask));
+ return OffsetLong;
+ }
+
+diff --git a/test/Instrumentation/MemorySanitizer/origin-alignment.ll b/test/Instrumentation/MemorySanitizer/origin-alignment.ll
+index ce0dbfc..562d194 100644
+--- a/test/Instrumentation/MemorySanitizer/origin-alignment.ll
++++ b/test/Instrumentation/MemorySanitizer/origin-alignment.ll
+@@ -24,7 +24,7 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 and (i64 ptrtoint {{.*}} to i32*), align 8
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 xor (i64 ptrtoint (i8* @a8 to i64), i64 {{.*}}), i64 {{.*}}) to i32*), align 8
+ ; CHECK: ret void
+
+
+@@ -39,7 +39,7 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 and (i64 ptrtoint {{.*}} to i32*), align 4
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 xor (i64 ptrtoint (i8* @a4 to i64), i64 {{.*}}), i64 {{.*}}) to i32*), align 4
+ ; CHECK: ret void
+
+
+@@ -54,7 +54,8 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 and (i64 ptrtoint {{.*}} i64 -4) to i32*), align 4
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 xor (i64 ptrtoint (i8* @a2 to i64), i64 {{.*}}), i64 {{.*}}), i64 -4) to i32*), align 4
++
+ ; CHECK: ret void
+
+
+@@ -69,5 +70,6 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 and (i64 ptrtoint {{.*}} i64 -4) to i32*), align 4
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 xor (i64 ptrtoint (i8* @a1 to i64), i64 {{.*}}), i64 {{.*}}), i64 -4) to i32*), align 4
++
+ ; CHECK: ret void
+--
+2.6.1
+
diff --git a/abs/extra/llvm/PKGBUILD b/abs/extra/llvm/PKGBUILD
index 00a7eaa..960fa13 100644
--- a/abs/extra/llvm/PKGBUILD
+++ b/abs/extra/llvm/PKGBUILD
@@ -9,38 +9,52 @@
# Contributor: Roberto Alsina <ralsina@kde.org>
# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'clang' 'clang-analyzer'
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lldb' 'clang' 'clang-analyzer'
'clang-tools-extra')
-pkgver=3.5.0
-pkgrel=2.1
+pkgver=3.7.1
+pkgrel=1
+_ocaml_ver=4.02.3
arch=('i686' 'x86_64')
url="http://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
-makedepends=('libffi' 'python2' 'ocaml' 'python2-sphinx' 'chrpath')
+makedepends=('cmake' 'libffi' 'python2' "ocaml=$_ocaml_ver" 'python2-sphinx'
+ 'ocaml-ctypes' 'ocaml-findlib' 'libedit' 'swig')
# Use gcc-multilib to build 32-bit compiler-rt libraries on x86_64 (FS#41911)
-#[[ $CARCH = x86_64 ]] && makedepends+=('gcc-multilib')
-[[ $CARCH = x86_64 ]]
+#makedepends_x86_64=('gcc-multilib')
options=('staticlibs')
source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig}
http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig}
- llvm-3.5.0-force-link-pass.o.patch
- llvm-3.5.0-fix-cmake-llvm-exports.patch
- llvm-Config-config.h
+ http://llvm.org/releases/$pkgver/lldb-$pkgver.src.tar.xz{,.sig}
+ llvm-3.7.0-link-tools-against-libLLVM.patch
+ llvm-3.7.0-export-more-symbols.patch
+ clang-3.7.0-add-gcc-abi-tag-support.patch
+ clang-tools-extra-3.7.0-install-clang-query.patch
+ lldb-3.7.0-avoid-linking-to-libLLVM.patch
+ 0001-New-MSan-mapping-layout-llvm-part.patch
+ 0001-New-MSan-mapping-layout-compiler-rt-part.patch
llvm-Config-llvm-config.h)
-sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03'
+sha256sums=('be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5'
'SKIP'
- 'fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b'
+ '56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674'
'SKIP'
- '2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69'
+ '4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b'
'SKIP'
- 'a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136'
+ '9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181'
'SKIP'
- '5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19'
- '841a153d0e9d2d196ea5318388ff295e69c41547eb73b24edf92a1b2cc3cccdd'
- '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3'
+ '9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01'
+ 'SKIP'
+ 'cf9c8b4d70b4547eda162644658c5c203c3139fcea6c75003b6cd7dc11a8cccc'
+ 'a1c9f36b97c639666ab6a1bd647a08a027e93e3d3cfd6f5af9c36e757599ce81'
+ '5ed52d54612829402b63bc500bfefae75b3dc444a1524849c26cadf7e0ae4b7d'
+ '3abf85430c275ecb8dbb526ecb82b1c9f4b4f782a8a43b5a06d040ec0baba7e7'
+ '2d53b6ed4c7620eeade87e7761b98093a0434801ddd599056daed7881141fb01'
+ 'c5f4e329143bef36b623ba5daf311b5a73fa99ab05fed4ba506c1c3bc4cf5ee7'
+ 'f44e8fe3cef9b6f706d651f443922261e1dcf53bcaabdd0ac7edb1758e4bc44d'
'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
+validpgpkeys=('11E521D646982372EB577A1F8F0871F202119294'
+ 'B6C8F98282B944E3B0D5C2530FC3042E345AD05D')
prepare() {
cd "$srcdir/llvm-$pkgver.src"
@@ -53,52 +67,72 @@ prepare() {
mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt
- # Fix docs installation directory
- sed -i 's:$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
- Makefile.config.in
+ mv "$srcdir/lldb-$pkgver.src" tools/lldb
+
+ # Backport LLVM_LINK_LLVM_DYLIB option
+ # https://bugs.archlinux.org/task/46392
+ patch -Np1 -i ../llvm-3.7.0-link-tools-against-libLLVM.patch
+
+ # https://llvm.org/bugs/show_bug.cgi?id=24157
+ patch -Np2 -i ../llvm-3.7.0-export-more-symbols.patch
+
+ # https://llvm.org/bugs/show_bug.cgi?id=23529
+ # http://reviews.llvm.org/D12834
+ patch -d tools/clang -Np0 <../clang-3.7.0-add-gcc-abi-tag-support.patch
- # Fix definition of LLVM_CMAKE_DIR in LLVMConfig.cmake
- sed -i '/@LLVM_CONFIG_CMAKE_DIR@/s:$(PROJ_cmake):$(PROJ_prefix)/share/llvm/cmake:' \
- cmake/modules/Makefile
+ # https://llvm.org/bugs/show_bug.cgi?id=24046
+ # Upstreamed - http://reviews.llvm.org/D13206
+ patch -d tools/clang/tools/extra -Np1 <../clang-tools-extra-3.7.0-install-clang-query.patch
- # Fix build with GCC 4.9 (patch from Debian)
- # http://llvm.org/bugs/show_bug.cgi?id=20067
- patch -Np1 -i "$srcdir/llvm-3.5.0-force-link-pass.o.patch"
+ # https://llvm.org/bugs/show_bug.cgi?id=24953
+ patch -d tools/lldb -Np1 <../lldb-3.7.0-avoid-linking-to-libLLVM.patch
+
+ # https://llvm.org/bugs/show_bug.cgi?id=24155
+ patch -Np1 -i ../0001-New-MSan-mapping-layout-llvm-part.patch
+ patch -d projects/compiler-rt -Np1 <../0001-New-MSan-mapping-layout-compiler-rt-part.patch
+
+ # Use Python 2
+ find tools/lldb -name Makefile -exec sed -i 's/python-config/python2-config/' {} +
+ sed -i 's|/usr/bin/env python|&2|' \
+ tools/lldb/scripts/Python/{build-swig-Python,finish-swig-Python-LLDB}.sh
- # Fix generation of broken LLVMExports.cmake file
- # http://llvm.org/bugs/show_bug.cgi?id=20884
- patch -Np0 -i "$srcdir/llvm-3.5.0-fix-cmake-llvm-exports.patch"
+ mkdir build
}
build() {
- cd "$srcdir/llvm-$pkgver.src"
+ cd "$srcdir/llvm-$pkgver.src/build"
+
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLLVM_BUILD_LLVM_DYLIB=ON \
+ -DLLVM_DYLIB_EXPORT_ALL=ON \
+ -DLLVM_LINK_LLVM_DYLIB=ON \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_ENABLE_FFI=ON \
+ -DLLVM_BUILD_TESTS=ON \
+ -DLLVM_BUILD_DOCS=ON \
+ -DLLVM_ENABLE_SPHINX=ON \
+ -DLLVM_ENABLE_DOXYGEN=OFF \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+ -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
+ -DLLVM_BINUTILS_INCDIR=/usr/include \
+ ..
+
+ make
+ make ocaml_doc
+
+ # Disable automatic installation of components that go into subpackages
+ sed -i '/\(clang\|lldb\)\/cmake_install.cmake/d' tools/cmake_install.cmake
+ sed -i '/extra\/cmake_install.cmake/d' tools/clang/tools/cmake_install.cmake
+ sed -i '/compiler-rt\/cmake_install.cmake/d' projects/cmake_install.cmake
+}
- # Apply strip option to configure
- _optimized_switch="enable"
- [[ $(check_option strip) == n ]] && _optimized_switch="disable"
-
- # Include location of libffi headers in CPPFLAGS
- CPPFLAGS+=" $(pkg-config --cflags libffi)"
-
- # Force the use of GCC instead of clang
- CC=gcc CXX=g++ \
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --enable-shared \
- --enable-libffi \
- --enable-targets=all \
- --disable-expensive-checks \
- --disable-debug-runtime \
- --disable-assertions \
- --with-binutils-include=/usr/include \
- --with-python=/usr/bin/python2 \
- --$_optimized_switch-optimized
-
- make REQUIRES_RTTI=1
- make -C docs -f Makefile.sphinx man
- make -C docs -f Makefile.sphinx html
- make -C tools/clang/docs -f Makefile.sphinx html
+check() {
+ cd "$srcdir/llvm-$pkgver.src/build"
+ make check
+ make check-clang || warning \
+ 'Ignoring Clang test failures caused by name mangling differences'
}
package_llvm() {
@@ -107,143 +141,107 @@ package_llvm() {
cd "$srcdir/llvm-$pkgver.src"
- # We move the clang directory out of the tree so it won't get installed and
- # then we bring it back in for the clang package
- mv tools/clang "$srcdir"
+ make -C build DESTDIR="$pkgdir" install
- # -j1 is due to race conditions during the installation of the OCaml bindings
- make -j1 DESTDIR="$pkgdir" install
- mv "$srcdir/clang" tools
+ # Remove documentation sources
+ rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
- # The runtime library goes into llvm-libs
- mv -f "$pkgdir/usr/lib/libLLVM-$pkgver.so" "$srcdir/"
- mv -f "$pkgdir/usr/lib/libLLVM-${pkgver%.*}.so" "$srcdir/"
+ # The runtime libraries go into llvm-libs
+ mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO}.so* "$srcdir"
+ mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
# OCaml bindings go to a separate package
- rm -rf "$srcdir"/{ocaml,ocamldoc}
- mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir"
-
- # Remove duplicate files installed by the OCaml bindings
- rm "$pkgdir"/usr/{lib/libllvm*,share/doc/llvm/ocamldoc.tar.gz}
-
- # Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib/*.a
-
- # Get rid of example Hello transformation
- rm "$pkgdir"/usr/lib/*LLVMHello.*
-
- # Symlink LLVMgold.so from /usr/lib/bfd-plugins
- # https://bugs.archlinux.org/task/28479
- install -d "$pkgdir/usr/lib/bfd-plugins"
- ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
+ rm -rf "$srcdir"/ocaml.{lib,doc}
+ mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib"
+ mv "$pkgdir/usr/docs/ocaml/html" "$srcdir/ocaml.doc"
+ rm -r "$pkgdir/usr/docs"
if [[ $CARCH == x86_64 ]]; then
# Needed for multilib (https://bugs.archlinux.org/task/29951)
- # Header stubs are taken from Fedora
- for _header in config llvm-config; do
- mv "$pkgdir/usr/include/llvm/Config/$_header"{,-64}.h
- cp "$srcdir/llvm-Config-$_header.h" \
- "$pkgdir/usr/include/llvm/Config/$_header.h"
- done
+ # Header stub is taken from Fedora
+ mv "$pkgdir/usr/include/llvm/Config/llvm-config"{,-64}.h
+ cp "$srcdir/llvm-Config-llvm-config.h" \
+ "$pkgdir/usr/include/llvm/Config/llvm-config.h"
fi
- # Install man pages
- install -d "$pkgdir/usr/share/man/man1"
- cp docs/_build/man/*.1 "$pkgdir/usr/share/man/man1/"
-
- # Install html docs
- cp -r docs/_build/html/* "$pkgdir/usr/share/doc/$pkgname/html/"
- rm -r "$pkgdir/usr/share/doc/$pkgname/html/_sources"
-
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-libs() {
- pkgdesc="Low Level Virtual Machine (runtime library)"
- depends=('gcc-libs' 'zlib' 'libffi' 'ncurses')
+ pkgdesc="Low Level Virtual Machine (runtime libraries)"
+ depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses')
install -d "$pkgdir/usr/lib"
cp -P \
- "$srcdir/libLLVM-$pkgver.so" \
- "$srcdir/libLLVM-${pkgver%.*}.so" \
+ "$srcdir"/lib{LLVM,LTO}.so* \
+ "$srcdir"/LLVMgold.so \
"$pkgdir/usr/lib/"
+ # Symlink LLVMgold.so from /usr/lib/bfd-plugins
+ # https://bugs.archlinux.org/task/28479
+ install -d "$pkgdir/usr/lib/bfd-plugins"
+ ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
+
install -Dm644 "$srcdir/llvm-$pkgver.src/LICENSE.TXT" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-ocaml() {
pkgdesc="OCaml bindings for LLVM"
- depends=("llvm=$pkgver-$pkgrel" 'ocaml')
+ depends=("llvm=$pkgver-$pkgrel" "ocaml=$_ocaml_ver" 'ocaml-ctypes')
cd "$srcdir/llvm-$pkgver.src"
- install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm}
- cp -r "$srcdir/ocaml" "$pkgdir/usr/lib"
- cp -r "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
-
- # Remove execute bit from static libraries
- chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a
-
- # Remove insecure rpath
- chrpath -d "$pkgdir"/usr/lib/ocaml/*.so
+ install -d "$pkgdir"/{usr/lib,usr/share/doc}
+ cp -a "$srcdir/ocaml.lib" "$pkgdir/usr/lib/ocaml"
+ cp -a "$srcdir/ocaml.doc" "$pkgdir/usr/share/doc/$pkgname"
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-package_clang() {
- pkgdesc="C language family frontend for LLVM"
- url="http://clang.llvm.org/"
- depends=("llvm=$pkgver-$pkgrel" 'gcc')
+package_lldb() {
+ pkgdesc="Next generation, high-performance debugger"
+ url="http://lldb.llvm.org/"
+ depends=('libedit' 'libxml2' 'python2')
+
+ cd "$srcdir/llvm-$pkgver.src"
- # Fix installation path for clang docs
- sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \
- "$srcdir/llvm-$pkgver.src/Makefile.config"
+ make -C build/tools/lldb DESTDIR="$pkgdir" install
- cd "$srcdir/llvm-$pkgver.src/tools/clang"
+ # Compile Python scripts
+ python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
+ python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
- # We move the extra tools directory out of the tree so it won't get
- # installed and then we bring it back in for the clang-tools-extra package
- mv tools/extra "$srcdir"
+ install -Dm644 tools/lldb/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
- make DESTDIR="$pkgdir" install
- mv "$srcdir/extra" tools/
+package_clang() {
+ pkgdesc="C language family frontend for LLVM"
+ url="http://clang.llvm.org/"
+ depends=("llvm-libs=$pkgver-$pkgrel" 'gcc')
+ optdepends=('python2: for git-clang-format')
- # Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib/*.a
+ cd "$srcdir/llvm-$pkgver.src"
- # Revert the path change in case we want to do a repackage later
- sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \
- "$srcdir/llvm-$pkgver.src/Makefile.config"
+ make -C build/tools/clang DESTDIR="$pkgdir" install
+ make -C build/projects/compiler-rt DESTDIR="$pkgdir" install
- # Install html docs
- cp -r docs/_build/html/* "$pkgdir/usr/share/doc/$pkgname/html/"
- rm -r "$pkgdir/usr/share/doc/$pkgname/html/_sources"
+ # Remove documentation sources
+ rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
# Install Python bindings
install -d "$pkgdir/usr/lib/python2.7/site-packages"
- cp -r bindings/python/clang "$pkgdir/usr/lib/python2.7/site-packages/"
+ cp -a tools/clang/bindings/python/clang "$pkgdir/usr/lib/python2.7/site-packages/"
python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang"
python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang"
- # Install clang-format editor integration files (FS#38485)
- # Destination paths are copied from clang-format/CMakeLists.txt
- install -d "$pkgdir/usr/share/$pkgname"
- (
- cd tools/clang-format
- cp \
- clang-format-diff.py \
- clang-format-sublime.py \
- clang-format.el \
- clang-format.py \
- "$pkgdir/usr/share/$pkgname/"
- cp git-clang-format "$pkgdir/usr/bin/"
- sed -i 's|/usr/bin/python$|&2|' \
- "$pkgdir/usr/bin/git-clang-format" \
- "$pkgdir/usr/share/$pkgname/clang-format-diff.py"
- )
+ # Use Python 2
+ sed -i 's|/usr/bin/env python|&2|' \
+ "$pkgdir/usr/bin/git-clang-format" \
+ "$pkgdir/usr/share/$pkgname/clang-format-diff.py"
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 tools/clang/LICENSE.TXT \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_clang-analyzer() {
@@ -255,7 +253,7 @@ package_clang-analyzer() {
install -d "$pkgdir"/usr/{bin,lib/clang-analyzer}
for _tool in scan-{build,view}; do
- cp -r tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
+ cp -a tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
ln -s /usr/lib/clang-analyzer/$_tool/$_tool "$pkgdir/usr/bin/"
done
@@ -286,14 +284,18 @@ package_clang-tools-extra() {
url="http://clang.llvm.org/"
depends=("clang=$pkgver-$pkgrel")
- cd "$srcdir/llvm-$pkgver.src/tools/clang/tools/extra"
+ cd "$srcdir/llvm-$pkgver.src"
- make DESTDIR="$pkgdir" install
+ make -C build/tools/clang/tools/extra DESTDIR="$pkgdir" install
- # Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib/*.a
+ # Use Python 2
+ sed -i \
+ -e 's|env python$|&2|' \
+ -e 's|/usr/bin/python$|&2|' \
+ "$pkgdir"/usr/share/clang/{clang-tidy-diff,run-clang-tidy}.py
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 tools/clang/tools/extra/LICENSE.TXT \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch b/abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch
new file mode 100644
index 0000000..9d2dddd
--- /dev/null
+++ b/abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch
@@ -0,0 +1,1267 @@
+Index: docs/ItaniumMangleAbiTags.rst
+===================================================================
+--- /dev/null
++++ docs/ItaniumMangleAbiTags.rst
+@@ -0,0 +1,90 @@
++========
++Abi Tags
++========
++
++Introduction
++============
++
++This text tries to describe gcc semantic for mangling "abi_tag" attributes
++described in https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html
++
++There is no guarantee the following rules are correct, complete or make sense
++in any way as they were determined empirically by experiments with gcc5.
++
++Declaration
++===========
++
++Abi tags are declared in an abi_tag attribute and can be applied to a
++function, variable, class or inline namespace declaration. The attribute takes
++one or more strings (called tags); the order does not matter.
++
++See https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html for
++details.
++
++Tags on an inline namespace are called "implicit tags", all other tags are
++"explicit tags".
++
++Mangling
++========
++
++All tags that are "active" on a <unqualified-name> are emitted after the
++<unqualified-name>, before <template-args> or <discriminator>, and are part of
++the same <substitution> the <unqualified-name> is.
++
++They are mangled as:
++
++ <abi-tags> ::= <abi-tag>* # sort by name
++ <abi-tag> ::= B <tag source-name>
++
++Example:
++
++ __attribute__((abi_tag("test")))
++ void Func();
++
++ gets mangled as: _Z4FuncB4testv (prettified as `Func[abi:test]()`)
++
++Active tags
++===========
++
++A namespace has never any active tags; for types (class / struct / union /
++enum) the explicit tags are the active tags.
++
++For variables and functions the active tags are the explicit tags plus any
++"required tags" which are not in the "available tags" set:
++
++ derived-tags := (required-tags - available-tags)
++ active-tags := explicit-tags + derived-tags
++
++Required tags for a function
++============================
++
++If a function is used as a local scope for another name, and is part of
++another function as local scope, it doesn't have any required tags.
++
++If a function is used as a local scope for a guard variable name, it doesn't
++have any required tags.
++
++Otherwise the function requires any implicit or explicit tag used in the name
++for the return type.
++
++Required tags for a variable
++============================
++
++A variable requires any implicit or explicit tag used in its type.
++
++Available tags
++==============
++
++All tags used in the prefix and in the template arguments for a name are
++available; for functions also all tags from the <bare-function-type> (which
++might include the return type for template functions) are available.
++
++For <local-name>s all active tags used in the local part (<function-
++encoding>) are available, but not implicit tags which were not active!
++
++Implicit and explicit tags used in the <unqualified-name> for a function (as
++in the type of a cast operator) are NOT available.
++
++Example: a cast operator to std::string (which is
++std::__cxx11::basic_string<...>) will use 'cxx11' as active tag, as it is
++required from the return type `std::string` but not available.
+Index: include/clang/Basic/Attr.td
+===================================================================
+--- include/clang/Basic/Attr.td
++++ include/clang/Basic/Attr.td
+@@ -349,6 +349,14 @@
+ // Attributes begin here
+ //
+
++def AbiTag : Attr {
++ let Spellings = [GCC<"abi_tag">];
++ let Args = [VariadicStringArgument<"Tags">];
++ let Subjects = SubjectList<[Struct, Var, Function, Namespace], ErrorDiag,
++ "ExpectedStructClassVariableFunctionMethodOrInlineNamespace">;
++ let Documentation = [Undocumented];
++}
++
+ def AddressSpace : TypeAttr {
+ let Spellings = [GNU<"address_space">];
+ let Args = [IntArgument<"AddressSpace">];
+Index: include/clang/Basic/DiagnosticSemaKinds.td
+===================================================================
+--- include/clang/Basic/DiagnosticSemaKinds.td
++++ include/clang/Basic/DiagnosticSemaKinds.td
+@@ -2434,7 +2434,8 @@
+ "Objective-C instance methods|init methods of interface or class extension declarations|"
+ "variables, functions and classes|Objective-C protocols|"
+ "functions and global variables|structs, unions, and typedefs|structs and typedefs|"
+- "interface or protocol declarations|kernel functions}1">,
++ "interface or protocol declarations|kernel functions|"
++ "structs, classes, variables, functions, methods and inline namespaces}1">,
+ InGroup<IgnoredAttributes>;
+ def err_attribute_wrong_decl_type : Error<warn_attribute_wrong_decl_type.Text>;
+ def warn_type_attribute_wrong_type : Warning<
+@@ -4144,6 +4145,15 @@
+ def err_redefinition_extern_inline : Error<
+ "redefinition of a 'extern inline' function %0 is not supported in "
+ "%select{C99 mode|C++}1">;
++def err_attr_abi_tag_only_on_inline_namespace :
++ Error<"abi_tag attribute only allowed on inline namespaces">;
++def err_attr_abi_tag_only_on_named_namespace :
++ Error<"abi_tag attribute only allowed on named namespaces">;
++def err_abi_tag_on_redeclaration :
++ Error<"cannot add abi_tag attribute in redeclaration">;
++def err_new_abi_tag_on_redeclaration :
++ Error<"abi_tag %0 missing in original declaration">;
++
+
+ def note_deleted_dtor_no_operator_delete : Note<
+ "virtual destructor requires an unambiguous, accessible 'operator delete'">;
+Index: include/clang/Sema/AttributeList.h
+===================================================================
+--- include/clang/Sema/AttributeList.h
++++ include/clang/Sema/AttributeList.h
+@@ -855,7 +855,8 @@
+ ExpectedStructOrUnionOrTypedef,
+ ExpectedStructOrTypedef,
+ ExpectedObjectiveCInterfaceOrProtocol,
+- ExpectedKernelFunction
++ ExpectedKernelFunction,
++ ExpectedStructClassVariableFunctionMethodOrInlineNamespace
+ };
+
+ } // end namespace clang
+Index: lib/AST/ItaniumMangle.cpp
+===================================================================
+--- lib/AST/ItaniumMangle.cpp
++++ lib/AST/ItaniumMangle.cpp
+@@ -31,6 +31,7 @@
+ #include "llvm/ADT/StringExtras.h"
+ #include "llvm/Support/ErrorHandling.h"
+ #include "llvm/Support/raw_ostream.h"
++#include <set>
+
+ #define MANGLE_CHECKER 0
+
+@@ -212,6 +212,8 @@
+ class CXXNameMangler {
+ ItaniumMangleContextImpl &Context;
+ raw_ostream &Out;
++ bool NullOut = false;
++ bool DisableDerivedAbiTags = false;
+
+ /// The "structor" is the top-level declaration being mangled, if
+ /// that's not a template specialization; otherwise it's the pattern
+@@ -261,6 +263,167 @@
+
+ } FunctionTypeDepth;
+
++ // abi_tag is a gcc attribute, taking one or more strings called "tags".
++ //
++ // the goal is to annotage against which version of a library an object was
++ // build and to be able to provide backwards compatibility ("dual abi").
++ //
++ // for this the emitted mangled names have to be different, while you don't
++ // want the user to have to use different names in the source.
++ //
++ // the abi_tag can be present on Struct, Var and Function declarations as
++ // "explicit" tag, and on inline Namespace as "implicit" tag. Explicit tags
++ // are always emitted after the unqualified name, and (implicit) tags on
++ // namespace are not.
++ //
++ // For functions and variables there is a set of "implicitly available"
++ // tags. These tags are: all tags from the namespace/structs the name is
++ // embedded in, all tags from any template arguments of the name, and, for
++ // functions, alls tags used anywhere in the <bare-function-type> (i.e.
++ // parameters and sometimes the return type).
++ //
++ // For functions this is basically the list of all tags from the signature
++ // without the unqualified name and usually without the return type of the
++ // function. In `operator Type()` Type is NOT part of that list, as it is
++ // part of the unqualified name!
++ //
++ // Now all tags from the function return type/variable type which are not
++ // "implicitly available" must be added to the explicit list of tags, and
++ // are emitted after the unqualified name.
++ //
++ // Example:
++ // namespace std {
++ // inline namespace __cxx11 __attribute__((__abi_tag__("cxx11"))) { }
++ // inline namespace __cxx11 {
++ // struct string { };
++ // }
++ // }
++ //
++ // std::string foo(); // needs abi tag "cxx11" on foo
++ // std::string foo(std::string); // does NOT need abi tag "cxx11" on foo
++ // __attribute__((__abi_tag__("cxx11")))
++ // std::string foo2(std::string); // emit abi tag "cxx11" on foo anyway
++ //
++ // The tags are sorted by name before emitting, and are serialized as
++ // <abitag> ::= B <"tag" source-name>
++
++ typedef SmallVector<StringRef, 4> AbiTagList;
++
++ // state to gather all implicit and explicit tags used in a mangled name.
++ // must always have an instance of this while emitting any name to keep
++ // track.
++ //
++ // TODO(abitags): how to handle substituted names? they should add the tags used in
++ // the substitution to the list of available tags.
++ class AbiTagState final {
++ public:
++ //! all abi tags used implicitly or explicitly
++ std::set<StringRef> UsedAbiTags;
++ //! all explicit abi tags (i.e. not from namespace)
++ std::set<StringRef> EmittedAbiTags;
++
++ AbiTagState* &LinkHead;
++ AbiTagState *Parent{nullptr};
++
++ bool LinkActive{false};
++
++ explicit AbiTagState(AbiTagState* &linkHead)
++ : LinkHead(linkHead) {
++ Parent = LinkHead;
++ LinkHead = this;
++ LinkActive = true;
++ }
++
++ // no copy, no move
++ AbiTagState(AbiTagState const&) = delete;
++ AbiTagState& operator=(AbiTagState const&) = delete;
++
++ ~AbiTagState() {
++ pop();
++ }
++
++ void pop() {
++ if (!LinkActive) return;
++
++ assert(LinkHead == this && "abi tag link head must point to us on destruction");
++ LinkActive = false;
++ if (Parent) {
++ Parent->UsedAbiTags.insert(UsedAbiTags.begin(), UsedAbiTags.end());
++ Parent->EmittedAbiTags.insert(EmittedAbiTags.begin(), EmittedAbiTags.end());
++ }
++ LinkHead = Parent;
++ }
++
++ void write(raw_ostream &Out, const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
++ ND = cast<NamedDecl>(ND->getCanonicalDecl());
++
++ if (dyn_cast<FunctionDecl>(ND) || dyn_cast<VarDecl>(ND)) {
++ // assert(AdditionalAbiTags && "function and variables need a list of additional abi tags");
++ } else {
++ assert(!AdditionalAbiTags && "only function and variables need a list of additional abi tags");
++ if (const auto* NS = dyn_cast<NamespaceDecl>(ND)) {
++ if (const auto* AbiTag = NS->getAttr<AbiTagAttr>()) {
++ for (const auto& Tag: AbiTag->tags()) {
++ UsedAbiTags.insert(Tag);
++ }
++ }
++ // don't emit abi tags for namespaces
++ return;
++ }
++ }
++
++ AbiTagList TagList;
++ if (const auto* AbiTag = ND->getAttr<AbiTagAttr>()) {
++ for (const auto& Tag: AbiTag->tags()) {
++ UsedAbiTags.insert(Tag);
++ // AbiTag->tags() is sorted and has no duplicates
++ TagList.push_back(Tag);
++ }
++ }
++
++ if (AdditionalAbiTags) {
++ for (const auto& Tag: *AdditionalAbiTags) {
++ UsedAbiTags.insert(Tag);
++ if (std::find(TagList.begin(), TagList.end(), Tag) == TagList.end()) {
++ // don't insert duplicates
++ TagList.push_back(Tag);
++ }
++ }
++ // AbiTag->tags() are already sorted; only add if we had additional tags
++ std::sort(TagList.begin(), TagList.end());
++ }
++
++ writeSortedUniqueAbiTags(Out, TagList);
++ }
++
++ protected:
++ template<typename TagList>
++ void writeSortedUniqueAbiTags(raw_ostream &Out, TagList const& AbiTags) {
++ for (const auto& Tag: AbiTags) {
++ EmittedAbiTags.insert(Tag);
++ Out << "B";
++ Out << Tag.size();
++ Out << Tag;
++ }
++ }
++ } *AbiTags = nullptr;
++ AbiTagState AbiTagsRoot{AbiTags};
++
++ struct TemporaryDisableDerivedAbiTags {
++ bool& StateRef;
++ bool OldState;
++
++ TemporaryDisableDerivedAbiTags(bool& State, bool Disable = true)
++ : StateRef(State) {
++ OldState = StateRef;
++ StateRef = Disable;
++ }
++ TemporaryDisableDerivedAbiTags(TemporaryDisableDerivedAbiTags const&) = delete;
++ ~TemporaryDisableDerivedAbiTags() {
++ StateRef = OldState;
++ }
++ };
++
+ llvm::DenseMap<uintptr_t, unsigned> Substitutions;
+
+ ASTContext &getASTContext() const { return Context.getASTContext(); }
+@@ -283,6 +446,10 @@
+ : Context(C), Out(Out_), Structor(getStructor(D)), StructorType(Type),
+ SeqID(0) { }
+
++ CXXNameMangler(CXXNameMangler &Outer, llvm::raw_null_ostream &Out_)
++ : Context(Outer.Context), Out(Out_), NullOut(true), Structor(Outer.Structor), StructorType(Outer.StructorType),
++ SeqID(Outer.SeqID) { }
++
+ #if MANGLE_CHECKER
+ ~CXXNameMangler() {
+ if (Out.str()[0] == '\01')
+@@ -296,18 +463,21 @@
+ #endif
+ raw_ostream &getStream() { return Out; }
+
++ void disableDerivedAbiTags() { DisableDerivedAbiTags = true; }
++
+ void mangle(const NamedDecl *D);
+ void mangleCallOffset(int64_t NonVirtual, int64_t Virtual);
+ void mangleNumber(const llvm::APSInt &I);
+ void mangleNumber(int64_t Number);
+ void mangleFloat(const llvm::APFloat &F);
+- void mangleFunctionEncoding(const FunctionDecl *FD);
++ void mangleFunctionEncoding(const FunctionDecl *FD, bool ExcludeUnqualifiedName = false);
+ void mangleSeqID(unsigned SeqID);
+- void mangleName(const NamedDecl *ND);
++ void mangleName(const NamedDecl *ND, bool ExcludeUnqualifiedName = false);
+ void mangleType(QualType T);
+ void mangleNameOrStandardSubstitution(const NamedDecl *ND);
+
+ private:
++ void writeAbiTags(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags = nullptr);
+
+ bool mangleSubstitution(const NamedDecl *ND);
+ bool mangleSubstitution(QualType T);
+@@ -334,31 +504,49 @@
+ DeclarationName name,
+ unsigned KnownArity = UnknownArity);
+
+- void mangleName(const TemplateDecl *TD,
++ void mangleFunctionEncodingBareType(const FunctionDecl *FD);
++
++ void mangleNameWithAbiTags(const NamedDecl *ND,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName);
++ void mangleTemplateName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
+ const TemplateArgument *TemplateArgs,
+ unsigned NumTemplateArgs);
+- void mangleUnqualifiedName(const NamedDecl *ND) {
+- mangleUnqualifiedName(ND, ND->getDeclName(), UnknownArity);
++ void mangleUnqualifiedName(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
++ mangleUnqualifiedName(ND, ND->getDeclName(), UnknownArity, AdditionalAbiTags);
+ }
+ void mangleUnqualifiedName(const NamedDecl *ND, DeclarationName Name,
+- unsigned KnownArity);
+- void mangleUnscopedName(const NamedDecl *ND);
+- void mangleUnscopedTemplateName(const TemplateDecl *ND);
+- void mangleUnscopedTemplateName(TemplateName);
++ unsigned KnownArity, const AbiTagList *AdditionalAbiTags);
++ void mangleUnscopedName(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags);
++ void mangleUnscopedTemplateName(const TemplateDecl *ND,
++ const AbiTagList *AdditionalAbiTags);
++ void mangleUnscopedTemplateName(TemplateName,
++ const AbiTagList *AdditionalAbiTags);
+ void mangleSourceName(const IdentifierInfo *II);
+- void mangleLocalName(const Decl *D);
++ void mangleLocalName(const Decl *D,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName);
+ void mangleBlockForPrefix(const BlockDecl *Block);
+ void mangleUnqualifiedBlock(const BlockDecl *Block);
+ void mangleLambda(const CXXRecordDecl *Lambda);
+ void mangleNestedName(const NamedDecl *ND, const DeclContext *DC,
+- bool NoFunction=false);
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction,
++ bool ExcludeUnqualifiedName);
+ void mangleNestedName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
+ const TemplateArgument *TemplateArgs,
+ unsigned NumTemplateArgs);
+ void manglePrefix(NestedNameSpecifier *qualifier);
+ void manglePrefix(const DeclContext *DC, bool NoFunction=false);
+ void manglePrefix(QualType type);
+- void mangleTemplatePrefix(const TemplateDecl *ND, bool NoFunction=false);
++ void mangleTemplatePrefix(const TemplateDecl *ND,
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction = false,
++ bool ExcludeUnqualifiedName = false);
+ void mangleTemplatePrefix(TemplateName Template);
+ bool mangleUnresolvedTypeOrSimpleId(QualType DestroyedType,
+ StringRef Prefix = "");
+@@ -405,6 +593,10 @@
+ void mangleTemplateParameter(unsigned Index);
+
+ void mangleFunctionParam(const ParmVarDecl *parm);
++
++ std::set<StringRef> getTagsFromPrefixAndTemplateArguments(const NamedDecl *ND);
++ AbiTagList makeAdditionalTagsForFunction(const FunctionDecl *FD);
++ AbiTagList makeAdditionalTagsForVariable(const VarDecl *VD);
+ };
+
+ }
+@@ -455,6 +647,11 @@
+ return true;
+ }
+
++void CXXNameMangler::writeAbiTags(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
++ assert(AbiTags && "require AbiTagState");
++ if (AbiTags) AbiTags->write(Out, ND, DisableDerivedAbiTags ? nullptr : AdditionalAbiTags);
++}
++
+ void CXXNameMangler::mangle(const NamedDecl *D) {
+ // <mangled-name> ::= _Z <encoding>
+ // ::= <data name>
+@@ -470,14 +667,28 @@
+ mangleName(cast<FieldDecl>(D));
+ }
+
+-void CXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD) {
+- // <encoding> ::= <function name> <bare-function-type>
+- mangleName(FD);
+-
++void CXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD, bool ExcludeUnqualifiedName) {
+ // Don't mangle in the type if this isn't a decl we should typically mangle.
+- if (!Context.shouldMangleDeclName(FD))
++ if (!Context.shouldMangleDeclName(FD)) {
++ mangleNameWithAbiTags(FD, /* AdditionalAbiTags */ nullptr, ExcludeUnqualifiedName);
+ return;
++ }
++
++ // <encoding> ::= <function name> <bare-function-type>
+
++ if (ExcludeUnqualifiedName)
++ {
++ // running makeAdditionalTagsForFunction would loop, don't need it here anyway
++ mangleNameWithAbiTags(FD, /* AdditionalAbiTags */ nullptr, ExcludeUnqualifiedName);
++ } else {
++ AbiTagList AdditionalAbiTags = makeAdditionalTagsForFunction(FD);
++ mangleNameWithAbiTags(FD, &AdditionalAbiTags, ExcludeUnqualifiedName);
++ }
++
++ mangleFunctionEncodingBareType(FD);
++}
++
++void CXXNameMangler::mangleFunctionEncodingBareType(const FunctionDecl *FD) {
+ if (FD->hasAttr<EnableIfAttr>()) {
+ FunctionTypeDepthState Saved = FunctionTypeDepth.push();
+ Out << "Ua9enable_ifI";
+@@ -581,7 +792,21 @@
+ return nullptr;
+ }
+
+-void CXXNameMangler::mangleName(const NamedDecl *ND) {
++// must not be run from mangleLocalName for the <entity name> as it would loop otherwise.
++void CXXNameMangler::mangleName(const NamedDecl *ND, bool ExcludeUnqualifiedName) {
++ if (!ExcludeUnqualifiedName) {
++ if (const VarDecl *VD = dyn_cast<VarDecl>(ND)) {
++ AbiTagList VariableAdditionalAbiTags = makeAdditionalTagsForVariable(VD);
++ mangleNameWithAbiTags(VD, &VariableAdditionalAbiTags, ExcludeUnqualifiedName);
++ return;
++ }
++ }
++ mangleNameWithAbiTags(ND, nullptr, ExcludeUnqualifiedName);
++}
++
++void CXXNameMangler::mangleNameWithAbiTags(const NamedDecl *ND,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName) {
+ // <name> ::= <nested-name>
+ // ::= <unscoped-name>
+ // ::= <unscoped-template-name> <template-args>
+@@ -597,7 +822,7 @@
+ while (!DC->isNamespace() && !DC->isTranslationUnit())
+ DC = getEffectiveParentContext(DC);
+ else if (GetLocalClassDecl(ND)) {
+- mangleLocalName(ND);
++ mangleLocalName(ND, AdditionalAbiTags, ExcludeUnqualifiedName);
+ return;
+ }
+
+@@ -607,76 +832,88 @@
+ // Check if we have a template.
+ const TemplateArgumentList *TemplateArgs = nullptr;
+ if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
+- mangleUnscopedTemplateName(TD);
++ if (!ExcludeUnqualifiedName)
++ mangleUnscopedTemplateName(TD, AdditionalAbiTags);
+ mangleTemplateArgs(*TemplateArgs);
+ return;
+ }
+
+- mangleUnscopedName(ND);
++ if (!ExcludeUnqualifiedName)
++ mangleUnscopedName(ND, AdditionalAbiTags);
+ return;
+ }
+
+ if (isLocalContainerContext(DC)) {
+- mangleLocalName(ND);
++ mangleLocalName(ND, AdditionalAbiTags, ExcludeUnqualifiedName);
+ return;
+ }
+
+- mangleNestedName(ND, DC);
++ mangleNestedName(ND, DC, AdditionalAbiTags, /* NoFunction */ false, ExcludeUnqualifiedName);
+ }
+-void CXXNameMangler::mangleName(const TemplateDecl *TD,
+- const TemplateArgument *TemplateArgs,
+- unsigned NumTemplateArgs) {
++
++void CXXNameMangler::mangleTemplateName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
++ const TemplateArgument *TemplateArgs,
++ unsigned NumTemplateArgs) {
+ const DeclContext *DC = IgnoreLinkageSpecDecls(getEffectiveDeclContext(TD));
+
+ if (DC->isTranslationUnit() || isStdNamespace(DC)) {
+- mangleUnscopedTemplateName(TD);
++ if (!ExcludeUnqualifiedName)
++ mangleUnscopedTemplateName(TD, AdditionalAbiTags);
+ mangleTemplateArgs(TemplateArgs, NumTemplateArgs);
+ } else {
+- mangleNestedName(TD, TemplateArgs, NumTemplateArgs);
++ mangleNestedName(TD, AdditionalAbiTags, ExcludeUnqualifiedName, TemplateArgs, NumTemplateArgs);
+ }
+ }
+
+-void CXXNameMangler::mangleUnscopedName(const NamedDecl *ND) {
++void CXXNameMangler::mangleUnscopedName(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
+ // <unscoped-name> ::= <unqualified-name>
+ // ::= St <unqualified-name> # ::std::
+
+ if (isStdNamespace(IgnoreLinkageSpecDecls(getEffectiveDeclContext(ND))))
+ Out << "St";
+
+- mangleUnqualifiedName(ND);
++ mangleUnqualifiedName(ND, AdditionalAbiTags);
+ }
+
+-void CXXNameMangler::mangleUnscopedTemplateName(const TemplateDecl *ND) {
++void CXXNameMangler::mangleUnscopedTemplateName(const TemplateDecl *ND,
++ const AbiTagList *AdditionalAbiTags) {
+ // <unscoped-template-name> ::= <unscoped-name>
+ // ::= <substitution>
+ if (mangleSubstitution(ND))
+ return;
+
+ // <template-template-param> ::= <template-param>
+- if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND))
++ if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
++ assert(!AdditionalAbiTags && "template template param cannot have abi tags"); // TODO(abitags)
+ mangleTemplateParameter(TTP->getIndex());
+- else
+- mangleUnscopedName(ND->getTemplatedDecl());
++ } else {
++ mangleUnscopedName(ND->getTemplatedDecl(), AdditionalAbiTags);
++ }
+
+ addSubstitution(ND);
+ }
+
+-void CXXNameMangler::mangleUnscopedTemplateName(TemplateName Template) {
++void CXXNameMangler::mangleUnscopedTemplateName(TemplateName Template,
++ const AbiTagList *AdditionalAbiTags) {
+ // <unscoped-template-name> ::= <unscoped-name>
+ // ::= <substitution>
+ if (TemplateDecl *TD = Template.getAsTemplateDecl())
+- return mangleUnscopedTemplateName(TD);
++ return mangleUnscopedTemplateName(TD, AdditionalAbiTags);
+
+ if (mangleSubstitution(Template))
+ return;
+
++ assert(!AdditionalAbiTags && "dependent template name cannot have abi tags"); // TODO(abitags)
++
+ DependentTemplateName *Dependent = Template.getAsDependentTemplateName();
+ assert(Dependent && "Not a dependent template name?");
+ if (const IdentifierInfo *Id = Dependent->getIdentifier())
+ mangleSourceName(Id);
+ else
+ mangleOperatorName(Dependent->getOperator(), UnknownArity);
+-
++
+ addSubstitution(Template);
+ }
+
+@@ -835,14 +1072,16 @@
+ else
+ Out << "sr";
+ mangleSourceName(qualifier->getAsNamespace()->getIdentifier());
++ writeAbiTags(qualifier->getAsNamespace());
+ break;
+ case NestedNameSpecifier::NamespaceAlias:
+ if (qualifier->getPrefix())
+ mangleUnresolvedPrefix(qualifier->getPrefix(),
+ /*recursive*/ true);
+ else
+ Out << "sr";
+ mangleSourceName(qualifier->getAsNamespaceAlias()->getIdentifier());
++ writeAbiTags(qualifier->getAsNamespaceAlias());
+ break;
+
+ case NestedNameSpecifier::TypeSpec:
+@@ -877,6 +1116,7 @@
+ Out << "sr";
+
+ mangleSourceName(qualifier->getAsIdentifier());
++ // an Identifier has no type information, so we can't emit abi tags for it
+ break;
+ }
+
+@@ -922,7 +1162,8 @@
+
+ void CXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
+ DeclarationName Name,
+- unsigned KnownArity) {
++ unsigned KnownArity,
++ const AbiTagList *AdditionalAbiTags) {
+ unsigned Arity = KnownArity;
+ // <unqualified-name> ::= <operator-name>
+ // ::= <ctor-dtor-name>
+@@ -941,6 +1182,7 @@
+ Out << 'L';
+
+ mangleSourceName(II);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+ }
+
+@@ -980,6 +1222,7 @@
+ assert(FD->getIdentifier() && "Data member name isn't an identifier!");
+
+ mangleSourceName(FD->getIdentifier());
++ // TODO(abitags): not emitting abi tags: internal name anyway
+ break;
+ }
+
+@@ -1000,6 +1243,9 @@
+ assert(D->getDeclName().getAsIdentifierInfo() &&
+ "Typedef was not named!");
+ mangleSourceName(D->getDeclName().getAsIdentifierInfo());
++ assert(!AdditionalAbiTags && "Type cannot have additional abi tags");
++ // explicit abi tags are still possible; take from underlying type, not from typedef.
++ writeAbiTags(TD, nullptr);
+ break;
+ }
+
+@@ -1009,6 +1255,7 @@
+ // <lambda-sig> ::= <parameter-type>+ # Parameter types or 'v' for 'void'.
+ if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(TD)) {
+ if (Record->isLambda() && Record->getLambdaManglingNumber()) {
++ assert(!AdditionalAbiTags && "Lambda type cannot have additional abi tags");
+ mangleLambda(Record);
+ break;
+ }
+@@ -1020,6 +1267,7 @@
+ if (UnnamedMangle > 1)
+ Out << UnnamedMangle - 2;
+ Out << '_';
++ writeAbiTags(TD, AdditionalAbiTags);
+ break;
+ }
+
+@@ -1052,6 +1300,7 @@
+ // Otherwise, use the complete constructor name. This is relevant if a
+ // class with a constructor is declared within a constructor.
+ mangleCXXCtorType(Ctor_Complete);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+
+ case DeclarationName::CXXDestructorName:
+@@ -1063,6 +1312,7 @@
+ // Otherwise, use the complete destructor name. This is relevant if a
+ // class with a destructor is declared within a destructor.
+ mangleCXXDtorType(Dtor_Complete);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+
+ case DeclarationName::CXXOperatorName:
+@@ -1078,6 +1328,7 @@
+ case DeclarationName::CXXConversionFunctionName:
+ case DeclarationName::CXXLiteralOperatorName:
+ mangleOperatorName(Name, Arity);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+
+ case DeclarationName::CXXUsingDirective:
+@@ -1094,7 +1345,9 @@
+
+ void CXXNameMangler::mangleNestedName(const NamedDecl *ND,
+ const DeclContext *DC,
+- bool NoFunction) {
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction,
++ bool ExcludeUnqualifiedName) {
+ // <nested-name>
+ // ::= N [<CV-qualifiers>] [<ref-qualifier>] <prefix> <unqualified-name> E
+ // ::= N [<CV-qualifiers>] [<ref-qualifier>] <template-prefix>
+@@ -1114,30 +1367,35 @@
+ // Check if we have a template.
+ const TemplateArgumentList *TemplateArgs = nullptr;
+ if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
+- mangleTemplatePrefix(TD, NoFunction);
++ mangleTemplatePrefix(TD, AdditionalAbiTags, NoFunction, ExcludeUnqualifiedName);
+ mangleTemplateArgs(*TemplateArgs);
+ }
+ else {
+ manglePrefix(DC, NoFunction);
+- mangleUnqualifiedName(ND);
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(ND, AdditionalAbiTags);
+ }
+
+ Out << 'E';
+ }
+ void CXXNameMangler::mangleNestedName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
+ const TemplateArgument *TemplateArgs,
+ unsigned NumTemplateArgs) {
+ // <nested-name> ::= N [<CV-qualifiers>] <template-prefix> <template-args> E
+
+ Out << 'N';
+
+- mangleTemplatePrefix(TD);
++ mangleTemplatePrefix(TD, AdditionalAbiTags, ExcludeUnqualifiedName);
+ mangleTemplateArgs(TemplateArgs, NumTemplateArgs);
+
+ Out << 'E';
+ }
+
+-void CXXNameMangler::mangleLocalName(const Decl *D) {
++void CXXNameMangler::mangleLocalName(const Decl *D,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName) {
+ // <local-name> := Z <function encoding> E <entity name> [<discriminator>]
+ // := Z <function encoding> E s [<discriminator>]
+ // <local-name> := Z <function encoding> E d [ <parameter number> ]
+@@ -1149,15 +1407,25 @@
+
+ Out << 'Z';
+
+- if (const ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(DC))
+- mangleObjCMethodName(MD);
+- else if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC))
+- mangleBlockForPrefix(BD);
+- else
+- mangleFunctionEncoding(cast<FunctionDecl>(DC));
++ {
++ AbiTagState localAbiTags(AbiTags);
++
++ if (const ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(DC))
++ mangleObjCMethodName(MD);
++ else if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC))
++ mangleBlockForPrefix(BD);
++ else
++ mangleFunctionEncoding(cast<FunctionDecl>(DC));
++
++ // implicit abi tags (from namespace) are not available in the following
++ // entity; reset to actually emitted tags, which are available.
++ localAbiTags.UsedAbiTags = localAbiTags.EmittedAbiTags;
++ }
+
+ Out << 'E';
+
++ TemporaryDisableDerivedAbiTags TemporyDisable(DisableDerivedAbiTags, getStructor(dyn_cast<NamedDecl>(D)) != Structor);
++
+ if (RD) {
+ // The parameter number is omitted for the last parameter, 0 for the
+ // second-to-last parameter, 1 for the third-to-last parameter, etc. The
+@@ -1182,13 +1450,17 @@
+ // Mangle the name relative to the closest enclosing function.
+ // equality ok because RD derived from ND above
+ if (D == RD) {
+- mangleUnqualifiedName(RD);
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(RD, AdditionalAbiTags);
+ } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
+ manglePrefix(getEffectiveDeclContext(BD), true /*NoFunction*/);
+- mangleUnqualifiedBlock(BD);
++ assert(!AdditionalAbiTags && "Block cannot have additional abi tags");
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedBlock(BD);
+ } else {
+ const NamedDecl *ND = cast<NamedDecl>(D);
+- mangleNestedName(ND, getEffectiveDeclContext(ND), true /*NoFunction*/);
++ mangleNestedName(ND, getEffectiveDeclContext(ND),
++ AdditionalAbiTags, true /*NoFunction*/, ExcludeUnqualifiedName);
+ }
+ } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
+ // Mangle a block in a default parameter; see above explanation for
+@@ -1205,30 +1477,35 @@
+ }
+ }
+
+- mangleUnqualifiedBlock(BD);
++ assert(!AdditionalAbiTags && "Block cannot have additional abi tags");
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedBlock(BD);
+ } else {
+- mangleUnqualifiedName(cast<NamedDecl>(D));
+- }
+-
+- if (const NamedDecl *ND = dyn_cast<NamedDecl>(RD ? RD : D)) {
+- unsigned disc;
+- if (Context.getNextDiscriminator(ND, disc)) {
+- if (disc < 10)
+- Out << '_' << disc;
+- else
+- Out << "__" << disc << '_';
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(cast<NamedDecl>(D), AdditionalAbiTags);
++ }
++
++ if (!ExcludeUnqualifiedName) {
++ if (const NamedDecl *ND = dyn_cast<NamedDecl>(RD ? RD : D)) {
++ unsigned disc;
++ if (Context.getNextDiscriminator(ND, disc)) {
++ if (disc < 10)
++ Out << '_' << disc;
++ else
++ Out << "__" << disc << '_';
++ }
+ }
+ }
+ }
+
+ void CXXNameMangler::mangleBlockForPrefix(const BlockDecl *Block) {
+ if (GetLocalClassDecl(Block)) {
+- mangleLocalName(Block);
++ mangleLocalName(Block, /* AdditionalAbiTags */ nullptr, /* ExcludeUnqualifiedName */ false);
+ return;
+ }
+ const DeclContext *DC = getEffectiveDeclContext(Block);
+ if (isLocalContainerContext(DC)) {
+- mangleLocalName(Block);
++ mangleLocalName(Block, /* AdditionalAbiTags */ nullptr, /* ExcludeUnqualifiedName */ false);
+ return;
+ }
+ manglePrefix(getEffectiveDeclContext(Block));
+@@ -1239,10 +1516,11 @@
+ if (Decl *Context = Block->getBlockManglingContextDecl()) {
+ if ((isa<VarDecl>(Context) || isa<FieldDecl>(Context)) &&
+ Context->getDeclContext()->isRecord()) {
+- if (const IdentifierInfo *Name
+- = cast<NamedDecl>(Context)->getIdentifier()) {
++ const auto *ND = cast<NamedDecl>(Context);
++ if (const IdentifierInfo *Name = ND->getIdentifier()) {
+ mangleSourceName(Name);
+- Out << 'M';
++ writeAbiTags(ND, /* AdditionalAbiTags */ nullptr);
++ Out << 'M';
+ }
+ }
+ }
+@@ -1275,7 +1553,7 @@
+ if (const IdentifierInfo *Name
+ = cast<NamedDecl>(Context)->getIdentifier()) {
+ mangleSourceName(Name);
+- Out << 'M';
++ Out << 'M';
+ }
+ }
+ }
+@@ -1358,11 +1636,11 @@
+ // Check if we have a template.
+ const TemplateArgumentList *TemplateArgs = nullptr;
+ if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
+- mangleTemplatePrefix(TD);
++ mangleTemplatePrefix(TD, /* AdditionalAbiTags */ nullptr);
+ mangleTemplateArgs(*TemplateArgs);
+ } else {
+ manglePrefix(getEffectiveDeclContext(ND), NoFunction);
+- mangleUnqualifiedName(ND);
++ mangleUnqualifiedName(ND, /* AdditionalAbiTags */ nullptr);
+ }
+
+ addSubstitution(ND);
+@@ -1373,27 +1651,30 @@
+ // ::= <template-param>
+ // ::= <substitution>
+ if (TemplateDecl *TD = Template.getAsTemplateDecl())
+- return mangleTemplatePrefix(TD);
++ return mangleTemplatePrefix(TD, /* AdditionalAbiTags */ nullptr);
+
+ if (QualifiedTemplateName *Qualified = Template.getAsQualifiedTemplateName())
+ manglePrefix(Qualified->getQualifier());
+-
++
+ if (OverloadedTemplateStorage *Overloaded
+ = Template.getAsOverloadedTemplate()) {
+ mangleUnqualifiedName(nullptr, (*Overloaded->begin())->getDeclName(),
+- UnknownArity);
++ UnknownArity,
++ /* AdditionalAbiTags */ nullptr);
+ return;
+ }
+-
++
+ DependentTemplateName *Dependent = Template.getAsDependentTemplateName();
+ assert(Dependent && "Unknown template name kind?");
+ if (NestedNameSpecifier *Qualifier = Dependent->getQualifier())
+ manglePrefix(Qualifier);
+- mangleUnscopedTemplateName(Template);
++ mangleUnscopedTemplateName(Template, /* AdditionalAbiTags */ nullptr);
+ }
+
+ void CXXNameMangler::mangleTemplatePrefix(const TemplateDecl *ND,
+- bool NoFunction) {
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction,
++ bool ExcludeUnqualifiedName) {
+ // <template-prefix> ::= <prefix> <template unqualified-name>
+ // ::= <template-param>
+ // ::= <substitution>
+@@ -1405,10 +1686,12 @@
+
+ // <template-template-param> ::= <template-param>
+ if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
++ // TODO(abitags): ???
+ mangleTemplateParameter(TTP->getIndex());
+ } else {
+ manglePrefix(getEffectiveDeclContext(ND), NoFunction);
+- mangleUnqualifiedName(ND->getTemplatedDecl());
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(ND->getTemplatedDecl(), AdditionalAbiTags);
+ }
+
+ addSubstitution(ND);
+@@ -1452,6 +1735,7 @@
+ // <name> ::= <nested-name>
+ mangleUnresolvedPrefix(Dependent->getQualifier());
+ mangleSourceName(Dependent->getIdentifier());
++ // writeAbiTags(Dependent);
+ break;
+ }
+
+@@ -1544,16 +1828,19 @@
+
+ case Type::Typedef:
+ mangleSourceName(cast<TypedefType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<TypedefType>(Ty)->getDecl());
+ break;
+
+ case Type::UnresolvedUsing:
+ mangleSourceName(
+ cast<UnresolvedUsingType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<UnresolvedUsingType>(Ty)->getDecl());
+ break;
+
+ case Type::Enum:
+ case Type::Record:
+ mangleSourceName(cast<TagType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<TagType>(Ty)->getDecl());
+ break;
+
+ case Type::TemplateSpecialization: {
+@@ -1572,6 +1859,7 @@
+ goto unresolvedType;
+
+ mangleSourceName(TD->getIdentifier());
++ writeAbiTags(TD);
+ break;
+ }
+
+@@ -1603,16 +1891,19 @@
+ case Type::InjectedClassName:
+ mangleSourceName(
+ cast<InjectedClassNameType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<InjectedClassNameType>(Ty)->getDecl());
+ break;
+
+ case Type::DependentName:
+ mangleSourceName(cast<DependentNameType>(Ty)->getIdentifier());
++ // writeAbiTags(cast<DependentNameType>(Ty));
+ break;
+
+ case Type::DependentTemplateSpecialization: {
+ const DependentTemplateSpecializationType *DTST =
+ cast<DependentTemplateSpecializationType>(Ty);
+ mangleSourceName(DTST->getIdentifier());
++ // writeAbiTags(DTST);
+ mangleTemplateArgs(DTST->getArgs(), DTST->getNumArgs());
+ break;
+ }
+@@ -2546,7 +2837,11 @@
+
+ void CXXNameMangler::mangleType(const TemplateSpecializationType *T) {
+ if (TemplateDecl *TD = T->getTemplateName().getAsTemplateDecl()) {
+- mangleName(TD, T->getArgs(), T->getNumArgs());
++ // types only have explicit abi tags, no addition tags
++ mangleTemplateName(TD,
++ /* AdditionalAbiTags */ nullptr,
++ /* ExcludeUnqualifiedName */ false,
++ T->getArgs(), T->getNumArgs());
+ } else {
+ if (mangleSubstitution(QualType(T, 0)))
+ return;
+@@ -2593,6 +2888,7 @@
+ Out << 'N';
+ manglePrefix(T->getQualifier());
+ mangleSourceName(T->getIdentifier());
++ // writeAbiTags(T); // TODO(abitags)
+ Out << 'E';
+ }
+
+@@ -4020,6 +4316,76 @@
+ Substitutions[Ptr] = SeqID++;
+ }
+
++std::set<StringRef> CXXNameMangler::getTagsFromPrefixAndTemplateArguments(const NamedDecl *ND) {
++ llvm::raw_null_ostream NullOutStream;
++ CXXNameMangler TrackPrefixAndTemplateArguments(*this, NullOutStream);
++
++ if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
++ TrackPrefixAndTemplateArguments.mangleFunctionEncoding(FD, /* ExcludeUnqualifiedName */ true);
++ } else {
++ TrackPrefixAndTemplateArguments.mangleName(ND, /* ExcludeUnqualifiedName */ true);
++ }
++
++ return std::move(TrackPrefixAndTemplateArguments.AbiTagsRoot.UsedAbiTags);
++}
++
++CXXNameMangler::AbiTagList CXXNameMangler::makeAdditionalTagsForFunction(const FunctionDecl *FD) {
++ // when derived abi tags are disabled there is no need to make any list
++ if (DisableDerivedAbiTags) return AbiTagList();
++
++ std::set<StringRef> ImplicitlyAvailableTags = getTagsFromPrefixAndTemplateArguments(FD);
++ std::set<StringRef> ReturnTypeTags;
++
++ {
++ llvm::raw_null_ostream NullOutStream;
++ CXXNameMangler TrackReturnTypeTags(*this, NullOutStream);
++ TrackReturnTypeTags.disableDerivedAbiTags();
++
++ const FunctionProtoType *Proto = cast<FunctionProtoType>(FD->getType()->getAs<FunctionType>());
++ TrackReturnTypeTags.FunctionTypeDepth.enterResultType();
++ TrackReturnTypeTags.mangleType(Proto->getReturnType());
++ TrackReturnTypeTags.FunctionTypeDepth.leaveResultType();
++
++ ReturnTypeTags = std::move(TrackReturnTypeTags.AbiTagsRoot.UsedAbiTags);
++ }
++
++ AbiTagList AdditionalAbiTags;
++
++ for (const auto& Tag: ReturnTypeTags) {
++ if (ImplicitlyAvailableTags.count(Tag) == 0)
++ AdditionalAbiTags.push_back(Tag);
++ }
++
++ return AdditionalAbiTags;
++}
++
++CXXNameMangler::AbiTagList CXXNameMangler::makeAdditionalTagsForVariable(const VarDecl *VD) {
++ // when derived abi tags are disabled there is no need to make any list
++ if (DisableDerivedAbiTags) return AbiTagList();
++
++ std::set<StringRef> ImplicitlyAvailableTags = getTagsFromPrefixAndTemplateArguments(VD);
++ std::set<StringRef> VariableTypeTags;
++
++ {
++ llvm::raw_null_ostream NullOutStream;
++ CXXNameMangler TrackVariableType(*this, NullOutStream);
++ TrackVariableType.disableDerivedAbiTags();
++
++ TrackVariableType.mangleType(VD->getType());
++
++ VariableTypeTags = std::move(TrackVariableType.AbiTagsRoot.UsedAbiTags);
++ }
++
++ AbiTagList AdditionalAbiTags;
++
++ for (const auto& Tag: VariableTypeTags) {
++ if (ImplicitlyAvailableTags.count(Tag) == 0)
++ AdditionalAbiTags.push_back(Tag);
++ }
++
++ return AdditionalAbiTags;
++}
++
+ //
+
+ /// Mangles the name of the declaration D and emits that name to the given
+@@ -4121,6 +4487,7 @@
+ // <special-name> ::= GV <object name> # Guard variable for one-time
+ // # initialization
+ CXXNameMangler Mangler(*this, Out);
++ Mangler.disableDerivedAbiTags(); // GCC: doesn't emit derived abi tags for guard variables
+ Mangler.getStream() << "_ZGV";
+ Mangler.mangleName(D);
+ }
+Index: lib/Sema/SemaDeclAttr.cpp
+===================================================================
+--- lib/Sema/SemaDeclAttr.cpp
++++ lib/Sema/SemaDeclAttr.cpp
+@@ -4446,6 +4446,66 @@
+ Attr.getRange(), S.Context, Attr.getAttributeSpellingListIndex()));
+ }
+
++static void handleAbiTagAttr(Sema &S, Decl *D,
++ const AttributeList &Attr) {
++ const auto *NS = dyn_cast<NamespaceDecl>(D);
++
++ if (!checkAttributeAtLeastNumArgs(S, Attr, NS ? 0 : 1))
++ return;
++
++ SmallVector<std::string, 4> Tags;
++
++ for (unsigned I = 0, E = Attr.getNumArgs(); I != E; ++I) {
++ StringRef Tag;
++
++ if (!S.checkStringLiteralArgumentAttr(Attr, I, Tag))
++ return;
++
++ Tags.push_back(Tag);
++ }
++
++ if (NS && !NS->isInline()) {
++ S.Diag(Attr.getLoc(), diag::err_attr_abi_tag_only_on_inline_namespace);
++ return;
++ }
++ if (NS && NS->isAnonymousNamespace()) {
++ S.Diag(Attr.getLoc(), diag::err_attr_abi_tag_only_on_named_namespace);
++ return;
++ }
++ if (NS && Attr.getNumArgs() == 0) {
++ Tags.push_back(NS->getName());
++ }
++
++ // store tags sorted and without duplicates
++ std::sort(Tags.begin(), Tags.end());
++ Tags.erase(std::unique(Tags.begin(), Tags.end()), Tags.end());
++
++ const auto *CD = D->getCanonicalDecl();
++ if (CD != D) {
++ // redeclarations must not add new abi tags, or abi tags in the first place
++ const auto *OldAbiTagAttr = D->getAttr<AbiTagAttr>();
++ if (nullptr == OldAbiTagAttr) {
++ S.Diag(Attr.getLoc(), diag::err_abi_tag_on_redeclaration);
++ S.Diag(CD->getLocation(), diag::note_previous_definition);
++ return;
++ }
++ for (const auto& NewTag: Tags) {
++ if (std::find(OldAbiTagAttr->tags_begin(),
++ OldAbiTagAttr->tags_end(),
++ NewTag) == OldAbiTagAttr->tags_end()) {
++ S.Diag(Attr.getLoc(), diag::err_new_abi_tag_on_redeclaration) << NewTag;
++ S.Diag(OldAbiTagAttr->getLocation(), diag::note_previous_definition);
++ return;
++ }
++ }
++ return;
++ }
++
++ D->addAttr(::new (S.Context) AbiTagAttr(Attr.getRange(), S.Context,
++ Tags.data(), Tags.size(),
++ Attr.getAttributeSpellingListIndex()));
++}
++
+ static void handleARMInterruptAttr(Sema &S, Decl *D,
+ const AttributeList &Attr) {
+ // Check the attribute arguments.
+@@ -5360,6 +5420,9 @@
+ case AttributeList::AT_Thread:
+ handleDeclspecThreadAttr(S, D, Attr);
+ break;
++ case AttributeList::AT_AbiTag:
++ handleAbiTagAttr(S, D, Attr);
++ break;
+
+ // Thread safety attributes:
+ case AttributeList::AT_AssertExclusiveLock:
+Index: test/SemaCXX/attr-abi-tag-syntax.cpp
+===================================================================
+--- /dev/null
++++ test/SemaCXX/attr-abi-tag-syntax.cpp
+@@ -0,0 +1,20 @@
++// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
++
++namespace N1 {
++
++namespace __attribute__((__abi_tag__)) {} // \
++ // expected-error {{abi_tag attribute only allowed on inline namespaces}}
++
++namespace N __attribute__((__abi_tag__)) {} // \
++ // expected-error {{abi_tag attribute only allowed on inline namespaces}}
++
++}
++
++namespace N2 {
++
++inline namespace __attribute__((__abi_tag__)) {} // \
++ // expected-error {{abi_tag attribute only allowed on named namespaces}}
++
++inline namespace N __attribute__((__abi_tag__)) {}
++
++}
+Index: test/SemaCXX/attr-abi-tag.cpp
+===================================================================
+--- /dev/null
++++ test/SemaCXX/attr-abi-tag.cpp
+@@ -0,0 +1,13 @@
++// RUN: %clang_cc1 -x c++ -std=c++11 -triple x86_64-unknown-linux -emit-llvm < %s | FileCheck %s
++
++// CHECK: @_Z5Func1B6Names1v()
++inline namespace Names1 __attribute__((__abi_tag__)) {
++ class C1 {};
++}
++C1 Func1() { return C1(); }
++
++// CHECK: @_Z5Func2B4Tag1B4Tag2v()
++inline namespace Names2 __attribute__((__abi_tag__("Tag1", "Tag2"))) {
++ class C2 {};
++}
++C2 Func2() { return C2(); }
diff --git a/abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch b/abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch
new file mode 100644
index 0000000..a632baf
--- /dev/null
+++ b/abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch
@@ -0,0 +1,9 @@
+diff -upr clang-tools-extra-3.7.0.src.orig/clang-query/tool/CMakeLists.txt clang-tools-extra-3.7.0.src/clang-query/tool/CMakeLists.txt
+--- clang-tools-extra-3.7.0.src.orig/clang-query/tool/CMakeLists.txt 2015-06-20 22:28:07.000000000 +0300
++++ clang-tools-extra-3.7.0.src/clang-query/tool/CMakeLists.txt 2015-09-28 11:51:14.724472237 +0300
+@@ -10,3 +10,5 @@ target_link_libraries(clang-query
+ clangQuery
+ clangTooling
+ )
++
++install(TARGETS clang-query RUNTIME DESTINATION bin)
diff --git a/abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch b/abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch
new file mode 100644
index 0000000..f4859ed
--- /dev/null
+++ b/abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch
@@ -0,0 +1,20 @@
+diff -upr lldb-3.7.0.src.orig/cmake/modules/AddLLDB.cmake lldb-3.7.0.src/cmake/modules/AddLLDB.cmake
+--- lldb-3.7.0.src.orig/cmake/modules/AddLLDB.cmake 2015-09-28 11:42:23.439084000 +0300
++++ lldb-3.7.0.src/cmake/modules/AddLLDB.cmake 2015-09-28 11:43:03.200237733 +0300
+@@ -56,7 +56,7 @@ macro(add_lldb_library name)
+ if (PARAM_OBJECT)
+ add_library(${name} ${libkind} ${srcs})
+ else()
+- llvm_add_library(${name} ${libkind} ${srcs})
++ llvm_add_library(${name} ${libkind} DISABLE_LLVM_LINK_LLVM_DYLIB ${srcs})
+
+ lldb_link_common_libs(${name} "${libkind}")
+
+@@ -93,6 +93,6 @@ macro(add_lldb_library name)
+ endmacro(add_lldb_library)
+
+ macro(add_lldb_executable name)
+- add_llvm_executable(${name} ${ARGN})
++ add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
+ set_target_properties(${name} PROPERTIES FOLDER "lldb executables")
+ endmacro(add_lldb_executable)
diff --git a/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch b/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch
deleted file mode 100644
index 7a7d42a..0000000
--- a/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Index: cmake/modules/Makefile
-===================================================================
---- cmake/modules/Makefile (revision 217483)
-+++ cmake/modules/Makefile (revision 217484)
-@@ -33,6 +33,16 @@
- LLVM_ENABLE_RTTI := 0
- endif
-
-+LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error))
-+
-+ifeq ($(LLVM_LIBS_TO_EXPORT),Error)
-+$(error llvm-config --libs failed)
-+endif
-+
-+ifndef LLVM_LIBS_TO_EXPORT
-+$(error LLVM_LIBS_TO_EXPORT cannot be empty)
-+endif
-+
- OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake
-
- $(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag)
-@@ -45,7 +55,7 @@
- -e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \
- -e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \
- -e 's/@LLVM_COMMON_DEPENDS@//' \
-- -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \
-+ -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \
- -e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \
- -e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \
- -e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \
-@@ -83,7 +93,7 @@
- $(Echo) 'Generating LLVM CMake target exports file'
- $(Verb) ( \
- echo '# LLVM CMake target exports. Do not include directly.' && \
-- for lib in $(subst -l,,$(LLVMConfigLibs)); do \
-+ for lib in $(LLVM_LIBS_TO_EXPORT); do \
- echo 'add_library('"$$lib"' STATIC IMPORTED)' && \
- echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \
- done && \
diff --git a/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch b/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch
deleted file mode 100644
index acc4c13..0000000
--- a/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
-===================================================================
---- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile
-+++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
-@@ -12,6 +12,9 @@ TOOLNAME := bugpoint
- LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
- bitwriter irreader vectorize objcarcopts codegen
-
-+# Crappy workaround to make sure it links correctly.
-+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
-+
- # Support plugins.
- NO_DEAD_STRIP := 1
-
-Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
-===================================================================
---- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile
-+++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
-@@ -10,7 +10,9 @@
- LEVEL := ../..
- TOOLNAME := opt
- LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen
-+# Crappy workaround to make sure it links correctly.
-
-+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
- # Support plugins.
- NO_DEAD_STRIP := 1
-
diff --git a/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch b/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch
new file mode 100644
index 0000000..bc3d141
--- /dev/null
+++ b/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch
@@ -0,0 +1,11 @@
+--- src/llvm/tools/llvm-shlib/CMakeLists.txt.orig 2015-09-06 12:31:21.765250429 +0300
++++ src/llvm/tools/llvm-shlib/CMakeLists.txt 2015-09-06 13:17:10.820174432 +0300
+@@ -64,7 +64,7 @@
+
+ if (LLVM_DYLIB_EXPORT_ALL)
+ add_custom_command(OUTPUT ${LLVM_EXPORTED_SYMBOL_FILE}
+- COMMAND echo \"LLVM*\" > ${LLVM_EXPORTED_SYMBOL_FILE} && echo \"_Z*llvm*\" >> ${LLVM_EXPORTED_SYMBOL_FILE}
++ COMMAND echo -e \"LLVM*\\n_Z*llvm*\\nConvertUTF*\\ngetNumBytesForUTF8\\nisLegalUTF8*\" > ${LLVM_EXPORTED_SYMBOL_FILE}
+ WORKING_DIRECTORY ${LIB_DIR}
+ DEPENDS ${LLVM_DYLIB_REQUIRED_EXPORTS}
+ COMMENT "Generating combined export list...")
diff --git a/abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch b/abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch
new file mode 100644
index 0000000..e8c16ca
--- /dev/null
+++ b/abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch
@@ -0,0 +1,440 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ac3b978..dd50236 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -342,9 +342,21 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
+ option (LLVM_BUILD_EXTERNAL_COMPILER_RT
+ "Build compiler-rt as an external project." OFF)
+
+-option(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" OFF)
+-option(LLVM_DYLIB_EXPORT_ALL "Export all symbols from libLLVM.dylib (default is C API only" OFF)
+-option(LLVM_DISABLE_LLVM_DYLIB_ATEXIT "Disable llvm-shlib's atexit destructors." ON)
++# You can configure which libraries from LLVM you want to include in the
++# shared library by setting LLVM_DYLIB_COMPONENTS to a semi-colon delimited
++# list of LLVM components. All component names handled by llvm-config are valid.
++if(NOT DEFINED LLVM_DYLIB_COMPONENTS)
++ set(LLVM_DYLIB_COMPONENTS "all" CACHE STRING
++ "Semicolon-separated list of components to include in libLLVM, or \"all\".")
++endif()
++option(LLVM_LINK_LLVM_DYLIB "Link tools against the libllvm dynamic library" OFF)
++option(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" ${LLVM_LINK_LLVM_DYLIB})
++option(LLVM_DYLIB_EXPORT_ALL "Export all symbols from libLLVM.dylib (default is C API only" ${LLVM_LINK_LLVM_DYLIB})
++set(LLVM_DISABLE_LLVM_DYLIB_ATEXIT_DEFAULT ON)
++if (LLVM_LINK_LLVM_DYLIB)
++ set(LLVM_DISABLE_LLVM_DYLIB_ATEXIT_DEFAULT OFF)
++endif()
++option(LLVM_DISABLE_LLVM_DYLIB_ATEXIT "Disable llvm-shlib's atexit destructors." ${LLVM_DISABLE_LLVM_DYLIB_ATEXIT_DEFAULT})
+ if(LLVM_DISABLE_LLVM_DYLIB_ATEXIT)
+ set(DISABLE_LLVM_DYLIB_ATEXIT 1)
+ endif()
+diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
+index 45f6746..6b6e6e0 100644
+--- a/cmake/modules/AddLLVM.cmake
++++ b/cmake/modules/AddLLVM.cmake
+@@ -41,7 +41,7 @@ function(llvm_update_compile_flags name)
+ # Assume that;
+ # - LLVM_COMPILE_FLAGS is list.
+ # - PROPERTY COMPILE_FLAGS is string.
+- string(REPLACE ";" " " target_compile_flags "${LLVM_COMPILE_FLAGS}")
++ string(REPLACE ";" " " target_compile_flags " ${LLVM_COMPILE_FLAGS}")
+
+ if(update_src_props)
+ foreach(fn ${sources})
+@@ -303,6 +303,9 @@ endfunction(set_windows_version_resource_properties)
+ # MODULE
+ # Target ${name} might not be created on unsupported platforms.
+ # Check with "if(TARGET ${name})".
++# DISABLE_LLVM_LINK_LLVM_DYLIB
++# Do not link this library to libLLVM, even if
++# LLVM_LINK_LLVM_DYLIB is enabled.
+ # OUTPUT_NAME name
+ # Corresponds to OUTPUT_NAME in target properties.
+ # DEPENDS targets...
+@@ -316,7 +319,7 @@ endfunction(set_windows_version_resource_properties)
+ # )
+ function(llvm_add_library name)
+ cmake_parse_arguments(ARG
+- "MODULE;SHARED;STATIC"
++ "MODULE;SHARED;STATIC;DISABLE_LLVM_LINK_LLVM_DYLIB"
+ "OUTPUT_NAME"
+ "ADDITIONAL_HEADERS;DEPENDS;LINK_COMPONENTS;LINK_LIBS;OBJLIBS"
+ ${ARGN})
+@@ -444,10 +447,14 @@ function(llvm_add_library name)
+ # property has been set to an empty value.
+ get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
+
+- llvm_map_components_to_libnames(llvm_libs
+- ${ARG_LINK_COMPONENTS}
+- ${LLVM_LINK_COMPONENTS}
+- )
++ if (LLVM_LINK_LLVM_DYLIB AND NOT ARG_STATIC AND NOT ARG_DISABLE_LLVM_LINK_LLVM_DYLIB)
++ set(llvm_libs LLVM)
++ else()
++ llvm_map_components_to_libnames(llvm_libs
++ ${ARG_LINK_COMPONENTS}
++ ${LLVM_LINK_COMPONENTS}
++ )
++ endif()
+
+ if(CMAKE_VERSION VERSION_LESS 2.8.12)
+ # Link libs w/o keywords, assuming PUBLIC.
+@@ -562,7 +569,22 @@ endmacro(add_llvm_loadable_module name)
+
+
+ macro(add_llvm_executable name)
+- llvm_process_sources( ALL_FILES ${ARGN} )
++ cmake_parse_arguments(ARG "DISABLE_LLVM_LINK_LLVM_DYLIB" "" "" ${ARGN})
++ llvm_process_sources( ALL_FILES ${ARG_UNPARSED_ARGUMENTS} )
++
++ # Generate objlib
++ if(LLVM_ENABLE_OBJLIB)
++ # Generate an obj library for both targets.
++ set(obj_name "obj.${name}")
++ add_library(${obj_name} OBJECT EXCLUDE_FROM_ALL
++ ${ALL_FILES}
++ )
++ llvm_update_compile_flags(${obj_name})
++ set(ALL_FILES "$<TARGET_OBJECTS:${obj_name}>")
++
++ set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries")
++ endif()
++
+ add_windows_version_resource_file(ALL_FILES ${ALL_FILES})
+
+ if( EXCLUDE_FROM_ALL )
+@@ -588,9 +610,13 @@ macro(add_llvm_executable name)
+ add_llvm_symbol_exports( ${name} ${LLVM_EXPORTED_SYMBOL_FILE} )
+ endif(LLVM_EXPORTED_SYMBOL_FILE)
+
++ if (LLVM_LINK_LLVM_DYLIB AND NOT ARG_DISABLE_LLVM_LINK_LLVM_DYLIB)
++ set(USE_SHARED USE_SHARED)
++ endif()
++
+ set(EXCLUDE_FROM_ALL OFF)
+ set_output_directory(${name} ${LLVM_RUNTIME_OUTPUT_INTDIR} ${LLVM_LIBRARY_OUTPUT_INTDIR})
+- llvm_config( ${name} ${LLVM_LINK_COMPONENTS} )
++ llvm_config( ${name} ${USE_SHARED} ${LLVM_LINK_COMPONENTS} )
+ if( LLVM_COMMON_DEPENDS )
+ add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
+ endif( LLVM_COMMON_DEPENDS )
+@@ -651,7 +677,7 @@ endmacro(add_llvm_example name)
+
+
+ macro(add_llvm_utility name)
+- add_llvm_executable(${name} ${ARGN})
++ add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
+ set_target_properties(${name} PROPERTIES FOLDER "Utils")
+ if( LLVM_INSTALL_UTILS )
+ install (TARGETS ${name}
+@@ -785,8 +811,13 @@ function(llvm_add_go_executable binary pkgpath)
+ set(cppflags "${cppflags} -I${d}")
+ endforeach(d)
+ set(ldflags "${CMAKE_EXE_LINKER_FLAGS}")
++ if (LLVM_LINK_LLVM_DYLIB)
++ set(linkmode "dylib")
++ else()
++ set(linkmode "component-libs")
++ endif()
+ add_custom_command(OUTPUT ${binpath}
+- COMMAND ${CMAKE_BINARY_DIR}/bin/llvm-go "cc=${cc}" "cxx=${cxx}" "cppflags=${cppflags}" "ldflags=${ldflags}"
++ COMMAND ${CMAKE_BINARY_DIR}/bin/llvm-go "go=${GO_EXECUTABLE}" "cc=${cc}" "cxx=${cxx}" "cppflags=${cppflags}" "ldflags=${ldflags}" "linkmode=${linkmode}"
+ ${ARG_GOFLAGS} build -o ${binpath} ${pkgpath}
+ DEPENDS llvm-config ${CMAKE_BINARY_DIR}/bin/llvm-go${CMAKE_EXECUTABLE_SUFFIX}
+ ${llvmlibs} ${ARG_DEPENDS}
+diff --git a/cmake/modules/LLVM-Config.cmake b/cmake/modules/LLVM-Config.cmake
+index 22ac714..aa68b40 100644
+--- a/cmake/modules/LLVM-Config.cmake
++++ b/cmake/modules/LLVM-Config.cmake
+@@ -31,7 +31,23 @@ endfunction(is_llvm_target_library)
+
+
+ macro(llvm_config executable)
+- explicit_llvm_config(${executable} ${ARGN})
++ cmake_parse_arguments(ARG "USE_SHARED" "" "" ${ARGN})
++ set(link_components ${ARG_UNPARSED_ARGUMENTS})
++
++ if(USE_SHARED)
++ # If USE_SHARED is specified, then we link against libLLVM,
++ # but also against the component libraries below. This is
++ # done in case libLLVM does not contain all of the components
++ # the target requires.
++ #
++ # TODO strip LLVM_DYLIB_COMPONENTS out of link_components.
++ # To do this, we need special handling for "all", since that
++ # may imply linking to libraries that are not included in
++ # libLLVM.
++ target_link_libraries(${executable} LLVM)
++ endif()
++
++ explicit_llvm_config(${executable} ${link_components})
+ endmacro(llvm_config)
+
+
+diff --git a/cmake/modules/TableGen.cmake b/cmake/modules/TableGen.cmake
+index 85d720e..fcb445a 100644
+--- a/cmake/modules/TableGen.cmake
++++ b/cmake/modules/TableGen.cmake
+@@ -73,6 +73,10 @@ endfunction()
+ macro(add_tablegen target project)
+ set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
+ set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
++
++ # FIXME: It leaks to user, callee of add_tablegen.
++ set(LLVM_ENABLE_OBJLIB ON)
++
+ add_llvm_utility(${target} ${ARGN})
+ set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
+
+diff --git a/tools/llvm-go/llvm-go.go b/tools/llvm-go/llvm-go.go
+index c5c3fd2..ed79ca6 100644
+--- a/tools/llvm-go/llvm-go.go
++++ b/tools/llvm-go/llvm-go.go
+@@ -24,6 +24,11 @@ import (
+ "strings"
+ )
+
++const (
++ linkmodeComponentLibs = "component-libs"
++ linkmodeDylib = "dylib"
++)
++
+ type pkg struct {
+ llvmpath, pkgpath string
+ }
+@@ -66,11 +71,12 @@ var components = []string{
+ func llvmConfig(args ...string) string {
+ configpath := os.Getenv("LLVM_CONFIG")
+ if configpath == "" {
+- // strip llvm-go, add llvm-config
+- configpath = os.Args[0][:len(os.Args[0])-7] + "llvm-config"
++ bin, _ := filepath.Split(os.Args[0])
++ configpath = filepath.Join(bin, "llvm-config")
+ }
+
+ cmd := exec.Command(configpath, args...)
++ cmd.Stderr = os.Stderr
+ out, err := cmd.Output()
+ if err != nil {
+ panic(err.Error())
+@@ -78,11 +84,21 @@ func llvmConfig(args ...string) string {
+
+ outstr := string(out)
+ outstr = strings.TrimSuffix(outstr, "\n")
+- return strings.Replace(outstr, "\n", " ", -1)
++ outstr = strings.Replace(outstr, "\n", " ", -1)
++ return outstr
+ }
+
+-func llvmFlags() compilerFlags {
+- ldflags := llvmConfig(append([]string{"--ldflags", "--libs", "--system-libs"}, components...)...)
++func llvmFlags(linkmode string) compilerFlags {
++ ldflags := llvmConfig("--ldflags")
++ switch linkmode {
++ case linkmodeComponentLibs:
++ ldflags += " " + llvmConfig(append([]string{"--libs"}, components...)...)
++ case linkmodeDylib:
++ ldflags += " -lLLVM"
++ default:
++ panic("invalid linkmode: " + linkmode)
++ }
++ ldflags += " " + llvmConfig("--system-libs")
+ if runtime.GOOS != "darwin" {
+ // OS X doesn't like -rpath with cgo. See:
+ // https://code.google.com/p/go/issues/detail?id=7293
+@@ -117,8 +133,8 @@ func printComponents() {
+ fmt.Println(strings.Join(components, " "))
+ }
+
+-func printConfig() {
+- flags := llvmFlags()
++func printConfig(linkmode string) {
++ flags := llvmFlags(linkmode)
+
+ fmt.Printf(`// +build !byollvm
+
+@@ -137,7 +153,7 @@ type (run_build_sh int)
+ `, flags.cpp, flags.cxx, flags.ld)
+ }
+
+-func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags string) {
++func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags, linkmode string) {
+ args = addTag(args, "byollvm")
+
+ srcdir := llvmConfig("--src-root")
+@@ -166,7 +182,7 @@ func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, l
+ newgopathlist = append(newgopathlist, filepath.SplitList(os.Getenv("GOPATH"))...)
+ newgopath := strings.Join(newgopathlist, string(filepath.ListSeparator))
+
+- flags := llvmFlags()
++ flags := llvmFlags(linkmode)
+
+ newenv := []string{
+ "CC=" + cc,
+@@ -178,7 +194,7 @@ func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, l
+ "PATH=" + newpath,
+ }
+ if llgo != "" {
+- newenv = append(newenv, "GCCGO=" + llgo)
++ newenv = append(newenv, "GCCGO="+llgo)
+ }
+
+ for _, v := range os.Environ() {
+@@ -234,45 +250,44 @@ func main() {
+ ldflags := os.Getenv("CGO_LDFLAGS")
+ gocmd := "go"
+ llgo := ""
++ linkmode := linkmodeComponentLibs
++
++ flags := []struct {
++ name string
++ dest *string
++ }{
++ {"cc", &cc},
++ {"cxx", &cxx},
++ {"go", &gocmd},
++ {"llgo", &llgo},
++ {"cppflags", &cppflags},
++ {"ldflags", &ldflags},
++ {"linkmode", &linkmode},
++ }
+
+ args := os.Args[1:]
+- DONE: for {
+- switch {
+- case len(args) == 0:
++LOOP:
++ for {
++ if len(args) == 0 {
+ usage()
+- case strings.HasPrefix(args[0], "cc="):
+- cc = args[0][3:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "cxx="):
+- cxx = args[0][4:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "go="):
+- gocmd = args[0][3:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "llgo="):
+- llgo = args[0][5:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "cppflags="):
+- cppflags = args[0][9:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "cxxflags="):
+- cxxflags = args[0][9:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "ldflags="):
+- ldflags = args[0][8:]
+- args = args[1:]
+- default:
+- break DONE
+ }
++ for _, flag := range flags {
++ if strings.HasPrefix(args[0], flag.name+"=") {
++ *flag.dest = args[0][len(flag.name)+1:]
++ args = args[1:]
++ continue LOOP
++ }
++ }
++ break
+ }
+
+ switch args[0] {
+ case "build", "get", "install", "run", "test":
+- runGoWithLLVMEnv(args, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags)
++ runGoWithLLVMEnv(args, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags, linkmode)
+ case "print-components":
+ printComponents()
+ case "print-config":
+- printConfig()
++ printConfig(linkmode)
+ default:
+ usage()
+ }
+diff --git a/tools/llvm-shlib/CMakeLists.txt b/tools/llvm-shlib/CMakeLists.txt
+index 54d71d3..d9bd15f 100644
+--- a/tools/llvm-shlib/CMakeLists.txt
++++ b/tools/llvm-shlib/CMakeLists.txt
+@@ -2,42 +2,6 @@
+ # library is enabled by setting LLVM_BUILD_LLVM_DYLIB=yes on the CMake
+ # commandline. By default the shared library only exports the LLVM C API.
+
+-
+-# You can configure which libraries from LLVM you want to include in the shared
+-# library by setting LLVM_DYLIB_COMPONENTS to a semi-colon delimited list of
+-# LLVM components. All compoenent names handled by llvm-config are valid.
+-
+-if(NOT DEFINED LLVM_DYLIB_COMPONENTS)
+- set(LLVM_DYLIB_COMPONENTS
+- ${LLVM_TARGETS_TO_BUILD}
+- Analysis
+- BitReader
+- BitWriter
+- CodeGen
+- Core
+- DebugInfoDWARF
+- DebugInfoPDB
+- ExecutionEngine
+- IPA
+- IPO
+- IRReader
+- InstCombine
+- Instrumentation
+- Interpreter
+- Linker
+- MCDisassembler
+- MCJIT
+- ObjCARCOpts
+- Object
+- ScalarOpts
+- Support
+- Target
+- TransformUtils
+- Vectorize
+- native
+- )
+-endif()
+-
+ add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
+
+ set(SOURCES
+@@ -46,6 +10,29 @@ set(SOURCES
+
+ llvm_map_components_to_libnames(LIB_NAMES ${LLVM_DYLIB_COMPONENTS})
+
++if(LLVM_LINK_LLVM_DYLIB)
++ if(NOT LLVM_DYLIB_EXPORT_ALL)
++ message(FATAL_ERROR "LLVM_DYLIB_EXPORT_ALL must be ON when LLVM_LINK_LLVM_DYLIB is ON")
++ endif()
++
++ # libLLVM.so should not have any dependencies on any other LLVM
++ # shared libraries. When using the "all" pseudo-component,
++ # LLVM_AVAILABLE_LIBS is added to the dependencies, which may
++ # contain shared libraries (e.g. libLTO).
++ #
++ # Also exclude libLLVMTableGen for the following reasons:
++ # - it is only used by internal *-tblgen utilities;
++ # - it pollutes the global options space.
++ foreach(lib ${LIB_NAMES})
++ get_target_property(t ${lib} TYPE)
++ if("${lib}" STREQUAL "LLVMTableGen")
++ elseif("x${t}" STREQUAL "xSTATIC_LIBRARY")
++ list(APPEND FILTERED_LIB_NAMES ${lib})
++ endif()
++ endforeach()
++ set(LIB_NAMES ${FILTERED_LIB_NAMES})
++endif()
++
+ if(NOT DEFINED LLVM_DYLIB_EXPORTED_SYMBOL_FILE)
+
+ if( WIN32 AND NOT CYGWIN )
+@@ -95,7 +82,7 @@ else()
+ add_custom_target(libLLVMExports DEPENDS ${LLVM_EXPORTED_SYMBOL_FILE})
+ endif()
+
+-add_llvm_library(LLVM SHARED ${SOURCES})
++add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB ${SOURCES})
+
+ list(REMOVE_DUPLICATES LIB_NAMES)
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") # FIXME: It should be "GNU ld for elf"
diff --git a/abs/extra/llvm/llvm-Config-config.h b/abs/extra/llvm/llvm-Config-config.h
deleted file mode 100644
index c369b45..0000000
--- a/abs/extra/llvm/llvm-Config-config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "config-32.h"
-#elif __WORDSIZE == 64
-#include "config-64.h"
-#else
-#error "Unknown word size"
-#endif
diff --git a/abs/extra/m17n-db/PKGBUILD b/abs/extra/m17n-db/PKGBUILD
index 620beef..2ee2e94 100644
--- a/abs/extra/m17n-db/PKGBUILD
+++ b/abs/extra/m17n-db/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 172458 2012-12-03 05:46:30Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: damir <damir@archlinux.org>
# Contributor: Camille Moncelier <pix@devlife.org>
pkgname=m17n-db
-pkgver=1.6.4
+pkgver=1.7.0
pkgrel=1
pkgdesc='Multilingual text processing library (database)'
url='http://www.nongnu.org/m17n/'
@@ -12,7 +12,7 @@ arch=('any')
license=('GPL')
depends=('glibc') # not because of compiling, but because of /usr/share/i18n/charmaps/ files that glibc provides
source=("http://download.savannah.gnu.org/releases/m17n/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('756fd10b8d7fe66a14350443f307bcf95347c695')
+sha1sums=('4149c2e59ac8f45ec8cbfb7bc8d4d061f38e58bc')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/extra/m17n-lib/PKGBUILD b/abs/extra/m17n-lib/PKGBUILD
index c2e8511..98233dd 100644
--- a/abs/extra/m17n-lib/PKGBUILD
+++ b/abs/extra/m17n-lib/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 172459 2012-12-03 05:46:31Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Camille Moncelier <pix@devlife.org>
pkgname=m17n-lib
-pkgver=1.6.4
+pkgver=1.7.0
pkgrel=1
pkgdesc='Multilingual text processing library (runtimes)'
url='http://www.nongnu.org/m17n/'
@@ -11,13 +11,13 @@ arch=('i686' 'x86_64')
license=('GPL')
depends=('libxft' 'm17n-db' 'fribidi' 'libxml2' 'gd' 'libotf')
optdepends=('anthy: to use the anthy input method')
-options=('!makeflags' '!libtool' '!emptydirs')
+options=('!makeflags' '!emptydirs')
source=("http://download.savannah.gnu.org/releases/m17n/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('83f2fc4facfd70a580bb95d9381eac7472d85171')
+sha1sums=('6ebc98680ffb575c5f58190f054d60fdb8b0f301')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --enable-static=no
+ ./configure --prefix=/usr
make
}
diff --git a/abs/extra/mpd/PKGBUILD b/abs/extra/mpd/PKGBUILD
index c1803a4..bb73322 100644
--- a/abs/extra/mpd/PKGBUILD
+++ b/abs/extra/mpd/PKGBUILD
@@ -6,8 +6,8 @@
# Contributor: Ben <ben@benmazer.net>
pkgname=mpd
-pkgver=0.19.4
-pkgrel=1
+pkgver=0.19.9
+pkgrel=3
pkgdesc='Flexible, powerful, server-side application for playing music'
url='http://www.musicpd.org/'
license=('GPL')
@@ -16,10 +16,11 @@ depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'f
'sqlite' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl' 'libmpdclient'
'icu' 'libupnp' 'libnfs')
makedepends=('boost' 'doxygen')
+validpgpkeys=('0392335A78083894A4301C43236E8A58C6DB4512')
source=("http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"{,.sig}
'tmpfiles.d'
'conf')
-sha1sums=('f0397d7e923cd11fef8dae238efe9ae9ff12120f' 'SKIP'
+sha1sums=('6683bee5f132eda318c5a61ec14b2df8d9164d60' 'SKIP'
'f4d5922abb69abb739542d8e93f4dfd748acdad7'
'291fd5cda9f0845834a553017327c4586bd853f6')
diff --git a/abs/extra/mpd/__changelog b/abs/extra/mpd/__changelog
new file mode 100644
index 0000000..7ee2eb2
--- /dev/null
+++ b/abs/extra/mpd/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: disable pulse and jack
+PKGBUILD: remove jack as dep
diff --git a/abs/extra/mpg123/PKGBUILD b/abs/extra/mpg123/PKGBUILD
index e0c6397..927a758 100644
--- a/abs/extra/mpg123/PKGBUILD
+++ b/abs/extra/mpg123/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=mpg123
-pkgver=1.19.0
+pkgver=1.22.4
pkgrel=1
pkgdesc="A console based real time MPEG Audio Player for Layer 1, 2 and 3"
arch=('i686' 'x86_64')
@@ -12,8 +12,9 @@ depends=('libltdl' 'alsa-lib')
makedepends=('sdl')
optdepends=('sdl: for sdl audio support')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig})
-sha1sums=('835f8ae489b41ae69fa8c76a0b1e5ee5495ef0ae'
+sha1sums=('6ca59baceeebe361cc508214ba725a56d4fea743'
'SKIP')
+validpgpkeys=('D021FF8ECF4BE09719D61A27231C4CBC60D5CAFE')
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/mythexpress/PKGBUILD b/abs/extra/mythexpress/PKGBUILD
index 7080c8d..229e28a 100755
--- a/abs/extra/mythexpress/PKGBUILD
+++ b/abs/extra/mythexpress/PKGBUILD
@@ -1,13 +1,14 @@
pkgname=mythexpress
-pkgver=20150205
+pkgver=20160427
pkgrel=1
pkgdesc="MythExpress is a browser-based interface to MythTV HTTP streaming capability"
arch=('i686' 'x86_64')
url="https://github.com/MythTV-Clients/MythExpress"
license=('GPL3')
-depends=('nodejs' 'avahi' )
+depends=('nodejs' 'avahi')
makedepends=('git')
-source=('mythexpress.html' )
+install=mythexpress.install
+source=('mythexpress.html' 'mythprotocol.js.patch')
_gitroot="https://github.com/MythTV-Clients/MythExpress.git"
_gitname=MythExpress
@@ -31,6 +32,8 @@ build() {
fi
cp -rf "${_gitname}" "${_gitname}-build"
+ patch -Np1 -i ${srcdir}/mythprotocol.js.patch
+
cd "${srcdir}/${_gitname}-build"
npm install || exit 1
@@ -40,7 +43,8 @@ package() {
cd "${srcdir}"
mkdir -p $pkgdir/usr/$pkgname
rsync -arvp --exclude .git ${_gitname}-build/ $pkgdir/usr/${pkgname}
- cd $startdir/src
+ cd "${srcdir}"
install -m755 -D mythexpress.html $pkgdir/data/srv/httpd/htdocs/mythexpress.html
}
-md5sums=('93b0d936c5c7838e1c0367f2d5286b3b')
+md5sums=('568ee396fc2af9fd7cc3433fce7a3a87'
+ 'd5d20eb47e9dffb238e60173810bd24b')
diff --git a/abs/extra/mythexpress/mythexpress.html b/abs/extra/mythexpress/mythexpress.html
index d9dd9a3..8302e5a 100755
--- a/abs/extra/mythexpress/mythexpress.html
+++ b/abs/extra/mythexpress/mythexpress.html
@@ -10,7 +10,7 @@ function r()
function express()
{
current_hostname=parent.location.hostname
- top.frames["content"].location.href = ( "http://" + current_hostname + ":6565" ) ;
+ window.location.href = ( "http://" + current_hostname + ":6565" ) ;
}
@@ -27,4 +27,4 @@ function remyth()
<body onload="JavaScript:express();">
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/abs/extra/mythexpress/mythexpress.install b/abs/extra/mythexpress/mythexpress.install
new file mode 100644
index 0000000..76b56bb
--- /dev/null
+++ b/abs/extra/mythexpress/mythexpress.install
@@ -0,0 +1,11 @@
+post_install() {
+ add_service.sh mythexpress
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ remove_service.sh mythexpress
+}
diff --git a/abs/extra/mythexpress/mythprotocol.js.patch b/abs/extra/mythexpress/mythprotocol.js.patch
new file mode 100644
index 0000000..ebfe808
--- /dev/null
+++ b/abs/extra/mythexpress/mythprotocol.js.patch
@@ -0,0 +1,12 @@
+--- src/MythExpress-build/mythtv/mythprotocol.js.orig 2016-04-27 22:00:34.538603111 +0000
++++ src/MythExpress-build/mythtv/mythprotocol.js 2016-04-28 15:20:43.518464024 +0000
+@@ -53,7 +53,8 @@
+ "85" : "BluePool",
+ "86" : "(ノಠ益ಠ)ノ彡┻â”â”»",
+ "87" : "(ノಠ益ಠ)ノ彡┻â”â”»_No_entiendo!)",
+- "Latest" : "87"
++ "88" : "XmasGift",
++ "Latest" : "88"
+ };
+
+ var reconnectInterval = 6;
diff --git a/abs/extra/ncdu/PKGBUILD b/abs/extra/ncdu/PKGBUILD
index 011f7e0..7973c60 100644
--- a/abs/extra/ncdu/PKGBUILD
+++ b/abs/extra/ncdu/PKGBUILD
@@ -1,11 +1,10 @@
-# $Id: PKGBUILD 76727 2012-09-27 22:43:52Z bisson $
-
+# $Id$
# Contributor: lp76 <l.peduto@gmail.com>
# Contributor: Daenyth <Daenyth+Arch AT gmail DOT com>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=ncdu
-pkgver=1.9
+pkgver=1.11
pkgrel=1
pkgdesc='Disk usage analyzer with an ncurses interface'
url='http://dev.yorhel.nl/ncdu/'
@@ -13,7 +12,7 @@ license=('custom:MIT')
depends=('ncurses')
arch=('i686' 'x86_64')
source=("http://dev.yorhel.nl/download/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('27cb5464b192db8ffdf0a894fe51d29985348eb0')
+sha1sums=('8f22d713e6d2b28e1f501eee2bd1e03b55550c8d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/extra/nodejs/PKGBUILD b/abs/extra/nodejs/PKGBUILD
index 2bb2da5..d196eb1 100644
--- a/abs/extra/nodejs/PKGBUILD
+++ b/abs/extra/nodejs/PKGBUILD
@@ -1,5 +1,5 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: James Campos <james.r.campos@gmail.com>
@@ -9,9 +9,9 @@
# Contributor: TIanyi Cui <tianyicui@gmail.com>
pkgname=nodejs
-pkgver=0.10.32
-_npmver=2.0.2
-pkgrel=3
+pkgver=0.10.44
+_npmver=2.5.0
+pkgrel=1
pkgdesc='Evented I/O for V8 javascript'
arch=('i686' 'x86_64')
url='http://nodejs.org/'
@@ -24,8 +24,6 @@ checkdepends=('curl')
options=('!emptydirs')
source=("http://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz"
git+https://github.com/npm/npm.git#tag=v$_npmver)
-sha256sums=('c2120d0e3d2d191654cb11dbc0a33a7216d53732173317681da9502be0030f10'
- 'SKIP')
prepare() {
cd node-v$pkgver
@@ -57,7 +55,7 @@ build() {
cd ../npm
../node-v$pkgver/node cli.js install ronn marked
PATH="$srcdir/node-v$pkgver:$PATH" make
- ../node-v$pkgver/node cli.js uninstall ronn marked
+ ../node-v$pkgver/node cli.js uninstall ronn marked marked-man
}
check() {
@@ -90,3 +88,5 @@ package() {
}
# vim:set ts=2 sw=2 et:
+md5sums=('39c35e40b9d64a63fadd80c1c3e54851'
+ 'SKIP')
diff --git a/abs/extra/npm/PKGBUILD b/abs/extra/npm/PKGBUILD
new file mode 100644
index 0000000..283ac6d
--- /dev/null
+++ b/abs/extra/npm/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=npm
+pkgver=3.8.7
+pkgrel=1
+pkgdesc='A package manager for javascript'
+arch=('any')
+url='https://www.npmjs.com/'
+license=('custom:Artistic')
+depends=('nodejs' 'semver')
+provides=('nodejs-node-gyp')
+makedepends=('git' 'procps-ng')
+optdepends=('python2: for node-gyp')
+options=('!emptydirs')
+source=("git+https://github.com/npm/npm.git#tag=v$pkgver")
+md5sums=('SKIP')
+
+build() {
+ cd npm
+ make
+}
+
+package() {
+ cd npm
+ make NPMOPTS="--prefix=\"$pkgdir/usr\"" install
+
+ # Why 777? :/
+ chmod -R u=rwX,go=rX "$pkgdir"
+
+ # Fix files owned by nobody:
+ chown -R root "$pkgdir/usr/lib/node_modules"
+
+ # Fix wrong symlinks
+ for _dir in man1 man5 man7; do
+ rm -f "$pkgdir"/usr/share/man/$_dir/*
+ cd "$pkgdir"/usr/lib/node_modules/npm/man/$_dir
+ for _file in *; do
+ ln -s /usr/lib/node_modules/npm/man/$_dir/$_file "$pkgdir"/usr/share/man/$_dir/
+ done
+ done
+
+ # Provide node-gyp executable
+ cp "$pkgdir"/usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp "$pkgdir"/usr/bin/node-gyp
+ sed -i 's|"`dirname "$0"`/../../|"`dirname "$0"`/../lib/node_modules/npm/|' "$pkgdir"/usr/bin/node-gyp
+
+ # Experimental dedup
+ cd "$pkgdir"/usr/lib/node_modules/$pkgname/node_modules
+ for dep in semver; do
+ rm -r $dep;
+ node "$srcdir"/npm/cli.js link $dep;
+ done
+
+ install -Dm644 "$srcdir/npm/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/nspr/PKGBUILD b/abs/extra/nspr/PKGBUILD
index 19538ba..e60f6ab 100644
--- a/abs/extra/nspr/PKGBUILD
+++ b/abs/extra/nspr/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=nspr
-pkgver=4.10.7
+pkgver=4.10.9
pkgrel=1
pkgdesc="Netscape Portable Runtime"
arch=(i686 x86_64)
@@ -12,9 +12,9 @@ license=('MPL' 'GPL')
depends=('glibc')
makedepends=('zip')
options=('!emptydirs')
-source=(ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz)
-md5sums=('6e06919e4b56efed501e05d8b45ec10e')
-sha1sums=('f62972d7c66d4621d6262c5bd9b5723fa67b6bff')
+source=(http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz)
+sha1sums=('405e5ad45111ddf95a5d39d647d41d27456c9443')
+sha256sums=('4112ff6ad91d32696ca0c6c3d4abef6367b5dc0127fa172fcb3c3ab81bb2d881')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/nss/PKGBUILD b/abs/extra/nss/PKGBUILD
index 7a06cec..4bf9a60 100644
--- a/abs/extra/nss/PKGBUILD
+++ b/abs/extra/nss/PKGBUILD
@@ -3,36 +3,34 @@
pkgbase=nss
pkgname=(nss ca-certificates-mozilla)
-pkgver=3.17
-pkgrel=4
+pkgver=3.20
+pkgrel=1
pkgdesc="Mozilla Network Security Services"
arch=(i686 x86_64)
url="http://www.mozilla.org/projects/security/pki/nss/"
license=('MPL' 'GPL')
-_nsprver=4.10.7
+_nsprver=4.10.8
depends=("nspr>=${_nsprver}" 'sqlite' 'zlib' 'sh' 'p11-kit')
makedepends=('perl' 'python2')
options=('!strip' '!makeflags' 'staticlibs')
-source=("ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgbase}-${pkgver}.tar.gz"
- certdata2pem.py
- bundle.sh
- nss.pc.in
- nss-config.in
- ssl-renegotiate-transitional.patch)
-sha256sums=('3b1abcd8f89211dda2cc739bfa76552d080f7ea80482ef2727b006548a7f0c81'
- 'af13c30801a8a27623948206458432a4cf98061b75ff6e5b5e03912f93c034ee'
+source=("https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgbase}-${pkgver}.tar.gz"
+ certdata2pem.py bundle.sh nss.pc.in nss-config.in legacy-certs.patch)
+sha256sums=('5e38d4b9837ca338af966b97fc91c07f67ad647fb38dc4af3cfd0d84e477d15c'
+ '2a2ff9131c21fa3b23ad7c7a2f069eabc783e56c6eb05419ac5f365f48dea0fc'
'045f520403f715a4cc7f3607b4e2c9bcc88fee5bce58d462fddaa2fdb0e4c180'
'b9f1428ca2305bf30b109507ff335fa00bce5a7ce0434b50acd26ad7c47dd5bd'
'e44ac5095b4d88f24ec7b2e6a9f1581560bd3ad41a3d198596d67ef22f67adb9'
- '12df04bccbf674db1eef7a519a28987927b5e9c107b1dc386686f05e64f49a97')
+ '22330fcde2dac5fa4733f7d77bffbbd31d91cbaa338738afdc2a8ebfccb61184')
prepare() {
mkdir certs
cd nss-$pkgver
- # Adds transitional SSL renegotiate support - patch from Debian
- patch -Np3 -i ../ssl-renegotiate-transitional.patch
+ # FS#45479: Reenable two weak Verisign certificates used by login.live.com
+ # Otherwise, accessing this site via Epiphany (GnuTLS) or Skype (OpenSSL) fails
+ # Also see https://gist.github.com/grawity/15eabf67191e17080241
+ patch nss/lib/ckfw/builtins/certdata.txt ../legacy-certs.patch
# Respect LDFLAGS
sed -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/' \
@@ -66,6 +64,8 @@ build() {
}
package_nss() {
+ install=nss.install
+
cd nss-$pkgver
install -d "$pkgdir"/usr/{bin,include/nss,lib/pkgconfig}
@@ -105,7 +105,7 @@ package_nss() {
install -t "$pkgdir/usr/include/nss" -m644 *.h
rm "$pkgdir/usr/lib/libnssckbi.so"
- ln -s pkcs11/p11-kit-trust.so "$pkgdir/usr/lib/libnssckbi.so"
+ ln -s libnssckbi-p11-kit.so "$pkgdir/usr/lib/libnssckbi.so"
}
package_ca-certificates-mozilla() {
diff --git a/abs/extra/nss/certdata2pem.py b/abs/extra/nss/certdata2pem.py
index 175de1a..021772a 100644
--- a/abs/extra/nss/certdata2pem.py
+++ b/abs/extra/nss/certdata2pem.py
@@ -196,4 +196,5 @@ for tobj in objects:
if (tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED'):
f.write("x-distrusted: true\n")
f.write("\n\n")
+ f.close()
print " -> written as '%s', trust = %s, openssl-trust = %s, distrust = %s, openssl-distrust = %s" % (fname, trustbits, openssl_trustflags, distrustbits, openssl_distrustflags)
diff --git a/abs/extra/nss/legacy-certs.patch b/abs/extra/nss/legacy-certs.patch
new file mode 100644
index 0000000..863cef9
--- /dev/null
+++ b/abs/extra/nss/legacy-certs.patch
@@ -0,0 +1,26 @@
+--- certdata.txt 2015-06-27 23:31:01.419795911 +0200
++++ certdata-legacy-less.txt 2015-06-27 23:57:47.106199639 +0200
+@@ -577,9 +577,9 @@
+ \002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314
+ \272\277
+ END
+-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+ #
+@@ -17186,9 +17186,9 @@
+ \002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277
+ \022\276
+ END
+-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+ #
diff --git a/abs/extra/nss/nss.install b/abs/extra/nss/nss.install
new file mode 100644
index 0000000..24f9ec6
--- /dev/null
+++ b/abs/extra/nss/nss.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ if (($(vercmp $2 3.18-3) < 0)); then
+ # This symlink was created by ldconfig because we linked to
+ # pkcs11/p11-kit-trust.so from libnssckbi.so; the chain was:
+ # p11-kit-trust.so -> libnssckbi.so -> pkcs11/p11-kit-trust.so
+ # Now we have:
+ # libnssckbi.so -> libnssckbi-p11-kit.so
+ # which no longer creates an incorrect p11-kit-trust.so symlink
+ if [[ $(readlink usr/lib/p11-kit-trust.so) == libnssckbi.so ]]; then
+ rm usr/lib/p11-kit-trust.so
+ fi
+ fi
+}
diff --git a/abs/extra/nss/ssl-renegotiate-transitional.patch b/abs/extra/nss/ssl-renegotiate-transitional.patch
deleted file mode 100644
index f457c55..0000000
--- a/abs/extra/nss/ssl-renegotiate-transitional.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Enable transitional scheme for ssl renegotiation:
-
-(from mozilla/security/nss/lib/ssl/ssl.h)
-Disallow unsafe renegotiation in server sockets only, but allow clients
-to continue to renegotiate with vulnerable servers.
-This value should only be used during the transition period when few
-servers have been upgraded.
-
-diff --git a/mozilla/security/nss/lib/ssl/sslsock.c b/mozilla/security/nss/lib/ssl/sslsock.c
-index f1d1921..c074360 100644
---- a/mozilla/security/nss/lib/ssl/sslsock.c
-+++ b/mozilla/security/nss/lib/ssl/sslsock.c
-@@ -181,7 +181,7 @@ static sslOptions ssl_defaults = {
- PR_FALSE, /* noLocks */
- PR_FALSE, /* enableSessionTickets */
- PR_FALSE, /* enableDeflate */
-- 2, /* enableRenegotiation (default: requires extension) */
-+ 3, /* enableRenegotiation (default: transitional) */
- PR_FALSE, /* requireSafeNegotiation */
- };
-
diff --git a/abs/extra/ocaml-ctypes/PKGBUILD b/abs/extra/ocaml-ctypes/PKGBUILD
new file mode 100644
index 0000000..3d0922c
--- /dev/null
+++ b/abs/extra/ocaml-ctypes/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Armin K. <krejzi at email dot com>
+
+pkgname=ocaml-ctypes
+pkgver=0.4.1
+pkgrel=3
+pkgdesc="Library for binding to C libraries using pure OCaml"
+arch=('i686' 'x86_64')
+url="https://github.com/ocamllabs/ocaml-ctypes"
+license=('MIT')
+depends=('ocaml' 'libffi')
+makedepends=('ocaml-findlib')
+options=('!strip' '!makeflags')
+source=($pkgname-$pkgver::https://github.com/ocamllabs/ocaml-ctypes/archive/$pkgver.tar.gz)
+sha256sums=('74564e049de5d3c0e76ea284c225cb658ac1a2b483345be1efb9be4b3c1702f5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ local _destdir="$pkgdir$(ocamlfind printconf destdir)"
+ install -d "$_destdir/stublibs"
+
+ make OCAMLFIND_DESTDIR="$_destdir" install
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/ocaml-findlib/PKGBUILD b/abs/extra/ocaml-findlib/PKGBUILD
new file mode 100644
index 0000000..ce5bdff
--- /dev/null
+++ b/abs/extra/ocaml-findlib/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Thomas S Hatch <thatch45 at gmail dot com>
+# Contributor: Sebastian Wiesner <lunaryorn googlemail com>
+# Contributor: Benjamin Andresen <benny(at)klapmuetz(dot)org>
+# Contributor: scj <scj archlinux us>
+
+pkgname=ocaml-findlib
+pkgver=1.5.5
+pkgrel=3
+license=('MIT')
+arch=('i686' 'x86_64')
+pkgdesc='Objective Caml (OCaml) package manager'
+url='http://projects.camlcity.org/projects/findlib.html'
+depends=('ocaml')
+source=("http://download.camlcity.org/download/findlib-$pkgver.tar.gz")
+md5sums=('703eae112f9e912507c3a2f8d8c48498')
+options=('staticlibs' '!strip' 'zipman' '!makeflags') # otherwise the bytecode gets broken
+
+build() {
+ cd "$srcdir/findlib-$pkgver"
+
+ ./configure -config /etc/findlib.conf -sitelib /usr/lib/ocaml -mandir /usr/share/man
+ make all opt
+}
+
+package () {
+ cd "$srcdir/findlib-$pkgver"
+
+ make prefix="$pkgdir" install
+
+ # add the old site-lib to the path to maintain compatibility with old style packages
+ sed -i 's/path=\"\/usr\/lib\/ocaml\"/path="\/usr\/lib\/ocaml:\/usr\/lib\/ocaml\/site-lib"/' \
+ "${pkgdir}/etc/findlib.conf"
+
+ install -m755 src/findlib/ocamlfind_opt "$pkgdir/usr/bin/"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/ocaml/PKGBUILD b/abs/extra/ocaml/PKGBUILD
index e7ad5ec..f1b1343 100644
--- a/abs/extra/ocaml/PKGBUILD
+++ b/abs/extra/ocaml/PKGBUILD
@@ -1,30 +1,31 @@
-# $Id: PKGBUILD 143814 2011-11-29 13:33:35Z stephane $
+# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgbase='ocaml'
pkgname=('ocaml' 'ocaml-compiler-libs')
-pkgver=3.12.1
-pkgrel=3
+pkgver=4.02.3
+pkgrel=2
pkgdesc="A functional language with OO extensions"
arch=('i686' 'x86_64')
-license=('LGPL2' 'custom: QPL-1.0')
+license=('LGPL2.1' 'custom: QPL-1.0')
url="http://caml.inria.fr/"
depends=('gdbm')
-makedepends=('tk' 'ncurses>=5.6-7' 'libx11')
+makedepends=('tk>=8.6.0' 'ncurses>=5.6-7' 'libx11')
optdepends=('ncurses: advanced ncurses features' 'tk: advanced tk features')
-source=(http://caml.inria.fr/distrib/ocaml-3.12/${pkgname}-${pkgver}.tar.gz)
-options=('!makeflags' '!emptydirs')
+source=(http://caml.inria.fr/distrib/ocaml-4.02/${pkgname}-${pkgver}.tar.gz)
+md5sums=('ef1a324608c97031cbd92a442d685ab7')
+options=('!makeflags' '!emptydirs' 'staticlibs')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure -prefix /usr
+ ./configure -prefix /usr -x11include /usr/include
make world.opt
}
package_ocaml() {
cd "${srcdir}/${pkgbase}-${pkgver}"
make PREFIX="${pkgdir}/usr" MANDIR="${pkgdir}/usr/share/man" install
-
+
# Save >10MB with this one, makepkg only strips debug symbols.
#find "${pkgdir}/usr/lib" -type f -name '*.so.*' -exec strip --strip-unneeded {} \;
@@ -54,4 +55,3 @@ optdepends=()
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/"
}
-md5sums=('814a047085f0f901ab7d8e3a4b7a9e65')
diff --git a/abs/extra/ocaml/fix-ocaml-binutils-2.21.patch b/abs/extra/ocaml/fix-ocaml-binutils-2.21.patch
deleted file mode 100644
index fa7664c..0000000
--- a/abs/extra/ocaml/fix-ocaml-binutils-2.21.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From: Stephane Glondu <steph@glondu.net>
-Date: Tue, 8 Mar 2011 21:17:40 +0100
-Subject: [PATCH] Fix ocamlopt w.r.t. binutils 2.21
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Bug: http://caml.inria.fr/mantis/view.php?id=5237
-Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617404
-Authors: Eric Cooper, spiralvoice
-Reviewed-by: Stéphane Glondu <steph@glondu.net>
----
- asmcomp/amd64/emit.mlp | 13 +++++++------
- asmcomp/i386/emit.mlp | 6 +++---
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp
-index 4a3f844..525c6e6 100644
---- a/asmcomp/amd64/emit.mlp
-+++ b/asmcomp/amd64/emit.mlp
-@@ -679,17 +679,18 @@ let fundecl fundecl =
- emit_all true fundecl.fun_body;
- List.iter emit_call_gc !call_gc_sites;
- emit_call_bound_errors ();
-+ begin match Config.system with
-+ "linux" | "gnu" ->
-+ ` .type {emit_symbol fundecl.fun_name},@function\n`;
-+ ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
-+ | _ -> ()
-+ end;
- if !float_constants <> [] then begin
- if macosx
- then ` .literal8\n`
- else ` .section .rodata.cst8,\"a\",@progbits\n`;
- List.iter emit_float_constant !float_constants
-- end;
-- match Config.system with
-- "linux" | "gnu" ->
-- ` .type {emit_symbol fundecl.fun_name},@function\n`;
-- ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
-- | _ -> ()
-+ end
-
- (* Emission of data *)
-
-diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp
-index 2992f29..0b1252c 100644
---- a/asmcomp/i386/emit.mlp
-+++ b/asmcomp/i386/emit.mlp
-@@ -905,12 +905,12 @@ let fundecl fundecl =
- emit_all true fundecl.fun_body;
- List.iter emit_call_gc !call_gc_sites;
- emit_call_bound_errors ();
-- List.iter emit_float_constant !float_constants;
-- match Config.system with
-+ begin match Config.system with
- "linux_elf" | "bsd_elf" | "gnu" ->
- ` .type {emit_symbol fundecl.fun_name},@function\n`;
- ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
-- | _ -> ()
-+ | _ -> () end;
-+ List.iter emit_float_constant !float_constants
-
-
- (* Emission of data *)
---
diff --git a/abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz b/abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz
deleted file mode 120000
index 140a1a6..0000000
--- a/abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/data/pkg_repo/src_packages/ocaml-3.12.1-3.src.tar.gz \ No newline at end of file
diff --git a/abs/extra/openal/PKGBUILD b/abs/extra/openal/PKGBUILD
index 6d6c669..9721c5c 100644
--- a/abs/extra/openal/PKGBUILD
+++ b/abs/extra/openal/PKGBUILD
@@ -1,29 +1,48 @@
-# $Id: PKGBUILD 149424 2012-02-07 16:51:11Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
-# Contributer: Jason Chu <jchu@xentac.net>
+# Contributor: Jason Chu <jchu@xentac.net>
-pkgname=openal
-pkgver=1.13
-pkgrel=4
+pkgbase=openal
+pkgname=(openal openal-examples)
+pkgver=1.17.1
+pkgrel=1
pkgdesc="A cross-platform 3D audio library"
arch=(i686 x86_64)
url="http://www.openal.org/"
license=(LGPL)
depends=(glibc)
-makedepends=(alsa-lib sdl pkgconfig cmake)
-options=('!libtool')
-source=(http://kcat.strangesoft.net/openal-releases/openal-soft-$pkgver.tar.bz2)
-md5sums=('58b7d2809790c70681b825644c5f3614')
+makedepends=(alsa-lib pkgconfig cmake qt4 fluidsynth portaudio sdl2 sdl_sound ffmpeg
+ git)
+_commit=14df326876d92f63c9c007da3c0434fba47c30b8
+source=("git+https://github.com/kcat/openal-soft#commit=$_commit")
+sha256sums=('SKIP')
+
+prepare() {
+ mkdir build examples
+}
build() {
- cd "$srcdir/$pkgname-soft-$pkgver/build"
- cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release ..
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release ../$pkgbase-soft
make
}
-package() {
- cd "$srcdir/$pkgname-soft-$pkgver"
+package_openal() {
+ optdepends=('qt4: alsoft-config GUI Configurator'
+ 'fluidsynth: MIDI rendering')
+
make -C build DESTDIR="$pkgdir/" install
- install -Dm644 alsoftrc.sample "$pkgdir/etc/openal/alsoft.conf.sample"
+ install -m644 $pkgbase-soft/{env-vars,hrtf}.txt "$pkgdir/usr/share/openal/"
+
+### Split openal-examples
+ mv "$pkgdir"/usr/bin/al{ffplay,hrtf,latency,loopback,reverb,stream} examples/
+}
+
+package_openal-examples() {
+ pkgdesc+=" (example programs)"
+ depends=("openal=$pkgver-$pkgrel" sdl2 sdl_sound ffmpeg)
+
+ mkdir -p "$pkgdir/usr/bin"
+ mv examples/* "$pkgdir/usr/bin/"
}
diff --git a/abs/extra/openal/__changelog b/abs/extra/openal/__changelog
index 7f47556..31ac229 100644
--- a/abs/extra/openal/__changelog
+++ b/abs/extra/openal/__changelog
@@ -1,2 +1,2 @@
-4/25/12 - chw -
-Removed libpulse as a dep.
+PKGBUILD:
+- Removed libpulse and jack as a dep.
diff --git a/abs/extra/openmpi/PKGBUILD b/abs/extra/openmpi/PKGBUILD
index 9c8828c..d6aa6e1 100644
--- a/abs/extra/openmpi/PKGBUILD
+++ b/abs/extra/openmpi/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
pkgname=openmpi
-pkgver=1.8.3
+pkgver=1.10.2
pkgrel=1
pkgdesc='High performance message passing library (MPI)'
arch=(i686 x86_64)
@@ -13,23 +13,13 @@ depends=(libltdl hwloc)
makedepends=(inetutils valgrind gcc-fortran)
optdepends=('gcc-fortran: fortran support')
options=(staticlibs)
-source=(http://www.open-mpi.org/software/ompi/v1.8/downloads/${pkgname}-${pkgver}.tar.bz2
- system_ltdl.patch)
-sha1sums=('4be9c5d2a8baee6a80bde94c6485931979a428fe'
- 'd5f8a3d463f1a1f29ca4725d6fb3b9f8c40799dc')
-
-prepare() {
- cd $pkgname-$pkgver
-
- # Make sure we use the system ltdl library rather than the ones in the tarball
- rm -r opal/libltdl
- patch -p1 < ../system_ltdl.patch
- ./autogen.pl
-}
+source=(http://www.open-mpi.org/software/ompi/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('03934fc0a2dd0d0d2d0459d714a976eabca938fb')
build() {
cd $pkgname-$pkgver
+ ./autogen.pl
./configure --prefix=/usr \
--sysconfdir=/etc/${pkgname} \
--enable-mpi-fortran=all \
diff --git a/abs/extra/openpht/PKGBUILD b/abs/extra/openpht/PKGBUILD
new file mode 100755
index 0000000..45c52f7
--- /dev/null
+++ b/abs/extra/openpht/PKGBUILD
@@ -0,0 +1,75 @@
+pkgname=openpht
+pkgver=1.5.2.514
+_pkghash=310d4f7e
+pkgrel=2
+pkgdesc='OpenPHT a community driven fork of Plex Home Theater'
+arch=('i686' 'x86_64')
+url='https://github.com/RasPlex/OpenPHT'
+license=('GPL2')
+install="${pkgname}.install"
+provides=('plex-home-theater')
+#conflicts=('plex-home-theater')
+replaces=('plex-home-theater')
+depends=('boost-libs' 'curl' 'ffmpeg-compat' 'glew' 'libcdio' 'libmad'
+ 'libmicrohttpd' 'libmpeg2' 'libsamplerate' 'libssh' 'libusb-compat'
+ 'libvdpau' 'libxrandr' 'lzo' 'sdl_image' 'sdl_mixer' 'smbclient'
+ 'taglib' 'tinyxml' 'yajl')
+makedepends=('boost' 'cmake' 'doxygen' 'git' 'java-environment' 'libcec'
+ 'libplist' 'libshairport' 'nasm' 'swig' 'unzip' 'zip')
+optdepends=('libplist: AirPlay support'
+ 'libshairport: AirPlay support'
+ 'libcec: Pulse-Eight USB-CEC adapter support')
+source=("https://github.com/RasPlex/OpenPHT/archive/v${pkgver}-${_pkghash}.tar.gz"
+ 'plex-ffmpeg-compat.patch'
+ 'plex_lib.conf'
+ 'plexhometheater.sh')
+
+prepare() {
+ cd OpenPHT-${pkgver}-${_pkghash}
+
+ patch -Np1 -i ../plex-ffmpeg-compat.patch
+}
+
+build() {
+ cd OpenPHT-${pkgver}-${_pkghash}
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
+ -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
+ -DCREATE_BUNDLE='FALSE' \
+ -DDUMP_SYMBOLS='FALSE' \
+ -DENABLE_AUTOUPDATE='FALSE' \
+ -DENABLE_PYTHON='TRUE' \
+ -DPYTHON_EXEC='/usr/bin/python2' \
+ -DUSE_INTERNAL_FFMPEG='FALSE'
+ make
+}
+
+package() {
+ cd OpenPHT-${pkgver}-${_pkghash}/build
+
+ make DESTDIR="${pkgdir}" install
+ install -dm 755 "${pkgdir}"/usr/{lib/plexhometheater,share/{applications,pixmaps}}
+ mv "${pkgdir}"/usr/bin/{system,xbmc-xrandr} "${pkgdir}"/usr/lib/plexhometheater/
+ mv "${pkgdir}"/usr/share/XBMC "${pkgdir}"/usr/share/plexhometheater
+ rm -rf "${pkgdir}"/usr/bin/*.so
+ install -Dm 755 "${srcdir}"/plexhometheater.sh "${pkgdir}"/usr/LH/bin/plexhometheater.sh
+ install -m 644 ../plex/Resources/plexhometheater.desktop "${pkgdir}"/usr/share/applications/
+ install -m 644 ../plex/Resources/plex-icon-256.png "${pkgdir}"/usr/share/pixmaps/plexhometheater.png
+
+ # LinHES stuff
+ #add in plex_lib.conf
+ install -D -m0744 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf
+}
+
+# vim: ts=2 sw=2 et:
+md5sums=('4cefcfc40b4c5bb890cd74e62ca0e1ac'
+ '6704244166497db7fa6b3ddd43a0e53b'
+ 'c1eedd9f89ee727230833db9ef1e5d29'
+ '4ceae60ed2f9e4304eda4f80d407e799')
diff --git a/abs/extra/openpht/__changelog b/abs/extra/openpht/__changelog
new file mode 100644
index 0000000..42c86d8
--- /dev/null
+++ b/abs/extra/openpht/__changelog
@@ -0,0 +1,5 @@
+copied plex-home-theater to openpht
+PKGBUILD - Remove opt dep pulseaudio
+PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/
+PKGBUILD - Install plexhometheater.sh to /usr/LH/bin
+openpht.install - add gen_lib_xml.py to post_install and post_remove and post_update
diff --git a/abs/extra/plex-home-theater/plex-home-theater.install b/abs/extra/openpht/openpht.install
index 3633bdc..6788abc 100644
--- a/abs/extra/plex-home-theater/plex-home-theater.install
+++ b/abs/extra/openpht/openpht.install
@@ -2,6 +2,10 @@ post_install() {
gen_lib_xml.py
}
+post_upgrade() {
+ gen_lib_xml.py
+}
+
post_remove() {
gen_lib_xml.py
}
diff --git a/abs/extra/plex-home-theater/plex-ffmpeg-compat.patch b/abs/extra/openpht/plex-ffmpeg-compat.patch
index 1601500..1601500 100755
--- a/abs/extra/plex-home-theater/plex-ffmpeg-compat.patch
+++ b/abs/extra/openpht/plex-ffmpeg-compat.patch
diff --git a/abs/extra/plex-home-theater/plex_lib.conf b/abs/extra/openpht/plex_lib.conf
index 70db20a..1aa78f3 100644
--- a/abs/extra/plex-home-theater/plex_lib.conf
+++ b/abs/extra/openpht/plex_lib.conf
@@ -3,7 +3,7 @@
<type>MENU_PLEX</type>
<text>Launch Plex</text>
<description>Open Plex Home Theater</description>
- <action>EXEC /usr/bin/plexhometheater.sh</action>
+ <action>EXEC /usr/LH/bin/plexhometheater.sh</action>
</button>
<!--#PLEX-->
diff --git a/abs/extra/openpht/plexhometheater.sh b/abs/extra/openpht/plexhometheater.sh
new file mode 100755
index 0000000..579bed6
--- /dev/null
+++ b/abs/extra/openpht/plexhometheater.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+#Stop XScreensaver
+stop_xss.sh &
+
+#Launch plex
+export XBMC_BIN_HOME='/usr/lib/plexhometheater'
+export XBMC_HOME='/usr/share/plexhometheater'
+plexhometheater
+
+#Start Xscreensaver again
+killall stop_xss.sh
diff --git a/abs/extra/oss/PKGBUILD b/abs/extra/oss/PKGBUILD
index 829c839..d7ba89a 100644
--- a/abs/extra/oss/PKGBUILD
+++ b/abs/extra/oss/PKGBUILD
@@ -1,5 +1,6 @@
-# Maintainer: Damian Nowak <damian.nowak@atlashost.eu>
-# Maintainer: Julian Rother <julian@toksik.org>
+# Maintainer: Alex Wiggins <alex.d.wiggins@gmail.com>
+# Contributor: Damian Nowak <damian.nowak@atlashost.eu>
+# Contributor: Julian Rother <julian@toksik.org>
# Contributor: Sebastian Schwarz <seschwar@gmail.com>
# Contributor: Kyle Keen <keenerd@gmail.com>
# Contributor: Florian Pritz <bluewind@xinu.at>
@@ -9,26 +10,24 @@
pkgbase=oss
pkgname=oss
true && pkgname=(oss libflashsupport-oss)
-pkgver=4.2_2008
+pkgver=4.2_2011
pkgrel=3
arch=(i686 x86_64)
url="http://developer.opensound.com/"
license=(GPL2)
-makedepends=(gcc gtk2)
+makedepends=(gtk2)
source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2"
- 'linux-3.8.0.patch::http://www.opensound.com/forum/download/file.php?id=113'
- 'linux-3.10.0.patch::http://www.opensound.com/forum/download/file.php?id=126'
- 'linux-3.10.7.patch::http://www.opensound.com/forum/download/file.php?id=129'
+ linux-4.0.patch::http://www.4front-tech.com/forum/download/file.php?id=164
+ gcc-5.patch
oss.service
remove-hal.patch
rm-init-scripts.patch
soundon.patch
kmod-link.patch
ossvermagic.patch)
-sha512sums=('bb80a5b6943724a668888684e0d8ec2c5799530ed6943a50a0f68b4eea2d639579e0bbaba4a614267bad4792252d0b3a431d926ae7bf15b01df9442988118b07'
- '6483ed671b79a01dded17732e23a7cb8141329b62a2ddb812567f119389e98afc735d6b3cea20e801517d1a417dc823a3ebdbdcba004f44a0c3e6674a169a16e'
- 'a2793ec82152167615428ed00ba423fa0571bafdb3e5eb790a02a276d5a4eb663c8a4bae6923f7b2536ed8ed5683254bb1efea26336810b7685aa2b1c9f4a5c5'
- '609367d6eadc29a34535461db719b132fe675a06a0532ea3a451191b21a0499801a3a6e706a214833db8179741086a9c1a3f450b79d2d663ec8fb173c97c01f8'
+sha512sums=('2e48bf5fa14521feedb18bc3b4c96ba996c5ef9d54f00f1e39c9412152db65972438b7408cb8161e32609af2c56207251d14e1106668cde32a8f0b56a98311fb'
+ '504efe3af933af69e14408215a8a71d6b94d181e076f90be538f859f1d2c2ae6d2e8e49499c1e50ee3f074004e3f79c1da2b734c95cc666b98d566d404cfc7a5'
+ '762a8e84d3106ae26ee50e4022c62bee551d2a46923945b291975d3c1ff7a87876ad4a94408fe1718a5dd4613d279a0f7a8820f8fcb0479ca1f210bc711ea835'
'355e1380432947c0e9caa21114b2c3debeb162fb5abcf845125ec281ce52b437ad1ee1db04d37e9b7a5ac79816c4dcbc21b4ed4cf8191f71218d99acd7bab70e'
'6956e5e2e9323b568bb18e80bbee591b0e5ffd3d4612a50df09879941b2733c31d6b3178dc9a46c283bd1629f76b7ff5e2b54893a42a47f6379eaee4731fd9be'
'64e6d9d8eb5320f737d3a0698a245da2b2d141b68cfb2f02e448144d1c610aa8b8a6c38b56fcca364d63171a49afe93161a00545cdb90086b5328997b3096690'
@@ -38,18 +37,20 @@ sha512sums=('bb80a5b6943724a668888684e0d8ec2c5799530ed6943a50a0f68b4eea2d639579e
_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl
prepare() {
- cd "$srcdir/$_dir"
+ cd "$_dir"
# OSS wants an empty build directory
rm -rf build
mkdir build
# make OSS compile with current Linux kernels
- patch -p0 < "$srcdir/linux-3.8.0.patch"
- patch -p0 < "$srcdir/linux-3.10.0.patch"
- patch -p0 < "$srcdir/linux-3.10.7.patch"
+ patch -p1 < "$srcdir/linux-4.0.patch"
+ # patch -p0 < "$srcdir/linux-3.14.0.patch"
patch -p0 < "$srcdir/ossvermagic.patch"
+ # make OSS compile with gcc-5
+ patch -p0 < "$srcdir/gcc-5.patch"
+
# remove outdated stuff
cd setup/Linux
patch -p2 < "$srcdir/rm-init-scripts.patch"
@@ -65,7 +66,7 @@ prepare() {
}
build() {
- cd "$srcdir/$_dir/build"
+ cd "$_dir/build"
../configure --enable-libsalsa=NO --regparm
make build
gcc $CFLAGS -shared -fPIC -Wall -Werror oss/lib/flashsupport.c \
@@ -74,7 +75,7 @@ build() {
package_libflashsupport-oss() {
pkgdesc="Adobe flash plugin support lib (OSSv4)"
- conflicts=(libflashsupport libflashsupport-pulse)
+ conflicts=(libflashsupport libflashsupport-oss-nonfree libflashsupport-oss-git libflashsupport-pulse)
depends=(oss)
install -dm755 "$pkgdir/usr/lib"
@@ -83,14 +84,14 @@ package_libflashsupport-oss() {
package_oss() {
pkgdesc="Open Sound System UNIX audio architecture"
- depends=(gcc make linux-headers libtool sed)
+ depends=(linux-headers)
optdepends=('gtk2: for graphical mixer (ossxmix)'
'libflashsupport-oss: Adobe flash plugin support')
- conflicts=(oss-linux oss-linux-free oss-testing)
+ conflicts=(oss-git oss-nonfree libflashsupport-oss-git libflashsupport-oss-nonfree)
backup=(usr/lib/oss/soundon.user)
install=oss.install
- cd "$srcdir/$_dir/build"
+ cd "$_dir/build"
make DESTDIR="$pkgdir/" copy
install -Dm755 libflashsupport.so \
"$pkgdir/usr/lib/oss/lib/libflashsupport.so"
diff --git a/abs/extra/oss/gcc-5.patch b/abs/extra/oss/gcc-5.patch
new file mode 100644
index 0000000..5b303b4
--- /dev/null
+++ b/abs/extra/oss/gcc-5.patch
@@ -0,0 +1,52 @@
+--- kernel/OS/Linux/os_linux.h 2015-01-28 08:07:23.000000000 +0000
++++ kernel/OS/Linux/os_linux.h 2015-06-01 23:12:46.044784820 +0100
+@@ -119,7 +119,7 @@
+ /* System wall timer access */
+ #define GET_JIFFIES() oss_get_jiffies()
+
+-extern inline unsigned int
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __inb (unsigned short port)
+ {
+ unsigned int _v;
+@@ -127,7 +127,7 @@
+ "0" (0));
+ return _v;
+ }
+-extern inline unsigned int
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __inw (unsigned short port)
+ {
+ unsigned int _v;
+@@ -135,7 +135,7 @@
+ "0" (0));
+ return _v;
+ }
+-extern inline unsigned int
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __inl (unsigned short port)
+ {
+ unsigned int _v;
+@@ -143,19 +143,19 @@
+ return _v;
+ }
+
+-extern inline void
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __outb (unsigned char value, unsigned short port)
+ {
+ __asm__ __volatile__ ("out" "b" " %" "b" "0,%" "w" "1"::"a" (value),
+ "d" (port));
+ }
+-extern inline void
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __outw (unsigned short value, unsigned short port)
+ {
+ __asm__ __volatile__ ("out" "w" " %" "w" "0,%" "w" "1"::"a" (value),
+ "d" (port));
+ }
+-extern inline void
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __outl (unsigned int value, unsigned short port)
+ {
+ __asm__ __volatile__ ("out" "l" " %" "0,%" "w" "1"::"a" (value),
diff --git a/abs/extra/p8-platform/PKGBUILD b/abs/extra/p8-platform/PKGBUILD
new file mode 100644
index 0000000..f0c3beb
--- /dev/null
+++ b/abs/extra/p8-platform/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: Cedric Girard <girard.cedric@gmail.com>
+
+pkgname=p8-platform
+pkgver=2.0.1
+pkgrel=2
+pkgdesc="Platform support library used by libCEC and binary add-ons for Kodi"
+arch=('i686' 'x86_64')
+url="https://github.com/Pulse-Eight/platform"
+license=('GPL')
+conflicts=('libplatform')
+replaces=('libplatform')
+makedepends=('cmake')
+depends=('gcc-libs')
+source=(https://github.com/Pulse-Eight/platform/archive/p8-platform-${pkgver}.tar.gz)
+sha256sums=('e97e45273e90571aa37732cde913b262f5f519c387083645d2557d7189c054cf')
+
+build() {
+ cd "$srcdir"/platform-p8-platform-${pkgver}
+ 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 "$srcdir"/platform-p8-platform-${pkgver}
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/plex-home-theater/PKGBUILD b/abs/extra/plex-home-theater/PKGBUILD
deleted file mode 100755
index 122105a..0000000
--- a/abs/extra/plex-home-theater/PKGBUILD
+++ /dev/null
@@ -1,76 +0,0 @@
-# $Id$
-# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
-# Contributor: Daniel Wallace <daniel.wallace@gatech.edu>
-
-pkgname=plex-home-theater
-_pkgver=1.2.3.378-0c92ed32
-pkgver=${_pkgver%-*}
-pkgrel=1
-pkgdesc='Plex Home Theater'
-arch=('i686' 'x86_64')
-url='http://www.plexapp.com/'
-license=('GPL2')
-depends=('boost-libs' 'curl' 'ffmpeg-compat' 'glew' 'libcdio' 'libmad'
- 'libmicrohttpd' 'libmpeg2' 'libsamplerate' 'libssh' 'libusb-compat'
- 'libvdpau' 'libxrandr' 'lzo' 'sdl_image' 'sdl_mixer' 'smbclient'
- 'taglib' 'tinyxml' 'yajl')
-makedepends=('boost' 'cmake' 'doxygen' 'java-environment' 'libcec' 'libplist'
- 'libshairport' 'nasm' 'swig' 'unzip' 'zip')
-optdepends=('libplist: AirPlay support'
- 'libshairport: AirPlay support'
- 'libcec: Pulse-Eight USB-CEC adapter support')
-source=("https://github.com/plexinc/plex-home-theater-public/archive/v${_pkgver}.tar.gz"
- 'plex-ffmpeg-compat.patch'
- 'plex-libcec-2.2.0.patch'
- 'plex-lirc-socket.patch'
- 'plex_lib.conf'
- 'plexhometheater.sh')
-
-prepare() {
- cd plex-home-theater-public-${_pkgver}
-
- patch -Np1 -i ../plex-libcec-2.2.0.patch
- patch -Np1 -i ../plex-lirc-socket.patch
- patch -Np1 -i ../plex-ffmpeg-compat.patch
-}
-
-build() {
- cd plex-home-theater-public-${_pkgver}
-
- if [[ -d build ]]; then
- rm -rf build
- fi
- mkdir build && cd build
-
- cmake .. -DCMAKE_INSTALL_PREFIX='/usr' \
- -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
- -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
- -DENABLE_{AUTOUPDATE,DUMP_SYMBOLS}='FALSE' -DENABLE_PYTHON='TRUE' \
- -DPYTHON_EXEC='/usr/bin/python2' -DUSE_INTERNAL_FFMPEG='FALSE' \
- -DCREATE_BUNDLE='FALSE'
- make
-}
-
-package() {
- cd plex-home-theater-public-${_pkgver}/build
-
- make DESTDIR="${pkgdir}" install
- install -dm 755 "${pkgdir}"/usr/{lib/plexhometheater,share/{applications,pixmaps}}
- mv "${pkgdir}"/usr/bin/{system,xbmc-xrandr} "${pkgdir}"/usr/lib/plexhometheater/
- mv "${pkgdir}"/usr/share/XBMC "${pkgdir}"/usr/share/plexhometheater
- install -m 755 "${srcdir}"/plexhometheater.sh "${pkgdir}"/usr/bin/
- install -m 644 ../plex/Resources/plexhometheater.desktop "${pkgdir}"/usr/share/applications/
- install -m 644 ../plex/Resources/plex-icon-256.png "${pkgdir}"/usr/share/pixmaps/plexhometheater.png
-
- # LinHES stuff
- #add in plex_lib.conf
- install -D -m0744 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf
-}
-
-# vim: ts=2 sw=2 et:
-md5sums=('59f6d8386d9533b7c9a0c9e559a83c0f'
- '6704244166497db7fa6b3ddd43a0e53b'
- '066484ad4949f96ddddaa8b1d4d709e1'
- 'b96a1d70174d80d3f2272bdc5b48e4a3'
- '8735a4e7857bc85085482c4f8bcb1d01'
- '8fae1350cc36f40ed65fbf96128a02d0')
diff --git a/abs/extra/plex-home-theater/__changelog b/abs/extra/plex-home-theater/__changelog
deleted file mode 100644
index 83f5069..0000000
--- a/abs/extra/plex-home-theater/__changelog
+++ /dev/null
@@ -1,3 +0,0 @@
-PKGBUILD - Remove opt dep pulseaudio
-PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/
-plexhometheater.install - add gen_lib_xml.py to post_install and post_remove
diff --git a/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch b/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch
deleted file mode 100644
index 8c35296..0000000
--- a/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From e62cdd0c9ae9818c5c35c6b6b57ba8ff322ca052 Mon Sep 17 00:00:00 2001
-From: Maxime Gauduin <alucryd@gmail.com>
-Date: Tue, 4 Nov 2014 17:07:10 +0100
-Subject: [PATCH] libCEC 2.2.0 fixes
-
----
- project/BuildDependencies/scripts/0_package.list | 1 +
- project/BuildDependencies/scripts/libcec_d.bat | 15 ---------------
- project/BuildDependencies/scripts/libcec_d.txt | 2 +-
- system/peripherals.xml | 2 +-
- xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 11 ++++++++---
- 6 files changed, 13 insertions(+), 20 deletions(-)
- delete mode 100644 project/BuildDependencies/scripts/libcec_d.bat
-
-diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list
-index d2a00aa..6f441f3 100644
---- a/project/BuildDependencies/scripts/0_package.list
-+++ b/project/BuildDependencies/scripts/0_package.list
-@@ -11,4 +11,5 @@ libnfs-1.6.0-win32
- libshairplay-d689c6-win32
- libjpeg-turbo-1.2.0-win32
- libbluray-0.2.3-win32
-+libcec-2.2.0-win32-1
- taglib-1.8beta-win32
-diff --git a/project/BuildDependencies/scripts/libcec_d.bat b/project/BuildDependencies/scripts/libcec_d.bat
-deleted file mode 100644
-index 0b41b8a..0000000
---- a/project/BuildDependencies/scripts/libcec_d.bat
-+++ /dev/null
-@@ -1,15 +0,0 @@
--@ECHO OFF
--
--SET LOC_PATH=%CD%
--SET FILES=%LOC_PATH%\libcec_d.txt
--
--CALL dlextract.bat libcec %FILES%
--
--cd %TMP_PATH%
--
--mkdir "%CUR_PATH%\include\libcec"
--xcopy libcec\include\* "%CUR_PATH%\include\libcec\." /E /Q /I /Y
--
--copy libcec\libcec.dll "%XBMC_PATH%\system\."
--
--cd %LOC_PATH%
-diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt
-index 065ce3a..3d0265e 100644
---- a/project/BuildDependencies/scripts/libcec_d.txt
-+++ b/project/BuildDependencies/scripts/libcec_d.txt
-@@ -1,3 +1,3 @@
- ; filename source of the file
-
--libcec-2.1.1.zip http://mirrors.xbmc.org/build-deps/win32/
-+libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/
-diff --git a/system/peripherals.xml b/system/peripherals.xml
-index 68205df..ea0bb17 100644
---- a/system/peripherals.xml
-+++ b/system/peripherals.xml
-@@ -28,7 +28,7 @@
- <setting key="device_type" type="int" value="1" configurable="0" />
- <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
- <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
-- <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
-+ <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
- </peripheral>
-
- <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
-diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-index da169c1..f3c8149 100644
---- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
- break;
- case ADAPTERTYPE_RPI:
- result.m_mappedBusType = PERIPHERAL_BUS_RPI;
-+ // the Pi's adapter cannot be removed, no need to rescan
-+ m_bNeedsPolling = false;
- break;
- default:
- break;
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index 056a77e..9823427 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1302,8 +1302,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
-
- void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- {
-- // use the same client version as libCEC version
-- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
-+ // client version matches the version of libCEC that we originally used the API from
-+ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
-
- // device name 'XBMC'
- snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
-@@ -1378,8 +1378,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
- m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
-
-- // double tap prevention timeout in ms
-+#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
-+ // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
-+ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
-+#else
-+ // backwards compatibility. will be removed once the next major release of libCEC is out
- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
-+#endif
- }
-
- void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
---
-2.1.3
-
diff --git a/abs/extra/plex-home-theater/plex-lirc-socket.patch b/abs/extra/plex-home-theater/plex-lirc-socket.patch
deleted file mode 100644
index 7110252..0000000
--- a/abs/extra/plex-home-theater/plex-lirc-socket.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From c20e1deb62521acaca945fe6af780cdfb477610b Mon Sep 17 00:00:00 2001
-From: Maxime Gauduin <alucryd@gmail.com>
-Date: Thu, 30 Oct 2014 09:43:48 +0100
-Subject: [PATCH] Fix lirc socket path
-
----
- configure.in | 4 ++--
- plex/CMakeModules/PlatformConfigLINUX.cmake | 2 +-
- plex/CMakeModules/PlatformConfigRPI.cmake | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 002245a..85ad398 100644
---- a/configure.in
-+++ b/configure.in
-@@ -452,9 +452,9 @@ AC_ARG_ENABLE([texturepacker],
-
- AC_ARG_WITH([lirc-device],
- [AS_HELP_STRING([--with-lirc-device=file],
-- [specify the default LIRC device (default is /dev/lircd)])],
-+ [specify the default LIRC device (default is /var/run/lirc/lircd)])],
- [lirc_device=$withval],
-- [lirc_device=/dev/lircd])
-+ [lirc_device=/var/run/lirc/lircd])
- AC_DEFINE_UNQUOTED([LIRC_DEVICE], ["$lirc_device"], [Default LIRC device])
-
- AC_ARG_ENABLE([udev],
-diff --git a/plex/CMakeModules/PlatformConfigLINUX.cmake b/plex/CMakeModules/PlatformConfigLINUX.cmake
-index 078fafb..3afa5c1 100644
---- a/plex/CMakeModules/PlatformConfigLINUX.cmake
-+++ b/plex/CMakeModules/PlatformConfigLINUX.cmake
-@@ -126,7 +126,7 @@ if(DEFINED OPENGL_FOUND)
- endif()
-
- #### default lircdevice
--set(LIRC_DEVICE "/dev/lircd")
-+set(LIRC_DEVICE "/var/run/lirc/lircd")
-
- #### on linux we want to use a "easy" name
- set(EXECUTABLE_NAME "plexhometheater")
-diff --git a/plex/CMakeModules/PlatformConfigRPI.cmake b/plex/CMakeModules/PlatformConfigRPI.cmake
-index 82aa751..367cdc9 100644
---- a/plex/CMakeModules/PlatformConfigRPI.cmake
-+++ b/plex/CMakeModules/PlatformConfigRPI.cmake
-@@ -103,7 +103,7 @@ list(APPEND CONFIG_INTERNAL_LIBS lib_dllsymbols)
-
-
- #### default lircdevice
--set(LIRC_DEVICE "/dev/lircd")
-+set(LIRC_DEVICE "/var/run/lirc/lircd")
-
- #### on linux we want to use a "easy" name
- set(EXECUTABLE_NAME "plexhometheater")
---
-2.1.3
-
diff --git a/abs/extra/plex-home-theater/plexhometheater.sh b/abs/extra/plex-home-theater/plexhometheater.sh
deleted file mode 100755
index 53276ff..0000000
--- a/abs/extra/plex-home-theater/plexhometheater.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-export XBMC_BIN_HOME='/usr/lib/plexhometheater'
-export XBMC_HOME='/usr/share/plexhometheater'
-exec plexhometheater
diff --git a/abs/extra/plex-media-server/MKPKG b/abs/extra/plex-media-server/MKPKG
new file mode 100644
index 0000000..01a47b4
--- /dev/null
+++ b/abs/extra/plex-media-server/MKPKG
@@ -0,0 +1,3 @@
+pkgname=('plex-media-server')
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD
new file mode 100644
index 0000000..42f7f3d
--- /dev/null
+++ b/abs/extra/plex-media-server/PKGBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Tom Moore <t.moore01@gmail.com>
+# Contributor: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Rob Sletten <rsletten@gmail.com>
+# Contributor: monty <linksoft@gmx.de>
+# Contributor: Jon Wiersma <archaur@jonw.org>
+# Contributor: Arthur <arthur.darcet@m4x.org>
+# Contributor: Praekon <praekon@googlemail.com>
+
+pkgname=plex-media-server
+pkgver=0.9.16.6.1993
+_pkgsum=5089475
+pkgrel=1
+pkgdesc='Plex Media Server'
+arch=('x86_64')
+url='https://plex.tv/'
+license=('custom')
+depends=('systemd')
+makedepends_i686=('prelink')
+makedepends_x86_64=('prelink')
+replaces=('plexmediaserver')
+conflicts=('plexmediaserver' 'plexmediaserver-plexpass')
+backup=('etc/conf.d/plexmediaserver')
+install='plex-media-server.install'
+source=('plexmediaserver.conf.d'
+ 'plexmediaserver.service'
+ 'terms.txt'
+ 'plexmediascanner.sh')
+#source_arm=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/PlexMediaServer-${pkgver}-${_pkgsum}-arm.spk")
+#source_armv7h=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/PlexMediaServer-${pkgver}-${_pkgsum}-arm7.spk")
+#source_i686=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.i386.rpm")
+source_x86_64=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.x86_64.rpm")
+#sha256sums_arm=('77792714279505e8b3fda046f841d0ed0c9bcee181678ffff27c49bde9e43e27')
+#sha256sums_armv7h=('e23b3248cc599c8f99213e213df48edef0d44afd5ef1f32404ccd5c8ee84560c')
+#sha256sums_i686=('73cdaa48714c95d9cae7f8411f50b4632e0a6f425ded6bd681d0d5008dea9397')
+
+prepare() {
+
+case "$CARCH" in
+ arm*) mkdir -p usr/lib/plexmediaserver && tar -zxf package.tgz -C usr/lib/plexmediaserver/;;
+ #Fix for SELinux and Grsecurity
+ *) execstack -c usr/lib/plexmediaserver/libgnsdk_dsp.so*;;
+esac
+
+}
+
+package() {
+ install -dm 755 "${pkgdir}"/{opt,etc/conf.d,usr/lib/systemd/system}
+ cp -dr --no-preserve='ownership' usr/lib/plexmediaserver "${pkgdir}"/opt/
+ install -m 644 plexmediaserver.service "${pkgdir}"/usr/lib/systemd/system/
+ install -m 644 plexmediaserver.conf.d "${pkgdir}"/etc/conf.d/plexmediaserver
+
+ install -m 755 -D plexmediascanner.sh "${pkgdir}"/usr/LH/bin/plexmediascanner.sh
+ #install -dm 755 "${pkgdir}"/var/lib/plex
+ #chown 421:421 -R "${pkgdir}"/var/lib/plex
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses/plex-media-server
+ install -m 644 terms.txt "${pkgdir}"/usr/share/licenses/plex-media-server/
+}
+
+# vim: ts=2 sw=2 et:
+md5sums=('dfd6778f5c0d3d64c2c3a71dca02b7cc'
+ '34268b981e3b8c833a0e2270429232a6'
+ 'bd703bc750b989a27edd590eb8c8e9d7'
+ '506ec15815bba749a743780edd2323c8')
+md5sums_x86_64=('20e6e297df95ab96dbb6172055ab7935')
diff --git a/abs/extra/plex-media-server/__changelog b/abs/extra/plex-media-server/__changelog
new file mode 100644
index 0000000..f410839
--- /dev/null
+++ b/abs/extra/plex-media-server/__changelog
@@ -0,0 +1,6 @@
+.install & conf.d - change /var/lib/plex to /data/storage/disk0/media/plex
+conf.d - change /tmp to data/storage/disk0/media/plex/tmp
+plex-media-server.install - add check for data/storage/disk0/media/plex/tmp and create if needed
+plex-media-server.install - add_service.sh in post_install; remove_service.sh in post_remove
+PKGBUILD - move creation of /data/storage/disk0/media/plex to .install
+PKGBUILD - add plexmediascanner.sh
diff --git a/abs/extra/plex-media-server/plex-media-server.install b/abs/extra/plex-media-server/plex-media-server.install
new file mode 100644
index 0000000..e677521
--- /dev/null
+++ b/abs/extra/plex-media-server/plex-media-server.install
@@ -0,0 +1,45 @@
+post_install() {
+ if [[ ! -d /data/storage/disk0/media/plex ]]; then
+ install -dm 755 /data/storage/disk0/media/plex
+ chown 421:421 -R /data/storage/disk0/media/plex
+ fi
+ if [[ ! -d /data/storage/disk0/media/plex/tmp ]]; then
+ install -dm 755 /data/storage/disk0/media/plex/tmp
+ chown 421:421 -R /data/storage/disk0/media/plex/tmp
+ fi
+ if [[ -n $(getent group 421) && $(getent group 421) != $(getent group plex) ]]; then
+ echo "GID 421 is already assigned to the $(getent group 421 | cut -d':' -f1) group, cannot create the plex group."
+ elif [[ -n $(getent passwd 421) && $(getent passwd 421) != $(getent passwd plex) ]]; then
+ echo "UID 421 is already assigned to the $(getent passwd 421 | cut -d':' -f1) user, cannot create the plex user."
+ else
+ if [[ -n $(getent passwd plex) && $(getent passwd plex) != 'plex:x:421:421:Plex User:/data/storage/disk0/media/plex:/usr/bin/nologin' ]]; then
+ echo "The plex user is outdated. It will be removed and recreated."
+ if [[ -z $(pidof "Plex Media Server") ]]; then
+ userdel plex
+ chown 421:421 -R /data/storage/disk0/media/plex
+ else
+ echo "Unable to update the plex user. Please stop plexmediaserver.service and reinstall the package."
+ fi
+ fi
+ if [[ -z $(getent group plex) ]]; then
+ groupadd -g 421 plex
+ fi
+ if [[ -z $(getent passwd plex) ]]; then
+ useradd -c 'Plex User' -u 421 -g plex -d /data/storage/disk0/media/plex -s /usr/bin/nologin plex
+ fi
+ passwd -l plex > /dev/null
+ fi
+ add_service.sh plexmediaserver
+}
+
+post_upgrade() {
+ post_install
+ if [[ $(vercmp 0.9.11.1.678-1 $2) == '1' ]]; then
+ echo "Plex' home is now located in '/var/lib/plex'. You will have to move the 'Plex Media Server' directory located in '/opt/plexmediserver/Library/Application Support' into the new home. Please refer to 'https://support.plex.tv/hc/en-us/articles/201370363-Move-an-Install-to-Another-System' for detailed instructions."
+ fi
+}
+
+post_remove() {
+ remove_service.sh plexmediaserver
+}
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/plex-media-server/plexmediascanner.sh b/abs/extra/plex-media-server/plexmediascanner.sh
new file mode 100755
index 0000000..9ac16c7
--- /dev/null
+++ b/abs/extra/plex-media-server/plexmediascanner.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+exec 2>&1
+export TERM=linux
+. /etc/conf.d/plexmediaserver
+
+sudo -uplex -gplex LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" PLEX_MEDIA_SERVER_HOME="${PLEX_MEDIA_SERVER_HOME}" PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}" /opt/plexmediaserver/Plex\ Media\ Scanner $@
diff --git a/abs/extra/plex-media-server/plexmediaserver.conf.d b/abs/extra/plex-media-server/plexmediaserver.conf.d
new file mode 100644
index 0000000..85ff7a1
--- /dev/null
+++ b/abs/extra/plex-media-server/plexmediaserver.conf.d
@@ -0,0 +1,6 @@
+LD_LIBRARY_PATH=/opt/plexmediaserver
+PLEX_MEDIA_SERVER_HOME=/opt/plexmediaserver
+PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/data/storage/disk0/media/plex
+PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
+PLEX_MEDIA_SERVER_TMPDIR=/data/storage/disk0/media/plex/tmp
+TMPDIR=/data/storage/disk0/media/plex/tmp
diff --git a/abs/extra/plex-media-server/plexmediaserver.service b/abs/extra/plex-media-server/plexmediaserver.service
new file mode 100644
index 0000000..9206301
--- /dev/null
+++ b/abs/extra/plex-media-server/plexmediaserver.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Plex Media Server
+After=network.target
+
+[Service]
+EnvironmentFile=/etc/conf.d/plexmediaserver
+ExecStart=/opt/plexmediaserver/Plex\x20Media\x20Server
+Type=simple
+User=plex
+Group=plex
+Restart=on-failure
+RestartSec=5
+StartLimitInterval=60s
+StartLimitBurst=3
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/extra/plex-media-server/terms.txt b/abs/extra/plex-media-server/terms.txt
new file mode 100644
index 0000000..afe675f
--- /dev/null
+++ b/abs/extra/plex-media-server/terms.txt
@@ -0,0 +1,109 @@
+Plex Terms of Service
+Last modified December 21st, 2013
+
+Thank you for using Plex! By accessing, using, downloading, or visiting any Plex “Service(s)â€, which includes the Plex website, Plex software and products described here, and any other products or materials provided by Plex, you agree to the terms (“Termsâ€) listed in this agreement (“Agreementâ€). Plex reserves the right to amend these Terms at any time and without notice. Any revisions to the Terms will be posted on the Plex website. By continuing to access or use the Services, you accept any changes or revisions to the Terms.
+
+Plex Software
+
+ Plex gives you a personal, non-commercial, worldwide, royalty-free, revocable, non-transferable, non-sublicensable, and non-exclusive license to use the software provided to you by Plex as part of the Services (“Softwareâ€). This license is for the sole purpose of enabling you to use and enjoy the benefit of the Services in the manner permitted by these Terms.
+ The Software includes certain executable modules that Plex has licensed from third party providers (“Third Party Componentsâ€) that may be subject to different end user license terms as specified in the license agreement(s) provided with such Third Party Components.
+ You may not, or allow anyone else to, directly or indirectly to: (1) copy, modify, distribute, sell, or lease any part of the Software; (2) reverse engineer, disassemble, decompile, or otherwise attempt to discover the source code or structure, sequence, and/or organization of all or any part of the Software, unless laws prohibit those restrictions or you have our written permission; (3) rent, lease, or use the Software for timesharing or service bureau purposes; (4) develop any improvement, modification, or derivative works of the Software, or include any portion thereof in any other product, software, work, equipment, or item (except that you may customize and/or modify the Software only as set forth in the documentation or as authorized in any license agreement of Plex’s third party licensors and applicable to Third Party Components); or (5) allow the transfer, transmission, export, or re-export of the Software or any portion thereof or any technical data associated with any Software.
+ You shall not incorporate any of Plex’s Software or any part thereof into any other product(s) or use the proprietary software in any manner that would cause the proprietary software to become subject to any “open source license†that would impose obligations on Plex’s use of the proprietary software or impair any rights of Plex or third parties thereto.
+ You shall maintain and shall not remove nor obscure any proprietary notices on the Software, and shall reproduce such notices exactly on all permitted copies of the Software.
+ You may reverse engineer the Software solely (1) as permitted by applicable law, or (2) for the purpose of debugging modifications made by you to certain third party files in source code format that are licensed under the GNU Lesser General Public License (LGPL) or under the GNU General Public License diversion 2 (GPL2) and only provided that you have made, prior to any such reverse engineering permitted under this sentence, unsuccessful prior reasonable good faith efforts to debug such modifications using techniques other than the reverse engineering of the Software.
+ As between the parties and except as otherwise provided in any license agreement for Third Party Components, Plex shall own all title, ownership rights, and intellectual property rights in and to the Software, and any copies or derivative works thereof, except that by downloading the Software, you retain any title that you may own in and to the recording media on which the Software is recorded.
+ You understand that Plex or its licensors may modify or discontinue offering the Services at any time.
+ You shall not make, or assist others in making, any use of data adapters or similar technologies used by or with the Services that are designed to receive and use data from Plex, its third party data providers, and their affiliates and third parties, other than to receive and use such data in accordance with these Terms and your agreement with the third party data providers, and their affiliates and third parties, including without limitation any data passing through the Services or otherwise effectively made available by any Service through an API, a download, a database, or the like.
+ This Agreement does not entitle you to any support, upgrades, patches, enhancements, or ï¬xes (collectively, "Support") for the Services. Any such Support for the Services that may be made available by Plex, in its sole discretion, shall become part of the Services and will be subject to these Terms.
+
+Data
+
+Data provided by Plex or other third party data providers may be delayed or unavailable as specified by Plex or such third party data providers. Plex does not verify any data provided by Plex or other third party data providers and disclaims any obligation to do so. Plex, its third party data providers, and each of their affiliates and business partners: (1) expressly disclaim the availability, accuracy, adequacy, or completeness of any data or third party data provider, and (2) shall not be liable for any errors, omissions, or other defects in, unavailability of, delays or interruptions in such data or third party data provider.
+
+Acceptable Use
+
+ You may not, or allow anyone else to, use any of the Services to do the following:
+ Infringe the intellectual property rights, proprietary rights, or rights of publicity or privacy of any third party;
+ Violate any law, statute, ordinance, or regulation, or perform any other action that would incur civil liability or constitute a crime;
+ Disseminate, transfer or store information or materials in any form or format that is harmful, threatening, abusive, harassing, tortuous, defamatory, vulgar, obscene, libelous, or otherwise objectionable, or that otherwise violate any law or right of any third party; or
+ Disseminate any software viruses or any other computer code, files, programs, or the like that may without limitation interrupt, destroy, or limit the functionality of any computer software or hardware or telecommunications equipment, violate the security of any computer network, or the like.
+ If the occurrence of any prohibited use comes to our attention, we reserve the right to disable any accounts associated with prohibited use or otherwise terminate your access to the Services.
+
+Your Content
+
+ You continue to retain any ownership rights you have in content you make available via the Services, or otherwise use in conjunction with the Services. However, by using the Services with particular content, for example by using the Services to share particular content or access particular content, you grant to Plex (and to each of the third parties with whom we work to provide you with the Services) a worldwide license to reproduce, modify, create derivative works, transmit, publish, publicly perform, publicly display, distribute, and otherwise use the particular content and metadata associated with the content, such as poster images. The rights you grant us in this license are only for the limited purpose of providing you with our Services. You may not use the Services in connection with any content for which you do not have the right to grant us this license.
+ The Services may include features that allow you to share your content with others. Please be careful when choosing to share content with other users; Plex is not responsible for how others use your content. Additionally, you hereby grant to any user with whom you share content a non-exclusive license to access the content through the Service, and to use, reproduce in copies, distribute, display and perform the shared content as permitted through the functionality of the Service and under this Agreement. You may not share any content with others via the Services if you do not have the right to grant this license to any user with whom you share the content.
+ You understand that all content imported, published, shared, transmitted, or otherwise made available via the Services is the sole responsibility of the person from whom such content originated, and that you, and not Plex, are solely responsible for any civil or criminal legal liability that may arise or result from any content that you import, publish, share, transmit, or otherwise make available through your use of the Services.
+
+Content of Others
+
+ You acknowledge that all content that you access through use of the Software or other Services is accessed at your own risk, and you will be solely responsible for any damage or liability to any party resulting from such access.
+ You understand that by using the Services you may encounter content that you may find offensive, indecent, or objectionable. Plex does not inspect, screen, or otherwise control the content that is posted, shared or made available via the Services, and Plex does not guarantee the accuracy, integrity or quality of such content.
+ You acknowledge that unauthorized use of copyrighted content of others may subject you to civil and criminal penalties, including possible monetary damages, for copyright infringement.
+
+Developers and Interfacing Software
+
+ "Interfacing Software" means any software that you obtain or provide and that accesses or calls any Software provided by Plex as part of the Services including, but not limited to, plug-ins for the Services, channel plug-ins, metadata agents, and client applications that communicate directly or indirectly with the Services.
+ By making, or assisting others in making, Interfacing Software, you agree to the following terms:
+ You grant Plex and its affiliates worldwide a worldwide, non-exclusive, and royalty-free right and license to use (including testing, hosting and linking to), copy, publicly perform, publicly display, reproduce in copies for distribution, and distribute the copies of any Interfacing Software made by you or with your assistance.
+ You may notify us at legal@plex.tv if you do not wish for Plex to use, distribute, copy, publicly perform, publicly display, reproduce in copies for distribution, or distribute copies of any Interfacing Software that was created by you. Plex will comply with such a request but Plex must be granted a transition period of thirty (30) days after receipt of the request to comply. A request to take down Interfacing Software must include (1) an identification of the Interfacing Software you wish to be removed; (2) your signature in either electronic or physical form; and (3) the following statements:
+ "I swear under penalty of perjury that I am the owner of the Interfacing Software or I am authorized to act on behalf of the owner of the Interfacing Software.â€
+ "I swear under penalty of perjury that the information in this notification is accurate.â€
+ You shall protect the privacy and legal rights of Plex users. If the users provide, or the Interfacing Software accesses or uses, user names, passwords, or other login information or personal information, you must make the users aware that such information will be available to the Interfacing Software, and you must provide privacy notices and protection for those users in compliance with applicable law. Further, the Interfacing Software may use that information only for the limited purposes for which the user has given you permission to do so. If the Interfacing Software stores personally identifying information of users or information that a reasonable user would consider to be sensitive, then the Interfacing Software must do so securely and only for as long as it is needed. However, if the user has opted or entered into a separate agreement with you that allows you or the Interfacing Software to store or use personally identifying information of users or information that a reasonable user would consider to be sensitive, then the terms of that separate agreement will govern your use of such information. If the user provides the Interfacing Software with Plex account information, the Interfacing Software may only use that information to access the user’s Plex account when, and for the limited purposes for which, the user has given you permission to do so.
+ Prohibited Uses. Plex prohibits performing certain actions using the Interfacing Software. You shall not make, or assist others in making, any Interfacing Software that:
+ Knowingly violates a third party’s terms of service;
+ Violates any applicable laws or regulations;
+ Interferes with, disrupts, damages, harms, or accesses in an unauthorized manner the machines, hardware. devices, servers, networks, data, or other properties or services of any other party including, but not limited to, Plex users, Plex or any network operator;
+ Posts misleading information about an application’s purpose;
+ Infringes on the intellectual property rights of others; or
+ Performs any other prohibited action listed under “Acceptable Use†above.
+ You will require your end users to comply with any applicable law and these Terms. You will not knowingly enable your end users to violate applicable law or these Terms.
+ You shall indemnify and hold harmless Plex and its officers, directors, employees, contractors, licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from any use of the Interfacing Software or from Plex’s distribution of the Interfacing Software.
+ Brand Features and Attribution
+ "Brand Features" is defined as the trade names, trademarks, service marks, logos, domain names, and other distinctive brand features of a party. Except where expressly stated, these terms do not grant either party any right, title, or interest in or to the other party's Brand Features. Any use by you of Plex’s Brand Features (including any goodwill associated therewith) will inure to the benefit of Plex. Plex Brand Features include the Plex Play Logo (“>†in stylized format) and the trademarks, trade names and designs as may be identified from time to time in the Plex Trademark Notice that is posted at plex.tv/legal.
+ You must seek prior written approval from Plex to display Plex's Brand Features, including for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. Plex, in its sole discretion and in a separate writing such as an e-mail from an authorized representative of Plex, may grant you a revocable, non-transferable, nonexclusive license, without right of sub-license, to display Plex's Brand Features for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. You understand and agree that Plex has the sole discretion to determine whether your attribution(s) and use of Plex's Brand Features are in accordance with the above requirements and guidelines and that Plex may revoke the license granted herein at any time, or may require you to modify your use of Plex’s Brand Features, for any reason in its sole discretion.
+ You will not make any statement that suggests a partnership with, sponsorship by, or endorsement by Plex, without Plex's express prior written approval.
+ In the course of promoting, marketing, or demonstrating the Services, Plex may produce and distribute incidental depictions, including screenshots, video, or other content from your Interfacing Software, and may use your company or product name. You grant us all necessary rights for the above purposes.
+
+Children
+
+While Plex does distribute products that may be used by children, the Services are not intended to be used by children, without involvement, supervision, and approval of a parent or legal guardian. Therefore, if an account owner sets parental controls or establishes sub-accounts that the account owner intends to permit a child to use, the account owner should not reveal the account password to the child. Plex and its contributors may not provide controls that restrict the maturity level of content available via Plex and an adult account owner has sole responsibility for determining what maturity level is appropriate for or accessible to any children whom the account owner permits to use the Plex service or a sub-account.
+
+NO WARRANTY
+
+ PLEX SERVICES ARE PROVIDED "AS IS". PLEX MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND PLEX EXPRESSLY DISCLAIMS ALL WARRANTIES WITH RESPECT TO THE PLEX SERVICES, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. FURTHER, PLEX DOES NOT WARRANT AGAINST ERRORS, OMISSIONS, RESULTS OF USE, OR THAT PLEX SERVICES ARE BUG FREE OR ERROR FREE OR THAT USE WILL BE UNINTERRUPTED. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THE AGREEMENT. ALL THE FOREGOING DISCLAIMERS ALSO APPLY IN FULL WITH RESPECT TO PLEX'S LICENSORS, SUPPLIERS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.
+ You agree that Plex and its officers, directors, employees, and contractors are not responsible for any fault, inaccuracy, error, omission, delay or any other failure of your equipment and/or services caused by Plex’s hardware, software, cabling, network services, or the like, or arising from Plex’s use of such equipment and/or services.
+ The above disclaimer of warranty applies to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by any Plex user.
+
+Limitation of Liability and Damages
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, INCLUDING, BUT NOT LIMITED TO, TORT, CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR OTHERWISE, SHALL PLEX BE LIABLE TO YOU OR ANY OTHER PERSON OR ENTITY: (I) FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE OR MALFUNCTION, LOSS OF DATA, OR OTHER DAMAGES RESULTING FROM YOUR USE OF THE SOFTWARE; OR (II) FOR ANY MATTER BEYOND ITS REASONABLE CONTROL. PLEX'S AGGREGATE LIABILITY FOR DAMAGES OF ANY KIND WHATSOEVER ARISING OUT OF THIS AGREEMENT SHALL BE LIMITED TO THE LESSER OF THE TOTAL FEES PAID BY YOU TO PLEX (IF ANY) FOR THE PORTION OF THE SOFTWARE THAT GAVE RISE TO SUCH DAMAGES OR $100 (U.S.), EXCEPT WHERE NOT PERMITTED BY APPLICABLE LAW, IN WHICH CASE PLEX'S LIABILITY SHALL BE LIMITED TO THE MINIMUM AMOUNT PERMITTED BY SUCH APPLICABLE LAW. ALL THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF EITHER PARTY HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. ALL THE FOREGOING LIMITATIONS ALSO APPLY WITH RESPECT TO PLEX'S SUPPLIERS, LICENSORS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
+ The above limitations and exclusions apply to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by Plex user.
+
+Third-Party Materials
+
+This website and other Services may provide links to websites, software, or other materials provided by third parties. Plex does not endorse and is not responsible or liable for the availability, accuracy, safety, or intellectual property rights of or relating to such content. Plex is not liable for any harm caused by any such materials.
+
+Malware
+
+"Malware" means any known, discovered, envisioned, or invented, or any yet to be known, discovered, envisioned, or invented: (i) virus, Trojan horse, or any other harmful, harassing, or malicious software; or (ii) method, use, or means by which any software, firmware, equipment, device, communications medium, person, entity, or the like directly or indirectly engages in or is used for: (a) any unauthorized access; (b) any unauthorized communication; or (c) any cracks, hacks, exploits, or other activity, method, use, or means, that may cause harassment, harm, data loss, data theft, loss of communication, loss of privacy, or the like. You acknowledge that the Internet, Internet service providers, shared or dedicated telecommunication lines, wireless access points and wireless networks, other forms of communication, online resources including websites and cloud computing environments, or other means that you use to connect to the Software may not be secure and may be vulnerable to attack by third parties, and that it is possible to receive Malware by using the Internet, dedicated lines, other forms of communication, or other means. In order to protect the Software, you shall regularly obtain, use, and update appropriate third party software or other means to protect yourself from Malware and to detect and remove Malware that may be downloaded using the Internet, dedicated lines, other forms of communication, or other means. Plex does not warrant that the Software will be free of Malware including, but not limited to, Malware that is introduced by third parties, the Internet, dedicated lines, other forms of communication, or other means.
+
+Waiver and Indemnity
+
+You agree that Plex and its licensors, distributors, contractors, agents, and third party contributors shall have no liability whatsoever for any use you make of the Services. You shall indemnify and hold harmless Plex and its licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from your use of the Plex Services as well as from your failure to comply with any of the Terms, or any losses, damages, claims, costs, and/or attorneys’ fees arising from any use of or reliance upon any information received in connection with the Services that comprises or is based upon data provided by Plex or any third party.
+
+Termination of Services
+
+Plex may at any time, with or without cause and with or without prior notice, immediately terminate or suspend your Plex account or otherwise terminate or suspend your access to all or a portion of the Services. Cause for such termination may include: (a) violations of the Terms or any other policies or guidelines that are referenced herein; (b) a request by you to cancel or terminate your account; (c) a request and/or order from law enforcement, a judicial body, or other government agency; (d) where providing the Services to you is or may become unlawful; or (e) unexpected technical or security issues or problems; (f) your participation in fraudulent or illegal activities. Any such termination or suspension shall be made by Plex in its sole discretion and Plex will not be responsible to you or any third party for any damages that may result or arise out of such termination or suspension of your access to the Services.
+
+Miscellaneous
+
+ This Agreement does not give you any rights not expressly and unambiguously granted herein.
+ No agency, partnership, joint venture, or employment is created as a result of this Agreement and you do not have any authority of any kind to bind Plex in any respect whatsoever.
+ If any provision of this Agreement is found to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary so that this Agreement shall otherwise remain in full force and effect and enforceable.
+ This Agreement is not assignable, transferable, or sublicensable by you except with Plex's prior written consent. Plex may transfer, assign, or delegate this Agreement and its rights and obligations without consent.
+ Plex's failure to enforce any right or provisions in this Agreement will not constitute a waiver of such or any other provision.
+ This Agreement shall be governed by and construed in accordance with the laws of the state of California, as if made within California between two residents thereof, and the parties submit to the exclusive jurisdiction of the Superior Court of Santa Clara County and the United States District Court for the Northern District of California. Notwithstanding the foregoing sentence, but without limiting Plex's right to seek injunctive or other equitable relief in any court of competent jurisdiction, any disputes arising with respect to this Agreement shall be referred to an arbitrator affiliated with the Judicial Arbitration and Mediation Services, Inc. ("JAMS"). The arbitrator shall be selected by joint agreement of the parties. In the event the parties cannot agree on an arbitrator within thirty (30) days of the initiating party providing the other party with written notice that it plans to seek arbitration, the parties shall each select an arbitrator affiliated with JAMS, which arbitrators shall jointly select a third such arbitrator to resolve the dispute. The written decision of the arbitrator shall be final and binding on the parties. The arbitration proceeding shall be carried on and heard in Santa Clara County, California using the English language and pursuant to the rules of (and administered by) JAMS. In any action or proceeding to enforce rights under this Agreement, the prevailing party will be entitled to recover costs and reasonable attorneys' fees from the other party. A separate written license agreement or order and signed by Plex and you or your company, employer, or principal may state other terms and conditions that apply to you, including terms relating to price, payment, delivery, confidential information, support services, and the like. You are solely responsible to review such terms or conditions with your company, employer or principal. In the event of any conflict in terms, the terms of the separate license agreement shall supersede the terms of this Agreement.
+ Both parties agree that this Agreement is the complete and exclusive statement of the mutual understanding of the parties and supersedes and cancels all previous written and oral agreements, communications, and other understandings relating to the subject matter of this Agreement.
+
+
diff --git a/abs/extra/portaudio/PKGBUILD b/abs/extra/portaudio/PKGBUILD
new file mode 100644
index 0000000..91903f5
--- /dev/null
+++ b/abs/extra/portaudio/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+# Contributor: Bob Finch <w9ya@qrparci.net>
+
+pkgname=portaudio
+pkgver=19_20140130
+pkgrel=3
+pkgdesc='A free, cross-platform, open source, audio I/O library.'
+arch=('i686' 'x86_64')
+url='http://www.portaudio.com/'
+license=('custom')
+depends=('gcc-libs')
+conflicts=('portaudio_cpp')
+provides=('portaudio_cpp')
+replaces=('portaudio_cpp')
+options=('!makeflags')
+source=("http://www.portaudio.com/archives/pa_stable_v$pkgver.tgz")
+md5sums=('7f220406902af9dca009668e198cbd23')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ ./configure --prefix=/usr --enable-cxx
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+}
diff --git a/abs/extra/portaudio/__changelog b/abs/extra/portaudio/__changelog
new file mode 100644
index 0000000..f2d307a
--- /dev/null
+++ b/abs/extra/portaudio/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD:
+- remove dep jack
diff --git a/abs/extra/powerpanel/PKGBUILD b/abs/extra/powerpanel/PKGBUILD
index 22edba7..b1377f1 100644
--- a/abs/extra/powerpanel/PKGBUILD
+++ b/abs/extra/powerpanel/PKGBUILD
@@ -1,30 +1,31 @@
-# Contributor: das-ich <das-ich@yandex.ru>
+# Maintainer: Justin Settle <jus10 [at] partlycloudy.org>
+# Contributor: Kyle Keen <keenerd [at] gmail.com>, das-ich <das-ich [at] yandex.ru>
pkgname=powerpanel
-pkgver=1.2.3
-pkgrel=6
-pkgdesc="PowerPanel for Linux software can be used with most CyberPower UPS products."
+pkgver=1.3.2
+pkgrel=1
+pkgdesc="CyberPower UPS daemon"
arch=("x86_64" "i686")
url="http://www.cyberpowersystems.com"
license=("custom:CyberPower")
depends=('libusb')
install=pwrstatd.install
-source=(http://www.cyberpowersystems.com/software/powerpanel_123_x86_64.tar.gz pwrstatd.service)
backup=(etc/powerpanel/pwrstatd-{powerfail,lowbatt,email}.sh
- etc/pwrstatd.conf)
+ etc/pwrstatd.conf)
-if [ "$CARCH" = "x86_64" ]; then
- md5sums=('0226b17e9470b93cd1e4fd2f149c5d05'
- 'b945ff7c15ef206022c8df29a96338c8')
+if [[ $CARCH = 'x86_64' ]]; then
+ source=(http://www.cyberpowersystems.com/software/powerpanel-$pkgver-$CARCH.tar.gz pwrstatd.service)
+ md5sums=('d69233e117f92611931cb820bad141df'
+ 'b945ff7c15ef206022c8df29a96338c8')
fi
-if [ "$CARCH" = "i686" ]; then
-source=(http://www.cyberpowersystems.com/software/powerpanel_123_i386.tar.gz)
- md5sums=('79d1b60f5146b5286c786c93b90e6c87'
- 'b945ff7c15ef206022c8df29a96338c8')
+if [[ $CARCH = 'i686' ]]; then
+ source=(http://www.cyberpowersystems.com/software/powerpanel-$pkgver-i386.tar.gz pwrstatd.service)
+ md5sums=('833f35179a8b0ca303698de08f048c8b'
+ 'b945ff7c15ef206022c8df29a96338c8')
fi
package() {
- cd ${srcdir}/$pkgname-$pkgver-0
+ cd ${srcdir}/$pkgname-$pkgver
#
# copy files
#
@@ -63,7 +64,9 @@ install -Dm644 doc/pwrstatd.8 ${pkgdir}/usr/share/man/man8/pwrstatd.8
gzip -9 ${pkgdir}/usr/share/man/man8/pwrstat.8
gzip -9 ${pkgdir}/usr/share/man/man8/pwrstatd.8
-}
+# Install License
+install -D -m644 doc/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-md5sums=('0226b17e9470b93cd1e4fd2f149c5d05'
+}
+md5sums=('d69233e117f92611931cb820bad141df'
'b945ff7c15ef206022c8df29a96338c8')
diff --git a/abs/extra/prelink/PKGBUILD b/abs/extra/prelink/PKGBUILD
new file mode 100644
index 0000000..7dace86
--- /dev/null
+++ b/abs/extra/prelink/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Rouslan Solomakhin <rouslan@localnet.com>
+
+pkgname=prelink
+pkgver=20130503
+pkgrel=4
+pkgdesc='ELF prelinking utility to speed up dynamic linking'
+arch=('x86_64' 'i686')
+url='http://people.redhat.com/jakub/prelink/'
+license=('GPL')
+depends=('elfutils')
+makedepends=('elfutils' 'libtool')
+backup=('etc/prelink.conf')
+source=("http://people.redhat.com/jakub/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'prelink.conf')
+sha256sums=('6339c7605e9b6f414d1be32530c9c8011f38820d36431c8a62e8674ca37140f0'
+ 'a149b15b3b4f4ebf931b606e560289fa0a00a08f32855dc1c743485fec704381')
+
+build() {
+ cd "$pkgname"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man --sbin=/usr/bin \
+ --disable-static --with-gnu-ld
+ make
+}
+
+check() {
+ make -C "$pkgname" check
+}
+
+package() {
+ make -C "$pkgname" DESTDIR="$pkgdir" install
+ install -Dm644 prelink.conf "$pkgdir/etc/prelink.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/prelink/prelink.conf b/abs/extra/prelink/prelink.conf
new file mode 100644
index 0000000..038c239
--- /dev/null
+++ b/abs/extra/prelink/prelink.conf
@@ -0,0 +1,43 @@
+# From: https://wiki.archlinux.org/index.php/Talk:Prelink
+# See also: FS#40579 and FS#44727
+
+# System
+/usr/lib
+/usr/lib32
+/usr/bin
+
+# Not using prelink for the following:
+
+# Skype
+-b /usr/lib32/skype/skype
+-b /usr/lib/skype/skype
+
+# Ruby
+-b /usr/bin/ruby
+
+# Flash Player Plugin
+-b /usr/lib/mozilla/plugins/libflashplayer.so
+
+# NVIDIA
+-b /usr/lib/libGL.so*
+-b /usr/lib32/libGL.so*
+-b //usr/lib/libOpenCL.so*
+-b //usr/lib32/libOpenCL.so*
+-b /usr/lib32/vdpau/
+-b /usr/lib/vdpau/
+-b /usr/lib/xorg/modules/drivers/nvidia_drv.so
+-b /usr/lib/xorg/modules/extensions/libglx.so*
+-b /usr/lib/libnvidia-*
+-b /usr/lib32/libnvidia-*
+
+# Catalyst
+-b /usr/lib/libati*
+-b /usr/lib/fglrx*
+-b /usr/lib/libAMDXvBA*
+-b /usr/lib/libGL.so*
+-b /usr/lib/libfglrx*
+-b /usr/lib/xorg/modules/dri/fglrx_dri.so
+-b /usr/lib/xorg/modules/drivers/fglrx_drv.so
+-b /usr/lib/xorg/modules/extensions/fglrx/
+-b /usr/lib/xorg/modules/linux/libfglrxdrm.so
+-b /usr/lib/xorg/modules/extensions/libglx.so
diff --git a/abs/extra/qtchooser/4.conf b/abs/extra/qtchooser/4.conf
new file mode 100644
index 0000000..96e344e
--- /dev/null
+++ b/abs/extra/qtchooser/4.conf
@@ -0,0 +1,2 @@
+/usr/lib/qt4/bin
+/usr/lib
diff --git a/abs/extra/qtchooser/5.conf b/abs/extra/qtchooser/5.conf
new file mode 100644
index 0000000..bcd76de
--- /dev/null
+++ b/abs/extra/qtchooser/5.conf
@@ -0,0 +1,2 @@
+/usr/lib/qt/bin
+/usr/lib
diff --git a/abs/extra/qtchooser/PKGBUILD b/abs/extra/qtchooser/PKGBUILD
new file mode 100644
index 0000000..a5339f0
--- /dev/null
+++ b/abs/extra/qtchooser/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qtchooser
+pkgver=53
+pkgrel=2
+pkgdesc='Wrap the other Qt tools by searching for different instances of Qt on the system'
+arch=('i686' 'x86_64')
+url='http://code.qt.io/cgit/qt/qtchooser.git/'
+license=('GPL')
+backup=('etc/xdg/qtchooser/default.conf')
+depends=('gcc-libs')
+makedepends=('git')
+source=("git://code.qt.io/qt/${pkgname}.git#commit=d20fdc63"
+ {4,5}.conf)
+md5sums=('SKIP'
+ 'aa4d49b269e1b806f5eea170801f0aa6'
+ 'cf83f09a9a5a44d898b93f624d74dd11')
+
+pkgver() {
+ cd $pkgname
+ echo $(git rev-list --count HEAD)
+}
+
+build() {
+ cd $pkgname
+ make
+}
+
+package() {
+ cd $pkgname
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -d "$pkgdir"/etc/xdg/qtchooser
+ install -m644 "$srcdir"/{4,5}.conf \
+ "$pkgdir"/etc/xdg/qtchooser/
+
+ # Set the default Qt
+ ln -s /etc/xdg/qtchooser/5.conf \
+ "$pkgdir"/etc/xdg/qtchooser/default.conf
+}
diff --git a/abs/extra/rsync/PKGBUILD b/abs/extra/rsync/PKGBUILD
index ab83127..a0bf281 100644
--- a/abs/extra/rsync/PKGBUILD
+++ b/abs/extra/rsync/PKGBUILD
@@ -1,31 +1,31 @@
# $Id$
pkgname=rsync
-pkgver=3.1.0
+pkgver=3.1.2
pkgrel=1
pkgdesc="A file transfer program to keep remote files in sync"
arch=('i686' 'x86_64')
-url="http://samba.anu.edu.au/rsync/"
+url="http://rsync.samba.org/"
license=('GPL3')
-depends=('perl' 'popt')
+depends=('perl' 'popt' 'acl' 'zlib')
backup=('etc/rsyncd.conf' 'etc/xinetd.d/rsync')
source=("http://rsync.samba.org/ftp/rsync/$pkgname-$pkgver.tar.gz"
"http://rsync.samba.org/ftp/rsync/$pkgname-$pkgver.tar.gz.asc"
'rsyncd.conf' 'rsync.xinetd' 'rsyncd.service'
'rsyncd.socket' 'rsyncd@.service')
-md5sums=('3be148772a33224771a8d4d2a028b132'
+md5sums=('0f758d7e000c0f7f7d3792610fad70cb'
'SKIP'
'bce64d122a8e0f86872a4a21a03bc7f3'
'ea3e9277dc908bc51f9eddc0f6b935c1'
- '084140868d38cf3e937a2db716d47c0f'
+ 'f90ba7f3717028769d6f230a2402b5aa'
'ae4c381e0c02d6132c7f6ded3f473041'
- '53f94e613e0bc502d38dd61bd2cd7636')
+ 'ceab0b656e5e8239df594040b3b31d3c')
+validpgpkeys=('0048C8B026D4C96F0E589C2F6C859FB14B96A8C5')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr \
--with-included-popt=no \
- --with-included-zlib=no \
--disable-debug
make
}
diff --git a/abs/extra/rsync/rsyncd.service b/abs/extra/rsync/rsyncd.service
index 8502c08..cd45687 100644
--- a/abs/extra/rsync/rsyncd.service
+++ b/abs/extra/rsync/rsyncd.service
@@ -1,5 +1,6 @@
[Unit]
Description=A file transfer program to keep remote files in sync
+After=network.target
[Service]
ExecStart=/usr/bin/rsync --daemon --no-detach
diff --git a/abs/extra/rsync/rsyncd@.service b/abs/extra/rsync/rsyncd@.service
index 33db95c..f52dc76 100644
--- a/abs/extra/rsync/rsyncd@.service
+++ b/abs/extra/rsync/rsyncd@.service
@@ -7,5 +7,3 @@ ExecStart=-/usr/bin/rsync --daemon
StandardInput=socket
StandardOutput=inherit
StandardError=journal
-User=nobody
-Group=nobody
diff --git a/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch b/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch
new file mode 100644
index 0000000..d77d7fb
--- /dev/null
+++ b/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch
@@ -0,0 +1,69 @@
+From 9d9b38b434b9d2e4b3bddd618cea944dfb960966 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos@foutrelis.com>
+Date: Mon, 13 Apr 2015 22:03:14 +0300
+Subject: [PATCH] s4:lib/tls: use gnutls_priority_set_direct()
+
+gnutls_certificate_type_set_priority() was removed in GnuTLS 3.4.0.
+---
+ source4/lib/tls/tls.c | 4 +---
+ source4/lib/tls/tls_tstream.c | 9 +--------
+ 2 files changed, 2 insertions(+), 11 deletions(-)
+
+diff --git a/source4/lib/tls/tls.c b/source4/lib/tls/tls.c
+index b9182ad..2bcbb80 100644
+--- a/source4/lib/tls/tls.c
++++ b/source4/lib/tls/tls.c
+@@ -572,7 +572,6 @@ struct socket_context *tls_init_client(struct socket_context *socket_ctx,
+ {
+ struct tls_context *tls;
+ int ret = 0;
+- const int cert_type_priority[] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
+ struct socket_context *new_sock;
+ NTSTATUS nt_status;
+
+@@ -597,8 +596,7 @@ struct socket_context *tls_init_client(struct socket_context *socket_ctx,
+ gnutls_certificate_allocate_credentials(&tls->xcred);
+ gnutls_certificate_set_x509_trust_file(tls->xcred, ca_path, GNUTLS_X509_FMT_PEM);
+ TLSCHECK(gnutls_init(&tls->session, GNUTLS_CLIENT));
+- TLSCHECK(gnutls_set_default_priority(tls->session));
+- gnutls_certificate_type_set_priority(tls->session, cert_type_priority);
++ TLSCHECK(gnutls_priority_set_direct(tls->session, "NORMAL:+CTYPE-OPENPGP", NULL));
+ TLSCHECK(gnutls_credentials_set(tls->session, GNUTLS_CRD_CERTIFICATE, tls->xcred));
+
+ talloc_set_destructor(tls, tls_destructor);
+diff --git a/source4/lib/tls/tls_tstream.c b/source4/lib/tls/tls_tstream.c
+index f19f5c5..ff0e881 100644
+--- a/source4/lib/tls/tls_tstream.c
++++ b/source4/lib/tls/tls_tstream.c
+@@ -967,11 +967,6 @@ struct tevent_req *_tstream_tls_connect_send(TALLOC_CTX *mem_ctx,
+ #if ENABLE_GNUTLS
+ struct tstream_tls *tlss;
+ int ret;
+- static const int cert_type_priority[] = {
+- GNUTLS_CRT_X509,
+- GNUTLS_CRT_OPENPGP,
+- 0
+- };
+ #endif /* ENABLE_GNUTLS */
+
+ req = tevent_req_create(mem_ctx, &state,
+@@ -1007,15 +1002,13 @@ struct tevent_req *_tstream_tls_connect_send(TALLOC_CTX *mem_ctx,
+ return tevent_req_post(req, ev);
+ }
+
+- ret = gnutls_set_default_priority(tlss->tls_session);
++ ret = gnutls_priority_set_direct(tlss->tls_session, "NORMAL:+CTYPE-OPENPGP", NULL);
+ if (ret != GNUTLS_E_SUCCESS) {
+ DEBUG(0,("TLS %s - %s\n", __location__, gnutls_strerror(ret)));
+ tevent_req_error(req, EINVAL);
+ return tevent_req_post(req, ev);
+ }
+
+- gnutls_certificate_type_set_priority(tlss->tls_session, cert_type_priority);
+-
+ ret = gnutls_credentials_set(tlss->tls_session,
+ GNUTLS_CRD_CERTIFICATE,
+ tls_params->x509_cred);
+--
+2.3.5
+
diff --git a/abs/extra/samba/PKGBUILD b/abs/extra/samba/PKGBUILD
index f813ab6..13ddd78 100644
--- a/abs/extra/samba/PKGBUILD
+++ b/abs/extra/samba/PKGBUILD
@@ -10,11 +10,11 @@
pkgbase=samba
pkgname=('libwbclient' 'smbclient' 'samba')
-pkgver=4.1.14
+pkgver=4.3.4
# We use the 'A' to fake out pacman's version comparators. Samba chooses
-# to append 'a','b',etc to their subsequent releases, which pamcan
+# to append 'a','b',etc to their subsequent releases, which pacman
# misconstrues as alpha, beta, etc. Bad samba!
-_realver=4.1.14
+_realver=4.3.4
pkgrel=1
arch=(i686 x86_64)
url="http://www.samba.org"
@@ -23,6 +23,7 @@ makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups'
'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam'
'gnutls>=2.4.1' 'talloc' 'tdb' 'dbus')
source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz
+ http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.asc
samba.logrotate
samba.pam
samba.service
@@ -33,6 +34,7 @@ source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz
smbd@.service
winbindd.service
samba.conf)
+validpgpkeys=('52FBC0B86D954B0843324CDC6F33915B6568B7EA') #Samba Distribution Verification Key <samba-bugs@samba.org>
### UNINSTALL dmapi package before building!!!
build() {
@@ -105,7 +107,7 @@ depends=('glibc' 'libbsd')
install -d -m755 ${pkgdir}/usr/lib/samba
mv ${_pkgsrc}/usr/lib/samba/libwinbind-client*.so* ${pkgdir}/usr/lib/samba/
- mv ${_pkgsrc}/usr/lib/samba/libreplace.so* ${pkgdir}/usr/lib/samba/
+ #mv ${_pkgsrc}/usr/lib/samba/libreplace.so* ${pkgdir}/usr/lib/samba/
install -d -m755 ${pkgdir}/usr/lib/pkgconfig
mv ${_pkgsrc}/usr/lib/pkgconfig/wbclient.pc ${pkgdir}/usr/lib/pkgconfig/
@@ -120,9 +122,9 @@ depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb'
'tevent' 'libgcrypt' 'python2' 'talloc' 'readline' 'gnutls'
'libbsd' 'libldap' 'libcups')
- _smbclient_bins=('smbclient' 'smbclient4' 'rpcclient' 'smbspool'
+ _smbclient_bins=('smbclient' 'rpcclient' 'smbspool'
'smbtree' 'smbcacls' 'smbcquotas' 'smbget' 'net'
- 'nmblookup' 'nmblookup4' 'smbtar')
+ 'nmblookup' 'smbtar')
# Use samba-pkg as a staging directory for the split packages
# (This is so RPATHS and symlinks are generated correctly via
# make install, but the otherwise unsplit pieces can be split)
@@ -241,7 +243,8 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \
# copy ldap example
install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema
}
-md5sums=('9f7bae123ed39d2aa9ba842d3a138d54'
+md5sums=('48df803c6c6c475a714cae82a2dc219e'
+ 'SKIP'
'5697da77590ec092cc8a883bae06093c'
'96f82c38f3f540b53f3e5144900acf17'
'ee4763a656cf00d92bfda31b6bb2c5cb'
diff --git a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch b/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch
deleted file mode 100644
index cb2378a..0000000
--- a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001
-From: Alexander Bokovoy <ab@samba.org>
-Date: Wed, 6 Feb 2013 10:17:57 +0200
-Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output
-
-When PIDL calls out to C preprocessor to expand IDL files
-and parse the output, it filters out linemarkers and line control
-information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
-and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control
-
-With gcc 4.8 stdc-predef.h is included automatically and linemarker for the
-file has extended flags that PIDL couldn't parse ('system header that needs to
-be extern "C" protected for C++')
-
-Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format.
-
-Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517
-
-Reviewed-by: Andreas Schneider <asn@samba.org>
-(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526)
-
-Signed-off-by: Andreas Schneider <asn@samba.org>
----
- pidl/idl.yp | 4 +++-
- pidl/lib/Parse/Pidl/IDL.pm | 4 +++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/pidl/idl.yp b/pidl/idl.yp
-index b5c5185..c8a65f6 100644
---- a/pidl/idl.yp
-+++ b/pidl/idl.yp
-@@ -610,7 +610,9 @@ again:
-
- for ($parser->YYData->{INPUT}) {
- if (/^\#/) {
-- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
-+ # Linemarker format is described at
-+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
-+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
- $parser->YYData->{LINE} = $1-1;
- $parser->YYData->{FILE} = $2;
- goto again;
-diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
-index d4820ff..6927c89 100644
---- a/pidl/lib/Parse/Pidl/IDL.pm
-+++ b/pidl/lib/Parse/Pidl/IDL.pm
-@@ -2576,7 +2576,9 @@ again:
-
- for ($parser->YYData->{INPUT}) {
- if (/^\#/) {
-- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
-+ # Linemarker format is described at
-+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
-+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
- $parser->YYData->{LINE} = $1-1;
- $parser->YYData->{FILE} = $2;
- goto again;
---
-1.8.1.1
-
diff --git a/abs/extra/sdl_sound/PKGBUILD b/abs/extra/sdl_sound/PKGBUILD
new file mode 100644
index 0000000..28ee210
--- /dev/null
+++ b/abs/extra/sdl_sound/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=sdl_sound
+pkgver=1.0.3
+pkgrel=5
+pkgdesc="A library to decode several popular sound file formats, such as .WAV and .MP3"
+arch=('i686' 'x86_64')
+url="http://icculus.org/SDL_sound/"
+license=('LGPL')
+depends=('sdl' 'libmikmod' 'libvorbis' 'flac' 'speex' 'smpeg')
+source=(http://icculus.org/SDL_sound/downloads/SDL_sound-$pkgver.tar.gz
+ flac.patch)
+md5sums=('aa09cd52df85d29bee87a664424c94b5'
+ '302aa9dc94cc71dd3339ca3177d36e1c')
+
+build() {
+ cd ${srcdir}/SDL_sound-${pkgver}
+
+ CFLAGS="$CFLAGS -I/usr/include/smpeg" \
+ CXXFLAGS="$CXXFLAGS -I/usr/include/smpeg" \
+ ./configure --prefix=/usr --disable-static
+
+ make
+}
+
+package() {
+ cd ${srcdir}/SDL_sound-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
+
diff --git a/abs/extra/sdl_sound/flac.patch b/abs/extra/sdl_sound/flac.patch
new file mode 100644
index 0000000..d0ed491
--- /dev/null
+++ b/abs/extra/sdl_sound/flac.patch
@@ -0,0 +1,126 @@
+diff -u -r SDL_sound-1.0.1/configure.in SDL_sound-1.0.1-flac/configure.in
+--- SDL_sound-1.0.1/configure.in 2003-10-12 20:49:54.000000000 +0200
++++ SDL_sound-1.0.1-flac/configure.in 2006-12-11 20:43:46.546583251 +0100
+@@ -155,9 +155,12 @@
+ dnl FLAC developers tend to break their API with every release, so we're
+ dnl checking for the latest-and-greatest here so we don't have to support
+ dnl obsolete versions.
++dnl Starting with FLAC 1.1.3:
++dnl libFLAC supports Ogg FLAC (no more libOggFLAC) so we also need -logg
++dnl the libFLAC .so version is also #defined in FLAC/export.h
+
+ dnl Hooray for shitty autoconf bugs!
+-x="C__seekable_stream_decoder_process_single"
++x="C__stream_decoder_process_single"
+ flcsym="FLA$x"
+ dnl Check for libFLAC
+ AC_ARG_ENABLE(flac,
+@@ -167,7 +170,7 @@
+ AC_CHECK_HEADER(FLAC/stream_decoder.h, have_flac_hdr=yes)
+ AC_CHECK_LIB(FLAC, $flcsym, have_flac_lib=yes)
+ if test x$have_flac_hdr = xyes -a x$have_flac_lib = xyes; then
+- LIBS="$LIBS -lFLAC"
++ LIBS="$LIBS -lFLAC -logg"
+ AC_DEFINE(SOUND_SUPPORTS_FLAC)
+ fi
+ fi
+diff -u -r SDL_sound-1.0.1/decoders/flac.c SDL_sound-1.0.1-flac/decoders/flac.c
+--- SDL_sound-1.0.1/decoders/flac.c 2003-03-10 23:44:14.000000000 +0100
++++ SDL_sound-1.0.1-flac/decoders/flac.c 2006-12-11 20:43:57.880097062 +0100
+@@ -44,6 +44,16 @@
+ #define __SDL_SOUND_INTERNAL__
+ #include "SDL_sound_internal.h"
+
++#include <FLAC/export.h>
++
++/* FLAC 1.1.3 has FLAC_API_VERSION_CURRENT == 8 */
++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
++
++#ifdef LEGACY_FLAC
+ #include <FLAC/seekable_stream_decoder.h>
+
+ #define D_END_OF_STREAM FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM
+@@ -80,6 +90,34 @@
+ typedef FLAC__SeekableStreamDecoderSeekStatus d_seek_status_t;
+ typedef FLAC__SeekableStreamDecoderTellStatus d_tell_status_t;
+ typedef FLAC__SeekableStreamDecoderLengthStatus d_length_status_t;
++#else
++#include <FLAC/stream_decoder.h>
++
++#define D_END_OF_STREAM FLAC__STREAM_DECODER_END_OF_STREAM
++
++#define d_new() FLAC__stream_decoder_new()
++#define d_process_metadata(x) FLAC__stream_decoder_process_until_end_of_metadata(x)
++#define d_process_one_frame(x) FLAC__stream_decoder_process_single(x)
++#define d_get_state(x) FLAC__stream_decoder_get_state(x)
++#define d_finish(x) FLAC__stream_decoder_finish(x)
++#define d_delete(x) FLAC__stream_decoder_delete(x)
++
++typedef FLAC__StreamDecoder decoder_t;
++typedef FLAC__StreamDecoderReadStatus d_read_status_t;
++
++#define D_SEEK_STATUS_OK FLAC__STREAM_DECODER_SEEK_STATUS_OK
++#define D_SEEK_STATUS_ERROR FLAC__STREAM_DECODER_SEEK_STATUS_ERROR
++#define D_TELL_STATUS_OK FLAC__STREAM_DECODER_TELL_STATUS_OK
++#define D_TELL_STATUS_ERROR FLAC__STREAM_DECODER_TELL_STATUS_ERROR
++#define D_LENGTH_STATUS_OK FLAC__STREAM_DECODER_LENGTH_STATUS_OK
++#define D_LENGTH_STATUS_ERROR FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR
++
++#define d_seek_absolute(x, y) FLAC__stream_decoder_seek_absolute(x, y)
++
++typedef FLAC__StreamDecoderSeekStatus d_seek_status_t;
++typedef FLAC__StreamDecoderTellStatus d_tell_status_t;
++typedef FLAC__StreamDecoderLengthStatus d_length_status_t;
++#endif
+
+ #define D_WRITE_CONTINUE FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE
+ #define D_READ_END_OF_STREAM FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM
+@@ -141,9 +179,15 @@
+ } /* free_flac */
+
+
++#ifdef LEGACY_FLAC
+ static d_read_status_t read_callback(
+ const decoder_t *decoder, FLAC__byte buffer[],
+ unsigned int *bytes, void *client_data)
++#else
++static d_read_status_t read_callback(
++ const decoder_t *decoder, FLAC__byte buffer[],
++ size_t *bytes, void *client_data)
++#endif
+ {
+ flac_t *f = (flac_t *) client_data;
+ Uint32 retval;
+@@ -400,6 +444,7 @@
+ BAIL_MACRO(ERR_OUT_OF_MEMORY, 0);
+ } /* if */
+
++#ifdef LEGACY_FLAC
+ d_set_read_callback(decoder, read_callback);
+ d_set_write_callback(decoder, write_callback);
+ d_set_metadata_callback(decoder, metadata_callback);
+@@ -410,6 +455,7 @@
+ d_set_eof_callback(decoder, eof_callback);
+
+ d_set_client_data(decoder, f);
++#endif
+
+ f->rw = internal->rw;
+ f->sample = sample;
+@@ -418,7 +464,12 @@
+ f->is_flac = 0 /* !!! FIXME: should be "has_extension", not "0". */;
+
+ internal->decoder_private = f;
++ /* really should check the init return value here: */
++#ifdef LEGACY_FLAC
+ d_init(decoder);
++#else
++ FLAC__stream_decoder_init_stream(decoder, read_callback, seek_callback, tell_callback, length_callback, eof_callback, write_callback, metadata_callback, error_callback, f);
++#endif
+
+ sample->flags = SOUND_SAMPLEFLAG_NONE;
+
diff --git a/abs/extra/semver/PKGBUILD b/abs/extra/semver/PKGBUILD
new file mode 100644
index 0000000..0840974
--- /dev/null
+++ b/abs/extra/semver/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=semver
+pkgver=5.1.0
+pkgrel=1
+pkgdesc='The semantic version parser used by npm.'
+arch=('any')
+url='https://github.com/npm/node-semver'
+license=('ISC')
+depends=('nodejs')
+makedepends=('npm')
+source=(http://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz)
+noextract=($pkgname-$pkgver.tgz)
+md5sums=('45488e5d3a4008fee2dda2eaf002392c')
+
+package() {
+ npm install -g --user root --prefix "$pkgdir"/usr "$srcdir"/$pkgname-$pkgver.tgz
+ rm -r "$pkgdir"/usr/etc
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ ln -s ../../../lib/node_modules/$pkgname/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/extra/setconf/PKGBUILD b/abs/extra/setconf/PKGBUILD
new file mode 100644
index 0000000..9ba0fbb
--- /dev/null
+++ b/abs/extra/setconf/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id$
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=setconf
+pkgver=0.6.7
+pkgrel=1
+pkgdesc='Utility for easily changing settings in configuration files'
+arch=('any')
+url='http://setconf.roboticoverlords.org/'
+license=('GPL2')
+depends=('python2')
+source=("http://setconf.roboticoverlords.org/$pkgname-$pkgver.tar.xz")
+sha256sums=('dcc38c2864c4a6d76d161a7aa34eb425f45ee4e7e76ad95050988b437750bb4f')
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ install -Dm755 "$pkgname.py" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$pkgname.1.gz" "$pkgdir/usr/share/man/man1/$pkgname.1.gz"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/shellinabox/PKGBUILD b/abs/extra/shellinabox/PKGBUILD
index af3b4be..fc9a679 100644
--- a/abs/extra/shellinabox/PKGBUILD
+++ b/abs/extra/shellinabox/PKGBUILD
@@ -1,53 +1,38 @@
-# Contributor: Brian Moore <archlinux@cptl.org>
pkgname=shellinabox
-pkgver=2.14
-pkgrel=6
-pkgdesc="A web-based ssh client."
+pkgver=2.19
+pkgrel=1
+_pkghash=master
+pkgdesc="Implementation of a web server that can export arbitrary command line tools to a web based terminal emulator"
arch=('i686' 'x86_64')
url="http://shellinabox.com/"
license=('GPL2')
-depends=('runit-scripts>=8.0-2')
-optdepends=('openssh: SSL support')
-makedepends=(openssh)
+depends=('runit-scripts>=8.0-2' 'openssh')
install=shellinaboxd.install
-backup=('etc/conf.d/shellinaboxd')
-source=("http://shellinabox.googlecode.com/files/$pkgname-$pkgver.tar.gz" "shellinaboxd.rc.d" "shellinaboxd.conf.d" "shellinaboxd.service"
- "shellinaboxd.include" "shellinaboxd.gen_light_conf.d")
-
-prepare() {
- cd "$srcdir/$pkgname-$pkgver"
- sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" configure
-}
+source=("https://github.com/shellinabox/shellinabox/archive/${_pkghash}.tar.gz"
+ "shellinaboxd.include"
+ "shellinaboxd.gen_light_conf.d")
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd "$srcdir/$pkgname-${_pkghash}"
#change default to show onscreen keyboard
- sed -i "s/this.softKeyboard = false;/this.softKeyboard = true;/g" ./shellinabox/vt100.js
sed -i "s/this.softKeyboard = false;/this.softKeyboard = true;/g" ./shellinabox/vt100.jspp
+ autoreconf -i
+ export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/}"
./configure --prefix=/usr
-
make
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd "$srcdir/$pkgname-${_pkghash}"
make DESTDIR=$pkgdir install || return 1
- install -Dm755 $srcdir/shellinaboxd.rc.d $pkgdir/etc/rc.d/shellinaboxd
- install -D -m644 $srcdir/shellinaboxd.service $pkgdir/usr/lib/systemd/system/shellinaboxd.service
- install -Dm644 $srcdir/shellinaboxd.conf.d $pkgdir/etc/conf.d/shellinaboxd
- install -dm700 -o nobody $pkgdir/var/lib/shellinabox
-
#install conf files for lighttpd
mkdir -p ${pkgdir}/etc/lighttpd
install -D -m 644 ${srcdir}/shellinaboxd.include ${pkgdir}/etc/lighttpd/
#gen_light_conf
install -D -m 744 ${srcdir}/shellinaboxd.gen_light_conf.d ${pkgdir}/etc/gen_light_conf.d/shellinaboxd.conf
}
-md5sums=('6c63b52edcebc56ee73a108e7211d174'
- 'feea22575089cc7eb4925b1daff88b8c'
- '77e487f36da2abe51251500f4a1e024f'
- 'be649866d06ba497d88bb14f3e58f862'
+md5sums=('7b7d178a2ec5b63f2b31b2869aa7b755'
'dd46ab61bfafdb56ea705a876963550e'
'aadd1edf4110aca2d16d806791e90019')
diff --git a/abs/extra/shellinabox/__changelog b/abs/extra/shellinabox/__changelog
index d0d35bb..9022771 100644
--- a/abs/extra/shellinabox/__changelog
+++ b/abs/extra/shellinabox/__changelog
@@ -1,3 +1,6 @@
+9/16/2015
+PKGBUILD: AUR changed so this no longer is similar
+
#8/13/2013
initial inclusion from AUR v2.14-3
add dep of runit-scripts to PKGBUILD
diff --git a/abs/extra/shellinabox/shellinaboxd.conf.d b/abs/extra/shellinabox/shellinaboxd.conf.d
deleted file mode 100644
index 646bab7..0000000
--- a/abs/extra/shellinabox/shellinaboxd.conf.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# Parameters to be passed to shellinaboxd
-#
-SHELLINABOXD_ARGS="-t -b"
-
diff --git a/abs/extra/shellinabox/shellinaboxd.rc.d b/abs/extra/shellinabox/shellinaboxd.rc.d
deleted file mode 100644
index 3399945..0000000
--- a/abs/extra/shellinabox/shellinaboxd.rc.d
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-SHELLINABOXD_ARGS=
-[ -f /etc/conf.d/shellinaboxd ] && . /etc/conf.d/shellinaboxd
-
-PID=`pidof -o %PPID /usr/bin/shellinaboxd`
-case "$1" in
- start)
- stat_busy "Starting SHELLINABOXD"
- [ -z "$PID" ] && /usr/bin/shellinaboxd ${SHELLINABOXD_ARGS}
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon shellinaboxd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping SHELLINABOXD"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon shellinboxd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
-
diff --git a/abs/extra/shellinabox/shellinaboxd.service b/abs/extra/shellinabox/shellinaboxd.service
deleted file mode 100644
index d92065b..0000000
--- a/abs/extra/shellinabox/shellinaboxd.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=Serve a login-terminal over http on port 4200.
-Required=sshd.service
-After=sshd.service
-
-[Service]
-User=root
-Type=forking
-EnvironmentFile=/etc/conf.d/shellinaboxd
-ExecStart=/usr/bin/shellinaboxd $SHELLINABOXD_ARGS
-ExecReload=/bin/kill -HUP $MAINPID
-KillMode=process
-Restart=on-abort
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/abs/extra/smartmontools/PKGBUILD b/abs/extra/smartmontools/PKGBUILD
index 685750d..e167856 100644
--- a/abs/extra/smartmontools/PKGBUILD
+++ b/abs/extra/smartmontools/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 219339 2014-08-05 17:28:35Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Jeff Mickey <jeff@archlinux.org>
# Contributor: Jani Talikka <jani.talikka@gmail.com>
# Contributor: Ralf Barth <archlinux.org@haggy.org>
pkgname=smartmontools
-pkgver=6.3
+pkgver=6.4
pkgrel=1
pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives"
url="http://smartmontools.sourceforge.net"
license=('GPL')
arch=('i686' 'x86_64')
depends=('gcc-libs' 'libcap-ng' 'bash')
-optdepends=('heirloom-mailx: to get mail alerts to work')
+optdepends=('s-nail: to get mail alerts to work')
backup=('etc/smartd.conf'
'etc/conf.d/smartd')
source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'smartd.conf')
-md5sums=('2ea0c62206e110192a97b59291b17f54'
+md5sums=('56812c8312fd123ed40ef65afde1049e'
'28c1b80c41dac52d433961dcfb4f70e0')
build() {
@@ -28,7 +28,10 @@ build() {
--sysconfdir=/etc \
--enable-drivedb \
--with-libcap-ng=yes \
- --with-systemdsystemunitdir=/usr/lib/systemd/system
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --with-smartdscriptdir=/usr/share/smartmontools \
+ --with-smartdplugindir=/usr/share/smartmontools/smartd_warning.d
+
make
}
diff --git a/abs/extra/swig/PKGBUILD b/abs/extra/swig/PKGBUILD
index e7f9994..986a229 100644
--- a/abs/extra/swig/PKGBUILD
+++ b/abs/extra/swig/PKGBUILD
@@ -1,37 +1,33 @@
-# $Id: PKGBUILD 163234 2012-07-11 16:22:59Z stephane $
-# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=swig
-pkgver=2.0.7
-pkgrel=2
+pkgver=3.0.8
+pkgrel=1
pkgdesc="Generate scripting interfaces to C/C++ code"
arch=('i686' 'x86_64')
url="http://www.swig.org/"
license=('custom')
-depends=('zlib' 'pcre')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
- pyint_fromsize_t.diff
- upstream_r13128.diff)
-sha1sums=('307020fb6437092e32c9c1bd9af8bccb1645b529'
- '59ee179b57920d255c58afe45632b896e40b5b7d'
- '8f0c5ae6a46c22606cc88c649bfd0a31f061a963')
+depends=('pcre' 'gcc-libs')
+checkdepends=('ruby' 'python2' 'java-environment' 'tcl' 'php' 'lua' 'ocaml' 'r' 'go' 'python2-cffi' 'camlp4')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+sha1sums=('1f45e96219536b3423b8d4dbd03614ffccca9c33')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- # FS#30624
- patch -Np1 -i ../pyint_fromsize_t.diff
-
- # Fix call to Swig_name_decl
- patch -Np1 -i ../upstream_r13128.diff
-
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
+check() {
+ cd ${pkgname}-${pkgver}
+ make check || warning "Tests failed"
+}
+
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
install -D -m644 LICENSE-UNIVERSITIES "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-UNIVERSITIES
diff --git a/abs/extra/swig/pyint_fromsize_t.diff b/abs/extra/swig/pyint_fromsize_t.diff
deleted file mode 100644
index 1c7727a..0000000
--- a/abs/extra/swig/pyint_fromsize_t.diff
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: Py3k: Map PyInt_FromSize_t to PyLong_FromSize_t
- The latest SWIG version introduced a usage of PyInt_FromSize_t, but
- does not define a compatibility macro for Python 3k as for the other
- PyInt_... functions. This patch adds that macro.
-
-Author: Torsten Landschoff <torsten@debian.org>
-
-
---- swig2.0-2.0.7.orig/Lib/python/pyhead.swg
-+++ swig2.0-2.0.7/Lib/python/pyhead.swg
-@@ -5,6 +5,7 @@
- #define PyInt_Check(x) PyLong_Check(x)
- #define PyInt_AsLong(x) PyLong_AsLong(x)
- #define PyInt_FromLong(x) PyLong_FromLong(x)
-+#define PyInt_FromSize_t(x) PyLong_FromSize_t(x)
- #define PyString_Check(name) PyBytes_Check(name)
- #define PyString_FromString(x) PyUnicode_FromString(x)
- #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
diff --git a/abs/extra/swig/upstream_r13128.diff b/abs/extra/swig/upstream_r13128.diff
deleted file mode 100644
index d7d74d7..0000000
--- a/abs/extra/swig/upstream_r13128.diff
+++ /dev/null
@@ -1,73 +0,0 @@
-From: Klaus Kämpf <kkaempf@suse.de>
-Subject: Fix call to Swig_name_decl (upstream ID 3530078)
-
-Origin: upstream, http://swig.svn.sourceforge.net/viewvc/swig?view=revision&revision=13128
-Bug: http://sourceforge.net/tracker/?func=detail&aid=3530078&group_id=1645&atid=101645
-Bug-Debian: http://bugs.debian.org/675196
----
- Examples/test-suite/errors/expected.log | 26 +++++++++++++-------------
- Source/Modules/lang.cxx | 4 ++--
- 2 files changed, 15 insertions(+), 15 deletions(-)
-
---- a/Source/Modules/lang.cxx
-+++ b/Source/Modules/lang.cxx
-@@ -2623,7 +2623,7 @@ int Language::constructorDeclaration(Nod
- Delete(expected_name_resolved);
- }
- if (illegal_name) {
-- Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", Swig_name_decl(name));
-+ Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", Swig_name_decl(n));
- Swig_restore(n);
- return SWIG_NOWRAP;
- }
-@@ -2760,7 +2760,7 @@ int Language::destructorDeclaration(Node
- }
-
- if (illegal_name) {
-- Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", Swig_name_decl(name));
-+ Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", Swig_name_decl(n));
- Swig_restore(n);
- Delete(expected_name);
- return SWIG_NOWRAP;
---- a/Examples/test-suite/errors/expected.log
-+++ b/Examples/test-suite/errors/expected.log
-@@ -227,17 +227,17 @@ cpp_extend_destructors.i:87: Warning 302
- cpp_extend_destructors.i:85: Warning 302: previous definition of '~JStruct'.
- cpp_extend_destructors.i:100: Warning 302: Identifier '~LStruct' redefined (ignored),
- cpp_extend_destructors.i:98: Warning 302: previous definition of '~LStruct'.
--cpp_extend_destructors.i:24: Warning 521: Illegal destructor name ~NOT_CStruct. Ignored.
--cpp_extend_destructors.i:30: Warning 521: Illegal destructor name ~NOT_DStruct. Ignored.
--cpp_extend_destructors.i:44: Warning 521: Illegal destructor name ~NOT_EStruct. Ignored.
--cpp_extend_destructors.i:50: Warning 521: Illegal destructor name ~NOT_FStruct. Ignored.
--cpp_extend_destructors.i:65: Warning 521: Illegal destructor name ~NOT_GStruct. Ignored.
--cpp_extend_destructors.i:72: Warning 521: Illegal destructor name ~NOT_HStruct. Ignored.
--cpp_extend_destructors.i:81: Warning 521: Illegal destructor name ~NOT_IStruct. Ignored.
--cpp_extend_destructors.i:86: Warning 521: Illegal destructor name ~NOT_JStruct. Ignored.
--cpp_extend_destructors.i:92: Warning 521: Illegal destructor name ~NOT_KStruct. Ignored.
--cpp_extend_destructors.i:99: Warning 521: Illegal destructor name ~NOT_LStruct< int >. Ignored.
--cpp_extend_destructors.i:99: Warning 521: Illegal destructor name ~NOT_LStruct< short >. Ignored.
-+cpp_extend_destructors.i:24: Warning 521: Illegal destructor name CStruct::~NOT_CStruct(). Ignored.
-+cpp_extend_destructors.i:30: Warning 521: Illegal destructor name DStruct::~NOT_DStruct(). Ignored.
-+cpp_extend_destructors.i:44: Warning 521: Illegal destructor name EStruct::~NOT_EStruct(). Ignored.
-+cpp_extend_destructors.i:50: Warning 521: Illegal destructor name FStruct::~NOT_FStruct(). Ignored.
-+cpp_extend_destructors.i:65: Warning 521: Illegal destructor name GStruct::~NOT_GStruct(). Ignored.
-+cpp_extend_destructors.i:72: Warning 521: Illegal destructor name HStruct::~NOT_HStruct(). Ignored.
-+cpp_extend_destructors.i:81: Warning 521: Illegal destructor name IStruct::~NOT_IStruct(). Ignored.
-+cpp_extend_destructors.i:86: Warning 521: Illegal destructor name JStruct::~NOT_JStruct(). Ignored.
-+cpp_extend_destructors.i:92: Warning 521: Illegal destructor name KStruct::~NOT_KStruct(). Ignored.
-+cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct< int >::~NOT_LStruct(). Ignored.
-+cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct< short >::~NOT_LStruct(). Ignored.
-
- :::::::::::::::::::::::::::::::: cpp_extend_redefine.i :::::::::::::::::::::::::::::::::::
- cpp_extend_redefine.i:9: Warning 302: Identifier 'bar' redefined by %extend (ignored),
-@@ -312,8 +312,8 @@ cpp_nested.i:12: Warning 325: Nested cla
- cpp_no_access.i:3: Warning 319: No access specifier given for base class 'foo' (ignored).
-
- :::::::::::::::::::::::::::::::: cpp_no_return_type.i :::::::::::::::::::::::::::::::::::
--cpp_no_return_type.i:6: Warning 504: Function R must have a return type. Ignored.
--cpp_no_return_type.i:10: Warning 504: Function UU must have a return type. Ignored.
-+cpp_no_return_type.i:6: Warning 504: Function S::R() must have a return type. Ignored.
-+cpp_no_return_type.i:10: Warning 504: Function U::UU() must have a return type. Ignored.
-
- :::::::::::::::::::::::::::::::: cpp_nobase.i :::::::::::::::::::::::::::::::::::
- cpp_nobase.i:3: Warning 401: Nothing known about base class 'Bar'. Ignored.
diff --git a/abs/extra/tevent/PKGBUILD b/abs/extra/tevent/PKGBUILD
index c9dcc03..11c1a6d 100644
--- a/abs/extra/tevent/PKGBUILD
+++ b/abs/extra/tevent/PKGBUILD
@@ -6,8 +6,8 @@
# Contributor: Thomas Burdick <thomas.burdick@gmail.com>
pkgname=tevent
-pkgver=0.9.21
-pkgrel=2
+pkgver=0.9.26
+pkgrel=1
pkgdesc="An event system based on the talloc memory management library"
arch=('i686' 'x86_64')
url="https://tevent.samba.org/"
@@ -24,7 +24,9 @@ build() {
sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" buildtools/bin/waf
export PYTHON=/usr/bin/python2
- ./configure --prefix=/usr
+ ./configure --prefix=/usr \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace
}
package() {
@@ -33,4 +35,4 @@ package() {
make
make DESTDIR=${pkgdir}/ install
}
-md5sums=('3d5a76c0a1b5f724842d785fd055633f')
+md5sums=('22c372f3d936d751271f588ab71f829b')
diff --git a/abs/extra/tig/PKGBUILD b/abs/extra/tig/PKGBUILD
index edc023b..4db741d 100644
--- a/abs/extra/tig/PKGBUILD
+++ b/abs/extra/tig/PKGBUILD
@@ -1,10 +1,10 @@
-# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Maintainer: Lukas Fleischer <lfleischer at archlinux dot org>
# Contributor: Loui Chang <louipc dot ist at gmail company>
# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
# Contributor: Nathan Jones <nathanj@insightbb.com>
pkgname=tig
-pkgver=2.0.1
+pkgver=2.1.1
pkgrel=1
pkgdesc='Text-mode interface for Git.'
depends=('git' 'ncurses')
@@ -14,7 +14,7 @@ license=('GPL')
arch=('i686' 'x86_64')
backup=('etc/tigrc')
source=("http://jonas.nitro.dk/${pkgname}/releases/${pkgname}-${pkgver}.tar.gz")
-md5sums=('e0b3bc47b8c2c1e556ae953c0b30faab')
+md5sums=('d6eb13d31319d57a3f726d8238f8ebc0')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/abs/extra/tigervnc/PKGBUILD b/abs/extra/tigervnc/PKGBUILD
index 21d3013..6d5da40 100644
--- a/abs/extra/tigervnc/PKGBUILD
+++ b/abs/extra/tigervnc/PKGBUILD
@@ -1,56 +1,64 @@
-# $Id: PKGBUILD 73952 2012-07-17 11:36:12Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Uroš Vampl <mobile.leecher at gmail dot com>
pkgname=tigervnc
-pkgver=1.2.0
-pkgrel=7
-_xorgver=1.12.3
-pkgdesc="suite of VNC servers and clients. VNC 4 branch of TightVNC."
+pkgver=1.6.0
+pkgrel=1
+_xorgver=1.18.0
+pkgdesc="Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC."
arch=('i686' 'x86_64')
url="http://www.tigervnc.org"
license=('GPL')
-depends=('pam' 'gnutls' 'libjpeg-turbo' 'libxft' 'libxinerama' 'libxcursor'
- 'libxtst' 'libxfont' 'pixman' 'xorg-xauth' 'xorg-xsetroot'
- 'xkeyboard-config' 'libgl' 'libgcrypt' 'perl')
+depends=('fltk' 'pam' 'gnutls' 'libjpeg-turbo' 'libxtst' 'libxfont' 'pixman'
+ 'xorg-xauth' 'xorg-xsetroot' 'xkeyboard-config' 'xorg-xkbcomp'
+ 'libgl' 'libgcrypt' 'perl' 'libxdamage')
makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto'
'compositeproto' 'damageproto' 'randrproto' 'resourceproto'
'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto'
- 'xtrans' 'mesa')
-options=(!libtool)
-install=tiger.install
+ 'xtrans' 'glproto' 'dri2proto' 'dri3proto' 'presentproto'
+ 'mesa' 'imagemagick')
+optdepends=('mesa: for OpenGL functionality in Xvnc')
conflicts=('tightvnc')
-source=(http://downloads.sourceforge.net/tigervnc/${pkgname}-${pkgver}.tar.gz
+source=($pkgname-$pkgver.tar.gz::https://github.com/TigerVNC/tigervnc/archive/v${pkgver}.tar.gz
ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2
- xorg111.patch
- xorg112.patch
- gnutls.patch
+ vncserver.service
+ vncviewer.desktop
gethomedir.patch
- cmakelists.patch vncsvc.rules)
+ xorg118.patch)
+md5sums=('78b736445781d86c48e942465a391ccc'
+ '3c1c1057d3ad27380d8dd87ffcc182cd'
+ '1aad8f06504b3e29a24ccfbaab617973'
+ 'b200d83c60e80c6f9693ea19a2d9f5b0'
+ '22f1523a0eca56ad79cfabd0db6e2cf6'
+ '2fd32181679077eb7f7ca06cf25f443f')
-build() {
+prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
- cp -r ${srcdir}/xorg-server-${_xorgver}/* unix/xserver
- patch -Np1 -i ${srcdir}/gnutls.patch
+ patch -Np1 -i ${srcdir}/xorg118.patch
patch -Np1 -i ${srcdir}/gethomedir.patch
- patch -Np1 -i ${srcdir}/cmakelists.patch
- patch -Np1 -i ${srcdir}/xorg111.patch
- patch -Np1 -i ${srcdir}/xorg112.patch
+ sed -i 's/iconic/nowin/' unix/vncserver
+
+ cd unix/xserver
+ cp -r ${srcdir}/xorg-server-${_xorgver}/* .
+ patch -Np1 -i ../xserver117.patch
+}
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DUSE_INCLUDED_FLTK=yes
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr
make
cd unix/xserver
- patch -Np1 -i ../xserver110.patch
autoreconf -fiv
./configure --prefix=/usr \
- --disable-static --disable-xinerama --without-dtrace \
+ --disable-static --without-dtrace \
--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
- --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
- --disable-config-dbus --disable-config-hal --disable-config-udev \
- --disable-unit-tests --disable-devel-docs --disable-dri \
- --enable-dri2 --enable-glx --enable-glx-tls
+ --disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \
+ --disable-config-hal --disable-config-udev --with-pic \
+ --disable-unit-tests --disable-devel-docs --disable-selective-werror \
+ --disable-dri --enable-dri2 --enable-dri3 --enable-glx --enable-glx-tls
make
}
@@ -59,23 +67,8 @@ package() {
make DESTDIR=${pkgdir} install
cd unix/xserver/hw/vnc
make DESTDIR=${pkgdir} install
- sed -i 's/iconic/nowin/' ${pkgdir}/usr/bin/vncserver
-
- cd ${srcdir}
- #sudo rules
- mkdir -p $startdir/pkg/etc/sudoers.d/
- chmod 750 $startdir/pkg/etc/sudoers.d/
- chown -R root:root $startdir/pkg/etc/sudoers.d
- install -o root -g root -m 0750 vncsvc.rules $startdir/pkg/etc/sudoers.d/vncsvc-tigervnc
-
-
-
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/contrib/systemd/user/vncserver@.service \
+ $pkgdir/usr/lib/systemd/user/vncserver@.service
+ install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service
+ install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop
}
-md5sums=('3a5755b4ed600a81c3a17976c6f8420d'
- '65a53b11bc01dcc97ee9b201dc620c32'
- 'b680b55f7f9f569cd26ac0b330012a8b'
- 'f73e055153889ae7b5aac8e697f7a841'
- '1a5fe8867ab3e49e20aafc70c415494f'
- 'fa059baabe72308bf82622bca73cb3e0'
- '6ef923c71cc0e79c4b37eb3b124eea75'
- '6f4a594581e63bfb29cd1b7b37d66d10')
diff --git a/abs/extra/tigervnc/cmakelists.patch b/abs/extra/tigervnc/cmakelists.patch
deleted file mode 100644
index cc62866..0000000
--- a/abs/extra/tigervnc/cmakelists.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff -ur tigervnc-1.2.0.orig/cmake/BuildPackages.cmake tigervnc-1.2.0/cmake/BuildPackages.cmake
---- tigervnc-1.2.0.orig/cmake/BuildPackages.cmake 2011-11-08 10:16:36.000000000 +0100
-+++ tigervnc-1.2.0/cmake/BuildPackages.cmake 2012-03-30 15:27:00.808919876 +0200
-@@ -86,5 +86,5 @@
- # Common
- #
-
--install(FILES ${CMAKE_SOURCE_DIR}/LICENCE.TXT DESTINATION doc)
--install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION doc)
-+install(FILES ${CMAKE_SOURCE_DIR}/LICENCE.TXT DESTINATION share/doc/${CMAKE_PROJECT_NAME}-${VERSION})
-+install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME}-${VERSION})
-diff -ur tigervnc-1.2.0.orig/CMakeLists.txt tigervnc-1.2.0/CMakeLists.txt
---- tigervnc-1.2.0.orig/CMakeLists.txt 2012-03-09 21:34:29.000000000 +0100
-+++ tigervnc-1.2.0/CMakeLists.txt 2012-03-30 15:28:59.716911575 +0200
-@@ -316,7 +316,8 @@
- if(APPLE)
- set(FLTK_LIBRARIES "-framework Carbon -framework Cocoa -framework ApplicationServices")
- elseif(NOT WIN32)
-- set(FLTK_LIBRARIES "-ldl")
-+ find_library(FONTCONFIG_LIB fontconfig)
-+ set(FLTK_LIBRARIES "-ldl" ${FONTCONFIG_LIB})
- endif()
- message(STATUS "Using included FLTK library")
- endif()
-diff -ur tigervnc-1.2.0.orig/unix/CMakeLists.txt tigervnc-1.2.0/unix/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/CMakeLists.txt 2011-11-03 20:01:18.000000000 +0100
-+++ tigervnc-1.2.0/unix/CMakeLists.txt 2012-03-30 15:27:00.808919876 +0200
-@@ -5,4 +5,4 @@
- add_subdirectory(x0vncserver)
-
- install(PROGRAMS vncserver DESTINATION bin)
--install(FILES vncserver.man DESTINATION man/man1 RENAME vncserver.1)
-+install(FILES vncserver.man DESTINATION share/man/man1 RENAME vncserver.1)
-diff -ur tigervnc-1.2.0.orig/unix/vncconfig/CMakeLists.txt tigervnc-1.2.0/unix/vncconfig/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/vncconfig/CMakeLists.txt 2011-06-25 09:32:34.000000000 +0200
-+++ tigervnc-1.2.0/unix/vncconfig/CMakeLists.txt 2012-03-30 15:27:00.808919876 +0200
-@@ -12,4 +12,4 @@
- target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES})
-
- install(TARGETS vncconfig DESTINATION bin)
--install(FILES vncconfig.man DESTINATION man/man1 RENAME vncconfig.1)
-+install(FILES vncconfig.man DESTINATION share/man/man1 RENAME vncconfig.1)
-diff -ur tigervnc-1.2.0.orig/unix/vncpasswd/CMakeLists.txt tigervnc-1.2.0/unix/vncpasswd/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/vncpasswd/CMakeLists.txt 2011-06-25 09:32:34.000000000 +0200
-+++ tigervnc-1.2.0/unix/vncpasswd/CMakeLists.txt 2012-03-30 15:27:00.808919876 +0200
-@@ -6,4 +6,4 @@
- target_link_libraries(vncpasswd tx rfb rdr os)
-
- install(TARGETS vncpasswd DESTINATION bin)
--install(FILES vncpasswd.man DESTINATION man/man1 RENAME vncpasswd.1)
-+install(FILES vncpasswd.man DESTINATION share/man/man1 RENAME vncpasswd.1)
-diff -ur tigervnc-1.2.0.orig/unix/x0vncserver/CMakeLists.txt tigervnc-1.2.0/unix/x0vncserver/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/x0vncserver/CMakeLists.txt 2011-08-19 18:41:06.000000000 +0200
-+++ tigervnc-1.2.0/unix/x0vncserver/CMakeLists.txt 2012-03-30 15:27:00.809919874 +0200
-@@ -24,4 +24,4 @@
- endif()
-
- install(TARGETS x0vncserver DESTINATION bin)
--install(FILES x0vncserver.man DESTINATION man/man1 RENAME x0vncserver.1)
-+install(FILES x0vncserver.man DESTINATION share/man/man1 RENAME x0vncserver.1)
-diff -ur tigervnc-1.2.0.orig/vncviewer/CMakeLists.txt tigervnc-1.2.0/vncviewer/CMakeLists.txt
---- tigervnc-1.2.0.orig/vncviewer/CMakeLists.txt 2011-10-05 11:32:28.000000000 +0200
-+++ tigervnc-1.2.0/vncviewer/CMakeLists.txt 2012-03-30 15:27:00.809919874 +0200
-@@ -55,5 +55,5 @@
- install(TARGETS vncviewer DESTINATION bin)
- endif()
- if(UNIX)
-- install(FILES vncviewer.man DESTINATION man/man1 RENAME vncviewer.1)
-+ install(FILES vncviewer.man DESTINATION share/man/man1 RENAME vncviewer.1)
- endif()
diff --git a/abs/extra/tigervnc/gethomedir.patch b/abs/extra/tigervnc/gethomedir.patch
index 9114eea..5f3542d 100644
--- a/abs/extra/tigervnc/gethomedir.patch
+++ b/abs/extra/tigervnc/gethomedir.patch
@@ -1,16 +1,20 @@
---- tigervnc-1.0.90/unix/xserver/hw/vnc/Makefile.am~ 2011-04-20 13:46:16.993047050 +0200
-+++ tigervnc-1.0.90/unix/xserver/hw/vnc/Makefile.am 2011-04-20 14:03:35.942724608 +0200
-@@ -1,11 +1,12 @@
- TIGERVNC_SRCDIR=${top_srcdir}/../..
- LIB_DIR=${top_builddir}/../../common
-
-+OS_LIB=$(LIB_DIR)/os/libos.a
- RFB_LIB=$(LIB_DIR)/rfb/librfb.la
+diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am
+--- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am 2011-10-31 09:14:40.000000000 +0100
++++ tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am 2012-09-06 19:44:04.431123087 +0200
+@@ -5,6 +5,7 @@
RDR_LIB=$(LIB_DIR)/rdr/librdr.la
NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la
XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la
--COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
-+COMMON_LIBS=$(NETWORK_LIB) $(OS_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
++OS_LIB=$(LIB_DIR)/os/libos.la
+ COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
noinst_LTLIBRARIES = libvnccommon.la
+@@ -55,7 +56,7 @@
+
+ libvnc_la_LDFLAGS = -module -avoid-version
+
+-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
++libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB)
+
+ EXTRA_DIST = Xvnc.man
diff --git a/abs/extra/tigervnc/gnutls.patch b/abs/extra/tigervnc/gnutls.patch
deleted file mode 100644
index d0b7ef8..0000000
--- a/abs/extra/tigervnc/gnutls.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -ur tigervnc-1.2.0.orig/CMakeLists.txt tigervnc-1.2.0/CMakeLists.txt
---- tigervnc-1.2.0.orig/CMakeLists.txt 2012-03-09 21:34:29.000000000 +0100
-+++ tigervnc-1.2.0/CMakeLists.txt 2012-03-27 23:14:12.292068145 +0200
-@@ -344,7 +344,7 @@
- # system's version (if available) to perform this test.
- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES};-lz)
- endif()
-- check_function_exists(gnutls_transport_set_global_errno HAVE_OLD_GNUTLS)
-+ check_function_exists(gnutls_transport_set_global_errno HAVE_GNUTLS_GLOBAL_ERRNO)
- check_function_exists(gnutls_x509_crt_print HAVE_GNUTLS_X509_CRT_PRINT)
- check_type_size(gnutls_x509_crt_t GNUTLS_X509_CRT_T)
- check_type_size(gnutls_datum_t GNUTLS_DATUM_T)
-diff -ur tigervnc-1.2.0.orig/common/rdr/TLSInStream.cxx tigervnc-1.2.0/common/rdr/TLSInStream.cxx
---- tigervnc-1.2.0.orig/common/rdr/TLSInStream.cxx 2010-09-30 08:25:28.000000000 +0200
-+++ tigervnc-1.2.0/common/rdr/TLSInStream.cxx 2012-03-27 23:14:11.166068223 +0200
-@@ -27,7 +27,7 @@
- #include <rdr/TLSInStream.h>
- #include <errno.h>
-
--#ifdef HAVE_OLD_GNUTLS
-+#ifndef HAVE_GNUTLS_GLOBAL_ERRNO
- #define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
- #endif
-
-diff -ur tigervnc-1.2.0.orig/common/rdr/TLSOutStream.cxx tigervnc-1.2.0/common/rdr/TLSOutStream.cxx
---- tigervnc-1.2.0.orig/common/rdr/TLSOutStream.cxx 2010-09-30 08:25:28.000000000 +0200
-+++ tigervnc-1.2.0/common/rdr/TLSOutStream.cxx 2012-03-27 23:14:09.576068335 +0200
-@@ -27,7 +27,7 @@
- #include <rdr/TLSOutStream.h>
- #include <errno.h>
-
--#ifdef HAVE_OLD_GNUTLS
-+#ifndef HAVE_GNUTLS_GLOBAL_ERRNO
- #define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
- #endif
-
diff --git a/abs/extra/tigervnc/tiger.install b/abs/extra/tigervnc/tiger.install
deleted file mode 100644
index 87e7b5e..0000000
--- a/abs/extra/tigervnc/tiger.install
+++ /dev/null
@@ -1,22 +0,0 @@
-post_install(){
- groupadd -g 78 vncsvc &>/dev/null
- useradd -u 78 -m -g vncsvc -d /home/vncsvc -s /bin/bash vncsvc &>/dev/null
- usermod -a -G mythtv vncsvc
- chown -R vncsvc:vncsvc /home/vncsvc &>/dev/null
-}
-
-post_upgrade(){
- getent group vncsvc >/dev/null 2>&1 || groupadd -g 78 vncsvc &>/dev/null
- getent passwd vncsvc >/dev/null 2>&1 || useradd -u 78 -g vncsvc -m -d /home/vncsvc -s /bin/bash vncsvc &>/dev/null
- usermod -a -G mythtv vncsvc
-}
-
-post_remove(){
- if getent passwd vncsvc >/dev/null 2>&1; then
- userdel vncsvc
- fi
- if getent group vncsvc >/dev/null 2>&1; then
- groupdel vncsvc
- fi
-}
-
diff --git a/abs/extra/tigervnc/vncserver.service b/abs/extra/tigervnc/vncserver.service
new file mode 100644
index 0000000..0c257b3
--- /dev/null
+++ b/abs/extra/tigervnc/vncserver.service
@@ -0,0 +1,29 @@
+# The vncserver service unit file
+#
+# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
+# 2. Edit User=
+# ("User=foo")
+# 3. Edit and vncserver parameters appropriately
+# ("/usr/bin/vncserver %i -arg1 -arg2 -argn")
+# 4. Run `systemctl --system daemon-reload`
+# 5. Run `systemctl enable vncserver@:<display>.service`
+#
+# DO NOT RUN THIS SERVICE if your local area network is untrusted!
+#
+# See the wiki page for more on security
+# https://wiki.archlinux.org/index.php/Vncserver
+
+[Unit]
+Description=Remote desktop service (VNC)
+After=syslog.target network.target
+
+[Service]
+Type=forking
+User=
+
+ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i >/dev/null 2>&1 || true'
+ExecStart=/usr/bin/vncserver -fg %i
+ExecStop=/usr/bin/vncserver -kill %i
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/extra/tigervnc/vncsvc.rules b/abs/extra/tigervnc/vncsvc.rules
deleted file mode 100644
index 3c1b992..0000000
--- a/abs/extra/tigervnc/vncsvc.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-vncsvc ALL=(ALL) NOPASSWD: /usr/MythVantage/bin/mythinstall -s *
-vncsvc ALL=(ALL) NOPASSWD: /usr/MythVantage/bin/MythVantage -s *
-vncsvc ALL=(ALL) NOPASSWD: /usr/MythVantage/bin/systemconfig.py
-
diff --git a/abs/extra/tigervnc/vncviewer.desktop b/abs/extra/tigervnc/vncviewer.desktop
new file mode 100644
index 0000000..d8005d3
--- /dev/null
+++ b/abs/extra/tigervnc/vncviewer.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=TigerVNC Viewer
+Comment=VNC client
+Exec=/usr/bin/vncviewer
+Icon=tigervnc
+Terminal=false
+StartupNotify=false
+Categories=Network;RemoteAccess;
diff --git a/abs/extra/tigervnc/xorg111.patch b/abs/extra/tigervnc/xorg111.patch
deleted file mode 100644
index ee0ddb9..0000000
--- a/abs/extra/tigervnc/xorg111.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc
---- tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc 2011-11-11 11:59:14.226819903 +0100
-@@ -82,10 +82,11 @@ static KeyCode KeysymToKeycode(KeySymsPt
- /* Event queue is shared between all devices. */
- #if XORG == 15
- static xEvent *eventq = NULL;
--#else
-+#elif XORG < 111
- static EventList *eventq = NULL;
- #endif
-
-+#if XORG < 111
- static void initEventq(void)
- {
- /* eventq is never free()-ed because it exists during server life. */
-@@ -100,7 +101,9 @@ static void initEventq(void)
- #endif
- }
- }
-+#endif /* XORG < 111 */
-
-+#if XORG < 111
- static void enqueueEvents(DeviceIntPtr dev, int n)
- {
- int i;
-@@ -122,6 +125,7 @@ static void enqueueEvents(DeviceIntPtr d
- );
- }
- }
-+#endif /* XORG < 111 */
-
- InputDevice::InputDevice(rfb::VNCServerST *_server)
- : server(_server), oldButtonMask(0)
-@@ -141,12 +145,17 @@ InputDevice::InputDevice(rfb::VNCServerS
- keyboardProc, TRUE);
- RegisterKeyboardDevice(keyboardDev);
- #endif
-+#if XORG < 111
- initEventq();
-+#endif
- }
-
- void InputDevice::PointerButtonAction(int buttonMask)
- {
-- int i, n;
-+ int i;
-+#if XORG < 111
-+ int n;
-+#endif
- #if XORG >= 110
- ValuatorMask mask;
- #endif
-@@ -160,13 +169,17 @@ void InputDevice::PointerButtonAction(in
- #if XORG < 110
- n = GetPointerEvents(eventq, pointerDev, action, i + 1,
- POINTER_RELATIVE, 0, 0, NULL);
--#else
-+ enqueueEvents(pointerDev, n);
-+#elif XORG < 111
- valuator_mask_set_range(&mask, 0, 0, NULL);
- n = GetPointerEvents(eventq, pointerDev, action, i + 1,
- POINTER_RELATIVE, &mask);
--#endif
- enqueueEvents(pointerDev, n);
--
-+#else
-+ valuator_mask_set_range(&mask, 0, 0, NULL);
-+ QueuePointerEvents(pointerDev, action, i + 1,
-+ POINTER_RELATIVE, &mask);
-+#endif
- }
- }
-
-@@ -175,7 +188,10 @@ void InputDevice::PointerButtonAction(in
-
- void InputDevice::PointerMove(const rfb::Point &pos)
- {
-- int n, valuators[2];
-+ int valuators[2];
-+#if XORG < 111
-+ int n;
-+#endif
- #if XORG >= 110
- ValuatorMask mask;
- #endif
-@@ -190,12 +206,16 @@ void InputDevice::PointerMove(const rfb:
- #if XORG < 110
- n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, 0,
- 2, valuators);
--#else
-+ enqueueEvents(pointerDev, n);
-+#elif XORG < 111
- valuator_mask_set_range(&mask, 0, 2, valuators);
- n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE,
- &mask);
--#endif
- enqueueEvents(pointerDev, n);
-+#else
-+ valuator_mask_set_range(&mask, 0, 2, valuators);
-+ QueuePointerEvents(pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, &mask);
-+#endif
-
- cursorPos = pos;
- }
-@@ -299,14 +319,20 @@ void InputDevice::initInputDevice(void)
- static inline void pressKey(DeviceIntPtr dev, int kc, bool down, const char *msg)
- {
- int action;
-+#if XORG < 111
- unsigned int n;
-+#endif
-
- if (msg != NULL)
- vlog.debug("%s %d %s", msg, kc, down ? "down" : "up");
-
- action = down ? KeyPress : KeyRelease;
-- n = GetKeyboardEvents(eventq, dev, action, kc);
-+#if XORG < 111
-+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL);
- enqueueEvents(dev, n);
-+#else
-+ QueueKeyboardEvents(dev, action, kc, NULL);
-+#endif
- }
-
- #define IS_PRESSED(keyc, keycode) \
-@@ -341,8 +367,11 @@ public:
- int state, maxKeysPerMod, keycode;
- #if XORG >= 17
- KeyCode *modmap = NULL;
--
-+#if XORG >= 111
-+ state = XkbStateFieldFromRec(&dev->master->key->xkbInfo->state);
-+#else /* XORG >= 111 */
- state = XkbStateFieldFromRec(&dev->u.master->key->xkbInfo->state);
-+#endif /* XORG >= 111 */
- #else
- KeyClassPtr keyc = dev->key;
- state = keyc->state;
-@@ -380,7 +409,11 @@ public:
- #if XORG >= 17
- KeyCode *modmap = NULL;
-
-+#if XORG >= 111
-+ keyc = dev->master->key;
-+#else /* XORG >= 111 */
- keyc = dev->u.master->key;
-+#endif /* XORG >= 111 */
- state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
- #else
- keyc = dev->key;
-@@ -596,7 +629,11 @@ void InputDevice::keyEvent(rdr::U32 keys
- }
-
- #if XORG >= 17
-+#if XORG >= 111
-+ keyc = keyboardDev->master->key;
-+#else /* XORG >= 111 */
- keyc = keyboardDev->u.master->key;
-+#endif /* XORG >= 111 */
-
- keymap = XkbGetCoreMap(keyboardDev);
- if (!keymap) {
-@@ -753,7 +790,11 @@ ModeSwitchFound:
- XkbApplyMappingChange(keyboardDev, keymap, minKeyCode,
- maxKeyCode - minKeyCode + 1,
- NULL, serverClient);
-+#if XORG >= 111
-+ XkbCopyDeviceKeymap(keyboardDev->master, keyboardDev);
-+#else
- XkbCopyDeviceKeymap(keyboardDev->u.master, keyboardDev);
-+#endif
- #endif /* XORG < 17 */
- break;
- }
-diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h
---- tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h 2011-11-11 11:55:32.255835319 +0100
-@@ -36,6 +36,8 @@
- #define XORG 19
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000))
- #define XORG 110
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
-+#define XORG 111
- #else
- #error "X.Org newer than 1.10 is not supported"
- #endif
-diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc
---- tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc 2011-11-11 11:55:32.256835319 +0100
-@@ -211,7 +211,11 @@ static void vfbFreeFramebufferMemory(vfb
-
- extern "C" {
-
-+#if XORG < 111
- void ddxGiveUp()
-+#else
-+void ddxGiveUp(enum ExitCode error)
-+#endif
- {
- int i;
-
-@@ -221,9 +225,17 @@ void ddxGiveUp()
- }
-
- void
-+#if XORG < 111
- AbortDDX()
-+#else
-+AbortDDX(enum ExitCode error)
-+#endif
- {
-+#if XORG < 111
- ddxGiveUp();
-+#else
-+ ddxGiveUp(error);
-+#endif
- }
-
- #ifdef __DARWIN__
-@@ -668,8 +680,13 @@ vfbUninstallColormap(ColormapPtr pmap)
- {
- if (pmap->mid != pmap->pScreen->defColormap)
- {
-+#if XORG < 111
- curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
- RT_COLORMAP);
-+#else
-+ dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap,
-+ RT_COLORMAP, serverClient, DixUnknownAccess);
-+#endif
- (*pmap->pScreen->InstallColormap)(curpmap);
- }
- }
diff --git a/abs/extra/tigervnc/xorg112.patch b/abs/extra/tigervnc/xorg112.patch
deleted file mode 100644
index 51f259e..0000000
--- a/abs/extra/tigervnc/xorg112.patch
+++ /dev/null
@@ -1,447 +0,0 @@
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am 2011-10-31 09:14:40.000000000 +0100
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am 2012-04-15 12:19:00.995517546 +0200
-@@ -63,7 +63,7 @@
- BUILT_SOURCES = $(nodist_Xvnc_SOURCES)
-
- fb.h: $(top_srcdir)/fb/fb.h
-- cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fb.h
-+ cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,g' -e 's,xor,c_xor,g' > $(srcdir)/fb.h
-
- pixman.h:
- for i in ${XSERVERLIBS_CFLAGS}; do \
-@@ -78,4 +78,4 @@
- fi
-
- fbrop.h: $(top_srcdir)/fb/fbrop.h
-- cat $(top_srcdir)/fb/fbrop.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fbrop.h
-+ cat $(top_srcdir)/fb/fbrop.h | sed -e 's,and,c_and,g' -e 's,xor,c_xor,g' > $(srcdir)/fbrop.h
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/vncExtInit.cc tigervnc-1.2.0/unix/xserver/hw/vnc/vncExtInit.cc
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/vncExtInit.cc 2011-11-07 13:51:34.000000000 +0100
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/vncExtInit.cc 2012-04-15 12:18:57.819557251 +0200
-@@ -59,6 +59,7 @@
- #include "XserverDesktop.h"
- #include "vncHooks.h"
- #include "vncExtInit.h"
-+#include "xorg-version.h"
-
- extern "C" {
-
-@@ -449,10 +450,16 @@
- ev.window = cur->window;
- ev.time = GetTimeInMillis();
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
- swapl(&ev.time, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+ swapl(&ev.time);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtClientCutTextNotifyEvent),
- (char *)&ev);
-@@ -495,9 +502,14 @@
- ev.sequenceNumber = cur->client->sequence;
- ev.window = cur->window;
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtQueryConnectNotifyEvent),
- (char *)&ev);
-@@ -538,10 +550,16 @@
- ev.window = cur->window;
- ev.selection = selection;
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
- swapl(&ev.selection, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+ swapl(&ev.selection);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtSelectionChangeNotifyEvent),
- (char *)&ev);
-@@ -562,7 +580,6 @@
- param.buf[stuff->paramLen] = 0;
-
- xVncExtSetParamReply rep;
-- int n;
- rep.type = X_Reply;
- rep.length = 0;
- rep.success = 0;
-@@ -603,8 +620,14 @@
-
- deny:
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtSetParamReply), (char *)&rep);
- return (client->noClientException);
-@@ -612,9 +635,13 @@
-
- static int SProcVncExtSetParam(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSetParamReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtSetParamReq);
- return ProcVncExtSetParam(client);
- }
-@@ -628,7 +655,6 @@
- param.buf[stuff->paramLen] = 0;
-
- xVncExtGetParamReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.success = 0;
-@@ -646,9 +672,16 @@
- rep.length = (len + 3) >> 2;
- rep.valueLen = len;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.valueLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.valueLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetParamReply), (char *)&rep);
- if (value)
-@@ -659,9 +692,13 @@
-
- static int SProcVncExtGetParam(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetParamReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtGetParamReq);
- return ProcVncExtGetParam(client);
- }
-@@ -675,7 +712,6 @@
- param.buf[stuff->paramLen] = 0;
-
- xVncExtGetParamDescReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.success = 0;
-@@ -690,9 +726,16 @@
- rep.length = (len + 3) >> 2;
- rep.descLen = len;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.descLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.descLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetParamDescReply), (char *)&rep);
- if (desc)
-@@ -702,9 +745,13 @@
-
- static int SProcVncExtGetParamDesc(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetParamDescReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtGetParamDescReq);
- return ProcVncExtGetParamDesc(client);
- }
-@@ -715,7 +762,6 @@
- REQUEST_SIZE_MATCH(xVncExtListParamsReq);
-
- xVncExtListParamsReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
-
-@@ -731,9 +777,16 @@
- rep.length = (len + 3) >> 2;
- rep.nParams = nParams;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.nParams, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.nParams);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtListParamsReply), (char *)&rep);
- rdr::U8* data = new rdr::U8[len];
-@@ -753,9 +806,13 @@
-
- static int SProcVncExtListParams(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtListParamsReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtListParamsReq);
- return ProcVncExtListParams(client);
- }
-@@ -778,11 +835,19 @@
-
- static int SProcVncExtSetServerCutText(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSetServerCutTextReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtSetServerCutTextReq);
-+#if XORG < 112
- swapl(&stuff->textLen, n);
-+#else
-+ swapl(&stuff->textLen);
-+#endif
- return ProcVncExtSetServerCutText(client);
- }
-
-@@ -792,15 +857,21 @@
- REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq);
-
- xVncExtGetClientCutTextReply rep;
-- int n;
- rep.type = X_Reply;
- rep.length = (clientCutTextLen + 3) >> 2;
- rep.sequenceNumber = client->sequence;
- rep.textLen = clientCutTextLen;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swapl(&rep.textLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swapl(&rep.textLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetClientCutTextReply), (char *)&rep);
- if (clientCutText)
-@@ -810,9 +881,13 @@
-
- static int SProcVncExtGetClientCutText(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetClientCutTextReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq);
- return ProcVncExtGetClientCutText(client);
- }
-@@ -842,12 +917,21 @@
-
- static int SProcVncExtSelectInput(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSelectInputReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtSelectInputReq);
-+#if XORG < 112
- swapl(&stuff->window, n);
- swapl(&stuff->mask, n);
-+#else
-+ swapl(&stuff->window);
-+ swapl(&stuff->mask);
-+#endif
- return ProcVncExtSelectInput(client);
- }
-
-@@ -893,9 +977,14 @@
- rep.length = 0;
- rep.sequenceNumber = client->sequence;
- if (client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtConnectReply), (char *)&rep);
- return (client->noClientException);
-@@ -903,9 +992,13 @@
-
- static int SProcVncExtConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtConnectReq);
- return ProcVncExtConnect(client);
- }
-@@ -925,7 +1018,6 @@
- qcTimeout = 0;
-
- xVncExtGetQueryConnectReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.timeout = qcTimeout;
-@@ -934,11 +1026,20 @@
- rep.opaqueId = (CARD32)(long)queryConnectId;
- rep.length = (rep.userLen + rep.addrLen + 3) >> 2;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.userLen, n);
- swapl(&rep.addrLen, n);
- swapl(&rep.timeout, n);
- swapl(&rep.opaqueId, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.userLen);
-+ swapl(&rep.addrLen);
-+ swapl(&rep.timeout);
-+ swapl(&rep.opaqueId);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetQueryConnectReply), (char *)&rep);
- if (qcTimeout)
-@@ -950,9 +1051,13 @@
-
- static int SProcVncExtGetQueryConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetQueryConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtGetQueryConnectReq);
- return ProcVncExtGetQueryConnect(client);
- }
-@@ -977,10 +1082,15 @@
-
- static int SProcVncExtApproveConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtApproveConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
- swapl(&stuff->opaqueId, n);
-+#else
-+ swaps(&stuff->length);
-+ swapl(&stuff->opaqueId);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtApproveConnectReq);
- return ProcVncExtApproveConnect(client);
- }
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xf86vncModule.cc tigervnc-1.2.0/unix/xserver/hw/vnc/xf86vncModule.cc
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xf86vncModule.cc 2010-04-23 15:55:10.000000000 +0200
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/xf86vncModule.cc 2012-04-15 12:18:57.820557239 +0200
-@@ -26,6 +26,8 @@
- #include <rfb/Logger_stdio.h>
- #include <rfb/LogWriter.h>
-
-+#include "xorg-version.h"
-+
- extern "C" {
- #define class c_class
- #define private c_private
-@@ -89,7 +91,12 @@
- ScrnInfoPtr pScrn = xf86Screens[scr];
-
- for (ParameterIterator i(Configuration::global()); i.param; i.next()) {
-- char* val = xf86FindOptionValue(pScrn->options, i.param->getName());
-+ const char *val;
-+#if XORG < 112
-+ val = xf86FindOptionValue(pScrn->options, i.param->getName());
-+#else
-+ val = xf86FindOptionValue((XF86OptionPtr)pScrn->options, i.param->getName());
-+#endif
- if (val)
- i.param->setParam(val);
- }
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.2.0/unix/xserver/hw/vnc/xorg-version.h
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xorg-version.h 2012-04-15 12:18:21.272014160 +0200
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/xorg-version.h 2012-04-15 12:18:57.821557227 +0200
-@@ -38,6 +38,8 @@
- #define XORG 110
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
- #define XORG 111
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (12 * 100000) + (99 * 1000))
-+#define XORG 112
- #else
- #error "X.Org newer than 1.10 is not supported"
- #endif
diff --git a/abs/extra/tigervnc/xorg118.patch b/abs/extra/tigervnc/xorg118.patch
new file mode 100644
index 0000000..7484200
--- /dev/null
+++ b/abs/extra/tigervnc/xorg118.patch
@@ -0,0 +1,27 @@
+diff -wbBur tigervnc-1.5.0/unix/xserver/hw/vnc/Input.c tigervnc-1.5.0.q/unix/xserver/hw/vnc/Input.c
+--- tigervnc-1.5.0/unix/xserver/hw/vnc/Input.c 2015-07-11 16:00:36.000000000 +0300
++++ tigervnc-1.5.0.q/unix/xserver/hw/vnc/Input.c 2015-11-25 19:04:24.278747038 +0300
+@@ -300,6 +300,8 @@
+ #if XORG < 111
+ n = GetKeyboardEvents(eventq, dev, action, kc);
+ enqueueEvents(dev, n);
++#elif XORG > 117
++ QueueKeyboardEvents(dev, action, kc);
+ #else
+ QueueKeyboardEvents(dev, action, kc, NULL);
+ #endif
+diff -wbBur tigervnc-1.5.0/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.5.0.q/unix/xserver/hw/vnc/xorg-version.h
+--- tigervnc-1.5.0/unix/xserver/hw/vnc/xorg-version.h 2015-07-11 16:00:36.000000000 +0300
++++ tigervnc-1.5.0.q/unix/xserver/hw/vnc/xorg-version.h 2015-11-25 19:02:47.688751421 +0300
+@@ -48,8 +48,10 @@
+ #define XORG 116
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000))
+ #define XORG 117
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000))
++#define XORG 118
+ #else
+-#error "X.Org newer than 1.17 is not supported"
++#error "X.Org newer than 1.18 is not supported"
+ #endif
+
+ #endif
diff --git a/abs/extra/tinyxml/PKGBUILD b/abs/extra/tinyxml/PKGBUILD
new file mode 100644
index 0000000..c125043
--- /dev/null
+++ b/abs/extra/tinyxml/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Larry Hajali <larryhaja[at]gmail[dot]com>
+# Contributor: Hubert Grzeskowiak <arch at nemesis13 dot de>
+
+pkgname=tinyxml
+pkgver=2.6.2
+pkgrel=4
+pkgdesc='Simple, small, C++ XML parser that can be easily integrated into other programs'
+url="http://www.grinninglizard.com/tinyxml/"
+arch=('x86_64' 'i686')
+license=('zlib')
+depends=('gcc-libs')
+makedepends=('setconf')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}_${pkgver//./_}.tar.gz"
+ 'entity.patch'
+ "$pkgname-2.5.3-stl.patch"
+ "$pkgname.pc")
+sha256sums=('15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'
+ 'ef493209b0a51160171fd834a7ecdddd02679463b85fb89a2ea254213e47f99b'
+ '3baf2c4dbc2c8f54a151dac8860113d2f549174f83ed85d552b094dfaebb52af'
+ '0e37a568eaebb8f0644f148a3d3efa921ac518217e1c0de46c2859d26516bcc4')
+
+prepare() {
+ cd "$srcdir/$pkgname"
+
+ # Fix entity encoding.
+ patch -p0 -i "$srcdir"/entity.patch
+
+ # Make TINYXML_USE_STL permanently defined in tinyxml.h
+ patch -p1 -i "$srcdir"/$pkgname-2.5.3-stl.patch
+
+ # Fix Makefile
+ setconf Makefile TINYXML_USE_STL YES
+ setconf Makefile RELEASE_CFLAGS "$CXXFLAGS -fPIC"
+}
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ make
+ g++ -fPIC "$CXXFLAGS" -shared -o "lib${pkgname}.so.0.$pkgver" \
+ -Wl,-soname,"lib${pkgname}.so.0" $(ls *.o | grep -v xmltest)
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ install -d -m 0755 "$pkgdir"/usr/{lib,include}
+ install -m 0755 "lib${pkgname}.so.0.$pkgver" "$pkgdir"/usr/lib/
+ install -m 0644 "$pkgname.h" tinystr.h "$pkgdir"/usr/include
+ install -Dm644 readme.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "$srcdir/$pkgname.pc" "$pkgdir/usr/lib/pkgconfig/$pkgname.pc"
+
+ (cd "$pkgdir/usr/lib"
+ ln -s "lib${pkgname}.so.0.$pkgver" "lib${pkgname}.so.0"
+ ln -s "lib${pkgname}.so.0.$pkgver" "lib${pkgname}.so"
+ )
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/tinyxml/entity.patch b/abs/extra/tinyxml/entity.patch
new file mode 100644
index 0000000..66d89a6
--- /dev/null
+++ b/abs/extra/tinyxml/entity.patch
@@ -0,0 +1,64 @@
+? entity.patch
+Index: tinyxml.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/tinyxml.cpp,v
+retrieving revision 1.105
+diff -u -r1.105 tinyxml.cpp
+--- tinyxml.cpp 5 Jun 2010 19:06:57 -0000 1.105
++++ tinyxml.cpp 19 Jul 2010 21:24:16 -0000
+@@ -57,30 +57,7 @@
+ {
+ unsigned char c = (unsigned char) str[i];
+
+- if ( c == '&'
+- && i < ( (int)str.length() - 2 )
+- && str[i+1] == '#'
+- && str[i+2] == 'x' )
+- {
+- // Hexadecimal character reference.
+- // Pass through unchanged.
+- // &#xA9; -- copyright symbol, for example.
+- //
+- // The -1 is a bug fix from Rob Laveaux. It keeps
+- // an overflow from happening if there is no ';'.
+- // There are actually 2 ways to exit this loop -
+- // while fails (error case) and break (semicolon found).
+- // However, there is no mechanism (currently) for
+- // this function to return an error.
+- while ( i<(int)str.length()-1 )
+- {
+- outString->append( str.c_str() + i, 1 );
+- ++i;
+- if ( str[i] == ';' )
+- break;
+- }
+- }
+- else if ( c == '&' )
++ if ( c == '&' )
+ {
+ outString->append( entity[0].str, entity[0].strLength );
+ ++i;
+Index: xmltest.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/xmltest.cpp,v
+retrieving revision 1.89
+diff -u -r1.89 xmltest.cpp
+--- xmltest.cpp 5 Jun 2010 17:41:52 -0000 1.89
++++ xmltest.cpp 19 Jul 2010 21:24:16 -0000
+@@ -1340,6 +1340,16 @@
+ }*/
+ }
+
++ #ifdef TIXML_USE_STL
++ {
++ TiXmlDocument xml;
++ xml.Parse("<foo>foo&amp;#xa+bar</foo>");
++ std::string str;
++ str << xml;
++ XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", str.c_str() );
++ }
++ #endif
++
+ /* 1417717 experiment
+ {
+ TiXmlDocument xml;
diff --git a/abs/extra/tinyxml/tinyxml-2.5.3-stl.patch b/abs/extra/tinyxml/tinyxml-2.5.3-stl.patch
new file mode 100644
index 0000000..7bcde59
--- /dev/null
+++ b/abs/extra/tinyxml/tinyxml-2.5.3-stl.patch
@@ -0,0 +1,12 @@
+diff -up tinyxml/tinyxml.h~ tinyxml/tinyxml.h
+--- tinyxml/tinyxml.h~ 2007-11-30 22:39:36.000000000 +0100
++++ tinyxml/tinyxml.h 2007-11-30 22:39:36.000000000 +0100
+@@ -26,6 +26,8 @@ distribution.
+ #ifndef TINYXML_INCLUDED
+ #define TINYXML_INCLUDED
+
++#define TIXML_USE_STL 1
++
+ #ifdef _MSC_VER
+ #pragma warning( push )
+ #pragma warning( disable : 4530 )
diff --git a/abs/extra/tinyxml/tinyxml.pc b/abs/extra/tinyxml/tinyxml.pc
new file mode 100644
index 0000000..684b090
--- /dev/null
+++ b/abs/extra/tinyxml/tinyxml.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: TinyXml
+Description: simple, small, C++ XML parser
+Version: 2.6.2
+Libs: -L${libdir} -ltinyxml
+Cflags: -I${includedir}
diff --git a/abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch b/abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch
deleted file mode 100644
index 2694334..0000000
--- a/abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a5b3dd887dcd60e981626ae2e15c874311fc4fef Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Sun, 2 Sep 2012 04:36:13 +0200
-Subject: [PATCH] Send resume signal when built with systemd and using
- pm-utils suspend
-
-This case was apparently overlooked when adding systemd support.
-
-Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
----
- src/linux/up-backend.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/linux/up-backend.c b/src/linux/up-backend.c
-index ddd4472..52b430e 100644
---- a/src/linux/up-backend.c
-+++ b/src/linux/up-backend.c
-@@ -603,10 +603,11 @@ gboolean
- up_backend_emits_resuming (UpBackend *backend)
- {
- #ifdef HAVE_SYSTEMD
-- return TRUE;
--#else
-- return FALSE;
-+ if (sd_booted ())
-+ return TRUE;
-+ else
- #endif
-+ return FALSE;
- }
-
- /**
---
-1.7.12
-
diff --git a/abs/extra/upower/PKGBUILD b/abs/extra/upower/PKGBUILD
index d27d378..7833118 100644
--- a/abs/extra/upower/PKGBUILD
+++ b/abs/extra/upower/PKGBUILD
@@ -1,29 +1,25 @@
-# $Id: PKGBUILD 166524 2012-09-09 15:41:20Z heftig $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=upower
-pkgver=0.9.18
-pkgrel=2
+pkgver=0.99.3
+pkgrel=1
pkgdesc="Abstraction for enumerating power devices, listening to device events and querying history and statistics"
arch=('i686' 'x86_64')
url="http://upower.freedesktop.org"
license=('GPL')
-depends=('systemd-tools' 'libsystemd' 'libusb' 'polkit' 'pm-utils' 'dbus-glib' 'libimobiledevice')
-makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'systemd')
-options=('!libtool')
-source=($url/releases/$pkgname-$pkgver.tar.xz
- 0001-Send-resume-signal-when-built-with-systemd-and-using.patch)
+depends=('systemd' 'libusb' 'dbus-glib' 'libimobiledevice' 'libgudev')
+makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'python2')
+backup=('etc/UPower/UPower.conf')
+source=(http://upower.freedesktop.org/releases/$pkgname-$pkgver.tar.xz)
+sha256sums=('697199bcc113bb069e6fb6bf4135536a702ba9847e46c5fc6df87d19624ddd38')
build() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
- # put udev files in /usr/lib
- sed -i "/slashlibdir=/s#/lib#/usr/lib#" configure
-
- # https://bugs.freedesktop.org/show_bug.cgi?id=54371
- patch -Np1 -i ../0001-Send-resume-signal-when-built-with-systemd-and-using.patch
-
- ./configure --prefix=/usr --sysconfdir=/etc \
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib/$pkgname \
--disable-static
@@ -31,8 +27,6 @@ build() {
}
package() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
-md5sums=('bfaaa1e7f8479fca5594406b3c36dff9'
- '188afea4919dc324b2efbae35d9d216a')
diff --git a/abs/extra/vala/PKGBUILD b/abs/extra/vala/PKGBUILD
index ed48bef..a663fcd 100644
--- a/abs/extra/vala/PKGBUILD
+++ b/abs/extra/vala/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Timm Preetz <timm@preetz.us>
pkgname=vala
-pkgver=0.26.1
+pkgver=0.30.0
pkgrel=1
pkgdesc="Compiler for the GObject type system"
arch=('i686' 'x86_64')
@@ -11,8 +11,9 @@ url="http://live.gnome.org/Vala"
license=('LGPL')
depends=('glib2')
makedepends=('libxslt')
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
-sha256sums=('8407abb19ab3a58bbfc0d288abb47666ef81f76d0540258c03965e7545f59e6b')
+checkdepends=('dbus' 'libx11' 'gobject-introspection')
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('61f0337b000f7ed6ef8c1fea87e0047d9bd7c0f91dd9c5b4eb70fd3fb883dedf')
build() {
cd $pkgname-$pkgver
@@ -20,6 +21,11 @@ build() {
make
}
+check() {
+ cd $pkgname-$pkgver
+# make check
+}
+
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
diff --git a/abs/extra/valgrind/PKGBUILD b/abs/extra/valgrind/PKGBUILD
index 61c9997..e04c84e 100644
--- a/abs/extra/valgrind/PKGBUILD
+++ b/abs/extra/valgrind/PKGBUILD
@@ -3,25 +3,19 @@
# Maintainer: Allan McRae <allan@archlinux.org>
pkgname=valgrind
-pkgver=3.10.0
-pkgrel=1
+pkgver=3.11.0
+pkgrel=2
pkgdesc='A tool to help find memory-management problems in programs'
arch=(i686 x86_64)
license=(GPL)
url='http://valgrind.org/'
-depends=('glibc>=2.20' 'glibc<2.21' 'perl')
-makedepends=('gdb' 'openmpi')
+depends=('glibc>=2.23' 'glibc<2.24' 'perl')
+makedepends=(gdb openmpi)
optdepends=('openmpi: MPI support')
-options=('staticlibs' '!emptydirs')
-source=(http://valgrind.org/downloads/$pkgname-$pkgver.tar.bz2
- valgrind-3.9.0-glibc-2.20.patch)
-sha1sums=('aec0b8cd042ec36c8cce4f6027b98627ab202f26'
- '2080c3d44de20857f18b03a93404a8f3d3721f7e')
-
-prepare() {
- cd $pkgname-$pkgver
- patch -p1 -i "$srcdir"/valgrind-3.9.0-glibc-2.20.patch
-}
+# valgrind does not like stack protector flags
+options=(!emptydirs !buildflags)
+source=(http://valgrind.org/downloads/$pkgname-$pkgver.tar.bz2)
+sha1sums=('340757e91d9e83591158fe8bb985c6b11bc53de5')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch b/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch
deleted file mode 100644
index d9c622e..0000000
--- a/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure
---- valgrind-3.9.0-orig/configure 2013-11-01 09:33:32.000000000 +1000
-+++ valgrind-3.9.0/configure 2014-02-08 09:28:06.063248544 +1000
-@@ -6689,6 +6689,16 @@
- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
-+ 2.20)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.20 family" >&5
-+$as_echo "2.20 family" >&6; }
-+
-+$as_echo "#define GLIBC_2_20 1" >>confdefs.h
-+
-+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ ;;
- darwin)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
- $as_echo "Darwin" >&6; }
-diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac
---- valgrind-3.9.0-orig/configure.ac 2013-11-01 09:28:16.000000000 +1000
-+++ valgrind-3.9.0/configure.ac 2014-02-08 09:27:38.870385366 +1000
-@@ -918,6 +918,13 @@
- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
-+ 2.20)
-+ AC_MSG_RESULT(2.20 family)
-+ AC_DEFINE([GLIBC_2_20], 1, [Define to 1 if you're using glibc 2.20.x])
-+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ ;;
- darwin)
- AC_MSG_RESULT(Darwin)
- AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
diff --git a/abs/extra/vid.stab/PKGBUILD b/abs/extra/vid.stab/PKGBUILD
new file mode 100644
index 0000000..9833259
--- /dev/null
+++ b/abs/extra/vid.stab/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Contributor: EVorster <evorster@gmail.com>
+
+pkgname=vid.stab
+pkgver=1.1
+pkgrel=1
+pkgdesc='Video stabilization library'
+arch=('i686' 'x86_64')
+url='http://public.hronopik.de/vid.stab'
+license=('GPL')
+depends=('gcc-libs' 'glibc')
+makedepends=('cmake' 'git')
+provides=('libvidstab.so')
+_hash='2d82492533bf5004bc2c4f8213a1b622c45f6a44'
+source=("vid.stab-${pkgver}::git+https://github.com/georgmartius/vid.stab.git#commit=${_hash}")
+sha256sums=('SKIP')
+
+prepare() {
+ cd vid.stab-${pkgver}
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build
+}
+
+build() {
+ cd vid.stab-${pkgver}/build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX='/usr'
+ make
+}
+
+package() {
+ cd vid.stab-${pkgver}/build
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/vte3/PKGBUILD b/abs/extra/vte3/PKGBUILD
index 1019be3..e7797d0 100644
--- a/abs/extra/vte3/PKGBUILD
+++ b/abs/extra/vte3/PKGBUILD
@@ -1,25 +1,26 @@
-# $Id: PKGBUILD 160601 2012-06-02 20:33:51Z ibiru $
+# $Id$
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=vte3
pkgname=(vte3 vte-common)
-pkgver=0.32.2
-pkgrel=1
+pkgver=0.42.1
+pkgrel=2
pkgdesc="Virtual Terminal Emulator widget for use with GTK3"
arch=('i686' 'x86_64')
license=('LGPL')
-options=('!libtool' '!emptydirs')
-makedepends=('intltool' 'gobject-introspection' 'gtk3')
+options=('!emptydirs')
+makedepends=('intltool' 'gobject-introspection' 'gtk3' 'vala' 'glade')
url="http://www.gnome.org"
-source=(http://ftp.gnome.org/pub/GNOME/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz)
-sha256sums=('d69ec071f7a380d8b8b981b35a9a0b891f37c4b6b17d08407f66ac98d619486a')
+source=(http://download.gnome.org/sources/vte/${pkgver::4}/vte-$pkgver.tar.xz)
+sha256sums=('9e00e2e9e94f4202b979c871f407a8815890bc0f4a8448a08534f76ab0fc9d34')
build() {
cd "vte-$pkgver"
./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/vte \
--localstatedir=/var --disable-static \
- --enable-introspection
+ --enable-introspection --enable-glade-catalogue
+ 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
}
@@ -28,12 +29,12 @@ package_vte3(){
cd "vte-$pkgver"
make DESTDIR="$pkgdir" install
- rm "$pkgdir"/usr/lib/vte/gnome-pty-helper
+ rm "$pkgdir"/etc/profile.d/vte.sh
}
package_vte-common() {
pkgdesc="Common files used by vte and vte3"
cd "vte-$pkgver"
- make -C gnome-pty-helper DESTDIR="$pkgdir" install
+ install -Dm644 src/vte.sh "$pkgdir"/etc/profile.d/vte.sh
}
diff --git a/abs/extra/w_scan/PKGBUILD b/abs/extra/w_scan/PKGBUILD
new file mode 100644
index 0000000..b7af805
--- /dev/null
+++ b/abs/extra/w_scan/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: birdflesh <antkoul at gmail dot com>
+# Contributor: Michael Lass <bevan@bi-co.net>
+# Contributor: Leo von Klenze <aur@leo.von-klenze.de>
+
+pkgname=w_scan
+pkgver=20141122
+pkgrel=1
+pkgdesc="Universal ATSC and DVB blind scanner"
+arch=('i686' 'x86_64' 'armv6h')
+url="http://wirbel.htpc-forum.de/w_scan/index_en.html"
+license=('GPL')
+depends=('glibc')
+source=("http://wirbel.htpc-forum.de/$pkgname/$pkgname-$pkgver.tar.bz2")
+md5sums=('da0f190bee696a02bf030fc01c0706e8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -dm755 "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 README "$pkgdir/usr/share/doc/$pkgname"
+}
+
diff --git a/abs/extra/web-on-linhes/PKGBUILD b/abs/extra/web-on-linhes/PKGBUILD
index 0d916bf..4e52115 100644
--- a/abs/extra/web-on-linhes/PKGBUILD
+++ b/abs/extra/web-on-linhes/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Cecil Watson<knoppmyth@gmail.com>
pkgname=web-on-linhes
-pkgver=1.01.0
+pkgver=1.3
pkgrel=1
pkgdesc="Added multiple websites with 10' UIs to Play Online Streams."
arch=('i686' 'x86_64')
@@ -20,4 +20,4 @@ package() {
install -D -m0744 ${srcdir}/web-on-linhes_is.conf ${pkgdir}/etc/gen_is_xml.d/web-on-linhes_is.conf
}
md5sums=('b04992d48e45411bdeed23e6aa9f95f7'
- '926982798d1c1a8bfd45da8eef8a56f3')
+ '475addc194b389ecc4bc5cde3aa5a8ea')
diff --git a/abs/extra/web-on-linhes/web-on-linhes_is.conf b/abs/extra/web-on-linhes/web-on-linhes_is.conf
index ec895be..27d0dcb 100755
--- a/abs/extra/web-on-linhes/web-on-linhes_is.conf
+++ b/abs/extra/web-on-linhes/web-on-linhes_is.conf
@@ -17,38 +17,6 @@
<!--#WebOnTV-->
<button>
<type>STREAM</type>
- <text>Flixster</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://admin.flixster.com/googletv</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
- <text>The Onion</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.theonion.com/video/googletv/</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
- <text>The New York Times</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.nytimes.com/gtv/</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
- <text>NPR</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.npr.org/googletv/</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
<text>PBS Kids</text>
<action>EXEC /usr/LH/bin/web-on-linhes.sh http://pbskids.org/video/</action>
</button>
diff --git a/abs/extra/webmin/PKGBUILD b/abs/extra/webmin/PKGBUILD
index edce250..c823016 100644
--- a/abs/extra/webmin/PKGBUILD
+++ b/abs/extra/webmin/PKGBUILD
@@ -1,7 +1,7 @@
# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=webmin
-pkgver=1.730
+pkgver=1.780
pkgrel=1
pkgdesc="a web-based interface for system administration"
arch=(i686 x86_64)
@@ -219,7 +219,7 @@ package() {
# install license
install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/webmin/LICENCE
}
-md5sums=('a54d11c32372b8361da1ad363a2d3ad9'
+md5sums=('d5de2ef2b47de718c7f1addbf0bc2e5c'
'b0b3e3fb231a12e60165b6b4d604dcfa'
'bfebb75bb94029b48c46b7f1ba1aa811'
'fc29ecb6a5cd8c278abe054e60381095')
diff --git a/abs/extra/wxgtk/PKGBUILD b/abs/extra/wxgtk/PKGBUILD
index da0cdab..c0944fb 100644
--- a/abs/extra/wxgtk/PKGBUILD
+++ b/abs/extra/wxgtk/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=wxgtk
pkgver=3.0.2
-pkgrel=2
+pkgrel=5
pkgdesc="GTK+ implementation of wxWidgets API for GUI"
arch=('i686' 'x86_64')
url="http://wxwidgets.org"
@@ -12,8 +12,18 @@ depends=('gtk2' 'gstreamer0.10-base' 'libsm')
makedepends=('gstreamer0.10-base-plugins' 'gconf' 'webkitgtk2' 'glu')
optdepends=('webkitgtk2: for webview support')
options=('!emptydirs')
-source=(http://downloads.sourceforge.net/wxwindows/wxWidgets-${pkgver}.tar.bz2)
-sha1sums=('6461eab4428c0a8b9e41781b8787510484dea800')
+source=(http://downloads.sourceforge.net/wxwindows/wxWidgets-${pkgver}.tar.bz2
+ make-abicheck-non-fatal.patch)
+sha1sums=('6461eab4428c0a8b9e41781b8787510484dea800'
+ 'dfe38650c655395b90bf082b5734c4093508bfa3')
+
+prepare() {
+ cd wxWidgets-${pkgver}
+
+ # C++ ABI check is too strict and breaks with GCC 5.1
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1200611
+ patch -Np1 -i ../make-abicheck-non-fatal.patch
+}
build() {
cd wxWidgets-${pkgver}
diff --git a/abs/extra/wxgtk/make-abicheck-non-fatal.patch b/abs/extra/wxgtk/make-abicheck-non-fatal.patch
new file mode 100644
index 0000000..97055ba
--- /dev/null
+++ b/abs/extra/wxgtk/make-abicheck-non-fatal.patch
@@ -0,0 +1,15 @@
+diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
+--- wxGTK-2.8.12/src/common/appbase.cpp.abicheck 2015-03-12 17:15:18.000000000 +0100
++++ wxGTK-2.8.12/src/common/appbase.cpp 2015-03-12 17:15:57.000000000 +0100
+@@ -424,10 +424,7 @@ bool wxAppConsole::CheckBuildOptions(con
+ msg.Printf(_T("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+ lib.c_str(), progName.c_str(), prog.c_str());
+
+- wxLogFatalError(msg.c_str());
+-
+- // normally wxLogFatalError doesn't return
+- return false;
++ wxLogWarning(msg.c_str());
+ }
+ #undef wxCMP
+
diff --git a/abs/extra/xbmc-pvr-addons/PKGBUILD b/abs/extra/xbmc-pvr-addons/PKGBUILD
deleted file mode 100644
index 91f41f2..0000000
--- a/abs/extra/xbmc-pvr-addons/PKGBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-pkgname=xbmc-pvr-addons
-pkgver=20140610.13.0_Gotham
-_relname=${pkgver:9}
-pkgrel=1
-pkgdesc="XBMC PVR add-ons for current stable xbmc"
-arch=('i686' 'x86_64')
-url="https://github.com/opdenkamp/xbmc-pvr-addons"
-license=('GPL3')
-depends=('xbmc' 'libmysqlclient')
-makedepends=('git' 'libmysqlclient' 'boost')
-optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend')
-conflicts=('xbmc-pvr-addons-git')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${_relname/_/-}.tar.gz")
-#source=("git://github.com/opdenkamp/xbmc-pvr-addons.git")
-#source=("git://github.com/fetzerch/xbmc-pvr-addons.git#branch=frodo")
-md5sums=('63f5863393ca869eb6f357a62de76378')
-
-build() {
- cd "$srcdir/$pkgname-${_relname/_/-}"
- ./bootstrap
- ./configure --prefix=/usr --enable-addons-with-dependencies
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-${_relname/_/-}"
- make DESTDIR="$pkgdir/" install
-}
diff --git a/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch b/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
deleted file mode 100644
index f2fc11b..0000000
--- a/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 4037c9fd07fbec1873549e71e0b1c2833a5a87db Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 14:42:30 +0100
-Subject: [PATCH 1/8] [CEC] fixed: don't try to stick a value > 255 in a byte
-
----
- system/peripherals.xml | 2 +-
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/system/peripherals.xml b/system/peripherals.xml
-index 57af5d1..5fcff7c 100644
---- a/system/peripherals.xml
-+++ b/system/peripherals.xml
-@@ -30,7 +30,7 @@
- <setting key="device_type" type="int" value="1" configurable="0" />
- <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
- <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
-- <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
-+ <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
- </peripheral>
-
- <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index 9907ba2..1d068dc 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1347,8 +1347,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
- m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
-
-- // double tap prevention timeout in ms
-- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
-+ // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
-+ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
- }
-
- void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch b/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch
deleted file mode 100644
index e7aecd7..0000000
--- a/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 6cd70921650dda8864a844033e36f1bea55d034b Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 12:29:09 +0100
-Subject: [PATCH 2/8] [CEC] bump libCEC to 2.2.0
-
----
- project/BuildDependencies/scripts/libcec_d.txt | 2 +-
- tools/depends/target/libcec/Makefile | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt
-index a126c74..3d0265e 100644
---- a/project/BuildDependencies/scripts/libcec_d.txt
-+++ b/project/BuildDependencies/scripts/libcec_d.txt
-@@ -1,3 +1,3 @@
- ; filename source of the file
-
--libcec-2.1.4.zip http://mirrors.xbmc.org/build-deps/win32/
-+libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/
-diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile
-index 16fec1b..6c72240 100644
---- a/tools/depends/target/libcec/Makefile
-+++ b/tools/depends/target/libcec/Makefile
-@@ -3,9 +3,9 @@ DEPS= ../../Makefile.include Makefile
-
- # lib name, version
- LIBNAME=libcec
--VERSION=2.1.4
--SOURCE=$(LIBNAME)-$(VERSION)-2
--ARCHIVE=$(SOURCE).tar.gz
-+VERSION=2.2.0
-+SOURCE=$(LIBNAME)-$(VERSION)
-+ARCHIVE=$(SOURCE)-3.tar.gz
-
- # configuration settings
- CONFIGURE=./configure --prefix=$(PREFIX) --disable-rpi \
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch b/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
deleted file mode 100644
index e8f5837..0000000
--- a/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e59d7e028288464e6890141a830e4a83d4b9d065 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 15:32:36 +0100
-Subject: [PATCH 3/8] [CEC] prevent bus rescan on a Pi, since the adapter
- cannot be removed
-
----
- xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-index b02535a..4941ae6 100644
---- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
- break;
- case ADAPTERTYPE_RPI:
- result.m_mappedBusType = PERIPHERAL_BUS_RPI;
-+ /** the Pi's adapter cannot be removed, no need to rescan */
-+ m_bNeedsPolling = false;
- break;
- default:
- break;
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch b/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch
deleted file mode 100644
index d4556ae..0000000
--- a/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 6544830d1a0b9810c2feb2fcb34df3f90b010d2f Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 21:01:00 +0100
-Subject: [PATCH 4/8] [CEC] fixed: don't return garbage from CEC related app
- messenger methods see
- https://github.com/xbmc/xbmc/commit/19d37944ca2a2ac2f3e71a40a94e9ea289d8f2db#commitcomment-8248480
-
----
- xbmc/Application.cpp | 14 ++++++++------
- xbmc/ApplicationMessenger.cpp | 20 +++++---------------
- xbmc/ApplicationMessenger.h | 4 ++--
- 3 files changed, 15 insertions(+), 23 deletions(-)
-
-diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index d5604dc..4d26183 100644
---- a/xbmc/Application.cpp
-+++ b/xbmc/Application.cpp
-@@ -2351,16 +2351,18 @@
-
- if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState") || StringUtils::StartsWithNoCase(action.GetName(),"CECStandby"))
- {
-- bool ret = true;
--
-- CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
- // do not wake up the screensaver right after switching off the playing device
- if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState"))
-- ret = CApplicationMessenger::Get().CECToggleState();
-+ {
-+ CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
-+ if (!CApplicationMessenger::Get().CECToggleState())
-+ return true;
-+ }
- else
-- ret = CApplicationMessenger::Get().CECStandby();
-- if (!ret) /* display is switched off */
-+ {
-+ CApplicationMessenger::Get().CECStandby();
- return true;
-+ }
- }
-
- ResetScreenSaver();
-diff --git a/xbmc/ApplicationMessenger.cpp b/xbmc/ApplicationMessenger.cpp
-index 1a59c5c..d228273 100644
---- a/xbmc/ApplicationMessenger.cpp
-+++ b/xbmc/ApplicationMessenger.cpp
-@@ -843,12 +843,12 @@ void CApplicationMessenger::ProcessMessage(ThreadMessage *pMsg)
- }
- case TMSG_CECACTIVATESOURCE:
- {
-- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
-+ g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
- break;
- }
- case TMSG_CECSTANDBY:
- {
-- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_STANDBY);
-+ g_peripherals.ToggleDeviceState(STATE_STANDBY);
- break;
- }
- case TMSG_START_ANDROID_ACTIVITY:
-@@ -1396,29 +1396,19 @@ bool CApplicationMessenger::CECToggleState()
-
- ThreadMessage tMsg = {TMSG_CECTOGGLESTATE};
- tMsg.lpVoid = (void*)&result;
-- SendMessage(tMsg, false);
-+ SendMessage(tMsg, true);
-
- return result;
- }
-
--bool CApplicationMessenger::CECActivateSource()
-+void CApplicationMessenger::CECActivateSource()
- {
-- bool result;
--
- ThreadMessage tMsg = {TMSG_CECACTIVATESOURCE};
-- tMsg.lpVoid = (void*)&result;
- SendMessage(tMsg, false);
--
-- return result;
- }
-
--bool CApplicationMessenger::CECStandby()
-+void CApplicationMessenger::CECStandby()
- {
-- bool result;
--
- ThreadMessage tMsg = {TMSG_CECSTANDBY};
-- tMsg.lpVoid = (void*)&result;
- SendMessage(tMsg, false);
--
-- return result;
- }
-diff --git a/xbmc/ApplicationMessenger.h b/xbmc/ApplicationMessenger.h
-index 9013567..543e065 100644
---- a/xbmc/ApplicationMessenger.h
-+++ b/xbmc/ApplicationMessenger.h
-@@ -219,8 +219,8 @@ public:
-
- void LoadProfile(unsigned int idx);
- bool CECToggleState();
-- bool CECActivateSource();
-- bool CECStandby();
-+ void CECActivateSource();
-+ void CECStandby();
-
- CStdString GetResponse();
- int SetResponse(CStdString response);
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch b/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
deleted file mode 100644
index 023257c..0000000
--- a/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 9f1e45a10860dd23239de35673643e9e0e4a74f8 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Tue, 28 Oct 2014 14:52:16 +0100
-Subject: [PATCH 5/8] [CEC] renamed the iDoubleTapTimeoutMs in the new libCEC
- for clarity. does not change binary compatibility
-
----
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index 1d068dc..ad123d9 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
- m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
-
-+#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
- // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
-- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
-+ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
-+#else
-+ // backwards compatibility. will be removed once the next major release of libCEC is out
-+ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
-+#endif
- }
-
- void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch b/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
deleted file mode 100644
index cd53396..0000000
--- a/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From fa01c108b60f74abb16992c1376bcca896093eac Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Tue, 28 Oct 2014 16:08:00 +0100
-Subject: [PATCH 6/8] [CEC] fixed - don't use CEC_CLIENT_VERSION_CURRENT for
- the client version, because it will lead to issues when XBMC is rebuilt after
- a libCEC bump that changes something
-
----
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index ad123d9..015daef 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1268,8 +1268,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
-
- void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- {
-- // use the same client version as libCEC version
-- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
-+ // client version matches the version of libCEC that we originally used the API from
-+ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
-
- // device name 'XBMC'
- snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
---
-2.1.2
-
diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD
deleted file mode 100644
index 1737aff..0000000
--- a/abs/extra/xbmc/PKGBUILD
+++ /dev/null
@@ -1,147 +0,0 @@
-# vim:set ts=2 sw=2 et:
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Brad Fanella <bradfanella@archlinux.us>
-# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
-# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
-# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
-# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
-# Contributor: Maxime Gauduin <alucryd@gmail.com>
-
-_prefix=/usr
-
-pkgname=xbmc
-pkgver=13.2
-_codename=Gotham
-pkgrel=8
-pkgdesc="A software media player and entertainment hub for digital media"
-arch=('i686' 'x86_64')
-url="http://xbmc.org"
-license=('GPL2')
-depends=(
-'avahi' 'hicolor-icon-theme' 'glu' 'lame' 'libass' 'libbluray' 'libcdio' 'libmad'
-'libmicrohttpd' 'libmodplug' 'libmpeg2' 'libmysqlclient'
-'libsamplerate' 'libssh' 'libva' 'libvdpau' 'libvorbis' 'libxrandr' 'libxslt'
-'lzo' 'mesa' 'mesa-demos' 'python2' 'python2-pillow' 'rtmpdump' 'sdl_image'
-'smbclient' 'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl'
-)
-makedepends=(
-'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen'
-'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks'
-'zip'
-)
-optdepends=(
-'afpfs-ng: Apple File Protocol suport'
-'libnfs: NFS Share support'
-'libplist: AirPlay support'
-'shairplay: AirPlay support'
-'libcec: Pulse-Eight USB-CEC adapter support'
-'polkit: power management'
-'lirc: remote controller support'
-'unrar: access compressed files without unpacking them'
-'udisks: automount external drives'
-'upower: display battery level'
-)
-install="${pkgname}.install"
-source=(
- "xbmc-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
- '0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch'
- '0002-CEC-bump-libCEC-to-2.2.0.patch'
- '0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch'
- '0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch'
- '0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch'
- '0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch'
- 'xbmc.sh'
- 'xbmc_lib.conf'
-)
-
-prepare() {
- cd "$srcdir/xbmc-$pkgver-$_codename"
-
- patch -Np1 -i "$srcdir/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch"
- patch -Np1 -i "$srcdir/0002-CEC-bump-libCEC-to-2.2.0.patch"
- patch -Np1 -i "$srcdir/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch"
- patch -Np1 -i "$srcdir/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch"
- patch -Np1 -i "$srcdir/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch"
- patch -Np1 -i "$srcdir/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch"
-
- find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" +
- sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl
- sed 's/python/python2/' -i tools/Linux/xbmc.sh.in
-}
-
-build() {
- cd "$srcdir/xbmc-$pkgver-$_codename"
-
- # Bootstrapping XBMC
- ./bootstrap
-
- # Configuring XBMC
- export PYTHON_VERSION=2 # external python v2
- ./configure --prefix=$_prefix --exec-prefix=$_prefix \
- --disable-debug \
- --enable-optimizations \
- --enable-gl \
- --enable-sdl \
- --enable-vaapi \
- --enable-vdpau \
- --enable-xvba \
- --enable-joystick \
- --enable-xrandr \
- --enable-rsxs \
- --enable-projectm \
- --enable-x11 \
- --enable-rtmp \
- --enable-samba \
- --enable-nfs \
- --enable-afpclient \
- --enable-airplay \
- --enable-airtunes \
- --enable-ffmpeg-libvorbis \
- --enable-dvdcss \
- --disable-hal \
- --enable-avahi \
- --enable-webserver \
- --enable-optical-drive \
- --enable-libbluray \
- --enable-texturepacker \
- --enable-udev \
- --enable-libusb \
- --enable-libcec \
- --with-lirc-device=/run/lirc/lircd
-
- # Now (finally) build
- make
-}
-
-package() {
- cd "$srcdir/xbmc-$pkgver-$_codename"
- # Running make install
- make DESTDIR="$pkgdir" install
-
- # Tools
- install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \
- "${pkgdir}$_prefix/lib/xbmc/"
-
- # Licenses
- install -dm755 "${pkgdir}$_prefix/share/licenses/$pkgname"
- for licensef in LICENSE.GPL copying.txt; do
- mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \
- "${pkgdir}$_prefix/share/licenses/$pkgname"
- done
-
- # LinHES stuff
- mkdir -p ${pkgdir}/usr/LH/bin
- install -D -m 0755 ${srcdir}/xbmc.sh ${pkgdir}/usr/LH/bin
- #add in xbmc_lib.conf
- install -D -m0744 ${srcdir}/xbmc_lib.conf ${pkgdir}/etc/gen_lib_xml.d/xbmc_lib.conf
-}
-md5sums=('d80153b2cc78b88966458ab136e9494f'
- 'd00af955c000f285a230568004209117'
- '6ee855d2cd6ada08b2c72b5c15d5ae76'
- '3e810f451e58d5704cdd15b83552aa53'
- '693869eb72d696c3457e795722e707c6'
- 'b6346f66286195189e41839e9a23ef87'
- '47b765e1d4299fac32bf92f108548d06'
- 'e48a3d87984669ef206e902bc8290ff9'
- '71176cb0e5aaa230d7c9634c37245bfb')
diff --git a/abs/extra/xbmc/__changelog b/abs/extra/xbmc/__changelog
deleted file mode 100644
index a50187f..0000000
--- a/abs/extra/xbmc/__changelog
+++ /dev/null
@@ -1,4 +0,0 @@
-PKGBUILD - remove libpulse dep and remove --enable-pulse config option; add glu dep
-PKGBUILD - Added xbmc_lib.conf, this file goes in /etc/gen_lib_xml.d/
-xbmc.install - add gen_lib_xml.py to post_install and post_remove
-xbmc.install - comment out autostart message since we don't use systemd
diff --git a/abs/extra/xbmc/xbmc.install b/abs/extra/xbmc/xbmc.install
deleted file mode 100644
index 72d92d8..0000000
--- a/abs/extra/xbmc/xbmc.install
+++ /dev/null
@@ -1,26 +0,0 @@
-post_install() {
- update_icons
-# update_autostart
- gen_lib_xml.py
-}
-
-post_upgrade() {
- update_icons
-# update_autostart
-}
-
-post_remove() {
- update_icons
- update_autostart
- gen_lib_xml.py
-}
-
-update_icons() {
- type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
- type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications
- return 0
-}
-
-update_autostart() {
- echo "To autostart xbmc standalone read: https://wiki.archlinux.org/index.php/Xbmc#Autostarting_at_boot"
-}
diff --git a/abs/extra/xbmc/xbmc.sh b/abs/extra/xbmc/xbmc.sh
deleted file mode 100644
index b073e5d..0000000
--- a/abs/extra/xbmc/xbmc.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-#Stop XScreensaver
-stop_xss.sh &
-#Launch XBMC
-/usr/bin/xbmc --lircdev /var/run/lirc/lircd
-#Once XBMC exits, start XSceensager again
-killall stop_xss.sh
diff --git a/abs/extra/xbmc/xbmc_lib.conf b/abs/extra/xbmc/xbmc_lib.conf
deleted file mode 100644
index e3f4243..0000000
--- a/abs/extra/xbmc/xbmc_lib.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-<!--#XBMC-->
- <button>
- <type>MENU_XBMC</type>
- <text>Launch XBMC</text>
- <description>Open XBMC Media Center</description>
- <action>EXEC /usr/LH/bin/xbmc.sh</action>
- </button>
-<!--#XBMC-->
-
diff --git a/abs/extra/xfsdump/PKGBUILD b/abs/extra/xfsdump/PKGBUILD
index 54370cf..1459142 100755..100644
--- a/abs/extra/xfsdump/PKGBUILD
+++ b/abs/extra/xfsdump/PKGBUILD
@@ -1,8 +1,9 @@
# Contributor: judd <jvinet@zeroflux.org>
-# Maintainer: dkaylor <dpkaylor@gmail.com>
+# Contributor: dkaylor <dpkaylor@gmail.com>
+# Maintainer: Pablo Lezaeta <prflr88@gmail.com>
pkgname=xfsdump
-pkgver=3.1.3
+pkgver=3.1.6
pkgrel=1
pkgdesc="Additional XFS filesystem utilities"
arch=(i686 x86_64)
@@ -11,10 +12,13 @@ license=('LGPL')
depends=('xfsprogs>=3.1.0' 'attr>=2.4.43' 'acl>=2.2.47' 'dmapi>=2.2.10')
options=('!makeflags' '!emptydirs' '!libtool')
source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/$pkgname-$pkgver.tar.gz{,.sig})
+sha256sums=('7f78c11ca527477d90e5e62b0778f3ad96f2b71c19173044e9aca9515fff42d0'
+ 'SKIP')
+validpgpkeys=('9893A827C19F7D96164A38FFADE82947F475FA1D') # Dave Chinner <david@fromorbit.com>
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --sbindir=/usr/bin --bindir=/usr/bin
make
}
@@ -23,12 +27,10 @@ package() {
make DIST_ROOT="${pkgdir}" install
# hack to merge binaries from /sbin and /usr/sbin into /usr/bin #
- mkdir -p $pkgdir/usr/bin
- mv $pkgdir/{sbin/*,usr/sbin/xfsinvutil} $pkgdir/usr/bin
- rm -rf $pkgdir/{sbin,usr/sbin}
+ mkdir -p "$pkgdir/usr/bin"
+ mv "$pkgdir/sbin"/* "$pkgdir/usr/bin"
+ rm -rf "$pkgdir"/{sbin,usr/sbin}
- chown -R root $pkgdir
- chgrp -R root $pkgdir
+ chown -R root "$pkgdir"
+ chgrp -R root "$pkgdir"
}
-md5sums=('aad7160b88db24c0510c001debd689be'
- 'SKIP')
diff --git a/abs/extra/yelp-tools/PKGBUILD b/abs/extra/yelp-tools/PKGBUILD
new file mode 100644
index 0000000..a5fba2f
--- /dev/null
+++ b/abs/extra/yelp-tools/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=yelp-tools
+pkgver=3.18.0
+pkgrel=1
+pkgdesc="Tools for creating Yelp documentation"
+arch=('any')
+depends=('yelp-xsl' 'libxslt' 'libxml2' 'itstool')
+license=('GPL')
+options=('!emptydirs')
+url="http://www.gnome.org"
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('c6c1d65f802397267cdc47aafd5398c4b60766e0a7ad2190426af6c0d0716932')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/yelp-xsl/PKGBUILD b/abs/extra/yelp-xsl/PKGBUILD
new file mode 100644
index 0000000..afc8b77
--- /dev/null
+++ b/abs/extra/yelp-xsl/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=yelp-xsl
+pkgver=3.18.1
+pkgrel=1
+pkgdesc="Stylesheets for Yelp"
+arch=(any)
+makedepends=(intltool libxslt libxml2 itstool)
+license=(GPL)
+options=('!emptydirs')
+url="http://www.gnome.org"
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('00870fbe59a1bc7797b385fce16386917e2987c404e9b5a7adcf0036f1c1ba62')
+
+build() {
+ cd $pkgname-$pkgver
+ rm xslt/common/domains/yelp-xsl.xml
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}