summaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorFrancesco Colista <francesco.colista@gmail.com>2012-03-20 12:26:52 +0000
committerFrancesco Colista <francesco.colista@gmail.com>2012-03-20 12:26:52 +0000
commit7d8df3859347c83a347c3c771a3bd438e17a3d44 (patch)
tree7750a9299feb7e8dafdba79f5755160933fc554f /main
parentb06fd02ab6d73b7167cdafbb3d2623afacdb1303 (diff)
parent01a790374524c25b6730fd48ae70bb6c31a65361 (diff)
downloadaports-7d8df3859347c83a347c3c771a3bd438e17a3d44.tar.bz2
aports-7d8df3859347c83a347c3c771a3bd438e17a3d44.tar.xz
Merge git://dev.alpinelinux.org/aports
Diffstat (limited to 'main')
-rw-r--r--main/abuild/APKBUILD7
-rw-r--r--main/acf-vlc-daemon/APKBUILD37
-rw-r--r--main/alpine-base/APKBUILD2
-rw-r--r--main/alpine-baselayout/APKBUILD10
-rw-r--r--main/apache2/APKBUILD4
-rw-r--r--main/apache2/httpd-2.2.22-pcre830.patch24
-rw-r--r--main/apr/APKBUILD6
-rw-r--r--main/aria2/APKBUILD4
-rw-r--r--main/asterisk/APKBUILD10
-rw-r--r--main/asterisk/ASTERISK-18976.patch142
-rw-r--r--main/asterisk/ASTERISK-19106.patch442
-rw-r--r--main/audacious-plugins/APKBUILD3
-rw-r--r--main/avahi/APKBUILD8
-rw-r--r--main/bind/127.zone (renamed from main/bind/bind.127.zone)0
-rw-r--r--main/bind/APKBUILD63
-rw-r--r--main/bind/bind.initd25
-rw-r--r--main/bind/bind.post-install5
-rw-r--r--main/bind/bind.pre-install3
-rw-r--r--main/bind/localhost.zone (renamed from main/bind/bind.localhost.zone)0
-rw-r--r--main/bind/named.ca (renamed from main/bind/bind.named.ca)0
-rw-r--r--main/bind/named.conf (renamed from main/bind/bind.conf)0
-rw-r--r--main/bind/named.confd (renamed from main/bind/bind.confd)10
-rw-r--r--main/bind/named.initd91
-rw-r--r--main/bitlbee/01-twitter.patch26
-rw-r--r--main/bitlbee/APKBUILD20
-rw-r--r--main/bitlbee/bitlbee.post-install4
-rw-r--r--main/bluez/APKBUILD9
-rw-r--r--main/bonding/APKBUILD43
-rwxr-xr-xmain/bonding/bonding.post-down64
-rwxr-xr-xmain/bonding/bonding.pre-up141
-rwxr-xr-xmain/bonding/bonding.up45
-rw-r--r--main/bridge-utils/APKBUILD4
-rw-r--r--main/bridge/APKBUILD39
-rwxr-xr-xmain/bridge/bridge.pre-up140
-rw-r--r--main/bsnes/APKBUILD16
-rw-r--r--main/bsnes/define-disassembler_read-relb.patch13
-rw-r--r--main/bsnes/nall-strlcpy.patch31
-rw-r--r--main/bsnes/no-pulseaudio.patch16
-rw-r--r--main/busybox-initscripts/APKBUILD6
-rw-r--r--main/busybox-initscripts/default.script27
-rw-r--r--main/busybox-initscripts/mdev.conf2
-rw-r--r--main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch42
-rw-r--r--main/busybox/0001-acpid-fix-for-clean-exit-on-SIGTERM.patch30
-rw-r--r--main/busybox/0001-grep-support-for-x-match-whole-line.patch68
-rw-r--r--main/busybox/APKBUILD21
-rw-r--r--main/ca-certificates/APKBUILD4
-rw-r--r--main/cegui06/APKBUILD2
-rw-r--r--main/clamav/APKBUILD9
-rw-r--r--main/clamav/clamd.initd4
-rw-r--r--main/clamav/freshclam.initd3
-rw-r--r--main/claws-mail/APKBUILD5
-rw-r--r--main/cloog/APKBUILD4
-rw-r--r--main/collectd/APKBUILD4
-rw-r--r--main/cups/APKBUILD9
-rw-r--r--main/cups/cups.pre-install7
-rw-r--r--main/dahdi-linux-grsec/APKBUILD2
-rw-r--r--main/dahdi-linux-vserver/APKBUILD4
-rw-r--r--main/dansguardian/APKBUILD2
-rw-r--r--main/dbus/APKBUILD19
-rw-r--r--main/dhcpcd/APKBUILD4
-rw-r--r--main/dnsmasq/APKBUILD6
-rw-r--r--main/dovecot/APKBUILD6
-rw-r--r--main/doxygen/APKBUILD4
-rw-r--r--main/dropbear/APKBUILD6
-rw-r--r--main/espeak/APKBUILD4
-rw-r--r--main/fail2ban/APKBUILD17
-rw-r--r--main/fail2ban/gentoo-initd_create_run_dir.patch19
-rw-r--r--main/feh/APKBUILD4
-rw-r--r--main/ffmpeg/APKBUILD6
-rw-r--r--main/file/APKBUILD4
-rw-r--r--main/firefox/APKBUILD8
-rw-r--r--main/freeglut/APKBUILD6
-rw-r--r--main/freeradius/APKBUILD2
-rw-r--r--main/freerdp/APKBUILD9
-rw-r--r--main/freerdp/futimens.patch25
-rw-r--r--main/freeswitch/0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch27
-rw-r--r--main/freeswitch/0003-mod_conference_no_hangup.patch27
-rw-r--r--main/freeswitch/APKBUILD43
-rwxr-xr-xmain/freeswitch/freeswitch.initd3
-rwxr-xr-xmain/freeswitch/freeswitch.post-install5
-rw-r--r--main/freetype/APKBUILD4
-rw-r--r--main/gcc/74_all_gcc46_cloog-dl.patch42
-rw-r--r--main/gcc/APKBUILD18
-rw-r--r--main/gdbm/APKBUILD47
-rw-r--r--main/gdbm/gdbm-1.10-zeroheaders.patch33
-rw-r--r--main/git/APKBUILD4
-rw-r--r--main/glew/APKBUILD2
-rw-r--r--main/glib-networking/APKBUILD4
-rw-r--r--main/glproto/APKBUILD6
-rw-r--r--main/gnokii/APKBUILD25
-rw-r--r--main/gnokii/gnokii.patch9
-rw-r--r--main/gnokii/xgnokii.patch11
-rw-r--r--main/gnome-settings-daemon/APKBUILD4
-rw-r--r--main/gnuchess/APKBUILD4
-rw-r--r--main/gnutls/APKBUILD21
-rw-r--r--main/gparted/APKBUILD4
-rw-r--r--main/gpgme/APKBUILD45
-rw-r--r--main/grep/APKBUILD2
-rw-r--r--main/gst-plugins-bad/APKBUILD5
-rw-r--r--main/gst-plugins-base/APKBUILD8
-rw-r--r--main/gst-plugins-good/APKBUILD6
-rw-r--r--main/gst-plugins-ugly/APKBUILD6
-rw-r--r--main/gstreamer/APKBUILD6
-rw-r--r--main/gtk+3.0/APKBUILD10
-rw-r--r--main/gtk-vnc/APKBUILD2
-rw-r--r--main/gtkglext/APKBUILD2
-rw-r--r--main/haproxy/APKBUILD2
-rw-r--r--main/hdparm/APKBUILD4
-rw-r--r--main/hypermail/APKBUILD2
-rw-r--r--main/icedtea-web/APKBUILD11
-rw-r--r--main/imagemagick/APKBUILD4
-rw-r--r--main/inkscape/APKBUILD7
-rw-r--r--main/inputproto/APKBUILD4
-rw-r--r--main/intltool/APKBUILD4
-rw-r--r--main/iptables/APKBUILD19
-rw-r--r--main/iptables/ip6tables.confd5
-rw-r--r--main/iptables/iptables.confd3
-rw-r--r--main/iptables/iptables.initd21
-rw-r--r--main/iw/APKBUILD4
-rw-r--r--main/kamailio/APKBUILD4
-rw-r--r--main/kamailio/kamailio.initd2
-rw-r--r--main/lame/APKBUILD4
-rw-r--r--main/libcdio/APKBUILD26
-rw-r--r--main/libcroco/APKBUILD6
-rw-r--r--main/libdvdnav/APKBUILD40
-rw-r--r--main/libdvdread/APKBUILD40
-rw-r--r--main/libebml/APKBUILD38
-rw-r--r--main/libev/APKBUILD6
-rw-r--r--main/libevent/APKBUILD4
-rw-r--r--main/libfontenc/APKBUILD6
-rw-r--r--main/libgphoto2/APKBUILD4
-rw-r--r--main/libgweather/APKBUILD2
-rw-r--r--main/libice/APKBUILD6
-rw-r--r--main/libmatroska/APKBUILD38
-rw-r--r--main/libmp3splt/APKBUILD44
-rw-r--r--main/libmpdclient/APKBUILD4
-rw-r--r--main/libpciaccess/APKBUILD6
-rw-r--r--main/libpng/APKBUILD6
-rw-r--r--main/libraw/APKBUILD4
-rw-r--r--main/libsm/APKBUILD6
-rw-r--r--main/libsoup/APKBUILD2
-rw-r--r--main/libtxc_dxtn/APKBUILD2
-rw-r--r--main/libunique/APKBUILD19
-rw-r--r--main/libunique/g_const_return.patch123
-rw-r--r--main/libvirt/APKBUILD4
-rw-r--r--main/libwebp/APKBUILD8
-rw-r--r--main/libx11/APKBUILD4
-rw-r--r--main/libxau/APKBUILD6
-rw-r--r--main/libxcb/APKBUILD6
-rw-r--r--main/libxcursor/APKBUILD4
-rw-r--r--main/libxdmcp/APKBUILD6
-rw-r--r--main/libxext/APKBUILD6
-rw-r--r--main/libxfont/APKBUILD6
-rw-r--r--main/libxft/APKBUILD6
-rw-r--r--main/libxi/APKBUILD4
-rw-r--r--main/libxinerama/APKBUILD6
-rw-r--r--main/libxkbfile/APKBUILD6
-rw-r--r--main/libxml2/APKBUILD14
-rw-r--r--main/libxml2/cve-2012-0841.patch291
-rw-r--r--main/libxmu/APKBUILD6
-rw-r--r--main/libxpm/APKBUILD6
-rw-r--r--main/libxrender/APKBUILD6
-rw-r--r--main/libxres/APKBUILD6
-rw-r--r--main/libxt/APKBUILD6
-rw-r--r--main/libxtst/APKBUILD6
-rw-r--r--main/libxv/APKBUILD6
-rw-r--r--main/libxvmc/APKBUILD6
-rw-r--r--main/libxxf86dga/APKBUILD6
-rw-r--r--main/libxxf86vm/APKBUILD6
-rw-r--r--main/lighttpd/APKBUILD2
-rw-r--r--main/linux-firmware/APKBUILD4
-rw-r--r--main/linux-grsec/APKBUILD18
-rw-r--r--main/linux-grsec/grsecurity-2.9-3.2.11-201203141956.patch (renamed from main/linux-grsec/grsecurity-2.2.2-3.2.6-201202131824.patch)3183
-rw-r--r--main/linux-grsec/inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch174
-rw-r--r--main/linux-grsec/kernelconfig.x8614
-rw-r--r--main/linux-grsec/kernelconfig.x86_6414
-rw-r--r--main/linux-grsec/linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch53
-rw-r--r--main/linux-grsec/net-gre-provide-multicast-mappings-for-ipv4-and-ipv6.patch98
-rw-r--r--main/linux-grsec/route-remove-redirect-genid.patch81
-rw-r--r--main/linux-headers/APKBUILD4
-rw-r--r--main/linux-vserver/APKBUILD12
-rw-r--r--main/linux-vserver/kernelconfig.x8612
-rw-r--r--main/linux-vserver/kernelconfig.x86_6412
-rw-r--r--main/llvm/APKBUILD25
-rw-r--r--main/llvm/clang-2.9-alpine-linux.patch71
-rw-r--r--main/llvm/clang-3.0-alpine-linux.patch64
-rw-r--r--main/lua-rex/APKBUILD2
-rw-r--r--main/lua/APKBUILD10
-rw-r--r--main/lvm2/APKBUILD4
-rw-r--r--main/man-pages/APKBUILD6
-rw-r--r--main/mercurial/APKBUILD4
-rw-r--r--main/mesa-demos/APKBUILD2
-rw-r--r--main/mesa/APKBUILD53
-rw-r--r--main/mesa/glx_ro_text_segm.patch28
-rw-r--r--main/mesa/imports-uclibc.patch11
-rw-r--r--main/mesa/mesa-7.10-uclibc.patch13
-rw-r--r--main/midori/APKBUILD4
-rw-r--r--main/mp3splt-gtk/APKBUILD46
-rw-r--r--main/mp3splt-gtk/dbus-glib-underlinking.patch27
-rw-r--r--main/mp3splt/APKBUILD42
-rw-r--r--main/mpc/APKBUILD4
-rw-r--r--main/mplayer/APKBUILD2
-rw-r--r--main/mysql/APKBUILD6
-rw-r--r--main/nautilus/APKBUILD12
-rw-r--r--main/nautilus/g_const_return.patch191
-rw-r--r--main/nettle/APKBUILD56
-rw-r--r--main/nettle/nettle-2.4-makefile.patch11
-rw-r--r--main/network-extras/APKBUILD27
-rw-r--r--main/nfdump/APKBUILD49
-rw-r--r--main/nfdump/nfcapd.confd62
-rw-r--r--main/nfdump/nfcapd.initd63
-rw-r--r--main/nginx/APKBUILD2
-rw-r--r--main/ngircd/APKBUILD36
-rw-r--r--main/ngircd/client_user_len.patch11
-rw-r--r--main/nsd/APKBUILD4
-rw-r--r--main/nspr/APKBUILD8
-rw-r--r--main/nspr/nspr-4.8-pkgconfig-gentoo-3.patch115
-rw-r--r--main/nspr/nspr-4.9-pkgconfig-gentoo.patch90
-rw-r--r--main/nss/APKBUILD10
-rw-r--r--main/nss/bmo702090.patch20
-rw-r--r--main/ntop/APKBUILD8
-rwxr-xr-xmain/ntop/ntop.post-install3
-rwxr-xr-xmain/ntop/ntop.pre-install4
-rw-r--r--main/open-vm-tools-grsec/APKBUILD7
-rw-r--r--main/open-vm-tools-vserver/APKBUILD4
-rw-r--r--main/openldap/APKBUILD22
-rw-r--r--main/openldap/openldap.post-install4
-rw-r--r--main/openldap/slapd-fix-back-sql.patch10
-rw-r--r--main/openldap/slapd.initd29
-rw-r--r--main/openssl/APKBUILD4
-rw-r--r--main/openvpn-auth-ldap/APKBUILD7
-rw-r--r--main/pcre/APKBUILD4
-rw-r--r--main/pekwm/APKBUILD4
-rw-r--r--main/perdition/APKBUILD17
-rw-r--r--main/perdition/gdbm-version.patch26
-rwxr-xr-x[-rw-r--r--]main/perdition/perdition.initd15
-rw-r--r--main/perdition/perdition.post-install4
-rw-r--r--main/perdition/perdition.pre-install6
-rw-r--r--main/perl-class-inspector/APKBUILD4
-rw-r--r--main/perl-date-manip/APKBUILD6
-rw-r--r--main/perl-file-listing/APKBUILD4
-rw-r--r--main/perl-http-cookies/APKBUILD6
-rw-r--r--main/perl-http-message/APKBUILD42
-rw-r--r--main/perl-http-negotiate/APKBUILD4
-rw-r--r--main/perl-image-exiftool/APKBUILD4
-rw-r--r--main/perl-io-socket-ssl/APKBUILD4
-rw-r--r--main/perl-net-http/APKBUILD4
-rw-r--r--main/perl-params-validate/APKBUILD4
-rw-r--r--main/perl-www-robotrules/APKBUILD6
-rw-r--r--main/php/APKBUILD6
-rw-r--r--main/php/pcre_info.patch43
-rw-r--r--main/php/php-fpm.initd2
-rw-r--r--main/pidgin/APKBUILD4
-rw-r--r--main/pingu/APKBUILD6
-rw-r--r--main/pngcrush/01-makefile-sanity.patch13
-rw-r--r--main/pngcrush/APKBUILD46
-rw-r--r--main/pngcrush/license.txt12
-rw-r--r--main/poppler-gtk/APKBUILD4
-rw-r--r--main/poppler/APKBUILD4
-rw-r--r--main/postfix/APKBUILD12
-rw-r--r--main/postfix/postfix.post-install6
-rw-r--r--main/postfixadmin/APKBUILD44
-rw-r--r--main/postgresql/APKBUILD6
-rw-r--r--main/postgrey/APKBUILD4
-rw-r--r--main/postgrey/postgrey.initd2
-rw-r--r--main/pound/APKBUILD2
-rw-r--r--main/privoxy/APKBUILD2
-rw-r--r--main/python/APKBUILD4
-rw-r--r--main/qemu/APKBUILD6
-rw-r--r--main/qt/APKBUILD4
-rw-r--r--main/qt/qsettings-recursive-global-mutex.patch17
-rw-r--r--main/remmina-plugins/APKBUILD37
-rw-r--r--main/remmina/APKBUILD8
-rw-r--r--main/remmina/underlinking.patch49
-rw-r--r--main/ristretto/APKBUILD4
-rw-r--r--main/roundcubemail/APKBUILD4
-rw-r--r--main/rrdtool/APKBUILD6
-rw-r--r--main/ruby-rmagick/APKBUILD2
-rw-r--r--main/ruby/APKBUILD2
-rw-r--r--main/slang/APKBUILD2
-rw-r--r--main/snort/APKBUILD2
-rw-r--r--main/subversion/APKBUILD6
-rw-r--r--main/sudo/APKBUILD15
-rw-r--r--main/swfdec-mozilla/APKBUILD2
-rw-r--r--main/swfdec/APKBUILD2
-rw-r--r--main/swig/APKBUILD2
-rw-r--r--main/sylpheed/APKBUILD6
-rw-r--r--main/sysstat/APKBUILD4
-rw-r--r--main/thunar/APKBUILD2
-rw-r--r--main/tinc/APKBUILD4
-rw-r--r--main/tzdata/APKBUILD4
-rw-r--r--main/unixodbc/APKBUILD6
-rw-r--r--main/util-vserver/APKBUILD30
-rw-r--r--main/util-vserver/alpine.patch26
-rw-r--r--main/util-vserver/bb-grep.patch20
-rw-r--r--main/util-vserver/chmod.patch12
-rw-r--r--main/util-vserver/ensc_pathprog.patch14
-rw-r--r--main/util-vserver/init-script.patch11
-rw-r--r--main/util-vserver/setup-vs-guest4
-rw-r--r--main/util-vserver/validate.patch10
-rw-r--r--main/valgrind/APKBUILD7
-rw-r--r--main/vde2/APKBUILD17
-rw-r--r--main/vde2/vde.confd10
-rw-r--r--main/vde2/vde.initd26
-rw-r--r--main/vde2/vde2.post-down37
-rw-r--r--main/vde2/vde2.pre-install6
-rw-r--r--main/vde2/vde2.pre-up74
-rw-r--r--main/vlan/APKBUILD47
-rw-r--r--main/vlan/mvlan.post-down14
-rw-r--r--main/vlan/mvlan.pre-up14
-rw-r--r--main/vlan/vlan.post-down27
-rw-r--r--main/vlan/vlan.pre-up57
-rw-r--r--main/vlc/APKBUILD102
-rw-r--r--main/vlc/uclibc-libcompat.patch90
-rw-r--r--main/vlc/uclibc-no-xscreensaver.patch18
-rw-r--r--main/vlc/uclibc3.patch44
-rw-r--r--main/vlc/vlc.confd10
-rwxr-xr-xmain/vlc/vlc.initd24
-rw-r--r--main/vlc/vlc.trigger2
-rw-r--r--main/wine/APKBUILD4
-rw-r--r--main/wpa_supplicant/APKBUILD2
-rw-r--r--main/xcb-proto/APKBUILD8
-rw-r--r--main/xdriinfo/APKBUILD2
-rw-r--r--main/xen/APKBUILD6
-rw-r--r--main/xen/e1000.patch42
-rwxr-xr-x[-rw-r--r--]main/xen/xendomains.initd59
-rw-r--r--main/xf86-video-ati/APKBUILD2
-rw-r--r--main/xf86-video-intel/APKBUILD2
-rw-r--r--main/xf86-video-r128/APKBUILD2
-rw-r--r--main/xf86-video-savage/APKBUILD2
-rw-r--r--main/xf86-video-tdfx/APKBUILD2
-rw-r--r--main/xorg-server/APKBUILD3
-rw-r--r--main/xscreensaver/APKBUILD2
-rw-r--r--main/xtables-addons-grsec/APKBUILD2
-rw-r--r--main/xulrunner/APKBUILD6
-rw-r--r--main/zsh/APKBUILD4
-rw-r--r--main/zsnes/APKBUILD2
337 files changed, 6924 insertions, 2852 deletions
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 4337b6200..e43fc434b 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -1,12 +1,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgdesc="Script to build Alpine Packages"
pkgname=abuild
-pkgver=2.11.2
+pkgver=2.12.0
pkgrel=0
url=http://git.alpinelinux.org/cgit/abuild/
source="http://git.alpinelinux.org/cgit/abuild/snapshot/abuild-$pkgver.tar.bz2
"
-depends="fakeroot file sudo pax-utils openssl apk-tools>=2.0.7-r1 uclibc-utils abuildhelper"
+depends="fakeroot file sudo pax-utils openssl apk-tools>=2.0.7-r1 uclibc-utils
+ abuildhelper curl"
makedepends="openssl-dev pkgconfig"
install="$pkgname.pre-install $pkgname.pre-upgrade"
pkggroups="abuild"
@@ -37,4 +38,4 @@ package() {
install -d -m 775 -g abuild "$pkgdir"/var/cache/distfiles
}
-md5sums="58aa5faae9df55e0cc3b50b4cf78a98d abuild-2.11.2.tar.bz2"
+md5sums="646b78381f0754d782840cba51ddd3b2 abuild-2.12.0.tar.bz2"
diff --git a/main/acf-vlc-daemon/APKBUILD b/main/acf-vlc-daemon/APKBUILD
new file mode 100644
index 000000000..193a375e8
--- /dev/null
+++ b/main/acf-vlc-daemon/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Mika Havela <mika.havela@gmail.com>
+# Maintainer:
+pkgname=acf-vlc-daemon
+pkgver=0.1.1
+pkgrel=0
+pkgdesc="A web-based system administration interface for vlc"
+url="http://git.alpinelinux.org/cgit/acf-vlc-daemon"
+arch="noarch"
+license="GPL-2"
+depends="acf-core lua vlc-daemon"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://git.alpinelinux.org/cgit/$pkgname.git/snapshot/$pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir/$pkgname-$pkgver"
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+package() {
+ cd "$_builddir"
+}
+
+md5sums="36a3391022aff74197b2454c25a4ec08 acf-vlc-daemon-0.1.1.tar.bz2"
diff --git a/main/alpine-base/APKBUILD b/main/alpine-base/APKBUILD
index 2b2bc7e99..45fdf48f5 100644
--- a/main/alpine-base/APKBUILD
+++ b/main/alpine-base/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-base
-pkgver=2.3.0_git20120104
+pkgver=2.4_alpha20120316
pkgrel=0
pkgdesc="Meta package for minimal alpine base"
url="http://alpinelinux.org"
diff --git a/main/alpine-baselayout/APKBUILD b/main/alpine-baselayout/APKBUILD
index cfba77bb7..15f61d55d 100644
--- a/main/alpine-baselayout/APKBUILD
+++ b/main/alpine-baselayout/APKBUILD
@@ -1,10 +1,11 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-baselayout
-pkgver=2.1.1
-pkgrel=3
+pkgver=2.2.0
+pkgrel=0
pkgdesc="Alpine base dir structure and init scripts"
url=http://git.alpinelinux.org/cgit/alpine-baselayout
depends=
+options="!fhs"
install="$pkgname.pre-upgrade"
source="http://git.alpinelinux.org/cgit/$pkgname.git/snapshot/$pkgname-$pkgver.tar.bz2
0001-blacklist-viafb-and-e_powersaver.patch
@@ -27,7 +28,8 @@ package() {
cd "$_builddir"
make install PREFIX= DESTDIR="$pkgdir" || return 1
mkdir "$pkgdir"/run
- rm -rf "$pkgdir"/etc/issue "$pkgdir"/usr/share/udhcpc
+ rm -rf "$pkgdir"/etc/issue "$pkgdir"/usr/share/udhcpc \
+ "$pkgdir"/etc/init.d/vlan
}
-md5sums="4f47c32a0e88ae0bd4673a07478525c0 alpine-baselayout-2.1.1.tar.bz2
+md5sums="225dbf5b50ae6d3d188ff92c5746bc36 alpine-baselayout-2.2.0.tar.bz2
3e219db536b13811c34e03c9c32229cb 0001-blacklist-viafb-and-e_powersaver.patch"
diff --git a/main/apache2/APKBUILD b/main/apache2/APKBUILD
index 4241daa1c..bfbeeae35 100644
--- a/main/apache2/APKBUILD
+++ b/main/apache2/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apache2
pkgver=2.2.22
-pkgrel=0
+pkgrel=1
pkgdesc="A high performance Unix-based HTTP server"
url="http://httpd.apache.org/"
arch="all"
@@ -26,6 +26,7 @@ source="http://archive.apache.org/dist/httpd/httpd-$pkgver.tar.bz2
http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/09-capabilities.patch
http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/10-nice.patch
http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/11-fix-htaccess-reads-for-persistent-connections.patch
+ httpd-2.2.22-pcre830.patch
apache2.confd
apache2.logrotate
apache2.initd
@@ -246,6 +247,7 @@ d33e39350e987721d50e6fb8e164ab6b 07-base-functionality.patch
1b28e3363e1b0d05b738a21e7ddd264f 09-capabilities.patch
d9667fcd2ffecc63e446edd4d6666731 10-nice.patch
1e5b222edcfbf99a3edc56fcb2074fbe 11-fix-htaccess-reads-for-persistent-connections.patch
+088271c7e514cfb01e9c5f55d851331c httpd-2.2.22-pcre830.patch
e322b5211e49511cac6e40c86af1b1da apache2.confd
75fe4138b98fcffd01b8c8c077b944f3 apache2.logrotate
7105fc70298b24bfca6dba517f7486d7 apache2.initd
diff --git a/main/apache2/httpd-2.2.22-pcre830.patch b/main/apache2/httpd-2.2.22-pcre830.patch
new file mode 100644
index 000000000..6942a80d6
--- /dev/null
+++ b/main/apache2/httpd-2.2.22-pcre830.patch
@@ -0,0 +1,24 @@
+
+http://svn.apache.org/viewvc?view=revision&revision=r1243176
+
+--- httpd-2.2.22/server/util_pcre.c.pcre830
++++ httpd-2.2.22/server/util_pcre.c
+@@ -128,6 +128,7 @@ AP_DECLARE(int) ap_regcomp(ap_regex_t *p
+ const char *errorptr;
+ int erroffset;
+ int options = 0;
++int nsub;
+
+ if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS;
+ if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE;
+@@ -137,7 +138,9 @@ preg->re_erroffset = erroffset;
+
+ if (preg->re_pcre == NULL) return AP_REG_INVARG;
+
+-preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
++pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
++ PCRE_INFO_CAPTURECOUNT, &nsub);
++preg->re_nsub = nsub;
+ return 0;
+ }
+
diff --git a/main/apr/APKBUILD b/main/apr/APKBUILD
index e8da15c05..a3383b70b 100644
--- a/main/apr/APKBUILD
+++ b/main/apr/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apr
-pkgver=1.4.5
-pkgrel=3
+pkgver=1.4.6
+pkgrel=0
pkgdesc="The Apache Portable Runtime"
url="http://apr.apache.org/"
arch="all"
@@ -46,4 +46,4 @@ dev() {
return 0
}
-md5sums="8b53f5a5669d0597f2da889a2f576eb6 apr-1.4.5.tar.bz2"
+md5sums="ffee70a111fd07372982b0550bbb14b7 apr-1.4.6.tar.bz2"
diff --git a/main/aria2/APKBUILD b/main/aria2/APKBUILD
index 66fff9e8c..4c866b517 100644
--- a/main/aria2/APKBUILD
+++ b/main/aria2/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jeff Bilyk <jbilyk@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=aria2
-pkgver=1.14.1
+pkgver=1.14.2
pkgrel=1
pkgdesc="Download utility for HTTP(S), FTP, Bittorrent, and Metalink"
url="http://aria2.sourceforge.net"
@@ -39,4 +39,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="3a23844ab3e1460eb7e6dac9b5dd798c aria2-1.14.1.tar.bz2"
+md5sums="19b1a9f83a09c6ef5c7ab87e4e0f7974 aria2-1.14.2.tar.bz2"
diff --git a/main/asterisk/APKBUILD b/main/asterisk/APKBUILD
index 177d47a01..75dc40ee2 100644
--- a/main/asterisk/APKBUILD
+++ b/main/asterisk/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=asterisk
-pkgver=10.1.2
-pkgrel=2
+pkgver=10.2.1
+pkgrel=0
pkgdesc="Asterisk: A Module Open Source PBX System"
pkgusers="asterisk"
pkggroups="asterisk"
@@ -23,10 +23,8 @@ source="http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-$
101-caps-uclibc.patch
400-bug-227.patch
900-tryinclude.patch
- ASTERISK-18976.patch
ASTERISK-18977.patch
ASTERISK-18995.patch
- ASTERISK-19106.patch
ASTERISK-19109.patch
asterisk.initd
asterisk.confd
@@ -174,15 +172,13 @@ sound_en() {
chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
}
-md5sums="5d3e92795e03eaf94421a8fa5518f3df asterisk-10.1.2.tar.gz
+md5sums="fad866403db00604b3ffccbff4d24859 asterisk-10.2.1.tar.gz
b00c9d98ce2ad445501248a197c6e436 100-uclibc-daemon.patch
6e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch
79e9634b5054bceb3b8dc246654bb243 400-bug-227.patch
b794636266cc573f0dda730fba634567 900-tryinclude.patch
-da5a3c500192dee4275aae5235d25f97 ASTERISK-18976.patch
1ddadef41aa7120e168738b6f3ed8917 ASTERISK-18977.patch
bc6713f5434e07b79d3afdd155461d72 ASTERISK-18995.patch
-cbe5e2363570c5417c9edc68ed849b0d ASTERISK-19106.patch
a22bb1d513d026564cb40ec213b1ae7f ASTERISK-19109.patch
74cd25a5638a94ef51e9f4ede2fd28f2 asterisk.initd
ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd
diff --git a/main/asterisk/ASTERISK-18976.patch b/main/asterisk/ASTERISK-18976.patch
deleted file mode 100644
index 36c613ff4..000000000
--- a/main/asterisk/ASTERISK-18976.patch
+++ /dev/null
@@ -1,142 +0,0 @@
---- a/pbx/pbx_lua.c.orig 2011-12-08 08:28:31.000000000 +0200
-+++ b/pbx/pbx_lua.c 2011-12-08 08:54:22.000000000 +0200
-@@ -94,7 +94,6 @@
- static void lua_create_application_metatable(lua_State *L);
- static void lua_create_autoservice_functions(lua_State *L);
- static void lua_create_hangup_function(lua_State *L);
--static void lua_detect_goto(lua_State *L);
- static void lua_concat_args(lua_State *L, int start, int nargs);
-
- static void lua_state_destroy(void *data);
-@@ -213,19 +212,10 @@
- chan = lua_touserdata(L, -1);
- lua_pop(L, 1);
-
-+ context = ast_strdupa(chan->context);
-+ exten = ast_strdupa(chan->exten);
-+ priority = chan->priority;
-
-- lua_getfield(L, LUA_REGISTRYINDEX, "context");
-- context = ast_strdupa(lua_tostring(L, -1));
-- lua_pop(L, 1);
--
-- lua_getfield(L, LUA_REGISTRYINDEX, "exten");
-- exten = ast_strdupa(lua_tostring(L, -1));
-- lua_pop(L, 1);
--
-- lua_getfield(L, LUA_REGISTRYINDEX, "priority");
-- priority = lua_tointeger(L, -1);
-- lua_pop(L, 1);
--
- lua_concat_args(L, 2, nargs);
- data = lua_tostring(L, -1);
-
-@@ -256,75 +246,51 @@
- return lua_error(L);
- }
-
-- lua_detect_goto(L);
--
-- return 0;
--}
--
--/*!
-- * \brief Detect if a Goto or other dialplan jump has been executed and return
-- * control to the pbx engine.
-- */
--static void lua_detect_goto(lua_State *L)
--{
-- struct ast_channel *chan;
--
-- lua_getfield(L, LUA_REGISTRYINDEX, "channel");
-- chan = lua_touserdata(L, -1);
-- lua_pop(L, 1);
--
-- /* check context */
-- lua_getfield(L, LUA_REGISTRYINDEX, "context");
-- lua_pushstring(L, chan->context);
-- if (!lua_equal(L, -1, -2)) {
-+ if (strcmp(context, chan->context)) {
-+ lua_pushstring(L, context);
-+ lua_pushstring(L, chan->context);
- lua_pushliteral(L, "context");
-- goto e_goto_detected;
-- }
-- lua_pop(L, 2);
--
-- /* check exten */
-- lua_getfield(L, LUA_REGISTRYINDEX, "exten");
-- lua_pushstring(L, chan->exten);
-- if (!lua_equal(L, -1, -2)) {
-+ } else if (strcmp(exten, chan->exten)) {
-+ lua_pushstring(L, exten);
-+ lua_pushstring(L, chan->exten);
- lua_pushliteral(L, "exten");
-- goto e_goto_detected;
-- }
-- lua_pop(L, 2);
--
-- /* check priority */
-- lua_getfield(L, LUA_REGISTRYINDEX, "priority");
-- lua_pushinteger(L, chan->priority);
-- if (!lua_equal(L, -1, -2)) {
-+ } else if (priority != chan->priority) {
-+ lua_pushinteger(L, priority);
-+ lua_pushinteger(L, chan->priority);
- lua_pushliteral(L, "priority");
-- goto e_goto_detected;
-+ } else {
-+ /* no goto - restore the original position back
-+ * to lua state, in case this was a recursive dialplan
-+ * call (a dialplan application re-entering dialplan) */
-+ lua_update_registry(L, context, exten, priority);
-+ return 0;
- }
-- lua_pop(L, 2);
-- return;
--
--e_goto_detected:
-- /* format our debug message */
-- lua_insert(L, -3);
-
-- lua_pushliteral(L, " changed from ");
-+ /* goto detected - construct error message */
- lua_insert(L, -3);
--
-- lua_pushliteral(L, " to ");
-- lua_insert(L, -2);
--
-- lua_concat(L, 5);
--
-- ast_debug(2, "Goto detected: %s\n", lua_tostring(L, -1));
-- lua_pop(L, 1);
--
-- /* let the lua engine know it needs to return control to the pbx */
-- lua_pushinteger(L, LUA_GOTO_DETECTED);
-+
-+ lua_pushliteral(L, " changed from ");
-+ lua_insert(L, -3);
-+
-+ lua_pushliteral(L, " to ");
-+ lua_insert(L, -2);
-+
-+ lua_concat(L, 5);
-+
-+ ast_debug(2, "Goto detected: %s\n", lua_tostring(L, -1));
-+ lua_pop(L, 1);
-+
-+ /* let the lua engine know it needs to return control to the pbx */
-+ lua_pushinteger(L, LUA_GOTO_DETECTED);
- lua_error(L);
-+
-+ return 0;
- }
-
- /*!
- * \brief [lua_CFunction] Used to get the value of a variable or dialplan
- * function (for access from lua, don't call directly)
-- *
-+ *
- * The value of the variable or function is returned. This function is the
- * 'get()' function in the following example as would be seen in
- * extensions.lua.
diff --git a/main/asterisk/ASTERISK-19106.patch b/main/asterisk/ASTERISK-19106.patch
deleted file mode 100644
index dd23733e3..000000000
--- a/main/asterisk/ASTERISK-19106.patch
+++ /dev/null
@@ -1,442 +0,0 @@
-commit f987e47193c1ce64466663134e5e311742d022d2
-Author: twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>
-Date: Mon Jan 30 23:58:51 2012 +0000
-
- Re-link peers by IP when dnsmgr changes the IP
-
- Asterisk's dnsmgr currently takes a pointer to an ast_sockaddr and updates it
- anytime an address resolves to something different. There are a couple of
- issues with this. First, the ast_sockaddr is usually the address of an
- ast_sockaddr inside a refcounted struct and we never bump the refcount of those
- structs when using dnsmgr. This makes it possible that a refresh could happen
- after the destructor for that object is called (despite ast_dnsmgr_release
- being called in that destructor). Second, the module using dnsmgr cannot be
- aware of an address changing without polling for it in the code. If an action
- needs to be taken on address update (like re-linking a SIP peer in the
- peers_by_ip table), then polling for this change negates many of the benefits
- of having dnsmgr in the first place.
-
- This patch adds a function to the dnsmgr API that calls an update callback
- instead of blindly updating the address itself. It also moves calls to
- ast_dnsmgr_release outside of the destructor functions and into cleanup
- functions that are called when we no longer need the objects and increments the
- refcount of the objects using dnsmgr since those objects are stored on the
- ast_dnsmgr_entry struct. A helper function for returning the proper default SIP
- port (non-tls vs tls) is also added and used.
-
- This patch also incorporates changes from a patch posted by Timo Teräs to
- ASTERISK-19106 for related dnsmgr issues.
-
- (closes issue ASTERISK-19106)
-
- Review: https://reviewboard.asterisk.org/r/1691/
- ........
-
- Merged revisions 353371 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........
-
- Merged revisions 353397 from http://svn.asterisk.org/svn/asterisk/branches/10
-
-
- git-svn-id: http://svn.digium.com/svn/asterisk/trunk@353418 f38db490-d61c-443f-a65b-d21fe96a405b
-
-diff --git a/channels/chan_sip.c b/channels/chan_sip.c
-index e1dfaea..698894f 100644
---- a/channels/chan_sip.c
-+++ b/channels/chan_sip.c
-@@ -2897,6 +2897,11 @@ static int match_and_cleanup_peer_sched(void *peerobj, void *arg, int flags)
-
- if (which == SIP_PEERS_ALL || peer->the_mark) {
- peer_sched_cleanup(peer);
-+ if (peer->dnsmgr) {
-+ ast_dnsmgr_release(peer->dnsmgr);
-+ peer->dnsmgr = NULL;
-+ sip_unref_peer(peer, "Release peer from dnsmgr");
-+ }
- return CMP_MATCH;
- }
- return 0;
-@@ -4681,8 +4686,6 @@ static void sip_destroy_peer(struct sip_peer *peer)
- ao2_t_ref(peer->auth, -1, "Removing peer authentication");
- peer->auth = NULL;
- }
-- if (peer->dnsmgr)
-- ast_dnsmgr_release(peer->dnsmgr);
-
- if (peer->socket.tcptls_session) {
- ao2_ref(peer->socket.tcptls_session, -1);
-@@ -5423,6 +5426,12 @@ static int create_addr_from_peer(struct sip_pvt *dialog, struct sip_peer *peer)
- return 0;
- }
-
-+/*! \brief The default sip port for the given transport */
-+static inline int default_sip_port(enum sip_transport type)
-+{
-+ return type == SIP_TRANSPORT_TLS ? STANDARD_TLS_PORT : STANDARD_SIP_PORT;
-+}
-+
- /*! \brief create address structure from device name
- * Or, if peer not found, find it in the global DNS
- * returns TRUE (-1) on failure, FALSE on success */
-@@ -5525,9 +5534,7 @@ static int create_addr(struct sip_pvt *dialog, const char *opeer, struct ast_soc
- }
-
- if (!ast_sockaddr_port(&dialog->sa)) {
-- ast_sockaddr_set_port(&dialog->sa,
-- (dialog->socket.type == SIP_TRANSPORT_TLS) ?
-- STANDARD_TLS_PORT : STANDARD_SIP_PORT);
-+ ast_sockaddr_set_port(&dialog->sa, default_sip_port(dialog->socket.type));
- }
- ast_sockaddr_copy(&dialog->recv, &dialog->sa);
- return 0;
-@@ -5747,7 +5754,6 @@ static void sip_registry_destroy(struct sip_registry *reg)
-
- ast_string_field_free_memory(reg);
- ast_atomic_fetchadd_int(&regobjs, -1);
-- ast_dnsmgr_release(reg->dnsmgr);
- ast_free(reg);
- }
-
-@@ -5761,7 +5767,6 @@ static void sip_subscribe_mwi_destroy(struct sip_subscription_mwi *mwi)
-
- AST_SCHED_DEL(sched, mwi->resub);
- ast_string_field_free_memory(mwi);
-- ast_dnsmgr_release(mwi->dnsmgr);
- ast_free(mwi);
- }
-
-@@ -12721,6 +12726,72 @@ static int sip_subscribe_mwi_do(const void *data)
- return 0;
- }
-
-+static void on_dns_update_registry(struct ast_sockaddr *old, struct ast_sockaddr *new, void *data)
-+{
-+ struct sip_registry *reg = data;
-+ const char *old_str;
-+
-+ /* This shouldn't happen, but just in case */
-+ if (ast_sockaddr_isnull(new)) {
-+ ast_debug(1, "Empty sockaddr change...ignoring!\n");
-+ return;
-+ }
-+
-+ if (!ast_sockaddr_port(new)) {
-+ ast_sockaddr_set_port(new, reg->portno);
-+ }
-+
-+ old_str = ast_strdupa(ast_sockaddr_stringify(old));
-+
-+ ast_debug(1, "Changing registry %s from %s to %s\n", S_OR(reg->peername, reg->hostname), old_str, ast_sockaddr_stringify(new));
-+ ast_sockaddr_copy(&reg->us, new);
-+}
-+
-+static void on_dns_update_peer(struct ast_sockaddr *old, struct ast_sockaddr *new, void *data)
-+{
-+ struct sip_peer *peer = data;
-+ const char *old_str;
-+
-+ /* This shouldn't happen, but just in case */
-+ if (ast_sockaddr_isnull(new)) {
-+ ast_debug(1, "Empty sockaddr change...ignoring!\n");
-+ return;
-+ }
-+
-+ if (!ast_sockaddr_isnull(&peer->addr)) {
-+ ao2_unlink(peers_by_ip, peer);
-+ }
-+
-+ if (!ast_sockaddr_port(new)) {
-+ ast_sockaddr_set_port(new, default_sip_port(peer->socket.type));
-+ }
-+
-+ old_str = ast_strdupa(ast_sockaddr_stringify(old));
-+ ast_debug(1, "Changing peer %s address from %s to %s\n", peer->name, old_str, ast_sockaddr_stringify(new));
-+
-+ ao2_lock(peer);
-+ ast_sockaddr_copy(&peer->addr, new);
-+ ao2_unlock(peer);
-+
-+ ao2_link(peers_by_ip, peer);
-+}
-+
-+static void on_dns_update_mwi(struct ast_sockaddr *old, struct ast_sockaddr *new, void *data)
-+{
-+ struct sip_subscription_mwi *mwi = data;
-+ const char *old_str;
-+
-+ /* This shouldn't happen, but just in case */
-+ if (ast_sockaddr_isnull(new)) {
-+ ast_debug(1, "Empty sockaddr change...ignoring!\n");
-+ return;
-+ }
-+
-+ old_str = ast_strdupa(ast_sockaddr_stringify(old));
-+ ast_debug(1, "Changing mwi %s from %s to %s\n", mwi->hostname, old_str, ast_sockaddr_stringify(new));
-+ ast_sockaddr_copy(&mwi->us, new);
-+}
-+
- /*! \brief Actually setup an MWI subscription or resubscribe */
- static int __sip_subscribe_mwi_do(struct sip_subscription_mwi *mwi)
- {
-@@ -12730,7 +12801,11 @@ static int __sip_subscribe_mwi_do(struct sip_subscription_mwi *mwi)
- snprintf(transport, sizeof(transport), "_%s._%s", get_srv_service(mwi->transport), get_srv_protocol(mwi->transport));
-
- mwi->us.ss.ss_family = get_address_family_filter(&bindaddr); /* Filter address family */
-- ast_dnsmgr_lookup(mwi->hostname, &mwi->us, &mwi->dnsmgr, sip_cfg.srvlookup ? transport : NULL);
-+ ASTOBJ_REF(mwi); /* Add a ref for storing the mwi on the dnsmgr for updates */
-+ ast_dnsmgr_lookup_cb(mwi->hostname, &mwi->us, &mwi->dnsmgr, sip_cfg.srvlookup ? transport : NULL, on_dns_update_mwi, mwi);
-+ if (!mwi->dnsmgr) {
-+ ASTOBJ_UNREF(mwi, sip_subscribe_mwi_destroy); /* dnsmgr disabled, remove reference */
-+ }
- }
-
- /* If we already have a subscription up simply send a resubscription */
-@@ -13411,17 +13486,8 @@ static int sip_reg_timeout(const void *data)
- }
-
- if (r->dnsmgr) {
-- struct sip_peer *peer;
- /* If the registration has timed out, maybe the IP changed. Force a refresh. */
- ast_dnsmgr_refresh(r->dnsmgr);
-- /* If we are resolving a peer, we have to make sure the refreshed address gets copied */
-- if ((peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0))) {
-- ast_sockaddr_copy(&peer->addr, &r->us);
-- if (r->portno) {
-- ast_sockaddr_set_port(&peer->addr, r->portno);
-- }
-- peer = sip_unref_peer(peer, "unref after sip_find_peer");
-- }
- }
-
- /* If the initial tranmission failed, we may not have an existing dialog,
-@@ -13510,7 +13576,12 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
- peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0);
- snprintf(transport, sizeof(transport), "_%s._%s",get_srv_service(r->transport), get_srv_protocol(r->transport)); /* have to use static sip_get_transport function */
- r->us.ss.ss_family = get_address_family_filter(&bindaddr); /* Filter address family */
-- ast_dnsmgr_lookup(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL);
-+ registry_addref(r, "add reg ref for dnsmgr");
-+ ast_dnsmgr_lookup_cb(peer ? peer->tohost : r->hostname, &r->us, &r->dnsmgr, sip_cfg.srvlookup ? transport : NULL, on_dns_update_registry, r);
-+ if (!r->dnsmgr) {
-+ /*dnsmgr refresh disabled, no reference added! */
-+ registry_unref(r, "remove reg ref, dnsmgr disabled");
-+ }
- if (peer) {
- peer = sip_unref_peer(peer, "removing peer ref for dnsmgr_lookup");
- }
-@@ -13543,18 +13614,21 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
- }
-
- /* Use port number specified if no SRV record was found */
-- if (!ast_sockaddr_port(&r->us) && r->portno) {
-- ast_sockaddr_set_port(&r->us, r->portno);
-- }
--
-- /* It is possible that DNS is unavailable at the time the peer is created. Here, if
-- * we've updated the address in the registry, we copy it to the peer so that
-- * create_addr() can copy it to the dialog via create_addr_from_peer */
-- if ((peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0))) {
-- if (ast_sockaddr_isnull(&peer->addr) && !(ast_sockaddr_isnull(&r->us))) {
-- ast_sockaddr_copy(&peer->addr, &r->us);
-+ if (!ast_sockaddr_isnull(&r->us)) {
-+ if (!ast_sockaddr_port(&r->us) && r->portno) {
-+ ast_sockaddr_set_port(&r->us, r->portno);
-+ }
-+
-+ /* It is possible that DNS was unavailable at the time the peer was created.
-+ * Here, if we've updated the address in the registry via manually calling
-+ * ast_dnsmgr_lookup_cb() above, then we call the same function that dnsmgr would
-+ * call if it was updating a peer's address */
-+ if ((peer = sip_find_peer(S_OR(r->peername, r->hostname), NULL, TRUE, FINDPEERS, FALSE, 0))) {
-+ if (ast_sockaddr_cmp(&peer->addr, &r->us)) {
-+ on_dns_update_peer(&peer->addr, &r->us, peer);
-+ }
-+ peer = sip_unref_peer(peer, "unref after sip_find_peer");
- }
-- peer = sip_unref_peer(peer, "unref after sip_find_peer");
- }
-
- /* Find address to hostname */
-@@ -14392,9 +14466,7 @@ static enum parse_register_result parse_register_contact(struct sip_pvt *pvt, st
- peer->portinuri = ast_sockaddr_port(&testsa) ? TRUE : FALSE;
-
- if (!ast_sockaddr_port(&testsa)) {
-- ast_sockaddr_set_port(&testsa,
-- transport_type == SIP_TRANSPORT_TLS ?
-- STANDARD_TLS_PORT : STANDARD_SIP_PORT);
-+ ast_sockaddr_set_port(&testsa, default_sip_port(transport_type));
- }
-
- ast_sockaddr_copy(&peer->addr, &testsa);
-@@ -28679,11 +28751,17 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
- snprintf(transport, sizeof(transport), "_%s._%s", get_srv_service(peer->socket.type), get_srv_protocol(peer->socket.type));
-
- peer->addr.ss.ss_family = get_address_family_filter(&bindaddr); /* Filter address family */
-- if (ast_dnsmgr_lookup(_srvlookup, &peer->addr, &peer->dnsmgr, sip_cfg.srvlookup && !peer->portinuri ? transport : NULL)) {
-+ if (ast_dnsmgr_lookup_cb(_srvlookup, &peer->addr, &peer->dnsmgr, sip_cfg.srvlookup && !peer->portinuri ? transport : NULL,
-+ on_dns_update_peer, sip_ref_peer(peer, "Store peer on dnsmgr"))) {
- ast_log(LOG_ERROR, "srvlookup failed for host: %s, on peer %s, removing peer\n", _srvlookup, peer->name);
-+ sip_unref_peer(peer, "dnsmgr lookup failed, getting rid of peer dnsmgr ref");
- sip_unref_peer(peer, "getting rid of a peer pointer");
- return NULL;
- }
-+ if (!peer->dnsmgr) {
-+ /* dnsmgr refresh disabeld, release reference */
-+ sip_unref_peer(peer, "dnsmgr disabled, unref peer");
-+ }
-
- ast_string_field_set(peer, tohost, srvlookup);
-
-@@ -28817,7 +28895,7 @@ static void cleanup_all_regs(void)
- /* This is needed, since otherwise active registry entries will not be destroyed */
- ASTOBJ_CONTAINER_TRAVERSE(&regl, 1, do { /* regl is locked */
-
-- ASTOBJ_RDLOCK(iterator); /* now regl is locked, and the object is also locked */
-+ ASTOBJ_WRLOCK(iterator); /* now regl is locked, and the object is also locked */
- if (iterator->call) {
- ast_debug(3, "Destroying active SIP dialog for registry %s@%s\n", iterator->username, iterator->hostname);
- /* This will also remove references to the registry */
-@@ -28830,6 +28908,11 @@ static void cleanup_all_regs(void)
- if (iterator->timeout > -1) {
- AST_SCHED_DEL_UNREF(sched, iterator->timeout, registry_unref(iterator, "reg ptr unref from reload config"));
- }
-+ if (iterator->dnsmgr) {
-+ ast_dnsmgr_release(iterator->dnsmgr);
-+ iterator->dnsmgr = NULL;
-+ registry_unref(iterator, "reg ptr unref from dnsmgr");
-+ }
- ASTOBJ_UNLOCK(iterator);
- } while(0));
- }
-@@ -31496,6 +31579,16 @@ static int unload_module(void)
- cleanup_all_regs();
- ASTOBJ_CONTAINER_DESTROYALL(&regl, sip_registry_destroy);
- ASTOBJ_CONTAINER_DESTROY(&regl);
-+
-+ ASTOBJ_CONTAINER_TRAVERSE(&submwil, 1, do {
-+ ASTOBJ_WRLOCK(iterator);
-+ if (iterator->dnsmgr) {
-+ ast_dnsmgr_release(iterator->dnsmgr);
-+ iterator->dnsmgr = NULL;
-+ ASTOBJ_UNREF(iterator, sip_subscribe_mwi_destroy);
-+ }
-+ ASTOBJ_UNLOCK(iterator);
-+ } while(0));
- ASTOBJ_CONTAINER_DESTROYALL(&submwil, sip_subscribe_mwi_destroy);
- ASTOBJ_CONTAINER_DESTROY(&submwil);
-
-diff --git a/include/asterisk/dnsmgr.h b/include/asterisk/dnsmgr.h
-index b62c2a1..07d6268 100644
---- a/include/asterisk/dnsmgr.h
-+++ b/include/asterisk/dnsmgr.h
-@@ -37,6 +37,8 @@ extern "C" {
- */
- struct ast_dnsmgr_entry;
-
-+typedef void (*dns_update_func)(struct ast_sockaddr *old_addr, struct ast_sockaddr *new_addr, void *data);
-+
- /*!
- * \brief Allocate a new DNS manager entry
- *
-@@ -105,6 +107,31 @@ void ast_dnsmgr_release(struct ast_dnsmgr_entry *entry);
- int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service);
-
- /*!
-+ * \brief Allocate and initialize a DNS manager entry, with update callback
-+ *
-+ * \param name the hostname
-+ * \param result The addr which is intended to be updated in the update callback when DNS manager calls it on refresh.
-+ * The address family is used as an input parameter to filter the returned addresses.
-+ * If it is 0, both IPv4 and IPv6 addresses can be returned.
-+ * \param dnsmgr Where to store the allocate DNS manager entry
-+ * \param service
-+ * \param func The update callback function
-+ * The update callback will be called when DNS manager detects that an IP address has been changed.
-+ * Instead of updating the addr itself, DNS manager will call this callback function with the old
-+ * and new addresses. It is the responsibility of the callback to perform any updates
-+ * \param data A pointer to data that will be passed through to the callback function
-+ *
-+ * \note
-+ * This function allocates a new DNS manager entry object, and fills it with
-+ * the provided hostname and IP address. This function _does_ force an initial
-+ * lookup, so it may block for some period of time.
-+ *
-+ * \retval 0 success
-+ * \retval non-zero failure
-+ */
-+int ast_dnsmgr_lookup_cb(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service, dns_update_func func, void *data);
-+
-+/*!
- * \brief Force a refresh of a dnsmgr entry
- *
- * \retval non-zero if the result is different than the previous result
-diff --git a/main/dnsmgr.c b/main/dnsmgr.c
-index d11cd99..7cdcd0c 100644
---- a/main/dnsmgr.c
-+++ b/main/dnsmgr.c
-@@ -58,6 +58,10 @@ struct ast_dnsmgr_entry {
- unsigned int family;
- /*! Set to 1 if the entry changes */
- unsigned int changed:1;
-+ /*! Data to pass back to update_func */
-+ void *data;
-+ /*! The callback function to execute on address update */
-+ dns_update_func update_func;
- ast_mutex_t lock;
- AST_RWLIST_ENTRY(ast_dnsmgr_entry) list;
- /*! just 1 here, but we use calloc to allocate the correct size */
-@@ -130,7 +134,7 @@ void ast_dnsmgr_release(struct ast_dnsmgr_entry *entry)
- ast_free(entry);
- }
-
--int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service)
-+static int internal_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service, dns_update_func func, void *data)
- {
- unsigned int family;
-
-@@ -165,9 +169,21 @@ int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_
-
- ast_verb(3, "adding dns manager for '%s'\n", name);
- *dnsmgr = ast_dnsmgr_get_family(name, result, service, family);
-+ (*dnsmgr)->update_func = func;
-+ (*dnsmgr)->data = data;
- return !*dnsmgr;
- }
-
-+int ast_dnsmgr_lookup(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service)
-+{
-+ return internal_dnsmgr_lookup(name, result, dnsmgr, service, NULL, NULL);
-+}
-+
-+int ast_dnsmgr_lookup_cb(const char *name, struct ast_sockaddr *result, struct ast_dnsmgr_entry **dnsmgr, const char *service, dns_update_func func, void *data)
-+{
-+ return internal_dnsmgr_lookup(name, result, dnsmgr, service, func, data);
-+}
-+
- /*
- * Refresh a dnsmgr entry
- */
-@@ -187,16 +203,19 @@ static int dnsmgr_refresh(struct ast_dnsmgr_entry *entry, int verbose)
- if (!ast_sockaddr_port(&tmp)) {
- ast_sockaddr_set_port(&tmp, ast_sockaddr_port(entry->result));
- }
--
- if (ast_sockaddr_cmp(&tmp, entry->result)) {
- const char *old_addr = ast_strdupa(ast_sockaddr_stringify(entry->result));
- const char *new_addr = ast_strdupa(ast_sockaddr_stringify(&tmp));
-
-- ast_log(LOG_NOTICE, "dnssrv: host '%s' changed from %s to %s\n",
-- entry->name, old_addr, new_addr);
-+ if (entry->update_func) {
-+ entry->update_func(entry->result, &tmp, entry->data);
-+ } else {
-+ ast_log(LOG_NOTICE, "dnssrv: host '%s' changed from %s to %s\n",
-+ entry->name, old_addr, new_addr);
-
-- ast_sockaddr_copy(entry->result, &tmp);
-- changed = entry->changed = 1;
-+ ast_sockaddr_copy(entry->result, &tmp);
-+ changed = entry->changed = 1;
-+ }
- }
- }
-
diff --git a/main/audacious-plugins/APKBUILD b/main/audacious-plugins/APKBUILD
index f34116cb4..a3a706709 100644
--- a/main/audacious-plugins/APKBUILD
+++ b/main/audacious-plugins/APKBUILD
@@ -2,12 +2,13 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=audacious-plugins
pkgver=3.2
-pkgrel=0
+pkgrel=1
pkgdesc="playlist-oriented media player with multiple interfaces (plugins)"
url="http://audacious-media-player.org/"
arch="all"
license="ISC"
depends=audacious
+subpackages="$pkgname-lang"
install_if=audacious
_want_ffmpeg="ffmpeg-dev"
makedepends="libmowgli-dev
diff --git a/main/avahi/APKBUILD b/main/avahi/APKBUILD
index dd21a5311..c367c512b 100644
--- a/main/avahi/APKBUILD
+++ b/main/avahi/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=avahi
-pkgver=0.6.30
-pkgrel=4
+pkgver=0.6.31
+pkgrel=0
pkgdesc="A multicast/unicast DNS-SD framework"
url="http://www.avahi.org/"
arch="all"
@@ -15,7 +15,7 @@ pkgusers="avahi"
pkggroups="avahi"
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-ui-tools:uitools
$pkgname-glib $pkgname-ui $pkgname-libs $pkgname-compat-howl:howl
- $pkgname-compat-libdns_sd:lidns_sd"
+ $pkgname-compat-libdns_sd:lidns_sd $pkgname-lang"
source="http://www.avahi.org/download/avahi-$pkgver.tar.gz
gnome-nettool.png"
@@ -115,5 +115,5 @@ lidns_sd() {
"$subpkgdir"/usr/lib/
}
-md5sums="e4db89a2a403ff4c47d66ac66fad1f43 avahi-0.6.30.tar.gz
+md5sums="2f22745b8f7368ad5a0a3fddac343f2d avahi-0.6.31.tar.gz
42c2905307c7a5dc6ac4b75f4c3d65a3 gnome-nettool.png"
diff --git a/main/bind/bind.127.zone b/main/bind/127.zone
index 2ad28de52..2ad28de52 100644
--- a/main/bind/bind.127.zone
+++ b/main/bind/127.zone
diff --git a/main/bind/APKBUILD b/main/bind/APKBUILD
index 994d3718e..7cd545fff 100644
--- a/main/bind/APKBUILD
+++ b/main/bind/APKBUILD
@@ -1,27 +1,29 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bind
-pkgver=9.8.1_p1
+pkgver=9.9.0
_ver=${pkgver%_p*}
_p=${pkgver#*_p}
[ "$_p" != "$pkgver" ] && _ver="${_ver}-P$_p"
-pkgrel=0
+pkgrel=1
pkgdesc="BIND - Berkeley Internet Name Domain - Name Server and tools"
url="http://www.isc.org"
arch="all"
license="as-is"
depends=
+pkgusers="named"
+pkggroups="named"
makedepends="openssl-dev perl"
-install="$pkgname.pre-install $pkgname.post-install"
+install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-tools"
source="http://ftp.isc.org/isc/bind9/${_ver}/bind-${_ver}.tar.gz
bind.so_bsdcompat.patch
- $pkgname.initd
- $pkgname.confd
- $pkgname.conf
- $pkgname.127.zone
- $pkgname.localhost.zone
- $pkgname.named.ca
+ named.initd
+ named.confd
+ named.conf
+ 127.zone
+ localhost.zone
+ named.ca
"
_builddir="$srcdir/bind-${_ver}"
@@ -66,16 +68,31 @@ build() {
package() {
cd "$_builddir"
+ install -d -m0770 -g named -o root "$pkgdir"/var/bind \
+ "$pkgdir"/var/bind/sec \
+ "$pkgdir"/var/bind/dyn \
+ "$pkgdir"/var/run/named \
+ "$pkgdir"/var/log/named \
+ || return 1
+
+ install -d -m0750 -g named -o root "$pkgdir"/etc/bind \
+ "$pkgdir"/var/bind/pri || return 1
+
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/named || return 1
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/named || return 1
- install -Dm644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/bind/named.conf || return 1
- install -Dm644 "$srcdir"/$pkgname.named.ca "$pkgdir"/var/bind/named.ca || return 1
- install -Dm644 "$srcdir"/$pkgname.127.zone "$pkgdir"/var/bind/pri/127.zone || return 1
- install -Dm644 "$srcdir"/$pkgname.localhost.zone "$pkgdir"/var/bind/pri/localhost.zone || return 1
- mkdir -p "$pkgdir"/var/bind/sec || return 1
+ install -Dm755 "$srcdir"/named.initd \
+ "$pkgdir"/etc/init.d/named || return 1
+ install -Dm644 "$srcdir"/named.confd \
+ "$pkgdir"/etc/conf.d/named || return 1
+ install -Dm644 "$srcdir"/named.conf \
+ "$pkgdir"/etc/bind/named.conf || return 1
+ install -Dm644 "$srcdir"/named.ca \
+ "$pkgdir"/var/bind/named.ca || return 1
+ install -Dm644 "$srcdir"/127.zone \
+ "$pkgdir"/var/bind/pri/127.zone || return 1
+ install -Dm644 "$srcdir"/localhost.zone \
+ "$pkgdir"/var/bind/pri/localhost.zone || return 1
cd "$pkgdir"/var/bind
ln -s named.ca root.cache || return 1
}
@@ -95,11 +112,11 @@ tools() {
done
}
-md5sums="afa41f8203d50bedad65071f9b6f96d7 bind-9.8.1-P1.tar.gz
+md5sums="9281d0b04f711d28153ba1ab04a54026 bind-9.9.0.tar.gz
f270a5b0a28ab6e818840c5c368ddbcc bind.so_bsdcompat.patch
-92914193cc603d8d81ef00534ce9c1c9 bind.initd
-8b05a287976d66d51c18b73ee7523671 bind.confd
-be5fd752bdbd59385f2a559d603098d5 bind.conf
-a7455b009b7fccd74ac6f6eaa6902a00 bind.127.zone
-c3220168fabfb31a25e8c3a545545e34 bind.localhost.zone
-a94e29ac677846f3d4d618c50b7d34f1 bind.named.ca"
+1e77ad70d15546ae5e2527892b867580 named.initd
+418a367cecfdf8760c92235d3967867e named.confd
+be5fd752bdbd59385f2a559d603098d5 named.conf
+a7455b009b7fccd74ac6f6eaa6902a00 127.zone
+c3220168fabfb31a25e8c3a545545e34 localhost.zone
+a94e29ac677846f3d4d618c50b7d34f1 named.ca"
diff --git a/main/bind/bind.initd b/main/bind/bind.initd
deleted file mode 100644
index 3284ec853..000000000
--- a/main/bind/bind.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/runscript
-
-NAME=named
-DAEMON=/usr/sbin/$NAME
-
-depend() {
- need net
- after firewall
- use logger
- provide dns
-}
-
-start() {
- ebegin "Starting ${NAME}"
- start-stop-daemon --start --quiet --background \
- --exec ${DAEMON} --nicelevel ${NICELEVEL} \
- -- -u ${USER} -n ${CPU} ${OPTS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${NAME}"
- start-stop-daemon --stop --quiet --pidfile $PIDFILE
- eend $?
-}
diff --git a/main/bind/bind.post-install b/main/bind/bind.post-install
deleted file mode 100644
index 7e091c097..000000000
--- a/main/bind/bind.post-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-install -dD -o named -g named /var/run/named
-chown -R named:named /var/bind
-
diff --git a/main/bind/bind.pre-install b/main/bind/bind.pre-install
index c79963450..e0a615ef0 100644
--- a/main/bind/bind.pre-install
+++ b/main/bind/bind.pre-install
@@ -1,5 +1,6 @@
#!/bin/sh
-adduser -h /etc/bind -s /bin/false -D named 2>/dev/null
+addgroup -S named 2>/dev/null
+adduser -h /etc/bind -s /bin/false -G named -D named 2>/dev/null
exit 0
diff --git a/main/bind/bind.localhost.zone b/main/bind/localhost.zone
index 338d7050c..338d7050c 100644
--- a/main/bind/bind.localhost.zone
+++ b/main/bind/localhost.zone
diff --git a/main/bind/bind.named.ca b/main/bind/named.ca
index 902a7047f..902a7047f 100644
--- a/main/bind/bind.named.ca
+++ b/main/bind/named.ca
diff --git a/main/bind/bind.conf b/main/bind/named.conf
index d58c61bde..d58c61bde 100644
--- a/main/bind/bind.conf
+++ b/main/bind/named.conf
diff --git a/main/bind/bind.confd b/main/bind/named.confd
index 82d376350..a9af5676f 100644
--- a/main/bind/bind.confd
+++ b/main/bind/named.confd
@@ -2,13 +2,7 @@
OPTS=""
# Set this to the number of processors you have.
-CPU="1"
-
-# User which named should run as
-USER="named"
-
-# Default pid file location
-PIDFILE="/var/run/named/named.pid"
+# CPU="1"
# Scheduling priority: 19 is the lowest and -20 is the highest.
-NICELEVEL="0"
+# NICELEVEL="0"
diff --git a/main/bind/named.initd b/main/bind/named.initd
new file mode 100644
index 000000000..c03f35d3a
--- /dev/null
+++ b/main/bind/named.initd
@@ -0,0 +1,91 @@
+#!/sbin/runscript
+
+extra_commands="checkconfig checkzones"
+extra_started_commands="reload"
+
+depend() {
+ need net
+ use logger
+ provide dns
+}
+
+: ${NAMED_CONF:=/etc/bind/named.conf}
+
+depend() {
+ need net
+ after firewall
+ use logger
+ provide dns
+}
+
+_get_pidfile() {
+ [ -n "${PIDFILE}" ] || PIDFILE=$(\
+ /usr/sbin/named-checkconf -p ${NAMED_CONF} | grep 'pid-file' | cut -d\" -f2)
+ [ -z "${PIDFILE}" ] && PIDFILE=/var/run/named/named.pid
+}
+
+checkconfig() {
+ ebegin "Checking named configuration"
+
+ if [ ! -f "${NAMED_CONF}" ] ; then
+ eerror "No ${NAMED_CONF} file exists!"
+ return 1
+ fi
+
+ /usr/sbin/named-checkconf ${NAMED_CONF} || {
+ eerror "named-checkconf failed! Please fix your config first."
+ return 1
+ }
+ eend 0
+ return 0
+}
+
+checkzones() {
+ ebegin "Checking named configuration and zones"
+ /usr/sbin/named-checkconf -z -j ${NAMED_CONF}
+ eend $?
+}
+
+start() {
+ local piddir
+ ebegin "Starting named"
+ _get_pidfile
+ piddir="${PIDFILE%/*}"
+ if [ ! -d "${piddir}" ]; then
+ checkpath -q -d -o root:named -m 0770 "${piddir}" || {
+ eend 1
+ return 1
+ }
+ fi
+
+ checkconfig || { eend 1; return 1; }
+
+ # create piddir (usually /var/run/named) if necessary, bug 334535
+ _get_pidfile
+ piddir="${PIDFILE%/*}"
+ if [ ! -d "${piddir}" ]; then
+ checkpath -q -d -o root:named -m 0770 "${piddir}" || {
+ eend 1
+ return 1
+ }
+ fi
+
+ # In case someone have $CPU set in /etc/conf.d/named
+ if [ -n "${CPU}" ] && [ "${CPU}" -gt 0 ]; then
+ CPU="-n ${CPU}"
+ fi
+
+ start-stop-daemon --start --pidfile ${PIDFILE} \
+ --nicelevel ${NICELEVEL:-0} \
+ --exec /usr/sbin/named \
+ -- -u named ${CPU} ${OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping named"
+ _get_pidfile
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+ eend $?
+}
+
diff --git a/main/bitlbee/01-twitter.patch b/main/bitlbee/01-twitter.patch
deleted file mode 100644
index 3e8a22ed0..000000000
--- a/main/bitlbee/01-twitter.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-=== modified file 'protocols/twitter/twitter_lib.c'
---- protocols/twitter/twitter_lib.c 2011-12-26 18:17:51 +0000
-+++ protocols/twitter/twitter_lib.c 2012-01-10 23:36:29 +0000
-@@ -886,10 +886,6 @@
- td->http_fails = 0;
- if (!(ic->flags & OPT_LOGGED_IN))
- imcb_connected(ic);
-- } else if (req->status_code == 401) {
-- imcb_error(ic, "Authentication failure");
-- imc_logout(ic, FALSE);
-- goto end;
- } else {
- // It didn't go well, output the error and return.
- if (++td->http_fails >= 5)
-@@ -938,10 +934,6 @@
- td->http_fails = 0;
- if (!(ic->flags & OPT_LOGGED_IN))
- imcb_connected(ic);
-- } else if (req->status_code == 401) {
-- imcb_error(ic, "Authentication failure");
-- imc_logout(ic, FALSE);
-- goto end;
- } else {
- // It didn't go well, output the error and return.
- if (++td->http_fails >= 5)
-
diff --git a/main/bitlbee/APKBUILD b/main/bitlbee/APKBUILD
index b1aa2ab33..410ff448e 100644
--- a/main/bitlbee/APKBUILD
+++ b/main/bitlbee/APKBUILD
@@ -1,22 +1,20 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
pkgname=bitlbee
-pkgver=3.0.4
-pkgrel=1
+pkgver=3.0.5
+pkgrel=0
pkgdesc="An IRC to other chat networks gateway"
url="http://www.bitlbee.org/"
arch="all"
license="GPL-2"
depends=
makedepends="glib-dev openssl-dev libotr-dev"
-install="$pkgname.post-install"
+install=""
subpackages="$pkgname-doc $pkgname-otr"
source="
http://get.bitlbee.org/src/$pkgname-$pkgver.tar.gz
$pkgname.initd
$pkgname.confd
- $pkgname.post-install
- 01-twitter.patch
"
_builddir="$srcdir/$pkgname-$pkgver"
@@ -33,8 +31,8 @@ prepare() {
build() {
cd "$_builddir"
./configure --ssl=openssl \
- --otr=plugin \
- --prefix=/usr \
+ --otr=plugin \
+ --prefix=/usr \
--etcdir=/etc/bitlbee || return 1
make || return 1
}
@@ -47,14 +45,14 @@ package() {
"$pkgdir"/etc/init.d/$pkgname || return 1
install -m644 -D "$srcdir"/$pkgname.confd \
"$pkgdir"/etc/conf.d/$pkgname || return 1
+ mkdir -p "$pkgdir"/var/lib/bitlbee
+ chown nobody:nobody "$pkgdir"/var/lib/bitlbee
}
otr() {
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/bitlbee "$subpkgdir"/usr/lib
}
-md5sums="3eb1e3e30c015885c641503eec4b05cb bitlbee-3.0.4.tar.gz
+md5sums="9ff97260a2a7f3a7d102db158a8d9887 bitlbee-3.0.5.tar.gz
7c3f5a9c5b25b425e87ff38abc44282d bitlbee.initd
-bf07d39a4b652c63415b411229c5e281 bitlbee.confd
-2d91f7ae46d69560d7f156f282dceaef bitlbee.post-install
-ee9f30c91650011265aaf36466b9b2c5 01-twitter.patch"
+bf07d39a4b652c63415b411229c5e281 bitlbee.confd"
diff --git a/main/bitlbee/bitlbee.post-install b/main/bitlbee/bitlbee.post-install
deleted file mode 100644
index d962fdcd9..000000000
--- a/main/bitlbee/bitlbee.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-mkdir -p /var/lib/bitlbee
-chown nobody:nobody /var/lib/bitlbee
-
diff --git a/main/bluez/APKBUILD b/main/bluez/APKBUILD
index 988eab344..a6d17ea4b 100644
--- a/main/bluez/APKBUILD
+++ b/main/bluez/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bluez
-pkgver=4.96
-pkgrel=0
+pkgver=4.99
+pkgrel=1
pkgdesc="Tools for the Bluetooth protocol stack"
url="http://www.bluez.org/"
arch="all"
license="GPL2"
-depends="consolekit"
+depends="consolekit dbus"
replaces="udev"
makedepends="dbus-dev gst-plugins-base-dev alsa-lib-dev libusb-compat-dev
libnl-dev consolekit-dev udev-dev"
@@ -36,7 +36,6 @@ build() {
--enable-pand \
--enable-dund \
--enable-cups \
- --enable-configfiles \
|| return 1
make || return 1
}
@@ -76,6 +75,6 @@ gstreamer() {
mv "$pkgdir"/usr/lib/gstreamer* \
"$subpkgdir"/usr/lib/
}
-md5sums="255c3dda8b93210ab0dcf8d04ddaf69f bluez-4.96.tar.bz2
+md5sums="2387053eb5a7b02f37df4871df022a02 bluez-4.99.tar.bz2
c511078403d7d27673581a8bb468b90b bluetooth.initd
a159d897a057f4675548327329c4cc22 bluetooth.confd"
diff --git a/main/bonding/APKBUILD b/main/bonding/APKBUILD
new file mode 100644
index 000000000..f77880b76
--- /dev/null
+++ b/main/bonding/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+
+# those scripts are based on debians ifenslave-2.6 scripts
+
+pkgname=bonding
+pkgver=2.6
+pkgrel=1
+pkgdesc="Scripts for network interface bonding"
+url="http://wiki.alpinelinux.org/wiki/Bonding"
+arch="noarch"
+license="GPL"
+depends=""
+makedepends=""
+install=""
+subpackages=""
+source="bonding.pre-up bonding.up bonding.post-down"
+
+_builddir=
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$srcdir"
+ for i in pre-up up post-down; do
+ install -Dm755 bonding.$i "$pkgdir"/etc/network/if-$i.d/bonding
+ done
+}
+
+md5sums="8feef9949a42f0a84418f785827c1fd2 bonding.pre-up
+68e64f483be3f8730a4c522f1e63e92d bonding.up
+c5f6d07415118aa21d8e4730f9f18cab bonding.post-down"
diff --git a/main/bonding/bonding.post-down b/main/bonding/bonding.post-down
new file mode 100755
index 000000000..8dd4c07e9
--- /dev/null
+++ b/main/bonding/bonding.post-down
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+[ "$VERBOSITY" = 1 ] && set -x
+
+sysfs()
+{
+ # Called with :
+ # $1 = value to write. Won't write if $1 is empty.
+ # $2 = basename of the file in bonding/ to write to.
+ if [ "$1" ] ; then
+ echo "$1" > "/sys/class/net/$IFACE/master/bonding/$2"
+ return $?
+ fi
+ return 0
+}
+
+sysfs_remove_all()
+{
+ # Called with:
+ # $1 = target filename
+ read values < "/sys/class/net/$IFACE/bonding/$1"
+ for value in $values ; do
+ echo "-$value" > "/sys/class/net/$IFACE/bonding/$1"
+ done
+}
+
+BOND_PARAMS="/sys/class/net/$IFACE/bonding"
+IFSTATE=/var/run/ifstate
+
+# free $IFACE if it is currently enslaved to a bonding device.
+if [ -f "/sys/class/net/$IFACE/master/bonding/slaves" ] ; then
+ echo "-$IFACE" > "/sys/class/net/$IFACE/master/bonding/slaves"
+
+ # The first slave in bond-primary found in current slaves becomes the primary.
+ # If no slave in bond-primary is found, then primary does not change and might be undefined if just removed.
+ for slave in $IF_BOND_PRIMARY ; do
+ if grep -sq "\\<$slave\\>" "/sys/class/net/$IFACE/master/bonding/slaves" ; then
+ sysfs "$slave" primary
+ break
+ fi
+ done
+fi
+
+# If $IFACE is not a master, exit.
+[ ! -f "$BOND_PARAMS/slaves" ] && exit
+
+# Unset multivalue sysfs entries, so that re-enabling the interface later won't cause error.
+
+sysfs_remove_all arp_ip_target
+
+# Remove any slaves of $IFACE.
+
+[ "$VERBOSITY" = 1 ] && v=-v
+read slaves < "$BOND_PARAMS/slaves"
+for slave in $slaves ; do
+ # If $slave is currently up in $IFSTATE, then bring it down, to keep $IFSTATE consistent.
+ # This is supposed to have the side effect of freeing the interface.
+ grep -q "^$slave=" $IFSTATE && ifdown $v $slave
+
+ # Anyway, ensure $slave is free.
+ if [ -f "/sys/class/net/$slave/master/bonding/slaves" ] ; then
+ echo "-$slave" > "$BOND_PARAMS/slaves" 2> /dev/null
+ fi
+done
diff --git a/main/bonding/bonding.pre-up b/main/bonding/bonding.pre-up
new file mode 100755
index 000000000..69f6fbe26
--- /dev/null
+++ b/main/bonding/bonding.pre-up
@@ -0,0 +1,141 @@
+#!/bin/sh
+
+[ "$VERBOSITY" = 1 ] && set -x
+
+IFSTATE=/var/run/ifstate
+
+add_master()
+{
+ # Return if $BOND_MASTER is already a bonding interface.
+ [ -f "/sys/class/net/$BOND_MASTER/bonding/slaves" ] && return
+
+ # If the bonding module is not yet loaded, load it.
+ if [ ! -r /sys/class/net/bonding_masters ]; then
+ modprobe -q bonding
+ fi
+
+ # Create the master interface.
+ if ! grep -sq "\\<$BOND_MASTER\\>" /sys/class/net/bonding_masters; then
+ echo "+$BOND_MASTER" > /sys/class/net/bonding_masters
+ fi
+}
+
+sysfs()
+{
+ # Called with :
+ # $1 = value to write. Won't write if $1 is empty.
+ # $2 = basename of the file in bonding/ to write to.
+ if [ "$1" ] ; then
+ echo "$1" > "/sys/class/net/$BOND_MASTER/bonding/$2"
+ return $?
+ fi
+ return 0
+}
+
+sysfs_add()
+{
+ # Called with :
+ # $1 = values to write.
+ # $2 = target filename.
+ for value in $1; do
+ # Do not add $1 to $2 if already present.
+ if ! grep -sq "\\<$value\\>" /sys/class/net/$BOND_MASTER/bonding/$2
+ then
+ sysfs "+$value" "$2"
+ fi
+ done
+}
+
+ifup_slave()
+{
+ local v=
+ [ "$VERBOSITY" = 1 ] && v=-v
+ if [ "$1" != "$IFACE" ] && ! grep -q "^$1=" $IFSTATE && ifup -n "$1" >/dev/null 2>&1; then
+ ifup $v $1
+ fi
+}
+
+enslave_slaves()
+{
+ case "$BOND_SLAVES" in
+ none)
+ BOND_SLAVES=""
+ ;;
+ all)
+ BOND_SLAVES=`sed -ne 's/ *\(eth[^:]*\):.*/\1/p' /proc/net/dev`
+ AUTOIF="yes"
+ ;;
+ esac
+
+ for slave in $BOND_SLAVES ; do
+ if ( [ "$AUTOIF" ] && grep -q "^$slave=" $IFSTATE ) ; then
+ echo "Not enslaving interface $slave since it is already configured"
+ else
+ # Ensure $slave is down.
+ ip link set "$slave" down 2>/dev/null
+ if ! sysfs_add "$slave" slaves 2>/dev/null ; then
+ echo "Failed to enslave $slave to $BOND_MASTER. Is $BOND_MASTER ready and a bonding interface ?" >&2
+ else
+ # Bring up slave if it is defined in interfaces
+ # This is usefull to bring up slaves that need extra setup.
+ ifup_slave $slave
+ fi
+ fi
+ done
+}
+
+setup_master()
+{
+ sysfs "$IF_BOND_MODE" mode
+ sysfs "$IF_BOND_MIIMON" miimon
+ sysfs "$IF_BOND_USE_CARRIER" use_carrier
+ sysfs "$IF_BOND_UPDELAY" updelay
+ sysfs "$IF_BOND_DOWNDELAY" downdelay
+ sysfs "$IF_BOND_ARP_INTERVAL" arp_interval
+ sysfs "$IF_BOND_ARP_VALIDATE" arp_validate
+ sysfs "$IF_BOND_FAIL_OVER_MAC" fail_over_mac
+ sysfs "$IF_BOND_XMIT_HASH_POLICY" xmit_hash_policy
+ sysfs "$IF_BOND_LACP_RATE" lacp_rate
+ sysfs_add "$IF_BOND_ARP_IP_TARGET" arp_ip_target
+}
+
+setup_slaves()
+{
+ # The first slave in bond-primary found in current slaves becomes the primary.
+ # If no slave in bond-primary is found, then primary does not change.
+ for slave in $IF_BOND_PRIMARY ; do
+ if grep -sq "\\<$slave\\>" "/sys/class/net/$BOND_MASTER/bonding/slaves" ; then
+ sysfs "$slave" primary
+ break
+ fi
+ done
+
+ if [ "$IF_BOND_ACTIVE_SLAVE" ] ; then
+ # Need to force interface up before. Bonding will refuse to activate a down interface.
+ ip link set "$IF_BOND_ACTIVE_SLAVE" up
+ sysfs "$IF_BOND_ACTIVE_SLAVE" active_slave
+ fi
+}
+
+# Are there anything to do ?
+
+# Option slaves deprecated, replaced by bond-slaves, but still supported for backward compatibility.
+IF_BOND_SLAVES=${IF_BOND_SLAVES:-$IF_SLAVES}
+
+if [ "$IF_BOND_MASTER" ] ; then
+ BOND_MASTER="$IF_BOND_MASTER"
+ BOND_SLAVES="$IFACE"
+else
+ if [ "$IF_BOND_SLAVES" ] ; then
+ BOND_MASTER="$IFACE"
+ BOND_SLAVES="$IF_BOND_SLAVES"
+ fi
+fi
+
+# Exit if nothing to do...
+[ -z "$BOND_MASTER$BOND_SLAVES" ] && exit
+
+add_master
+setup_master
+enslave_slaves
+setup_slaves
diff --git a/main/bonding/bonding.up b/main/bonding/bonding.up
new file mode 100755
index 000000000..7f27421cd
--- /dev/null
+++ b/main/bonding/bonding.up
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+[ "$VERBOSITY" = 1 ] && set -x
+
+sysfs()
+{
+ # Called with :
+ # $1 = value to write. Won't write if $1 is empty.
+ # $2 = basename of the file in bonding/ to write to.
+ if [ "$1" ] ; then
+ echo "$1" > "/sys/class/net/$IFACE/master/bonding/$2"
+ return $?
+ fi
+ return 0
+}
+
+# If the stanza bond-give-a-chance is set for a slave interface,
+# then force $IFACE to be the primary for some time, then restore primary to it previous value.
+
+# This stanza is designed to workaround a bug in wpa_supplicant, when used with bonding :
+
+# wpa_supplicant expect wifi authentication packets on the bond interface, but also send wifi authentication packets on the bond interface.
+# If the active interface is not the wifi interface at the time wpa_supplicant try to authenticate, the wifi AP won't receive anything, causing the authentication to fail.
+
+# In order for the wifi authentication to succeed, one need to give a chance to the wifi interface to send authentication packets.
+# "bond-give-a-chance 10" will set the wifi interface as the primary interface for 10 seconds, then restore the previous primary interface.
+# This is supposed to be enought to give a chance to wifi to authenticate properly.
+
+if [ "$IF_BOND_GIVE_A_CHANCE" ] ; then
+ read primary < "/sys/class/net/$IFACE/master/bonding/primary"
+ # Set the temporary primary.
+ sysfs "$IFACE" primary
+
+ # Wait for the link to be setup, but not longer that $IF_BOND_GIVE_A_CHANGE seconds.
+ while [ "$IF_BOND_GIVE_A_CHANCE" -gt 0 ] ; do
+ if ip link show $IFACE | grep -sq 'state UP'; then
+ break
+ fi
+ sleep 1
+ IF_BOND_GIVE_A_CHANCE=`expr $IF_BOND_GIVE_A_CHANCE - 1`
+ done
+
+ # Restore the previous primary.
+ sysfs "$primary" primary
+fi
diff --git a/main/bridge-utils/APKBUILD b/main/bridge-utils/APKBUILD
index cf5a9f9cd..de02f9797 100644
--- a/main/bridge-utils/APKBUILD
+++ b/main/bridge-utils/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bridge-utils
pkgver=1.5
-pkgrel=0
+pkgrel=1
pkgdesc="Tools for configuring the Linux kernel 802.1d Ethernet Bridge"
url="http://linux-net.osdl.org/index.php/Bridge"
arch="all"
@@ -14,7 +14,7 @@ source="http://downloads.sourceforge.net/project/bridge/bridge/bridge-utils-$pkg
build() {
cd "$srcdir"/$pkgname-$pkgver
autoconf
- ./configure --prefix=/ \
+ ./configure --prefix=/usr \
--mandir=/usr/share/man \
--libdir=/usr/lib \
--includedir=/usr/include \
diff --git a/main/bridge/APKBUILD b/main/bridge/APKBUILD
new file mode 100644
index 000000000..f60850b15
--- /dev/null
+++ b/main/bridge/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=bridge
+pkgver=1.5
+pkgrel=2
+pkgdesc="Scripts for configuring network bridge interfaces"
+url="http://wiki.alpinelinux.org/wiki/Bridge"
+arch="noarch"
+license="GPL"
+depends=""
+makedepends=""
+install=""
+subpackages=""
+source="bridge.pre-up"
+
+_builddir=
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 "$srcdir"/bridge.pre-up \
+ "$pkgdir"/etc/network/if-pre-up.d/bridge
+ install -d "$pkgdir"/etc/network/if-post-down.d
+ ln -s ../if-pre-up.d/bridge "$pkgdir"/etc/network/if-post-down.d/bridge
+}
+
+md5sums="937365c4a3e3e10f51116c7e6717f434 bridge.pre-up"
diff --git a/main/bridge/bridge.pre-up b/main/bridge/bridge.pre-up
new file mode 100755
index 000000000..995e25888
--- /dev/null
+++ b/main/bridge/bridge.pre-up
@@ -0,0 +1,140 @@
+#!/bin/sh
+
+# Copyright (C) 2012 Natanael Copa <ncopa@alpinelinux.org>
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 as published
+# by the Free Software Foundation. See http://www.gnu.org/ for details.
+
+all_ports_exist() {
+ local i=
+ for i in "$@"; do
+ [ -d /sys/class/net/$i ] || return 1
+ done
+ return 0
+}
+
+wait_ports() {
+ local timeout= waitports=
+ [ -z "$IF_BRIDGE_WAITPORT" ] && return 0
+ set -- $IF_BRIDGE_WAITPORT
+ timeout="$1"
+ shift
+ waitports="$@"
+ [ -z "$waitports" ] && waitports="$PORTS"
+ while ! all_ports_exist $waitports; do
+ [ "$timeout" -eq 0 ] && return 0
+ timeout=$(($timeout - 1))
+ sleep 1
+ done
+}
+
+all_ports() {
+ local i=
+ for i in /sys/class/net/*/ifindex; do
+ i=${i%/*}
+ i=${i##*/}
+ case "$i" in
+ lo|$IFACE) continue;;
+ *) echo $i;;
+ esac
+ done
+}
+
+add_ports() {
+ local port=
+ for port in $PORTS; do
+ if [ -x /etc/network/if-pre-up.d/vlan ]; then
+ env IFACE=$port /etc/network/if-pre-up.d/vlan
+ fi
+ if [ -n "$IF_BRIDGE_HW" ]; then
+ ip link set dev $port addr $IF_BRIDGE_HW
+ fi
+ brctl addif $IFACE $port && ip link set dev $port up
+ done
+}
+
+del_ports() {
+ local port=
+ for port in $PORTS; do
+ ip link set dev $port down
+ brctl delif $IFACE $port
+ if [ -x /etc/network/ip-post-down.d/vlan ]; then
+ env IFACE=$port /etc/network/if-post-down.d/vlan
+ fi
+ done
+}
+
+set_bridge_opts() {
+ [ -n "$IF_BRIDGE_AGEING" ] \
+ && brctl setageing $IFACE $IF_BRIDGE_AGEING
+ [ -n "$IF_BRIDGE_BRIDGEPRIO" ] \
+ && brctl setbridgeprio $IFACE $IF_BRIDGE_BRIDGEPRIO
+ [ -n "$IF_BRIDGE_FD" ] \
+ && brctl setfd $IFACE $IF_BRIDGE_FD
+ [ -n "$IF_BRIDGE_GCINT" ] \
+ && brctl setgcint $IFACE $IF_BRIDGE_GCINT
+ [ -n "$IF_BRIDGE_HELLO" ] \
+ && brctl sethello $IFACE $IF_BRIDGE_HELLO
+ [ -n "$IF_BRIDGE_MAXAGE" ] \
+ && brctl setmaxage $IFACE $IF_BRIDGE_MAXAGE
+ [ -n "$IF_BRIDGE_PATHCOST" ] \
+ && brctl setpathcost $IFACE $IF_BRIDGE_PATHCOST
+ [ -n "$IF_BRIDGE_PORTPRIO" ] \
+ && brctl setportprio $IFACE $IF_BRIDGE_PORTPRIO
+ [ -n "$IF_BRIDGE_STP" ] \
+ && brctl stp $IFACE $IF_BRIDGE_STP
+}
+
+all_ports_ready() {
+ local port=
+ for port in $PORTS; do
+ case $(cat /sys/class/net/$IFACE/brif/$port/state) in
+ ""|0|3) ;; # 0 = disabled, 3 = forwarding
+ [12]) return 1;;
+ esac
+ done
+ return 0
+}
+
+find_maxwait() {
+ awk '{printf("%.f\n", 2 * $0 / 100); }' \
+ /sys/class/net/$IFACE/bridge/forward_delay
+}
+
+wait_bridge() {
+ local timeout=$IF_BRIDGE_MAXWAIT
+ if [ -z "$timeout" ]; then
+ timeout=$(find_maxwait)
+ fi
+ ip link set dev $IFACE up
+ while ! all_ports_ready; do
+ [ $timeout -eq 0 ] && break
+ timeout=$(($timeout - 1))
+ sleep 1
+ done
+}
+
+case "$IF_BRIDGE_PORTS" in
+"") ;;
+none) PORTS="";;
+all) PORTS=$(all_ports);;
+*) PORTS="$IF_BRIDGE_PORTS";;
+esac
+
+[ -z "$PORTS" ] && exit
+
+case "$MODE" in
+start)
+ brctl addbr $IFACE || exit 1
+ wait_ports
+ set_bridge_opts
+ add_ports
+ wait_bridge
+ ;;
+stop) del_ports
+ ip link set dev $IFACE down
+ brctl delbr $IFACE || exit 1
+ ;;
+esac
+
diff --git a/main/bsnes/APKBUILD b/main/bsnes/APKBUILD
index 0916f07e7..67331253e 100644
--- a/main/bsnes/APKBUILD
+++ b/main/bsnes/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=bsnes
-pkgver=0.83
+pkgver=0.86
_x=${pkgver%.*}
_y=${pkgver#*.}
_pkgver="v${_x}${_y}"
@@ -11,13 +11,15 @@ url="http://byuu.org/bsnes/"
arch="all"
license="GPL"
depends=
-depends_dev="qt-dev openal-soft-dev sdl-dev alsa-lib-dev mesa-dev libao-dev libxv-dev"
+depends_dev="qt-dev openal-soft-dev sdl-dev alsa-lib-dev mesa-dev libao-dev
+ libxv-dev gtk+-dev"
makedepends="$depends_dev"
install=""
subpackages=
source="http://bsnes.googlecode.com/files/${pkgname}_${_pkgver}-source.tar.bz2
- nall-strlcpy.patch
- no-pulseaudio.patch"
+ no-pulseaudio.patch
+ define-disassembler_read-relb.patch
+ "
_builddir="${srcdir}/${pkgname}_${_pkgver}-source/bsnes"
prepare() {
@@ -40,6 +42,6 @@ package() {
make DESTDIR="$pkgdir" prefix=/usr profile=performance install || return 1
}
-md5sums="a1f017f5276ec5be0bc553db2b7e2241 bsnes_v083-source.tar.bz2
-11d7129c769add65a4b03ef9193729f2 nall-strlcpy.patch
-07caea846bf49ee6f5deaf999dffbd5f no-pulseaudio.patch"
+md5sums="54f73b38d24405186b538e01713b0c1f bsnes_v086-source.tar.bz2
+e67461ca1ffa9840936ed08e9a31d775 no-pulseaudio.patch
+4a820f42ecb7f17eab0ffd91ffd9a18b define-disassembler_read-relb.patch"
diff --git a/main/bsnes/define-disassembler_read-relb.patch b/main/bsnes/define-disassembler_read-relb.patch
new file mode 100644
index 000000000..323e4c385
--- /dev/null
+++ b/main/bsnes/define-disassembler_read-relb.patch
@@ -0,0 +1,13 @@
+diff --git a/bsnes/snes/alt/smp/smp.hpp b/bsnes/snes/alt/smp/smp.hpp
+index f81c454..ad04d3e 100755
+--- a/bsnes/snes/alt/smp/smp.hpp
++++ b/bsnes/snes/alt/smp/smp.hpp
+@@ -22,6 +22,8 @@ public:
+ ~SMP();
+
+ void disassemble_opcode(char *output, uint16 addr);
++ uint8 disassemble_read(uint16);
++ uint16 relb(int8, int);
+
+ //private:
+ struct Flags {
diff --git a/main/bsnes/nall-strlcpy.patch b/main/bsnes/nall-strlcpy.patch
deleted file mode 100644
index fa0859d44..000000000
--- a/main/bsnes/nall-strlcpy.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- ./bsnes/ui/tools/state-manager.cpp.orig
-+++ ./bsnes/ui/tools/state-manager.cpp
-@@ -135,7 +135,7 @@
- string StateManager::slotLoadDescription(unsigned n) {
- if(slot[n].capacity() == 0) return "(empty)";
- char text[DescriptionLength];
-- strlcpy(text, (const char*)slot[n].data() + HeaderLength, DescriptionLength);
-+ nall::strlcpy(text, (const char*)slot[n].data() + HeaderLength, DescriptionLength);
- return text;
- }
-
-@@ -143,7 +143,7 @@
- if(stateList.selected() == false) return;
- string text = descEdit.text();
- if(slot[stateList.selection()].capacity() > 0) {
-- strlcpy((char*)slot[stateList.selection()].data() + HeaderLength, (const char*)text, DescriptionLength);
-+ nall::strlcpy((char*)slot[stateList.selection()].data() + HeaderLength, (const char*)text, DescriptionLength);
- }
- refresh();
- }
---- ./bsnes/snes/system/serialization.cpp.orig
-+++ ./bsnes/snes/system/serialization.cpp
-@@ -7,7 +7,7 @@
- char description[512], profile[16];
- memset(&description, 0, sizeof description);
- memset(&profile, 0, sizeof profile);
-- strlcpy(profile, Info::Profile, sizeof profile);
-+ nall::strlcpy(profile, Info::Profile, sizeof profile);
-
- s.integer(signature);
- s.integer(version);
diff --git a/main/bsnes/no-pulseaudio.patch b/main/bsnes/no-pulseaudio.patch
index 5a5dea3e1..829670f71 100644
--- a/main/bsnes/no-pulseaudio.patch
+++ b/main/bsnes/no-pulseaudio.patch
@@ -1,11 +1,13 @@
---- bsnes_v077-source.orig/bsnes/ui/Makefile
-+++ bsnes_v077-source/bsnes/ui/Makefile
-@@ -14,7 +14,7 @@
- link += `pkg-config --libs QtCore QtGui`
-
+diff --git a/bsnes/ui/Makefile b/bsnes/ui/Makefile
+index 8b9a1a6..11e7b99 100755
+--- a/bsnes/ui/Makefile
++++ b/bsnes/ui/Makefile
+@@ -11,7 +11,7 @@ ui_objects += $(if $(call streq,$(platform),win),resource)
+ # platform
+ ifeq ($(platform),x)
ruby := video.glx video.xv video.sdl
- ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
+ ruby += audio.alsa audio.openal audio.oss audio.ao
ruby += input.sdl input.x
-
- link += $(if $(findstring audio.openal,$(ruby)),-lopenal)
+ else ifeq ($(platform),osx)
+ ruby :=
diff --git a/main/busybox-initscripts/APKBUILD b/main/busybox-initscripts/APKBUILD
index f676f2c4e..490a9325b 100644
--- a/main/busybox-initscripts/APKBUILD
+++ b/main/busybox-initscripts/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=busybox-initscripts
pkgver=2.2
-pkgrel=3
+pkgrel=5
pkgdesc="Init scripts for busybox daemons"
url="http://git.alpinelinux.org/cgit/aports/tree/core/busybox-initscripts"
arch="noarch"
@@ -67,10 +67,10 @@ c01dc869cbdd68e86e64a35ccc1e885e rdate.initd
22adbf155ffc4595206ded6daad07812 rdate.confd
77fb31a75511247bf4e3430565a276bc syslog.confd
0bb55dde32f5e119111fa4938daaef3d watchdog.confd
-a193d4aa411662dd31cd9b68bf38bd8f mdev.conf
+3ecc9a4aaa7c76a6592661ee950e09ae mdev.conf
ad1556961294e4aa2abca6be52138b7c dvbdev
5c8725b4cbdeda23b00f08124a0d20bf ide_links
c422992ca5bfdfabdbba1f1532bc1358 usbdev
30b0c85956b6701caf55309a17e537f6 usbdisk_link
826d85313ca7a4a0205d63bd58b7d01f xvd_links
-c92e18e9d47f4a2a6ca6b3a81ea2f838 default.script"
+a346e7a30915856bc53987846e09724c default.script"
diff --git a/main/busybox-initscripts/default.script b/main/busybox-initscripts/default.script
index c6cfbc5be..5447080ec 100644
--- a/main/busybox-initscripts/default.script
+++ b/main/busybox-initscripts/default.script
@@ -34,16 +34,35 @@ deconfig() {
ip addr flush dev $interface
}
+is_wifi() {
+ test -e /sys/class/net/$interface/phy80211
+}
+
+if_index() {
+ cat /sys/class/net/$interface/ifindex
+}
+
+calc_metric() {
+ local base=
+ if is_wifi; then
+ base=300
+ else
+ base=200
+ fi
+ echo $(( $base + $(if_index) ))
+}
+
routes() {
[ -z "$router" ] && return
- local gw metric
+ local gw= num=
while ip route del default via dev $interface 2>/dev/null; do
:
done
- metric=0
+ num=0
for gw in $router; do
- route add default gw $gw dev $interface metric $metric
- metric=$(( $metric + 1 ))
+ ip route add 0.0.0.0/0 via $gw dev $interface \
+ metric $(( $num + ${IF_METRIC:-$(calc_metric)} ))
+ num=$(( $num + 1 ))
done
}
diff --git a/main/busybox-initscripts/mdev.conf b/main/busybox-initscripts/mdev.conf
index 430e306ae..d89e18c54 100644
--- a/main/busybox-initscripts/mdev.conf
+++ b/main/busybox-initscripts/mdev.conf
@@ -79,7 +79,7 @@ ts[0-9] root:root 0600 =input/
# v4l stuff
vbi[0-9] root:video 0660 >v4l/
-video[0-9] root:video 0660 >v4l/
+video[0-9]+ root:video 0660 >v4l/
# dvb stuff
dvb.* root:video 0660 */lib/mdev/dvbdev
diff --git a/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch b/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch
new file mode 100644
index 000000000..b62ab4aad
--- /dev/null
+++ b/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch
@@ -0,0 +1,42 @@
+From bbf1e3c144c1ee93409a0e0546cb56b34eccfcfd Mon Sep 17 00:00:00 2001
+From: Denys Vlasenko <vda.linux@googlemail.com>
+Date: Sun, 5 Feb 2012 15:08:08 +0100
+Subject: [PATCH 1/4] acpid: do not install handlers for fatal signals
+
+For acpid, it's ok to die at once.
+
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+---
+ util-linux/acpid.c | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/util-linux/acpid.c b/util-linux/acpid.c
+index 361a2b2..1b22f3a 100644
+--- a/util-linux/acpid.c
++++ b/util-linux/acpid.c
+@@ -268,8 +268,12 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
+
+ xchdir(opt_dir);
+
++ /* We spawn children but don't wait for them. Prevent zombies: */
+ bb_signals((1 << SIGCHLD), SIG_IGN);
+- bb_signals(BB_FATAL_SIGS, record_signo);
++ // If you enable this, (1) explain why, (2)
++ // make sure while(poll) loop below is still interruptible
++ // by SIGTERM et al:
++ //bb_signals(BB_FATAL_SIGS, record_signo);
+
+ pfd = NULL;
+ nfd = 0;
+@@ -337,7 +341,7 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
+ }
+ if (!event)
+ continue;
+- // spawn event handler
++ /* spawn event handler */
+ process_event(event);
+ }
+ }
+--
+1.7.9.1
+
diff --git a/main/busybox/0001-acpid-fix-for-clean-exit-on-SIGTERM.patch b/main/busybox/0001-acpid-fix-for-clean-exit-on-SIGTERM.patch
deleted file mode 100644
index 421897188..000000000
--- a/main/busybox/0001-acpid-fix-for-clean-exit-on-SIGTERM.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4d5e59384109ab83309f07b67a1e2eef1f392daf Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 3 Feb 2012 14:32:51 +0100
-Subject: [PATCH] acpid: fix for clean exit on SIGTERM
-
-f4b2f335506e570a06d5eab09068da3f61 introduced safe_poll() and no
-longer exits on SIGTERM. We solve this by explicit checking for
-bb_got_signal.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- util-linux/acpid.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/util-linux/acpid.c b/util-linux/acpid.c
-index 361a2b2..63c7a6d 100644
---- a/util-linux/acpid.c
-+++ b/util-linux/acpid.c
-@@ -293,7 +293,7 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
-
- write_pidfile(opt_pidfile);
-
-- while (safe_poll(pfd, nfd, -1) > 0) {
-+ while (safe_poll(pfd, nfd, -1) > 0 && !bb_got_signal) {
- int i;
- for (i = 0; i < nfd; i++) {
- const char *event;
---
-1.7.9
-
diff --git a/main/busybox/0001-grep-support-for-x-match-whole-line.patch b/main/busybox/0001-grep-support-for-x-match-whole-line.patch
new file mode 100644
index 000000000..db8c4f2d9
--- /dev/null
+++ b/main/busybox/0001-grep-support-for-x-match-whole-line.patch
@@ -0,0 +1,68 @@
+From 7a526de36684e0c794c125d552931f59a91e445c Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 23 Feb 2012 14:08:45 +0000
+Subject: [PATCH] grep: support for -x, match whole line
+
+Specified in POSIX.
+http://pubs.opengroup.org/onlinepubs/009604499/utilities/grep.html
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ findutils/grep.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/findutils/grep.c b/findutils/grep.c
+index 5f42242..6125aca 100644
+--- a/findutils/grep.c
++++ b/findutils/grep.c
+@@ -85,6 +85,7 @@
+ //usage: "\n -r Recurse"
+ //usage: "\n -i Ignore case"
+ //usage: "\n -w Match whole words only"
++//usage: "\n -x Match whole lines only"
+ //usage: "\n -F PATTERN is a literal (not regexp)"
+ //usage: IF_FEATURE_GREP_EGREP_ALIAS(
+ //usage: "\n -E PATTERN is an extended regexp"
+@@ -113,7 +114,7 @@
+ //usage:#define fgrep_full_usage ""
+
+ #define OPTSTR_GREP \
+- "lnqvscFiHhe:f:Lorm:w" \
++ "lnqvscFiHhe:f:Lorm:wx" \
+ IF_FEATURE_GREP_CONTEXT("A:B:C:") \
+ IF_FEATURE_GREP_EGREP_ALIAS("E") \
+ IF_EXTRA_COMPAT("z") \
+@@ -138,6 +139,7 @@ enum {
+ OPTBIT_r, /* recurse dirs */
+ OPTBIT_m, /* -m MAX_MATCHES */
+ OPTBIT_w, /* -w whole word match */
++ OPTBIT_x, /* -x whole line match */
+ IF_FEATURE_GREP_CONTEXT( OPTBIT_A ,) /* -A NUM: after-match context */
+ IF_FEATURE_GREP_CONTEXT( OPTBIT_B ,) /* -B NUM: before-match context */
+ IF_FEATURE_GREP_CONTEXT( OPTBIT_C ,) /* -C NUM: -A and -B combined */
+@@ -160,6 +162,7 @@ enum {
+ OPT_r = 1 << OPTBIT_r,
+ OPT_m = 1 << OPTBIT_m,
+ OPT_w = 1 << OPTBIT_w,
++ OPT_x = 1 << OPTBIT_x,
+ OPT_A = IF_FEATURE_GREP_CONTEXT( (1 << OPTBIT_A)) + 0,
+ OPT_B = IF_FEATURE_GREP_CONTEXT( (1 << OPTBIT_B)) + 0,
+ OPT_C = IF_FEATURE_GREP_CONTEXT( (1 << OPTBIT_C)) + 0,
+@@ -370,9 +373,12 @@ static int grep_file(FILE *file)
+ &gl->matched_range) >= 0
+ #endif
+ ) {
+- if (!(option_mask32 & OPT_w))
++ if (option_mask32 & OPT_x) {
++ found = (gl->matched_range.rm_so == 0
++ && line[gl->matched_range.rm_eo] == 0);
++ } else if (!(option_mask32 & OPT_w)) {
+ found = 1;
+- else {
++ } else {
+ char c = ' ';
+ if (gl->matched_range.rm_so)
+ c = line[gl->matched_range.rm_so - 1];
+--
+1.7.9.2
+
diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD
index e520d049f..460c753bb 100644
--- a/main/busybox/APKBUILD
+++ b/main/busybox/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=busybox
-pkgver=1.19.3
-pkgrel=7
+pkgver=1.19.4
+pkgrel=1
pkgdesc="Size optimized toolbox of many common UNIX utilities"
url=http://busybox.net
arch="all"
@@ -20,12 +20,8 @@ source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2
0001-loginutils-use-sha512.patch
acpid.patch
busybox-mkdir-permissions-64bit.patch
- 0001-acpid-fix-for-clean-exit-on-SIGTERM.patch
-
- http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-getty.patch
- http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-modinfo.patch
- http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-wget.patch
- http://busybox.net/downloads/fixes-1.19.3/busybox-1.19.3-mdev.patch
+ 0001-acpid-do-not-install-handlers-for-fatal-signals.patch
+ 0001-grep-support-for-x-match-whole-line.patch
busyboxconfig"
@@ -87,7 +83,7 @@ static() {
"$subpkgdir"/bin/busybox.static
}
-md5sums="c3938e1ac59602387009bbf1dd1af7f6 busybox-1.19.3.tar.bz2
+md5sums="9c0cae5a0379228e7b55e5b29528df8e busybox-1.19.4.tar.bz2
b7b06c7d5cff6935e4ff68a245cc64b5 bbsuid.c
d64b58a30892c558bdbab7f0d0997577 nologin.c
4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch
@@ -96,9 +92,6 @@ b5375210f13fd6e1ca61a565e8fabd35 busybox-uname-is-not-gnu.patch
784383013b8f015fb0d214618c46b4b8 0001-loginutils-use-sha512.patch
361a26d690e6f1585c6710b3afeb10a6 acpid.patch
78bb1e70897124a0e09d50c425210e83 busybox-mkdir-permissions-64bit.patch
-058da9d0a595430e840e5793b5a5d059 0001-acpid-fix-for-clean-exit-on-SIGTERM.patch
-5ed72ca85b8fba4598d64a550210b31f busybox-1.19.3-getty.patch
-41636628e481f22b8774b6bee1eebfb1 busybox-1.19.3-modinfo.patch
-cb48bffc0e1e3be527cd4ff67324a2a2 busybox-1.19.3-wget.patch
-7c809b9cd30f40354be90663d5f18bef busybox-1.19.3-mdev.patch
+cfafb917f777437f428ea97da0a63915 0001-acpid-do-not-install-handlers-for-fatal-signals.patch
+699701047d05468a13e5c37b5ebc3824 0001-grep-support-for-x-match-whole-line.patch
42e2f49483e650193c0e142ade7de142 busyboxconfig"
diff --git a/main/ca-certificates/APKBUILD b/main/ca-certificates/APKBUILD
index 2e651df86..c335e0a81 100644
--- a/main/ca-certificates/APKBUILD
+++ b/main/ca-certificates/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ca-certificates
-pkgver=20111211
+pkgver=20120212
_date=${pkgver%_p*}
_nmu="+nmu${pkgver#*_p}"
@@ -43,4 +43,4 @@ package() {
find . -name '*.crt' | sort | cut -b3-
) > "$pkgdir"/etc/ca-certificates.conf
}
-md5sums="f99a90a91b23338b4df765c0d18eba73 ca-certificates_20111211.tar.gz"
+md5sums="391dea8d827db935ca0d0d1e6641bf23 ca-certificates_20120212.tar.gz"
diff --git a/main/cegui06/APKBUILD b/main/cegui06/APKBUILD
index fc98778b9..545b62686 100644
--- a/main/cegui06/APKBUILD
+++ b/main/cegui06/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cegui06
pkgver=0.6.2b
-pkgrel=2
+pkgrel=4
pkgdesc="CEGUI library 0.6 for apps which need this specific version"
url="http://www.cegui.org.uk"
arch="all"
diff --git a/main/clamav/APKBUILD b/main/clamav/APKBUILD
index a515a4023..fe01d96f6 100644
--- a/main/clamav/APKBUILD
+++ b/main/clamav/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=clamav
pkgver=0.97.3
-pkgrel=0
+pkgrel=3
pkgusers=clamav
pkggroups=clamav
pkgdesc="An anti-virus toolkit for UNIX"
@@ -11,7 +11,7 @@ arch="all"
license="GPL"
depends="$pkgname-scanner $pkgname-daemon"
install=""
-makedepends="ncurses-dev zlib-dev"
+makedepends="ncurses-dev zlib-dev bzip2-dev"
subpackages="$pkgname-doc $pkgname-dev $pkgname-lib $pkgname-libunrar
$pkgname-daemon $pkgname-scanner $pkgname-db"
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
@@ -54,6 +54,7 @@ package() {
lib() {
pkgdesc="ClamAV library"
depends=""
+ replaces="clamav"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libclamav.so.* \
"$subpkgdir"/usr/lib/
@@ -149,9 +150,9 @@ daemon() {
}
md5sums="5cf25ed7778fa0cb6b140ad8f009befb clamav-0.97.3.tar.gz
-d64432c463850663c5041c3097f3e903 clamd.initd
+db77dd9d975b9d3d525c44e50fb202b9 clamd.initd
567bc32b657dd7031b9b7beaa946203a clamd.confd
-f4d1f415322905128dc27135566ad136 freshclam.initd
+daff7838573513114a6404878ccac225 freshclam.initd
e48466ddfb56f66c623b83e58777b778 freshclam.confd
0d08fd29656bd4b018ecf8ce9706ac55 clamav-0.95.1-nls.patch
ae1e48ab56a0fff1acdde023c1f6f350 clamd.logrotate
diff --git a/main/clamav/clamd.initd b/main/clamav/clamd.initd
index 2864267e1..0e1701024 100644
--- a/main/clamav/clamd.initd
+++ b/main/clamav/clamd.initd
@@ -1,6 +1,8 @@
#!/sbin/runscript
-opts="logfix reload"
+extra_started_commands="reload"
+extra_commands="logfix"
+
NAME=clamd
CONF=/etc/clamav/clamd.conf
diff --git a/main/clamav/freshclam.initd b/main/clamav/freshclam.initd
index f25fec434..2efd2e48d 100644
--- a/main/clamav/freshclam.initd
+++ b/main/clamav/freshclam.initd
@@ -1,6 +1,7 @@
#!/sbin/runscript
-opts="logfix reload"
+extra_started_commands="reload"
+extra_commands="logfix"
NAME=freshclam
DAEMON=/usr/bin/$NAME
diff --git a/main/claws-mail/APKBUILD b/main/claws-mail/APKBUILD
index 3f50e96db..2dd456eb1 100644
--- a/main/claws-mail/APKBUILD
+++ b/main/claws-mail/APKBUILD
@@ -1,14 +1,15 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=claws-mail
pkgver=3.8.0
-pkgrel=1
+pkgrel=2
pkgdesc="A GTK+ based e-mail client."
url="http://www.claws-mail.org"
arch="all"
license="GPL3"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
makedepends="gtk+-dev openssl-dev startup-notification-dev enchant-dev
- libsm-dev gnutls-dev curl-dev dbus-glib-dev libetpan-dev openldap-dev"
+ libgcrypt-dev libsm-dev gnutls-dev curl-dev dbus-glib-dev
+ libetpan-dev openldap-dev gpgme-dev"
depends=
install=
source="http://downloads.sourceforge.net/sourceforge/sylpheed-claws/$pkgname-$pkgver.tar.bz2
diff --git a/main/cloog/APKBUILD b/main/cloog/APKBUILD
index 2520506c7..ad504d0d6 100644
--- a/main/cloog/APKBUILD
+++ b/main/cloog/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cloog
-pkgver=0.16.3
+pkgver=0.17.0
pkgrel=0
pkgdesc="The Chunky Loop Generator"
url="http://www.cloog.org/"
@@ -48,4 +48,4 @@ dev() {
"$subpkgdir"/usr/share/gdb/python/auto-load/usr/lib/
}
-md5sums="a0f8a241cd1c4f103f8d2c91642b3498 cloog-0.16.3.tar.gz"
+md5sums="0aa3302c81f65ca62c114e5264f8a802 cloog-0.17.0.tar.gz"
diff --git a/main/collectd/APKBUILD b/main/collectd/APKBUILD
index f5a3d78b9..626c14142 100644
--- a/main/collectd/APKBUILD
+++ b/main/collectd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor:
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=collectd
-pkgver=5.0.2
+pkgver=5.0.3
pkgrel=0
pkgdesc="The system statistics collection daemon"
url="http://collectd.org"
@@ -91,5 +91,5 @@ mysql() { _plugin mysql; }
network() { _plugin network; }
rrdtool() { _plugin rrdtool; }
-md5sums="47f70ae20801f10be355dc8109d696aa collectd-5.0.2.tar.bz2
+md5sums="d4a8584733572f7568709154e77d8bd3 collectd-5.0.3.tar.bz2
13a36ae2f92634b5619ab94224e1b77d collectd.initd"
diff --git a/main/cups/APKBUILD b/main/cups/APKBUILD
index 9ba85a5a2..214c3a7e1 100644
--- a/main/cups/APKBUILD
+++ b/main/cups/APKBUILD
@@ -1,17 +1,18 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cups
pkgver=1.5.2
-pkgrel=0
+pkgrel=3
pkgdesc="The CUPS Printing System"
url="http://www.cups.org/"
arch="all"
license="GPL"
subpackages="$pkgname-dev $pkgname-doc libcups $pkgname-client $pkgname-lang"
makedepends="openssl-dev libpaper-dev dbus-dev jpeg-dev>=8 zlib-dev"
-depends="cups-client poppler-utils"
-install=
+depends="cups-client poppler-utils openssl dbus"
+install="cups.pre-install"
pkggroups="lp lpadmin"
pkgusers="lp"
+replaces="cups-doc"
source="ftp://ftp.easysw.com/pub/$pkgname/$pkgver/$pkgname-$pkgver-source.tar.bz2
$pkgname.logrotate
cupsd.initd
@@ -37,7 +38,7 @@ build() {
--sysconfdir=/etc \
--localstatedir=/var \
--with-logdir=/var/log/cups \
- --with-docdir=/usr/share/doc/cups \
+ --with-docdir=/usr/share/cups \
--with-cups-user=lp \
--with-cups-group=lp \
--with-system-groups=lpadmin \
diff --git a/main/cups/cups.pre-install b/main/cups/cups.pre-install
new file mode 100644
index 000000000..f6b88cbd2
--- /dev/null
+++ b/main/cups/cups.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+addgroup -S ldadmin 2>/dev/null
+addgroup -S lp 2>/dev/null
+adduser -S -G lp lp 2>/dev/null
+addgroup lp lp 2>/dev/null
+exit 0
diff --git a/main/dahdi-linux-grsec/APKBUILD b/main/dahdi-linux-grsec/APKBUILD
index 14388e21e..b7edb5aa0 100644
--- a/main/dahdi-linux-grsec/APKBUILD
+++ b/main/dahdi-linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Timo Teras <timo.teras@iki.fi>
_flavor=grsec
-_kver=3.2.6
+_kver=3.2.11
_kpkgrel=0
_mypkgrel=0
diff --git a/main/dahdi-linux-vserver/APKBUILD b/main/dahdi-linux-vserver/APKBUILD
index 5d3d863f5..fb7333331 100644
--- a/main/dahdi-linux-vserver/APKBUILD
+++ b/main/dahdi-linux-vserver/APKBUILD
@@ -4,9 +4,9 @@
_flavor=${FLAVOR:-vserver}
_realname=dahdi-linux
_name=$_realname-$_flavor
-_kver=3.2.5
+_kver=3.2.11
_kpkgrel=0
-_myvsver=vs2.3.2.6
+_myvsver=vs2.3.2.8
# verify the kernel version before entering chroot
if [ -f ../linux-${_flavor}/APKBUILD ]; then
diff --git a/main/dansguardian/APKBUILD b/main/dansguardian/APKBUILD
index 003ef7db7..ee273743e 100644
--- a/main/dansguardian/APKBUILD
+++ b/main/dansguardian/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dansguardian
pkgver=2.10.1.1
-pkgrel=8
+pkgrel=9
pkgdesc="Web content filter"
url="http://dansguardian.org"
arch="all"
diff --git a/main/dbus/APKBUILD b/main/dbus/APKBUILD
index 81b4c5277..bb5f8ec3c 100644
--- a/main/dbus/APKBUILD
+++ b/main/dbus/APKBUILD
@@ -1,13 +1,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dbus
pkgver=1.4.16
-pkgrel=1
+pkgrel=3
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
pkggroups="messagebus"
arch="all"
license="GPL custom"
-subpackages="$pkgname-dev $pkgname-doc"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-x11"
triggers="$pkgname.trigger=/etc/dbus-1/system.d"
depends=
makedepends="expat-dev libx11-dev pkgconfig util-linux-dev"
@@ -41,5 +41,20 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm755 "$srcdir"/dbus.initd "$pkgdir"/etc/init.d/dbus
}
+
+libs() {
+ pkgdesc="Libraries for acces D-BUS"
+ replaces="dbus"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib*.so.* "$subpkgdir"/usr/lib/
+}
+
+x11() {
+ pkgdesc="X11-requiring add-ons for D-BUS"
+ depends="dbus=$pkgver-r$pkgrel"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/dbus-launch "$subpkgdir"/usr/bin/
+}
+
md5sums="44a2a10678e7e50460879c3eb4453a65 dbus-1.4.16.tar.gz
bc835765907698a95da8d8e5bf199378 dbus.initd"
diff --git a/main/dhcpcd/APKBUILD b/main/dhcpcd/APKBUILD
index 7c6885dc1..1e6ea59bc 100644
--- a/main/dhcpcd/APKBUILD
+++ b/main/dhcpcd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dhcpcd
-pkgver=5.2.12
+pkgver=5.5.4
pkgrel=0
pkgdesc="RFC2131 compliant DHCP client"
url="http://roy.marples.name/projects/dhcpcd/"
@@ -28,5 +28,5 @@ package() {
install -Dm755 "$srcdir"/dhcpcd.initd "$pkgdir"/etc/init.d/dhcpcd
}
-md5sums="832e3cd6bfcaff64e9476e0ff7849e8f dhcpcd-5.2.12.tar.bz2
+md5sums="e6f73475ff6f34ba47bd6a11c0e2e137 dhcpcd-5.5.4.tar.bz2
ecbd807cf3f87d7c5b6095bf63f26894 dhcpcd.initd"
diff --git a/main/dnsmasq/APKBUILD b/main/dnsmasq/APKBUILD
index a7aed4d2b..ee77f1270 100644
--- a/main/dnsmasq/APKBUILD
+++ b/main/dnsmasq/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dnsmasq
-pkgver=2.59
-pkgrel=1
+pkgver=2.60
+pkgrel=0
pkgdesc="Small forwarding DNS server"
url="http://www.thekelleys.org.uk/dnsmasq/"
arch="all"
@@ -37,6 +37,6 @@ package() {
install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
install dnsmasq.conf.example "$pkgdir"/etc/dnsmasq.conf
}
-md5sums="b5757ef2d7b651748eeebb88af29d7d6 dnsmasq-2.59.tar.gz
+md5sums="5a09908e02724d759ac60d9cafd27de8 dnsmasq-2.60.tar.gz
006fed857314053b870ff1927c12ae78 dnsmasq.initd
16985abb08c8e11f85e38b37ea3863a4 dnsmasq.confd"
diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD
index 51e016b23..9d9cf0eec 100644
--- a/main/dovecot/APKBUILD
+++ b/main/dovecot/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dovecot
-pkgver=2.0.18
+pkgver=2.1.3
pkgrel=0
pkgdesc="IMAP and POP3 server"
url="http://www.dovecot.org/"
@@ -16,7 +16,7 @@ install="dovecot.pre-install dovecot.post-install"
subpackages="$pkgname-sample-config:config $pkgname-doc $pkgname-dev
$pkgname-pgsql $pkgname-mysql $pkgname-sqlite $pkgname-gssapi
$pkgname-ldap"
-source="http://www.dovecot.org/releases/2.0/$pkgname-$pkgver.tar.gz
+source="http://www.dovecot.org/releases/${pkgver%.*}/$pkgname-$pkgver.tar.gz
dovecot.logrotate
dovecot.initd
dovecot-sample-config.post-install
@@ -116,7 +116,7 @@ config() {
mkdir -p "$subpkgdir"/etc/dovecot/conf.d
}
-md5sums="4fdee96b390a287d75b51ffcf6abe30f dovecot-2.0.18.tar.gz
+md5sums="a0e25243862c61de6274cf7d682a76ec dovecot-2.1.3.tar.gz
aec5cc797ab2acf72ce3b6bb1030345f dovecot.logrotate
59f210c712284a82e3a65b4126ddd99c dovecot.initd
95cf57ecc835882228bbbb019ce3abf8 dovecot-sample-config.post-install"
diff --git a/main/doxygen/APKBUILD b/main/doxygen/APKBUILD
index 405054911..f62cec323 100644
--- a/main/doxygen/APKBUILD
+++ b/main/doxygen/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=doxygen
-pkgver=1.7.6.1
+pkgver=1.8.0
pkgrel=0
pkgdesc="A documentation system for C++, C, Java, IDL and PHP"
url="http://www.doxygen.org/"
@@ -43,4 +43,4 @@ package() {
make DESTDIR="$pkgdir" MAN1DIR=share/man/man1 install
}
-md5sums="084f1db244b77b3abff335550ef8eec5 doxygen-1.7.6.1.src.tar.gz"
+md5sums="5ff66c50ca9288d9a3d695a031f6950c doxygen-1.8.0.src.tar.gz"
diff --git a/main/dropbear/APKBUILD b/main/dropbear/APKBUILD
index ecd4c4614..37915562f 100644
--- a/main/dropbear/APKBUILD
+++ b/main/dropbear/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter at gmail>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dropbear
-pkgver=0.53.1
-pkgrel=1
+pkgver=2012.55
+pkgrel=0
pkgdesc="small SSH 2 client/server designed for small memory environments"
url="http://matt.ucc.asn.au/dropbear/dropbear.html"
arch="all"
@@ -45,7 +45,7 @@ package() {
"$pkgdir"/etc/conf.d/dropbear || return 1
}
-md5sums="0284ea239083f04c8b874e08e1aca243 dropbear-0.53.1.tar.bz2
+md5sums="8c784baec3054cdb1bb4bfa792c87812 dropbear-2012.55.tar.bz2
d181e2234f34ae5b1e45f8ebf5f14e07 dropbear.initd
af73c487e2be37d65d0e8bf80489357e dropbear.confd
d33de2027d5dc851762b65b276f1ac83 dropbear-0.53.1-static_build_fix.patch"
diff --git a/main/espeak/APKBUILD b/main/espeak/APKBUILD
index 25661da8f..39698ff19 100644
--- a/main/espeak/APKBUILD
+++ b/main/espeak/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=espeak
-pkgver=1.46.01
+pkgver=1.46.02
pkgrel=0
pkgdesc="Speech synthesizer for English and other languages"
url="http://espeak.sourceforge.net/"
@@ -23,4 +23,4 @@ package() {
make AUDIO=none DESTDIR="$pkgdir" install || return 1
}
-md5sums="a3e9de4b2a56ec19c059115dca587494 espeak-1.46.01-source.zip"
+md5sums="84e8e44562f05a3afc5427218afc8af1 espeak-1.46.02-source.zip"
diff --git a/main/fail2ban/APKBUILD b/main/fail2ban/APKBUILD
index 170032b4e..8ca1be39b 100644
--- a/main/fail2ban/APKBUILD
+++ b/main/fail2ban/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Jeff Bilyk <jbilyk@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=fail2ban
-pkgver=0.8.4
-pkgrel=2
+pkgver=0.8.6
+pkgrel=0
pkgdesc="Scans log files for login failures then updates iptables to reject originating ip address"
url="http://www.fail2ban.org"
arch="noarch"
@@ -10,16 +10,14 @@ license="GPLv2"
depends="python iptables logrotate"
makedepends="python-dev"
install=""
-source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
- gentoo-initd_create_run_dir.patch
+source="https://github.com/downloads/fail2ban/fail2ban/fail2ban_${pkgver}.orig.tar.gz
fail2ban.confd
fail2ban.logrotate
"
-_builddir="$srcdir/$pkgname-$pkgver"
prepare() {
local i
- cd "$_builddir"
+ cd "$srcdir"/fail2ban-*
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
@@ -28,11 +26,11 @@ prepare() {
}
build() {
- cd "$_builddir"
+ return 0
}
package() {
- cd "$_builddir"
+ cd "$srcdir"/fail2ban-*
python setup.py install --root "$pkgdir" || return 1
install -Dm755 files/gentoo-initd "$pkgdir"/etc/init.d/fail2ban \
|| return 1
@@ -42,7 +40,6 @@ package() {
"$pkgdir"/etc/logrotate.d/fail2ban || return 1
}
-md5sums="df94335a5d12b4750869e5fe350073fa fail2ban-0.8.4.tar.bz2
-61580eb6d8d9a4d187e97bc27f2fcb1e gentoo-initd_create_run_dir.patch
+md5sums="a5f08a67fe6bfb0580043d90c6f81cfd fail2ban_0.8.6.orig.tar.gz
b209a04f9314dd064a4aa0ee505c8a4d fail2ban.confd
6d1af6ceebd15c8ae3938bc675efe553 fail2ban.logrotate"
diff --git a/main/fail2ban/gentoo-initd_create_run_dir.patch b/main/fail2ban/gentoo-initd_create_run_dir.patch
deleted file mode 100644
index 79a947956..000000000
--- a/main/fail2ban/gentoo-initd_create_run_dir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: fail2ban-0.8.4/files/gentoo-initd
-===================================================================
---- fail2ban-0.8.4.orig/files/gentoo-initd
-+++ fail2ban-0.8.4/files/gentoo-initd
-@@ -31,6 +31,14 @@ depend() {
-
- start() {
- ebegin "Starting fail2ban"
-+ if [ ! -d /var/run/fail2ban ]; then
-+ mkdir /var/run/fail2ban || return 1
-+ fi
-+ if [ -e /var/run/fail2ban/fail2ban.sock ]; then
-+ # remove stalled sock file after system crash
-+ # bug 347477
-+ rm -rf /var/run/fail2ban/fail2ban.sock || return 1
-+ fi
- ${FAIL2BAN} start &> /dev/null
- eend $? "Failed to start fail2ban"
- }
diff --git a/main/feh/APKBUILD b/main/feh/APKBUILD
index b4356409b..617ac1654 100644
--- a/main/feh/APKBUILD
+++ b/main/feh/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=feh
-pkgver=2.3
+pkgver=2.4
pkgrel=0
pkgdesc="feh is a fast, lightweight image viewer which uses imlib2"
url="http://www.linuxbrit.co.uk/feh/"
@@ -24,4 +24,4 @@ package() {
make DESTDIR=$pkgdir docsdir=/usr/share/doc/feh install || return 1
install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-md5sums="f96d2ec75150a6122c57893d295301b4 feh-2.3.tar.bz2"
+md5sums="b88fbec54471f7f82974511ab7f6da60 feh-2.4.tar.bz2"
diff --git a/main/ffmpeg/APKBUILD b/main/ffmpeg/APKBUILD
index fdea0a011..07e823f99 100644
--- a/main/ffmpeg/APKBUILD
+++ b/main/ffmpeg/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ffmpeg
-pkgver=0.10
-pkgrel=2
+pkgver=0.10.2
+pkgrel=0
pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
url="http://ffmpeg.org/"
arch="all"
@@ -67,5 +67,5 @@ libs() {
mv "$pkgdir"/usr/lib "$subpkgdir"/usr
}
-md5sums="dc665cc599a739e3c5262ccdac13d129 ffmpeg-0.10.tar.bz2
+md5sums="de1bd5fc4bbf3ef730a5361ee596fedd ffmpeg-0.10.2.tar.bz2
2cdc11a99bf97c63c7cca27b073cb47c configure-dlvsym.patch"
diff --git a/main/file/APKBUILD b/main/file/APKBUILD
index 41c41d6c2..cd0cfb5a0 100644
--- a/main/file/APKBUILD
+++ b/main/file/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=file
-pkgver=5.10
+pkgver=5.11
pkgrel=0
pkgdesc="File type identification utility"
url="http://www.darwinsys.com/file/"
@@ -21,4 +21,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="4cea34b087b060772511e066e2038196 file-5.10.tar.gz"
+md5sums="16a407bd66d6c7a832f3a5c0d609c27b file-5.11.tar.gz"
diff --git a/main/firefox/APKBUILD b/main/firefox/APKBUILD
index 4ac9f722f..65b5eff3d 100644
--- a/main/firefox/APKBUILD
+++ b/main/firefox/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=firefox
-pkgver=10.0.1
+pkgver=11.0
_pkgver=$pkgver
-_xulver=10.0.1
-pkgrel=1
+_xulver=$pkgver
+pkgrel=0
pkgdesc="firefox web browser"
url="http://www.firefox.com"
arch="all"
@@ -116,7 +116,7 @@ __EOF__
chmod 755 "$pkgdir"/usr/bin/firefox
}
-md5sums="265c53120fd923c742164b0002ebbf6c firefox-10.0.1.source.tar.bz2
+md5sums="4b07acf47857aff72776d805409cdd1b firefox-11.0.source.tar.bz2
3ba2cb7cda675e78eb0eeb0652ee3457 mozconfig
2328df219e042f6aaec361cbf83cf9e9 firefox-5.0-asciidel.patch
1084155dd8d32c488dfcafff336d2634 libvpx.patch
diff --git a/main/freeglut/APKBUILD b/main/freeglut/APKBUILD
index 1cb5547bf..d6a894370 100644
--- a/main/freeglut/APKBUILD
+++ b/main/freeglut/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=freeglut
-pkgver=2.6.0
-pkgrel=2
+pkgver=2.8.0
+pkgrel=0
pkgdesc="free reimplementation of OpenGL Utility Toolkit (GLUT) library"
url="http://freeglut.sourceforge.net/"
arch="all"
@@ -40,4 +40,4 @@ package() {
install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="39f0f2de89f399529d2b981188082218 freeglut-2.6.0.tar.gz"
+md5sums="5db8651af306bc403fbfd36934a20e1d freeglut-2.8.0.tar.gz"
diff --git a/main/freeradius/APKBUILD b/main/freeradius/APKBUILD
index 616ecc87b..32d4ad0dd 100644
--- a/main/freeradius/APKBUILD
+++ b/main/freeradius/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=freeradius
pkgver=2.1.12
-pkgrel=1
+pkgrel=2
pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server"
url="http://freeradius.org/"
arch="all"
diff --git a/main/freerdp/APKBUILD b/main/freerdp/APKBUILD
index 8c6d169ee..f1739a7e1 100644
--- a/main/freerdp/APKBUILD
+++ b/main/freerdp/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=freerdp
pkgver=1.0.1
-pkgrel=0
+pkgrel=1
pkgdesc="Free RDP client"
url="http://freerdp.sourceforge.net"
arch="all"
@@ -12,7 +12,8 @@ makedepends="openssl-dev libxcursor-dev cups-dev alsa-lib-dev ffmpeg-dev
cups-dev libxkbfile-dev libxinerama-dev libxv-dev libxdamage-dev
wget cmake"
source="https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-$pkgver.tar.gz
- pluginpath.patch"
+ pluginpath.patch
+ futimens.patch"
prepare() {
cd "$srcdir"/FreeRDP-FreeRDP-*
@@ -25,6 +26,7 @@ prepare() {
build() {
cd "$srcdir"/FreeRDP-FreeRDP-*
+ export CFLAGS="$CFLAGS -D_BSD_SOURCE"
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
@@ -52,4 +54,5 @@ plugins() {
}
md5sums="1282189a87893bf196da20382e45f6c1 FreeRDP-1.0.1.tar.gz
-f18b6a675341d8e9755941afd4fc8d82 pluginpath.patch"
+f18b6a675341d8e9755941afd4fc8d82 pluginpath.patch
+b9673acd41c4205cd32e5412dcb07515 futimens.patch"
diff --git a/main/freerdp/futimens.patch b/main/freerdp/futimens.patch
new file mode 100644
index 000000000..ee538201a
--- /dev/null
+++ b/main/freerdp/futimens.patch
@@ -0,0 +1,25 @@
+--- ./channels/rdpdr/disk/disk_file.c.orig
++++ ./channels/rdpdr/disk/disk_file.c
+@@ -414,7 +414,7 @@
+ char* fullpath;
+ struct stat st;
+ UNICONV* uniconv;
+- struct timeval tv[2];
++ struct timespec tv[2];
+ uint64 LastWriteTime;
+ uint32 FileAttributes;
+ uint32 FileNameLength;
+@@ -433,10 +433,10 @@
+ return false;
+
+ tv[0].tv_sec = st.st_atime;
+- tv[0].tv_usec = 0;
++ tv[0].tv_nsec = 0;
+ tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime);
+- tv[1].tv_usec = 0;
+- futimes(file->fd, tv);
++ tv[1].tv_nsec = 0;
++ futimens(file->fd, tv);
+
+ if (FileAttributes > 0)
+ {
diff --git a/main/freeswitch/0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch b/main/freeswitch/0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
deleted file mode 100644
index ccf4e5c6e..000000000
--- a/main/freeswitch/0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 67a60b5bf50fbfdf184dc4cb20a88d8d88ff59ad Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Fri, 10 Jun 2011 11:58:19 +0300
-Subject: [PATCH 1/2] mod_sofia: update mod_sofia_globals.guess_ip on address change
-
-So that we rebind to the new IP-address after reloading
-configuration. Fixes FS-3336.
----
- src/mod/endpoints/mod_sofia/mod_sofia.c | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c
-index 86fa140..b06eacb 100644
---- a/src/mod/endpoints/mod_sofia/mod_sofia.c
-+++ b/src/mod/endpoints/mod_sofia/mod_sofia.c
-@@ -4889,6 +4889,8 @@ static void general_event_handler(switch_event_t *event)
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "EVENT_TRAP: IP change detected\n");
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "IP change detected [%s]->[%s] [%s]->[%s]\n", old_ip4, new_ip4, old_ip6, new_ip6);
-
-+ strncpy(mod_sofia_globals.guess_ip, new_ip4, sizeof(mod_sofia_globals.guess_ip));
-+
- switch_mutex_lock(mod_sofia_globals.hash_mutex);
- if (mod_sofia_globals.profile_hash) {
- for (hi = switch_hash_first(NULL, mod_sofia_globals.profile_hash); hi; hi = switch_hash_next(hi)) {
---
-1.7.1
-
diff --git a/main/freeswitch/0003-mod_conference_no_hangup.patch b/main/freeswitch/0003-mod_conference_no_hangup.patch
deleted file mode 100644
index 577ca8e1a..000000000
--- a/main/freeswitch/0003-mod_conference_no_hangup.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c
-index 572fdf0..d62d114 100644
---- a/src/mod/applications/mod_conference/mod_conference.c
-+++ b/src/mod/applications/mod_conference/mod_conference.c
-@@ -1482,13 +1482,15 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
- if (!switch_test_flag(imember, MFLAG_NOCHANNEL)) {
- channel = switch_core_session_get_channel(imember->session);
-
-- /* add this little bit to preserve the bridge cause code in case of an early media call that */
-- /* never answers */
-- if (switch_test_flag(conference, CFLAG_ANSWERED)) {
-- switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
-- } else {
-- /* put actual cause code from outbound channel hangup here */
-- switch_channel_hangup(channel, conference->bridge_hangup_cause);
-+ if (!switch_false(switch_channel_get_variable(channel, "hangup_after_conference"))) {
-+ /* add this little bit to preserve the bridge cause code in case of an early media call that */
-+ /* never answers */
-+ if (switch_test_flag(conference, CFLAG_ANSWERED)) {
-+ switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
-+ } else {
-+ /* put actual cause code from outbound channel hangup here */
-+ switch_channel_hangup(channel, conference->bridge_hangup_cause);
-+ }
- }
- }
-
diff --git a/main/freeswitch/APKBUILD b/main/freeswitch/APKBUILD
index 591a42d81..356725187 100644
--- a/main/freeswitch/APKBUILD
+++ b/main/freeswitch/APKBUILD
@@ -1,33 +1,51 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=freeswitch
-pkgver=1.0.7_p20110602
-_ver=${pkgver%_p*}
-_snapshot=${pkgver#*_p}
-pkgrel=7
+_snapshot=20120312
+pkgver=1.0.7_p${_snapshot}
+_commit=5e4a514531de2a1d8040c3d306a9e8de426de566
+pkgrel=1
pkgdesc="A communications platform written in C from the ground up"
url="http://www.freeswitch.org"
arch="all"
license="GPL"
depends=""
+pkgusers="freeswitch"
+pkggroups="freeswitch"
makedepends="curl-dev unixodbc-dev zlib-dev openssl-dev ncurses-dev
autoconf automake libtool libpri-dev bash net-snmp-dev postgresql-dev
libiconv-dev subversion flac-dev libogg-dev libvorbis-dev
jpeg-dev sngtc_client-dev"
-install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-upgrade"
+install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="$pkgname-dev $pkgname-flite $pkgname-timezones
$pkgname-sample-config:conf $pkgname-freetdm $pkgname-sangoma"
-source="saveas-http://latest.freeswitch.org/freeswitch-$_ver.tar.gz/freeswitch-$pkgver.tar.gz
+#hmm, saveas doesn't work with https...
+source="http://git.freeswitch.org/git/freeswitch/snapshot/$pkgname-$_commit.tar.bz2
freeswitch-mod_shout-textrels.patch
- 0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
0002-mod_lua-alpine-module-search-path.patch
- 0003-mod_conference_no_hangup.patch
modules.conf
freeswitch.confd
freeswitch.initd
"
-_builddir="$srcdir/$pkgname-$_ver"
+snapshot() {
+ current_head=$(curl http://git.freeswitch.org/git/freeswitch/patch/ | head -n1 | cut -d" " -f2)
+ current_snapshot=$(grep -e "^_snapshot=.*$" APKBUILD | cut -d"=" -f2)
+ new_snapshot=$(date +"%Y%m%d")
+ if [ "$current_snapshot" = "$new_snapshot" ]; then
+ old_pkgrel=$(grep -e "^pkgrel=.*$" APKBUILD | cut -d"=" -f2)
+ new_pkgrel=$(expr $old_pkgrel + 1 )
+ else
+ new_pkgrel=0
+ fi
+ sed -i "s/^_commit=.*$/_commit=$current_head/" APKBUILD
+ sed -i "s/^pkgrel=.*$/pkgrel=$new_pkgrel/" APKBUILD
+ sed -i "s/^_snapshot=.*$/_snapshot=$new_snapshot/" APKBUILD
+ abuild fetch
+ abuild checksum
+}
+
+_builddir="$srcdir/$pkgname-$_commit"
prepare() {
cd "$_builddir"
@@ -90,6 +108,7 @@ package(){
mv "$pkgdir"/usr/log "$pkgdir"/var/log/freeswitch
install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ chown -R freeswitch:freeswitch "$pkgdir"/var/*/freeswitch
}
@@ -153,11 +172,9 @@ conf() {
mkdir -p "$pkgdir"/etc/freeswitch/scripts
}
-md5sums="813edb2192d1cc0fe224d9ef0492de4f freeswitch-1.0.7_p20110602.tar.gz
+md5sums="8c0609c00039513a1a81eda685845b37 freeswitch-5e4a514531de2a1d8040c3d306a9e8de426de566.tar.bz2
11883affe0839a8e15fe680aeb11b86e freeswitch-mod_shout-textrels.patch
-5aed9ec61d7ac1f3758a89db159328c4 0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
769eaa127d4dbae687dc4aa961a8cc70 0002-mod_lua-alpine-module-search-path.patch
-74c3cdd3ce8474e8d084f475fa4f92c1 0003-mod_conference_no_hangup.patch
94516a9473e2283ab201f38cb2756741 modules.conf
c608cca8ad773acebf201f581438c7e7 freeswitch.confd
-51e0c45ae07a675f6008f95b1ab8f18e freeswitch.initd"
+06d70089ce96abc47a01bf69511a978a freeswitch.initd"
diff --git a/main/freeswitch/freeswitch.initd b/main/freeswitch/freeswitch.initd
index c6ff357c6..ee07de537 100755
--- a/main/freeswitch/freeswitch.initd
+++ b/main/freeswitch/freeswitch.initd
@@ -22,6 +22,9 @@ start() {
[ -n "${FREESWITCH_OPTS}" ] && \
OPTS="${OPTS} ${FREESWITCH_OPTS}"
+ checkpath -q -d \
+ -o ${FREESWITCH_USER:freeswitch}:${FREESWITCH_GROUP:-freeswitch}\
+ -m 0770 /var/run/freeswitch
ebegin "Starting Freeswitch"
limits
start-stop-daemon --start --quiet --exec /usr/bin/freeswitch \
diff --git a/main/freeswitch/freeswitch.post-install b/main/freeswitch/freeswitch.post-install
deleted file mode 100755
index fef23caef..000000000
--- a/main/freeswitch/freeswitch.post-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-chown -R freeswitch:freeswitch /var/*/freeswitch
-
-exit 0
diff --git a/main/freetype/APKBUILD b/main/freetype/APKBUILD
index 4aa1d7cfd..dce2c7625 100644
--- a/main/freetype/APKBUILD
+++ b/main/freetype/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=freetype
-pkgver=2.4.8
+pkgver=2.4.9
pkgrel=0
pkgdesc="TrueType font rendering library"
url="http://freetype.sourceforge.net"
@@ -43,7 +43,7 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="5d82aaa9a4abc0ebbd592783208d9c76 freetype-2.4.8.tar.gz
+md5sums="c15f6dc8ed190d67b89ae09aaf7896b4 freetype-2.4.9.tar.gz
376b94c06b113a62a3437e4130bb3fc3 20-enable-spr.patch
3f6c5739843dcbc110ee0f243c4f6bdb 30-enable-valid.patch
bd2d808a0c00dcf9f1d1c0a9a8227ad9 40-memcpy-fix.patch"
diff --git a/main/gcc/74_all_gcc46_cloog-dl.patch b/main/gcc/74_all_gcc46_cloog-dl.patch
index 21ceb25b7..43c2f9622 100644
--- a/main/gcc/74_all_gcc46_cloog-dl.patch
+++ b/main/gcc/74_all_gcc46_cloog-dl.patch
@@ -29,8 +29,12 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
* Makefile.in (BACKENDLIBS): Use DL_LIB.
* graphite-cloog-compat.h: Add missing symbols.
+2012-03-12 Natanael Copa <ncopa@alpinelinux.org>
+ * Rebase against gcc 4.6.3
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 872956d..7d89f08 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
@@ -106,7 +110,7 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
graphite-sese-to-poly.h
tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
+@@ -3483,6 +3485,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
$(out_file) $(OUTPUT_OPTION)
@@ -118,6 +122,8 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
# Build auxiliary files that support ecoff format.
mips-tfile: mips-tfile.o version.o $(LIBDEPS)
$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
+diff --git a/gcc/configure b/gcc/configure
+index 9b87171..0cf3795 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
@@ -128,25 +134,7 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
CLOOGINC
CLOOGLIBS
PPLINC
-@@ -17505,7 +17506,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17508 "configure"
-+#line 17509 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -17611,7 +17612,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 17614 "configure"
-+#line 17615 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -26284,6 +26285,7 @@ $as_echo "unable to check" >&6; }
+@@ -26282,6 +26283,7 @@ $as_echo "unable to check" >&6; }
fi
# Check -ldl
@@ -154,7 +142,7 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
saved_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
$as_echo_n "checking for library containing dlopen... " >&6; }
-@@ -26343,7 +26345,9 @@ fi
+@@ -26341,7 +26343,9 @@ fi
if test x"$ac_cv_search_dlopen" = x"-ldl"; then
pluginlibs="$pluginlibs -ldl"
@@ -164,9 +152,11 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
LIBS="$saved_LIBS"
# Check that we can build shared objects with -fPIC -shared
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index c574fb6..228fb9f 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
-@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then
+@@ -4839,11 +4839,14 @@ if test x"$enable_plugin" = x"yes"; then
fi
# Check -ldl
@@ -181,6 +171,8 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
LIBS="$saved_LIBS"
# Check that we can build shared objects with -fPIC -shared
+diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c
+index 41356dc..e93cafe 100644
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
@@ -196,6 +188,8 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
CloogStatement *cs = body->statement;
poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
+diff --git a/gcc/graphite-cloog-compat.h b/gcc/graphite-cloog-compat.h
+index 011377d..550df7a 100644
--- a/gcc/graphite-cloog-compat.h
+++ b/gcc/graphite-cloog-compat.h
@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
@@ -468,6 +462,8 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
+
+
#endif /* GRAPHITE_CLOOG_COMPAT_H */
+diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
+index 3bf87b0..3ed95b7 100644
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see
@@ -479,6 +475,8 @@ was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
typedef struct poly_dr *poly_dr_p;
DEF_VEC_P(poly_dr_p);
DEF_VEC_ALLOC_P (poly_dr_p, heap);
+diff --git a/gcc/graphite.c b/gcc/graphite.c
+index b013447..5637d37 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see
diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD
index 379d9ae02..da967dbb4 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -1,13 +1,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gcc
-pkgver=4.6.2
+pkgver=4.6.3
_piepatchver=0.4.5
_specs_ver=0.2.0
_specs_gcc_ver=4.4.3
_uclibc_abiver=0.9.32
-pkgrel=5
+pkgrel=0
pkgdesc="The GNU Compiler Collection"
url="http://gcc.gnu.org"
arch="all"
@@ -388,12 +388,12 @@ gfortran() {
"$subpkgdir"/$gcclibs
}
-md5sums="780f614ab18c7a9066dec6387d7490b2 gcc-core-4.6.2.tar.bz2
-87ecd60431e41096419dd8a10f76e46b gcc-g++-4.6.2.tar.bz2
-94043cc0d08394eddebed73f30ecad89 gcc-objc-4.6.2.tar.bz2
-52de580642d7092b7b2790d9a81ab7a6 gcc-java-4.6.2.tar.bz2
-0b7bdd9bd3096075f035fa9def33c314 gcc-go-4.6.2.tar.bz2
-216ecc8dbf99a562e837c48b5c4e7979 gcc-fortran-4.6.2.tar.bz2
+md5sums="766091220c6a14fcaa2c06dd573e3758 gcc-core-4.6.3.tar.bz2
+37515158a0fb3d0800ec41a08c05e69e gcc-g++-4.6.3.tar.bz2
+48ba23770c34b1cb468f72618b4452c5 gcc-objc-4.6.3.tar.bz2
+ea47e796f9e53118cd6e262fa220085c gcc-java-4.6.3.tar.bz2
+92166ef431c165054467a9524d0819c8 gcc-go-4.6.3.tar.bz2
+26a18d5727f7c8c18581ba924cce1e5f gcc-fortran-4.6.3.tar.bz2
5dc7efd84b526801b94fed21462aea62 gcc-4.6.1-piepatches-v0.4.5.tar.bz2
441c76504e1d97170117c294e65c7a72 gcc-4.4.3-specs-0.2.0.tar.bz2
d7cd6a27c8801e66cbaa964a039ecfdb ecj-latest.jar
@@ -403,7 +403,7 @@ a78022925c0ecb1f13384238b81adbe7 12_all_default-warn-trampolines.patch
6862cb5268fef68a4a1906e0c4ea0d46 15_all_libgomp-Werror.patch
1a8ce6b7a0b9a115e37fdda311704451 34_all_ia64_note.GNU-stack.patch
d8692c56f04b92667096f59d843e95c5 51_all_libiberty-pic.patch
-656565d2e2c30ea12a398ef6959a9391 74_all_gcc46_cloog-dl.patch
+a90d4d1ee358b19f2068fe2e4fd5d001 74_all_gcc46_cloog-dl.patch
a695d7648509b4f8e18b389a19e6037c gcc-spec-env.patch
2db1e3482c5dd59dab70f701afa2ca80 pt_gnu_eh_frame.patch
6cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch
diff --git a/main/gdbm/APKBUILD b/main/gdbm/APKBUILD
index f967552d3..dd515f5ec 100644
--- a/main/gdbm/APKBUILD
+++ b/main/gdbm/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
-# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gdbm
-pkgver=1.8.3
-pkgrel=5
+pkgver=1.10
+pkgrel=0
pkgdesc="GNU dbm is a set of database routines that use extensible hashing"
url="http://www.gnu.org/software/gdbm/"
arch="all"
@@ -10,37 +10,38 @@ license="GPL"
depends=""
makedepends=""
install=
-subpackages="$pkgname-dev $pkgname-dev"
-source="ftp://ftp.nluug.nl/pub/gnu/gdbm/gdbm-1.8.3.tar.gz
-30-gdbm-1.8.3-build.patch
-20-gdbm-1.8.3-compat-linking.patch
-10-gdbm-1.8.3-fix-install-ownership.patch"
+subpackages="$pkgname-dev $pkgname-doc"
+source="ftp://ftp.nluug.nl/pub/gnu/gdbm/gdbm-$pkgver.tar.gz
+ gdbm-1.10-zeroheaders.patch"
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- for i in ../*.patch; do
- msg "Applying $i"
- patch -p0 < $i || return 1
+_builddir="$srcdir"/gdbm-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
done
+}
+build() {
+ cd "$_builddir"
+ # we disable large-file due to it makes the db file non-compat
+ # with gdbm-1.8.3
./configure --prefix=/usr \
- --includedir=/usr/include/gdbm \
+ --enable-libgdbm-compat \
+ --disable-largefile \
--disable-dependency-tracking \
--enable-fast-install
make || return 1
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
- make INSTALL_ROOT="$pkgdir" install || return 1
- make INSTALL_ROOT="$pkgdir" install-compat || return 1
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
- mv "${pkgdir}"/usr/include/gdbm/gdbm.h "${pkgdir}"/usr/include/
}
-md5sums="1d1b1d5c0245b1c00aff92da751e9aa1 gdbm-1.8.3.tar.gz
-5e76bc4f51640434e4279e940f6c73fb 30-gdbm-1.8.3-build.patch
-c8e2323a9e075d5c947cb7c7aeae5384 20-gdbm-1.8.3-compat-linking.patch
-4c7b88079898d7cb380e95c8ae99a9f9 10-gdbm-1.8.3-fix-install-ownership.patch"
+md5sums="88770493c2559dc80b561293e39d3570 gdbm-1.10.tar.gz
+ac255b10452005237836cd2d3a470733 gdbm-1.10-zeroheaders.patch"
diff --git a/main/gdbm/gdbm-1.10-zeroheaders.patch b/main/gdbm/gdbm-1.10-zeroheaders.patch
new file mode 100644
index 000000000..a268f6bdf
--- /dev/null
+++ b/main/gdbm/gdbm-1.10-zeroheaders.patch
@@ -0,0 +1,33 @@
+diff -up gdbm-1.10/src/falloc.c.zeroheaders gdbm-1.10/src/falloc.c
+--- gdbm-1.10/src/falloc.c.zeroheaders 2011-11-11 11:59:11.000000000 +0100
++++ gdbm-1.10/src/falloc.c 2011-11-14 17:34:32.487604027 +0100
+@@ -255,7 +255,7 @@ push_avail_block (GDBM_FILE dbf)
+
+
+ /* Split the header block. */
+- temp = (avail_block *) malloc (av_size);
++ temp = (avail_block *) calloc (1, av_size);
+ if (temp == NULL) _gdbm_fatal (dbf, _("malloc error"));
+ /* Set the size to be correct AFTER the pop_avail_block. */
+ temp->size = dbf->header->avail.size;
+diff -up gdbm-1.10/src/gdbmopen.c.zeroheaders gdbm-1.10/src/gdbmopen.c
+--- gdbm-1.10/src/gdbmopen.c.zeroheaders 2011-11-11 19:39:42.000000000 +0100
++++ gdbm-1.10/src/gdbmopen.c 2011-11-14 17:33:24.867608650 +0100
+@@ -264,7 +264,7 @@ gdbm_open (const char *file, int block_s
+ (dbf->header->block_size - sizeof (hash_bucket))
+ / sizeof (bucket_element) + 1;
+ dbf->header->bucket_size = dbf->header->block_size;
+- dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size);
++ dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size);
+ if (dbf->bucket == NULL)
+ {
+ gdbm_close (dbf);
+@@ -456,7 +456,7 @@ _gdbm_init_cache(GDBM_FILE dbf, size_t s
+ for(index = 0; index < size; index++)
+ {
+ (dbf->bucket_cache[index]).ca_bucket
+- = (hash_bucket *) malloc (dbf->header->bucket_size);
++ = (hash_bucket *) calloc (1, dbf->header->bucket_size);
+ if ((dbf->bucket_cache[index]).ca_bucket == NULL)
+ {
+ gdbm_errno = GDBM_MALLOC_ERROR;
diff --git a/main/git/APKBUILD b/main/git/APKBUILD
index b7bcc93e4..280c8667d 100644
--- a/main/git/APKBUILD
+++ b/main/git/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=git
-pkgver=1.7.9
+pkgver=1.7.9.4
pkgrel=0
pkgdesc="GIT - the stupid content tracker"
url="http://git.or.cz/"
@@ -64,7 +64,7 @@ svn() {
mv "$pkgdir"/usr/libexec/git-core/git-svn "$subpkgdir"/usr/libexec/git-core
}
-md5sums="d94314eb49622a945b22595b36b7fc47 git-1.7.9.tar.gz
+md5sums="f1e32b2ec841219e442db9c9ef21c252 git-1.7.9.4.tar.gz
e63a201556c4f089de790805c09a2e5b bb-tar.patch
3f0bdf6ca73bf4f015bc8565ab787969 git-daemon.initd
2258e95d389ccc6de0b5111d53d9eed6 git-daemon.confd"
diff --git a/main/glew/APKBUILD b/main/glew/APKBUILD
index 0e66f4bb5..bafb998f2 100644
--- a/main/glew/APKBUILD
+++ b/main/glew/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=glew
pkgver=1.7.0
-pkgrel=1
+pkgrel=2
pkgdesc="A cross-platform C/C++ extension loading library"
url="http://glew.sourceforge.net"
arch="all"
diff --git a/main/glib-networking/APKBUILD b/main/glib-networking/APKBUILD
index 0d835d9c6..f3ab59676 100644
--- a/main/glib-networking/APKBUILD
+++ b/main/glib-networking/APKBUILD
@@ -6,13 +6,13 @@ _maj=${pkgver%%.*}
_min=${pkgver#${_maj}.}
_min=${_min%%.*}
_ver=$_maj.$_min
-pkgrel=0
+pkgrel=1
pkgdesc="Networking support for GLib"
url="http://www.gnome.org"
arch="all"
license="LGPLv2+"
depends="ca-certificates"
-depends_dev="glib-dev gnutls-dev libproxy-dev intltool"
+depends_dev="glib-dev gnutls-dev libproxy-dev intltool libgcrypt-dev"
makedepends="$depends_dev bash"
install=
subpackages="$pkgname-lang"
diff --git a/main/glproto/APKBUILD b/main/glproto/APKBUILD
index be59fa369..f0335e68b 100644
--- a/main/glproto/APKBUILD
+++ b/main/glproto/APKBUILD
@@ -1,10 +1,10 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=glproto
-pkgver=1.4.14
+pkgver=1.4.15
pkgrel=0
pkgdesc="X11 OpenGL extension wire protocol"
url="http://xorg.freedesktop.org/"
-arch="all"
+arch="noarch"
license="custom"
depends=""
makedepends=""
@@ -20,4 +20,4 @@ package() {
cd "$srcdir"/$pkgname-$pkgver
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="f48257daf0017f7a7667e5bf48ca3578 glproto-1.4.14.tar.bz2"
+md5sums="d1ff0c1acc605689919c1ee2fc9b5582 glproto-1.4.15.tar.bz2"
diff --git a/main/gnokii/APKBUILD b/main/gnokii/APKBUILD
index 1cf052fbf..3c80b132c 100644
--- a/main/gnokii/APKBUILD
+++ b/main/gnokii/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gnokii
-pkgver=0.6.30
-pkgrel=4
+pkgver=0.6.31
+pkgrel=0
pkgdesc="Tools and user space driver for use with mobile phones"
url="http://www.gnokii.org/"
arch="all"
@@ -9,18 +9,25 @@ license="GPL"
depends=""
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs xgnokii $pkgname-smsd
$pkgname-smsd-pgsql:pgsql $pkgname-smsd-mysql:mysql
- $pkgname-smsd-sqlite:sqlite"
+ $pkgname-smsd-sqlite:sqlite $pkgname-lang"
makedepends="gtk+-dev mysql-dev intltool libusb-compat-dev libxpm-dev
- bluez-dev libical-dev postgresql-dev sqlite-dev"
+ bluez-dev libical-dev postgresql-dev sqlite-dev
+ autoconf automake libtool"
source="http://www.gnokii.org/download/gnokii/gnokii-$pkgver.tar.bz2
- gnokii.patch"
+ gnokii.patch
+ xgnokii.patch"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ autoreconf || return 1
sed -i 's|cellphone|phone|' xgnokii/xgnokii.desktop.in
- patch -Np1 -i "$srcdir/gnokii.patch"
}
build() {
@@ -30,6 +37,7 @@ build() {
--enable-security \
--disable-unix98test \
--disable-phonet \
+ --with-x \
|| return 1
make
}
@@ -80,5 +88,6 @@ sqlite() {
mkdir -p "$subpkgdir"/usr/lib/smsd
mv "$pkgdir"/usr/lib/smsd/*sqlite*.so "$subpkgdir"/usr/lib/smsd/
}
-md5sums="c90137d403febbc16712d64f0eb196de gnokii-0.6.30.tar.bz2
-4d764727686ee34bc73489c8b1321c82 gnokii.patch"
+md5sums="d9627f4a1152d3ea7806df4532850d5f gnokii-0.6.31.tar.bz2
+5de7a1c6a59b740df9d24f5c08cea448 gnokii.patch
+6b87d13cb012bfdfd3581d89f42a3cff xgnokii.patch"
diff --git a/main/gnokii/gnokii.patch b/main/gnokii/gnokii.patch
index e64d81aa1..69ca868e3 100644
--- a/main/gnokii/gnokii.patch
+++ b/main/gnokii/gnokii.patch
@@ -1,10 +1,9 @@
-diff -ur gnokii-0.6.7-old/Docs/sample/gnokiirc gnokii-0.6.7/Docs/sample/gnokiirc
---- gnokii-0.6.7-old/Docs/sample/gnokiirc 2005-05-16 20:55:13.000000000 +0200
-+++ gnokii-0.6.7/Docs/sample/gnokiirc 2005-06-03 10:49:42.000000000 +0200
-@@ -112,7 +112,7 @@
+--- ./Docs/sample/gnokiirc.orig
++++ ./Docs/sample/gnokiirc
+@@ -238,7 +238,7 @@
+ # In particular ensure that mgnokiidev is in this location, with
# permissions 4750, owned by root, group gnokii. Ensure you
# are in the gnokii group and that the group exists...
- [gnokiid]
-bindir = /usr/local/sbin/
+bindir = /usr/sbin/
diff --git a/main/gnokii/xgnokii.patch b/main/gnokii/xgnokii.patch
new file mode 100644
index 000000000..b35416613
--- /dev/null
+++ b/main/gnokii/xgnokii.patch
@@ -0,0 +1,11 @@
+--- ./configure.in.orig
++++ ./configure.in
+@@ -689,7 +689,7 @@
+ fi
+ fi
+
+-AM_CONDITIONAL(XGNOKII, test "x$_support" = "xyes")
++AM_CONDITIONAL(XGNOKII, test "x$x_support" = "xyes")
+
+ dnl ======================== Check for libsocket
+ AC_CHECK_LIB(socket, socket)
diff --git a/main/gnome-settings-daemon/APKBUILD b/main/gnome-settings-daemon/APKBUILD
index 943a0fe52..64e2a60d6 100644
--- a/main/gnome-settings-daemon/APKBUILD
+++ b/main/gnome-settings-daemon/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=gnome-settings-daemon
pkgver=2.32.1
-pkgrel=2
+pkgrel=3
pkgdesc="GNOME settings daemon"
url="http://www.gnome.org"
arch="all"
@@ -30,7 +30,7 @@ depends_dev="gtk+-dev
libxklavier-dev"
makedepends="$depends_dev intltool gobject-introspection-dev"
install="$pkgname.post-install $pkgname.pre-deinstall $pkgname.post-upgrade"
-subpackages="$pkgname-dev"
+subpackages="$pkgname-dev $pkgname-lang"
replaces_dev="$pkgname"
source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2"
diff --git a/main/gnuchess/APKBUILD b/main/gnuchess/APKBUILD
index b700049cc..e3d8e73d5 100644
--- a/main/gnuchess/APKBUILD
+++ b/main/gnuchess/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gnuchess
-pkgver=6.0.1
+pkgver=6.0.2
pkgrel=0
pkgdesc="The GNU chess program"
url="http://www.gnu.org/software/chess/"
@@ -40,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="041888218f73886f146fa7fbf92190de gnuchess-6.0.1.tar.gz"
+md5sums="566a145479c47f2f9d7d9b7b8119e1b0 gnuchess-6.0.2.tar.gz"
diff --git a/main/gnutls/APKBUILD b/main/gnutls/APKBUILD
index 88d6f8350..0128684da 100644
--- a/main/gnutls/APKBUILD
+++ b/main/gnutls/APKBUILD
@@ -1,28 +1,26 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gnutls
-pkgver=2.12.16
+pkgver=3.0.17
pkgrel=0
pkgdesc="A TLS protocol implementation"
url="http://www.gnu.org/software/gnutls/"
arch="all"
license="GPL"
depends=
-depends_dev="libgcrypt-dev libgpg-error-dev zlib-dev libtasn1-dev p11-kit-dev"
+depends_dev="nettle-dev zlib-dev libtasn1-dev p11-kit-dev"
makedepends="$depends_dev"
install=
-subpackages="$pkgname-doc $pkgname-dev $pkgname-utils"
-source="http://ftp.gnu.org/pub/gnu/gnutls/$pkgname-$pkgver.tar.bz2"
+subpackages="$pkgname-doc $pkgname-dev $pkgname-utils $pkgname-c++:xx"
+source="http://ftp.gnu.org/pub/gnu/gnutls/$pkgname-$pkgver.tar.xz"
build() {
cd "$srcdir/$pkgname-$pkgver"
-
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
- --with-included-libcfg \
- --with-libgcrypt \
+ --disable-openssl-compatibility \
--disable-rpath \
--disable-static \
|| return 1
@@ -40,4 +38,11 @@ utils() {
mkdir -p "$subpkgdir"/usr/
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-md5sums="0414bba9760201f27d66787997cbadfb gnutls-2.12.16.tar.bz2"
+
+xx() {
+ pkgdesc="The C++ interface to GnuTLS"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib*xx.so.* "$subpkgdir"/usr/lib/
+}
+
+md5sums="5e87bd73a237749e2acbbb7161f11d5e gnutls-3.0.17.tar.xz"
diff --git a/main/gparted/APKBUILD b/main/gparted/APKBUILD
index 9cee1e6bd..166f47b2f 100644
--- a/main/gparted/APKBUILD
+++ b/main/gparted/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gparted
-pkgver=0.11.0
+pkgver=0.12.0
pkgrel=0
pkgdesc="a graphical partition editor for creating, reorganizing, and deleting disk partitions"
url="http://gparted.sourceforge.net/"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="93db664bad4c5f0c9a1384b7eac7df5c gparted-0.11.0.tar.bz2"
+md5sums="63a24677ff2ef0e62408ba684f233fab gparted-0.12.0.tar.bz2"
diff --git a/main/gpgme/APKBUILD b/main/gpgme/APKBUILD
new file mode 100644
index 000000000..bda11b1ff
--- /dev/null
+++ b/main/gpgme/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=gpgme
+pkgver=1.3.1
+pkgrel=0
+pkgdesc="gnupg made easy"
+url="http://www.gnupg.org/related_software/gpgme/"
+arch="all"
+license="GPL"
+depends=gnupg
+depends_dev="libgpg-error-dev libassuan-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/gpgme-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm "$pkgdir"/usr/lib/*.la || return 1
+}
+
+md5sums="90afa8436ce2b2683c001c824bd22601 gpgme-1.3.1.tar.bz2"
diff --git a/main/grep/APKBUILD b/main/grep/APKBUILD
index 9b4c9261d..0a5442c32 100644
--- a/main/grep/APKBUILD
+++ b/main/grep/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=grep
pkgver=2.10
-pkgrel=0
+pkgrel=1
pkgdesc="Searches input files for lines containing a match to a specified pattern"
url="http://www.gnu.org/software/grep/grep.html"
arch="all"
diff --git a/main/gst-plugins-bad/APKBUILD b/main/gst-plugins-bad/APKBUILD
index e5022f5b7..474cfa5b8 100644
--- a/main/gst-plugins-bad/APKBUILD
+++ b/main/gst-plugins-bad/APKBUILD
@@ -1,12 +1,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gst-plugins-bad
-pkgver=0.10.22
+pkgver=0.10.23
pkgrel=0
pkgdesc="GStreamer bad plugins"
url="http://gstreamer.freedesktop.org/"
arch="all"
license="LGPL GPL"
depends=""
+subpackages="$pkgname-lang"
makedepends="gst-plugins-base-dev gstreamer-dev xvidcore-dev bzip2-dev
neon-dev faac-dev libexif-dev faad2-dev glib-dev liboil-dev
alsa-lib-dev libx11-dev sdl-dev libvpx-dev libdc1394-dev
@@ -35,4 +36,4 @@ package() {
find "$pkgdir" -name '*.la' -delete
}
-md5sums="9a2acee1f386f71247003d0d7090fb1c gst-plugins-bad-0.10.22.tar.bz2"
+md5sums="fcb09798114461955260e4d940db5987 gst-plugins-bad-0.10.23.tar.bz2"
diff --git a/main/gst-plugins-base/APKBUILD b/main/gst-plugins-base/APKBUILD
index da7055ecd..01c2a3eb3 100644
--- a/main/gst-plugins-base/APKBUILD
+++ b/main/gst-plugins-base/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gst-plugins-base
-pkgver=0.10.35
-pkgrel=1
+pkgver=0.10.36
+pkgrel=0
pkgdesc="GStreamer Multimedia Framework Base Plugins"
url="http://gstreamer.freedesktop.org/"
arch="all"
license="GPL LGPL"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-gnome"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-gnome $pkgname-lang"
depends=
makedepends="pkgconfig gstreamer-dev alsa-lib-dev libvorbis-dev liboil-dev
perl libogg-dev gtk+-dev libtheora-dev libice-dev libsm-dev libxv-dev
@@ -52,4 +52,4 @@ gnome() {
mv "$pkgdir"/usr/lib/gstreamer-0.10/libgstgnomevfs.so "$subpkgdir"/usr/lib/gstreamer-0.10/libgstgnomevfs.so
}
-md5sums="1d300983525f4f09030eb3ba47cb04b0 gst-plugins-base-0.10.35.tar.bz2"
+md5sums="776c73883e567f67b9c4a2847d8d041a gst-plugins-base-0.10.36.tar.bz2"
diff --git a/main/gst-plugins-good/APKBUILD b/main/gst-plugins-good/APKBUILD
index 041f9d08b..75093f59d 100644
--- a/main/gst-plugins-good/APKBUILD
+++ b/main/gst-plugins-good/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gst-plugins-good
-pkgver=0.10.30
+pkgver=0.10.31
pkgrel=0
pkgdesc="GStreamer Multimedia Framework Good Plugins"
url="http://gstreamer.freedesktop.org/"
arch="all"
license="LGPL"
-subpackages="$pkgname-gnome"
+subpackages="$pkgname-gnome $pkgname-lang"
depends=
makedepends="gstreamer-dev glib-dev liboil-dev gst-plugins-base-dev
libsoup-dev flac-dev libogg-dev taglib-dev jpeg-dev zlib-dev gconf-dev
@@ -56,4 +56,4 @@ gnome() {
mv "$pkgdir"/usr/lib/gstreamer-0.10/libgstgconfelements.so "$subpkgdir"/usr/lib/gstreamer-0.10/libgstgconfelements.so
}
-md5sums="62fd7a3ef187c4f99b3d7c352d58dae9 gst-plugins-good-0.10.30.tar.bz2"
+md5sums="24f98a294a2b521e1b29412bdadae2e6 gst-plugins-good-0.10.31.tar.bz2"
diff --git a/main/gst-plugins-ugly/APKBUILD b/main/gst-plugins-ugly/APKBUILD
index 3cfb90ed6..d5390ddcc 100644
--- a/main/gst-plugins-ugly/APKBUILD
+++ b/main/gst-plugins-ugly/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gst-plugins-ugly
-pkgver=0.10.18
-pkgrel=4
+pkgver=0.10.19
+pkgrel=1
pkgdesc="GStreamer Multimedia Framework Ugly Plugins (gst-plugins-ugly)"
url="http://gstreamer.freedesktop.org/"
arch="all"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
find "$pkgdir" -name '*.la' -delete
}
-md5sums="04a7009a4efea2844075949c111f5e4d gst-plugins-ugly-0.10.18.tar.bz2"
+md5sums="1d81c593e22a6cdf0f2b4f57eae93df2 gst-plugins-ugly-0.10.19.tar.bz2"
diff --git a/main/gstreamer/APKBUILD b/main/gstreamer/APKBUILD
index 790c7c85d..52bc18622 100644
--- a/main/gstreamer/APKBUILD
+++ b/main/gstreamer/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gstreamer
-pkgver=0.10.35
+pkgver=0.10.36
pkgrel=0
pkgdesc="GStreamer Multimedia Framework"
url="http://gstreamer.freedesktop.org/"
arch="all"
license="LGPL"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-lang"
depends=
makedepends="pkgconfig libxml2-dev glib-dev bison flex gettext-dev libiconv-dev"
source="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.bz2
@@ -55,4 +55,4 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-md5sums="4a0a00edad7a2c83de5211ca679dfaf9 gstreamer-0.10.35.tar.bz2"
+md5sums="a0cf7d6877f694a1a2ad2b4d1ecb890b gstreamer-0.10.36.tar.bz2"
diff --git a/main/gtk+3.0/APKBUILD b/main/gtk+3.0/APKBUILD
index 4d2b7dba9..9d6dacaad 100644
--- a/main/gtk+3.0/APKBUILD
+++ b/main/gtk+3.0/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gtk+3.0
-pkgver=3.2.3
-pkgrel=0
+pkgver=3.2.4
+pkgrel=1
pkgdesc="The GTK+ Toolkit (v3)"
url="http://www.gtk.org/"
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall"
@@ -52,9 +52,7 @@ build() {
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
- --with-xinput=yes \
- --without-libjasper \
- --with-included-loaders=png || return 1
+ || return 1
make || return 1
}
@@ -67,4 +65,4 @@ package() {
find "$pkgdir" -name *.la -delete
}
-md5sums="b4edcc69e39159dd7be17828249afb46 gtk+-3.2.3.tar.xz"
+md5sums="3fe73e4af079b7e891ca417faed71139 gtk+-3.2.4.tar.xz"
diff --git a/main/gtk-vnc/APKBUILD b/main/gtk-vnc/APKBUILD
index f653c5a4b..fbafad40e 100644
--- a/main/gtk-vnc/APKBUILD
+++ b/main/gtk-vnc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gtk-vnc
pkgver=0.4.4
-pkgrel=0
+pkgrel=1
pkgdesc="A VNC viewer widget for GTK"
url="http://live.gnome.org/gtk-vnc"
arch="all"
diff --git a/main/gtkglext/APKBUILD b/main/gtkglext/APKBUILD
index 1b494b6fc..a9636714e 100644
--- a/main/gtkglext/APKBUILD
+++ b/main/gtkglext/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=gtkglext
pkgver=1.2.0
-pkgrel=5
+pkgrel=6
pkgdesc="GTK+ OpenGL Extension"
url="http://projects.gnome.org/gtkglext/"
arch="all"
diff --git a/main/haproxy/APKBUILD b/main/haproxy/APKBUILD
index 6945f6650..6e3104ec0 100644
--- a/main/haproxy/APKBUILD
+++ b/main/haproxy/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=haproxy
pkgver=1.4.18
-pkgrel=1
+pkgrel=2
pkgdesc="A TCP/HTTP reverse proxy for high availability environments"
url="http://haproxy.1wt.eu"
arch="all"
diff --git a/main/hdparm/APKBUILD b/main/hdparm/APKBUILD
index c43cee87d..311f98387 100644
--- a/main/hdparm/APKBUILD
+++ b/main/hdparm/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=hdparm
-pkgver=9.38
+pkgver=9.39
pkgrel=0
pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters"
url="http://sourceforge.net/projects/hdparm/"
@@ -25,4 +25,4 @@ package() {
install -m755 contrib/ultrabayd "$pkgdir"/sbin || return 1
install -D -m 644 LICENSE.TXT $pkgdir/usr/share/licenses/hdparm/LICENSE.TXT || return 1
}
-md5sums="915e74685e2f25eaebe6a26c5d7ca700 hdparm-9.38.tar.gz"
+md5sums="2bc17b72403885d4faf959682944243b hdparm-9.39.tar.gz"
diff --git a/main/hypermail/APKBUILD b/main/hypermail/APKBUILD
index 0ea60140a..5a6824d85 100644
--- a/main/hypermail/APKBUILD
+++ b/main/hypermail/APKBUILD
@@ -3,7 +3,7 @@
pkgname=hypermail
pkgver=2.3.0
-pkgrel=1
+pkgrel=3
pkgdesc="Mail Archiver"
url="http://www.hypermail-project.org"
arch="all"
diff --git a/main/icedtea-web/APKBUILD b/main/icedtea-web/APKBUILD
index fe6f36951..5a4533a66 100644
--- a/main/icedtea-web/APKBUILD
+++ b/main/icedtea-web/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=icedtea-web
-pkgver=1.1.3
+pkgver=1.2
pkgrel=0
pkgdesc="web integration packages for icedtea"
url="http://icedtea.classpath.org/wiki/IcedTea-Web"
@@ -12,9 +12,8 @@ depends_dev="xulrunner-dev openjdk6 gtk+-dev nspr-dev"
makedepends="tar zip $depends_dev"
install=""
subpackages="$pkgname-mozilla $pkgname-doc"
-source="http://icedtea.classpath.org/download/source/icedtea-web-$pkgver.tar.gz"
-
-CPU=`uname -m | sed -e 's/i.86/i386/g' -e 's/x86_64/amd64/g'`
+source="http://icedtea.classpath.org/download/source/icedtea-web-$pkgver.tar.gz
+ "
_builddir="$srcdir"/icedtea-web-$pkgver
prepare() {
@@ -43,7 +42,7 @@ build() {
package() {
cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make -j1 DESTDIR="$pkgdir" install || return 1
}
mozilla() {
@@ -56,4 +55,4 @@ mozilla() {
return 0
}
-md5sums="0e2e653c7436d81edcbc1d4255571ab6 icedtea-web-1.1.3.tar.gz"
+md5sums="8f50cfb1b65d620a7812b5976f394598 icedtea-web-1.2.tar.gz"
diff --git a/main/imagemagick/APKBUILD b/main/imagemagick/APKBUILD
index b32a989ea..7eb0d34e5 100644
--- a/main/imagemagick/APKBUILD
+++ b/main/imagemagick/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=imagemagick
-pkgver=6.7.5.6
+pkgver=6.7.6.0
_abiver=5
_pkgver=${pkgver%.*}-${pkgver##*.}
pkgrel=0
@@ -63,4 +63,4 @@ _cxx() {
mv "$pkgdir"/usr/lib/libMagick++.so.* "$subpkgdir"/usr/lib/
}
-md5sums="dc9f1cc4ef2517099d0fbc592a19543f ImageMagick-6.7.5-6.tar.xz"
+md5sums="546ed0fc09435a817837b3e0fd6e307c ImageMagick-6.7.6-0.tar.xz"
diff --git a/main/inkscape/APKBUILD b/main/inkscape/APKBUILD
index 23ac796be..d43c96463 100644
--- a/main/inkscape/APKBUILD
+++ b/main/inkscape/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=inkscape
-pkgver=0.48.2
-pkgrel=4
+pkgver=0.48.3.1
+pkgrel=0
pkgdesc="A vector-based drawing program - svg compliant"
url="http://inkscape.sourceforge.net/"
arch="all"
@@ -20,6 +20,7 @@ lcms-dev
libxml2-dev
boost-dev
autoconf automake
+tar
"
depends="desktop-file-utils"
install=
@@ -57,5 +58,5 @@ package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="889dcffb2fc72ea8522ca4bed95427e1 inkscape-0.48.2.tar.gz
+md5sums="ccf8ccd9e66199badb8c35ea3851a888 inkscape-0.48.3.1.tar.gz
c2d1392e6489af822cb4b41ce3af877b inkscape-png15.patch"
diff --git a/main/inputproto/APKBUILD b/main/inputproto/APKBUILD
index 2cd469843..ef9f27c0b 100644
--- a/main/inputproto/APKBUILD
+++ b/main/inputproto/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=inputproto
-pkgver=2.0.2
+pkgver=2.2
pkgrel=0
pkgdesc="X11 Input extension wire protocol"
url="http://xorg.freedesktop.org/"
@@ -20,4 +20,4 @@ package() {
install -m755 -d "$pkgdir"/usr/share/licenses/$pkgname
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="07d54ae098ed4e6dce472f6ef3de05ce inputproto-2.0.2.tar.bz2"
+md5sums="13c8aedaf98a92e282b7e456c0a5bed9 inputproto-2.2.tar.bz2"
diff --git a/main/intltool/APKBUILD b/main/intltool/APKBUILD
index b97a3cdca..91844e434 100644
--- a/main/intltool/APKBUILD
+++ b/main/intltool/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=intltool
-pkgver=0.50.0
+pkgver=0.50.1
pkgrel=0
pkgdesc="The internationalization tool collection"
url="http://freedesktop.org/wiki/Software/intltool"
@@ -20,4 +20,4 @@ package() {
cd "$srcdir"/$pkgname-$pkgver
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="0da9847a60391ca653df35123b1f7cc0 intltool-0.50.0.tar.gz"
+md5sums="892f9a3e809b55b7c6c8ceae4f1188d6 intltool-0.50.1.tar.gz"
diff --git a/main/iptables/APKBUILD b/main/iptables/APKBUILD
index 360dbd483..6ec37c0e9 100644
--- a/main/iptables/APKBUILD
+++ b/main/iptables/APKBUILD
@@ -2,7 +2,7 @@
pkgname=iptables
pkgver=1.4.12.2
-pkgrel=1
+pkgrel=3
pkgdesc="Linux kernel firewall, NAT and packet mangling tools"
url="http://www.iptables.org/"
arch="all"
@@ -25,6 +25,8 @@ prepare() {
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
+ sed -i -e '/if_packet/i#define __aligned_u64 __u64 __attribute__((aligned(8)))' \
+ extensions/libxt_pkttype.c || return 1
}
build() {
@@ -58,25 +60,26 @@ package() {
install -m644 libiptc/libiptc.a "$pkgdir"/usr/lib
install -m755 "$startdir"/iptables.initd "$pkgdir"/etc/init.d/iptables
install -m644 "$startdir"/iptables.confd "$pkgdir"/etc/conf.d/iptables
- install -m644 "$startdir"/ip6tables.confd "$pkgdir"/etc/conf.d/ip6tables
}
ip6tables() {
depends="iptables"
mkdir -p "$subpkgdir"/sbin \
"$subpkgdir"/etc/init.d/ \
+ "$subpkgdir"/etc/conf.d \
"$subpkgdir"/var/lib/ip6tables \
- "$subpkgdir"/usr/libexec/xtables
+ "$subpkgdir"/usr/lib/xtables
mv "$pkgdir"/sbin/ip6* "$subpkgdir"/sbin/
- mv "$pkgdir"/usr/libexec/xtables/libip6* \
- "$subpkgdir"/usr/libexec/xtables/
+ mv "$pkgdir"/usr/lib/xtables/libip6* \
+ "$subpkgdir"/usr/lib/xtables/
install -m755 "$startdir"/iptables.initd \
"$subpkgdir"/etc/init.d/ip6tables
+ install -m644 "$startdir"/ip6tables.confd "$subpkgdir"/etc/conf.d/ip6tables
}
md5sums="212112389c7f10c72efb31a4ed193a4c iptables-1.4.12.2.tar.bz2
ec3e80a1b0ea3e13e4e60824b7ebd1b9 iptables-1.4.2-include-in.patch
-375c4431c6c7a67da28ef9c470fc7e47 iptables.initd
-2ae5c23689c65ed7e827802c47acd426 iptables.confd
-91933090bd9d493c91dcffc0221def61 ip6tables.confd"
+f73fb9a0b9fe42a19d1109b415d86c9c iptables.initd
+c91286c54f8fe0de6ed8950f375cb7a5 iptables.confd
+d3f37ebc2cd3fbfc326c3a8df5a79e11 ip6tables.confd"
diff --git a/main/iptables/ip6tables.confd b/main/iptables/ip6tables.confd
index 6a8d94c75..1fa63f33a 100644
--- a/main/iptables/ip6tables.confd
+++ b/main/iptables/ip6tables.confd
@@ -2,10 +2,13 @@
# Location in which ip6tables initscript will save set rules on
# service shutdown
-IP6TABLES_SAVE="/var/lib/ip6tables/rules-save"
+IP6TABLES_SAVE="/etc/iptables/rules6-save"
# Options to pass to ip6tables-save and ip6tables-restore
SAVE_RESTORE_OPTIONS="-c"
# Save state on stopping iptables
SAVE_ON_STOP="yes"
+
+# Enable/disable IPv6 forwarding with the rules
+IPFORWARD="no"
diff --git a/main/iptables/iptables.confd b/main/iptables/iptables.confd
index 270c8d4cb..c9e5a685c 100644
--- a/main/iptables/iptables.confd
+++ b/main/iptables/iptables.confd
@@ -9,3 +9,6 @@ SAVE_RESTORE_OPTIONS="-c"
# Save state on stopping iptables
SAVE_ON_STOP="yes"
+
+# Enable/disable IPv4 forwarding with the rules
+IPFORWARD="no"
diff --git a/main/iptables/iptables.initd b/main/iptables/iptables.initd
index 6054af6e6..fa10476ce 100644
--- a/main/iptables/iptables.initd
+++ b/main/iptables/iptables.initd
@@ -14,15 +14,18 @@ fi
iptables_bin="/sbin/${iptables_name}"
case ${iptables_name} in
iptables) iptables_proc="/proc/net/ip_tables_names"
- iptables_save=${IPTABLES_SAVE};;
+ iptables_save=${IPTABLES_SAVE}
+ sysctl_ipfwd=net.ipv4.ip_forward;;
ip6tables) iptables_proc="/proc/net/ip6_tables_names"
- iptables_save=${IP6TABLES_SAVE};;
+ iptables_save=${IP6TABLES_SAVE}
+ sysctl_ipfwd=net.ipv6.conf.all.forwarding;;
esac
depend() {
before net
+ after sysctl
use logger
- provides firewall
+ provide firewall
}
set_table_policy() {
@@ -61,10 +64,20 @@ start() {
ebegin "Loading ${iptables_name} state and starting firewall"
${iptables_bin}-restore ${SAVE_RESTORE_OPTIONS} < "${iptables_save}"
eend $?
+ if yesno "${IPFORWARD}"; then
+ ebegin "Enabling forwarding"
+ /sbin/sysctl -w ${sysctl_ipfwd}=1 > /dev/null
+ eend $?
+ fi
}
stop() {
- if [ "${SAVE_ON_STOP}" = "yes" ] ; then
+ if yesno "${IPFORWARD}"; then
+ ebegin "Disabling forwarding"
+ /sbin/sysctl -w ${sysctl_ipfwd}=0 > /dev/null
+ eend $?
+ fi
+ if yesno "${SAVE_ON_STOP}"; then
save || return 1
fi
checkkernel || return 1
diff --git a/main/iw/APKBUILD b/main/iw/APKBUILD
index 85f4435e8..76200dc43 100644
--- a/main/iw/APKBUILD
+++ b/main/iw/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=iw
-pkgver=0.9.22
+pkgver=3.3
pkgrel=0
pkgdesc="nl80211 based CLI configuration utility for wireless devices"
url="http://wireless.kernel.org/en/users/Documentation/iw"
@@ -34,5 +34,5 @@ package() {
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="561c2602c5ce7c65a590118286c0892a iw-0.9.22.tar.bz2
+md5sums="146ad14cdeb39fb88b21efdbb28787d1 iw-3.3.tar.bz2
779d0e73df6e484c071149c9fb720551 iw-git-version.patch"
diff --git a/main/kamailio/APKBUILD b/main/kamailio/APKBUILD
index c3f39744b..3e7f65836 100644
--- a/main/kamailio/APKBUILD
+++ b/main/kamailio/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Nathan Angelacos <nangel@alpinelinux.org>
pkgname=kamailio
pkgver=3.2.2
-pkgrel=0
+pkgrel=3
pkgdesc="Open Source SIP Proxy"
url="http://www.kamailio.org/"
pkgusers="kamailio"
@@ -204,4 +204,4 @@ md5sums="cca87a104b7fad204145cda536009a36 kamailio-3.2.2_src.tar.gz
53cca39c47399eb2df20a1044d1e29eb fix-sql-module-loading-order.patch
3822db06b5226b5e2adc7ae7077dfaf2 kamailio-3.2-backslash.patch
a3c959ec568c43a905710e7d25cd8c25 kamailio.cfg
-c0dc4e13d9e57feb99f016d3ee443c0b kamailio.initd"
+9c190575e28772a784c4172216d85333 kamailio.initd"
diff --git a/main/kamailio/kamailio.initd b/main/kamailio/kamailio.initd
index 98ba6c761..a99992edf 100644
--- a/main/kamailio/kamailio.initd
+++ b/main/kamailio/kamailio.initd
@@ -3,7 +3,7 @@
daemon=/usr/sbin/kamailio
pidfile=/var/run/kamailio/kamailio.pid
-opts="reload"
+extra_started_commands="reload"
depend() {
need net
diff --git a/main/lame/APKBUILD b/main/lame/APKBUILD
index aaa9e533f..7240e1591 100644
--- a/main/lame/APKBUILD
+++ b/main/lame/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=lame
-pkgver=3.99.4
+pkgver=3.99.5
_ver=${pkgver%.*}
pkgrel=0
pkgdesc="An MP3 encoder and graphical frame analyzer"
@@ -53,4 +53,4 @@ package() {
fi
}
-md5sums="e54d7847bfd01f18d56c07e65147d75a lame-3.99.4.tar.gz"
+md5sums="84835b313d4a8b68f5349816d33e07ce lame-3.99.5.tar.gz"
diff --git a/main/libcdio/APKBUILD b/main/libcdio/APKBUILD
index 5931a87a1..dad397e15 100644
--- a/main/libcdio/APKBUILD
+++ b/main/libcdio/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter
-# Maintainer:
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libcdio
-pkgver=0.82
-pkgrel=2
+pkgver=0.83
+pkgrel=0
pkgdesc="GNU Compact Disc Input and Control Library"
url="http://www.gnu.org/software/libcdio/"
arch="all"
@@ -13,7 +13,7 @@ if [ "$ALPINE_LIBC" != "eglibc" ]; then
makedepends="$makedepends libiconv-dev"
fi
install=
-subpackages="$pkgname-dev $pkgname-doc"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-tools ${pkgname}++:_cpp"
source="http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz"
_builddir="$srcdir"/$pkgname-$pkgver
@@ -30,7 +30,9 @@ build() {
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--disable-vcd-info \
- --enable-cpp-progs
+ --disable-static \
+ --disable-rpath \
+ --disable-cpp-progs
make || return 1
}
@@ -40,4 +42,16 @@ package() {
rm "$pkgdir"/usr/lib/*.la
}
-md5sums="1c29b18e01ab2b966162bc727bf3c360 libcdio-0.82.tar.gz"
+tools() {
+ pkgdesc="libcdio example tools"
+ install -d "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+}
+
+_cpp() {
+ pkgdesc="libcdio bindings for C++"
+ install -d "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/*++.* "$subpkgdir"/usr/lib/
+}
+
+md5sums="b9e0f1bccb142e697cd834fe56b6e6fb libcdio-0.83.tar.gz"
diff --git a/main/libcroco/APKBUILD b/main/libcroco/APKBUILD
index 693a74b52..4db655b55 100644
--- a/main/libcroco/APKBUILD
+++ b/main/libcroco/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libcroco
-pkgver=0.6.3
+pkgver=0.6.4
pkgrel=0
pkgdesc="GNOME CSS2 parsing and manipulation toolkit"
url="http://www.gnome.org"
@@ -9,7 +9,7 @@ license="LGPL"
subpackages="$pkgname-dev"
depends=
makedepends="glib-dev libxml2-dev pkgconfig"
-source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/0.6/$pkgname-$pkgver.tar.bz2"
+source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/0.6/$pkgname-$pkgver.tar.xz"
depends_dev="glib-dev libxml2-dev pkgconfig"
@@ -25,4 +25,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="e1e93eeff4367c896f3959af34ba20eb libcroco-0.6.3.tar.bz2"
+md5sums="d49c20f1e9d9c85ac55429cd952af909 libcroco-0.6.4.tar.xz"
diff --git a/main/libdvdnav/APKBUILD b/main/libdvdnav/APKBUILD
new file mode 100644
index 000000000..e0a9e052a
--- /dev/null
+++ b/main/libdvdnav/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=libdvdnav
+pkgver=4.2.0
+pkgrel=0
+pkgdesc="a library for sophisticated DVD navigation features"
+url="http://dvdnav.mplayerhq.hu/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="libdvdread-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://dvdnav.mplayerhq.hu/releases/$pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/libdvdnav-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure2 --prefix=/usr --disable-static --disable-debug --enable-shared || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="53be8903f9802e101929a3451203bbf6 libdvdnav-4.2.0.tar.bz2"
diff --git a/main/libdvdread/APKBUILD b/main/libdvdread/APKBUILD
new file mode 100644
index 000000000..872c48e52
--- /dev/null
+++ b/main/libdvdread/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=libdvdread
+pkgver=4.2.0
+pkgrel=0
+pkgdesc="a simple foundation for reading DVD video disks"
+url="http://dvdnav.mplayerhq.hu/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://dvdnav.mplayerhq.hu/releases/libdvdread-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/libdvdread-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure2 --prefix=/usr --disable-static --disable-debug --enable-shared || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="ab7a19d3ab1a437ae754ef477d6231a4 libdvdread-4.2.0.tar.bz2"
diff --git a/main/libebml/APKBUILD b/main/libebml/APKBUILD
new file mode 100644
index 000000000..4f88ee46e
--- /dev/null
+++ b/main/libebml/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=libebml
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="a C++ library to parse Extensible Binary Meta-Language files"
+url="http://www.matroska.org/"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://dl.matroska.org/downloads/$pkgname/$pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make -C make/linux
+}
+
+package() {
+ cd "$_builddir"
+ make -C make/linux install prefix="$pkgdir/usr"
+}
+
+md5sums="726cc2bd1a525929ff35ff9854c0ebab libebml-1.2.2.tar.bz2"
diff --git a/main/libev/APKBUILD b/main/libev/APKBUILD
index 83afe50a0..dac739b57 100644
--- a/main/libev/APKBUILD
+++ b/main/libev/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libev
-pkgver=4.04
-pkgrel=1
+pkgver=4.11
+pkgrel=0
pkgdesc="event dispatch library"
url="http://libev.schmorp.de/"
arch="all"
@@ -39,4 +39,4 @@ package() {
"$pkgdir"/usr/lib/*.la
}
-md5sums="c1130d0a4782681ba5277df1bc3fb335 libev-4.04.tar.gz"
+md5sums="cda69b858a1849dfe6ce17c930cf10cd libev-4.11.tar.gz"
diff --git a/main/libevent/APKBUILD b/main/libevent/APKBUILD
index 5260417bd..45e48c5ff 100644
--- a/main/libevent/APKBUILD
+++ b/main/libevent/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libevent
-pkgver=2.0.16
+pkgver=2.0.17
pkgrel=0
pkgdesc="An event notification library"
url="http://www.monkey.org/~provos/libevent/"
@@ -24,4 +24,4 @@ package() {
make -j1 DESTDIR=$pkgdir install || return 1
rm "$pkgdir"/usr/lib/*.la
}
-md5sums="899efcffccdb3d5111419df76e7dc8df libevent-2.0.16-stable.tar.gz"
+md5sums="dad64aaaaff16b5fbec25160c06fee9a libevent-2.0.17-stable.tar.gz"
diff --git a/main/libfontenc/APKBUILD b/main/libfontenc/APKBUILD
index c352715c9..24664d62e 100644
--- a/main/libfontenc/APKBUILD
+++ b/main/libfontenc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libfontenc
-pkgver=1.1.0
-pkgrel=2
+pkgver=1.1.1
+pkgrel=0
pkgdesc="X11 font encoding library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -26,4 +26,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la
}
-md5sums="11d3c292f05a90f6f67840a9e9c3d9b8 libfontenc-1.1.0.tar.bz2"
+md5sums="a2a861f142c3b4367f14fc14239fc1f7 libfontenc-1.1.1.tar.bz2"
diff --git a/main/libgphoto2/APKBUILD b/main/libgphoto2/APKBUILD
index 49ee12a49..2e3363574 100644
--- a/main/libgphoto2/APKBUILD
+++ b/main/libgphoto2/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libgphoto2
-pkgver=2.4.11
+pkgver=2.4.13
pkgrel=0
pkgdesc="The core library of gphoto2, designed to allow access to digital camera by external programs."
url="http://www.gphoto.org"
@@ -39,4 +39,4 @@ package() {
"$pkgdir/usr/lib/libgphoto2/print-camera-list" udev-rules version 136 group camera mode 0660 > "$pkgdir/lib/udev/rules.d/54-gphoto.rules" || return 1
}
-md5sums="16a22b9739e45a95980ed62705fe7333 libgphoto2-2.4.11.tar.bz2"
+md5sums="d20a32fe2bb7d802a6a8c3b6f7f97c5e libgphoto2-2.4.13.tar.bz2"
diff --git a/main/libgweather/APKBUILD b/main/libgweather/APKBUILD
index cb0fd1e7a..2a9a553dc 100644
--- a/main/libgweather/APKBUILD
+++ b/main/libgweather/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=libgweather
pkgver=2.30.3
-pkgrel=1
+pkgrel=2
pkgdesc="GNOME weather library"
url="http://www.gnome.org/"
arch="all"
diff --git a/main/libice/APKBUILD b/main/libice/APKBUILD
index 3ad148eba..9bf4fbb1f 100644
--- a/main/libice/APKBUILD
+++ b/main/libice/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libice
-pkgver=1.0.7
-pkgrel=2
+pkgver=1.0.8
+pkgrel=0
pkgdesc="X11 Inter-Client Exchange library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -24,4 +24,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="bb72a732b15e9dc25c3036559387eed5 libICE-1.0.7.tar.bz2"
+md5sums="471b5ca9f5562ac0d6eac7a0bf650738 libICE-1.0.8.tar.bz2"
diff --git a/main/libmatroska/APKBUILD b/main/libmatroska/APKBUILD
new file mode 100644
index 000000000..d0112705d
--- /dev/null
+++ b/main/libmatroska/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=libmatroska
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="a C++ library to parse Matroska files"
+url="http://www.matroska.org/"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="libebml-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://dl.matroska.org/downloads/$pkgname/$pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make -C make/linux
+}
+
+package() {
+ cd "$_builddir"
+ make -C make/linux install prefix="$pkgdir/usr"
+}
+
+md5sums="f4a8c411f09d39c754eb726efd616043 libmatroska-1.3.0.tar.bz2"
diff --git a/main/libmp3splt/APKBUILD b/main/libmp3splt/APKBUILD
new file mode 100644
index 000000000..649e19194
--- /dev/null
+++ b/main/libmp3splt/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libmp3splt
+pkgver=0.7.1
+pkgrel=0
+pkgdesc="Library to split mp3 and ogg files without decoding"
+url="http://mp3splt.sourceforge.net/"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev="pcre-dev libogg-dev libmad-dev libvorbis-dev libid3tag-dev libtool"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://prdownloads.sourceforge.net/mp3splt/libmp3splt-$pkgver.tar.gz"
+
+_builddir="$srcdir"/libmp3splt-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --enable-ogg \
+ --enable-mp3 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la \
+ "$pkgdir"/usr/lib/libmp3splt/*.la
+}
+
+md5sums="62025951f483334f14f1b9be58162094 libmp3splt-0.7.1.tar.gz"
diff --git a/main/libmpdclient/APKBUILD b/main/libmpdclient/APKBUILD
index 103ba3e11..533796e98 100644
--- a/main/libmpdclient/APKBUILD
+++ b/main/libmpdclient/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libmpdclient
-pkgver=2.6
+pkgver=2.7
pkgrel=0
pkgdesc="An asynchronous API library for interfacing MPD in the C, C++ & Objective C languages"
url="http://mpd.wikia.com/wiki/Client:libmpdclient"
@@ -22,4 +22,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="adc0a85d9b66850d7cd07516012b6a02 libmpdclient-2.6.tar.bz2"
+md5sums="053a97f1b045646d2d01a68fb2ddb5ef libmpdclient-2.7.tar.bz2"
diff --git a/main/libpciaccess/APKBUILD b/main/libpciaccess/APKBUILD
index 2ea0be666..34c6ae2b7 100644
--- a/main/libpciaccess/APKBUILD
+++ b/main/libpciaccess/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libpciaccess
-pkgver=0.12.1
-pkgrel=1
+pkgver=0.13
+pkgrel=0
pkgdesc="X11 PCI access library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -23,4 +23,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="d6363ee9f4df79f6fc47cba7c67b0d35 libpciaccess-0.12.1.tar.bz2"
+md5sums="2604307ba43c76ee8aec11ea137ae1e8 libpciaccess-0.13.tar.bz2"
diff --git a/main/libpng/APKBUILD b/main/libpng/APKBUILD
index ffc668c7f..8beb84ec6 100644
--- a/main/libpng/APKBUILD
+++ b/main/libpng/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libpng
-pkgver=1.5.8
+pkgver=1.5.9
pkgrel=0
pkgdesc="Portable Network Graphics library"
url="http://www.libpng.org/"
@@ -36,5 +36,5 @@ package() {
rm -f "$pkgdir"/usr/lib/*.la
}
-md5sums="dc2b84a1c077531ceb5bf9d79ad889a4 libpng-1.5.8.tar.gz
-158772fecdc6d8591bcd382c04da334c libpng-1.5.8-apng.patch.gz"
+md5sums="c740ba66cd7074ba2471b6a4ff48e1fb libpng-1.5.9.tar.gz
+268f7db97b292d5f14a24ea7940f6f1c libpng-1.5.9-apng.patch.gz"
diff --git a/main/libraw/APKBUILD b/main/libraw/APKBUILD
index d0cf200ce..f0ba0585b 100644
--- a/main/libraw/APKBUILD
+++ b/main/libraw/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libraw
-pkgver=0.14.4
+pkgver=0.14.5
pkgrel=0
pkgdesc="Library for reading RAW files obtained from digital photo cameras"
url="http://www.libraw.org/"
@@ -35,4 +35,4 @@ package() {
}
-md5sums="c198292e9997f056a8d1f8ac03401442 LibRaw-0.14.4.tar.gz"
+md5sums="f8c8699f0fd935d386165ba3b52eb140 LibRaw-0.14.5.tar.gz"
diff --git a/main/libsm/APKBUILD b/main/libsm/APKBUILD
index bd67296bf..13488e4f0 100644
--- a/main/libsm/APKBUILD
+++ b/main/libsm/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libsm
-pkgver=1.2.0
-pkgrel=2
+pkgver=1.2.1
+pkgrel=0
pkgdesc="X11 Session Management library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -25,4 +25,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="e78c447bf1790552b644eca81b542742 libSM-1.2.0.tar.bz2"
+md5sums="766de9d1e1ecf8bf74cebe2111d8e2bd libSM-1.2.1.tar.bz2"
diff --git a/main/libsoup/APKBUILD b/main/libsoup/APKBUILD
index 6d566100c..91af4cb36 100644
--- a/main/libsoup/APKBUILD
+++ b/main/libsoup/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libsoup
pkgver=2.36.1
-pkgrel=0
+pkgrel=1
pkgdesc="Gnome HTTP Library"
url="http://www.gnome.org"
arch="all"
diff --git a/main/libtxc_dxtn/APKBUILD b/main/libtxc_dxtn/APKBUILD
index 6a3c79ec0..7c4954e12 100644
--- a/main/libtxc_dxtn/APKBUILD
+++ b/main/libtxc_dxtn/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=libtxc_dxtn
pkgver=1.0.1
-pkgrel=0
+pkgrel=1
pkgdesc="S3TC texture decompression helper library"
url="http://dri.freedesktop.org/wiki/S3TC"
arch="all"
diff --git a/main/libunique/APKBUILD b/main/libunique/APKBUILD
index 83294fa83..d80f89cb8 100644
--- a/main/libunique/APKBUILD
+++ b/main/libunique/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libunique
pkgver=1.1.6
-pkgrel=3
+pkgrel=4
pkgdesc="Library for writing single instance applications"
url="http://live.gnome.org/LibUnique"
arch="all"
@@ -9,14 +9,26 @@ license="LGPL"
depends=
makedepends="pkgconfig gtk+-dev dbus-glib-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/1.1/$pkgname-$pkgver.tar.bz2"
+source="http://ftp.gnome.org/pub/gnome/sources/$pkgname/1.1/$pkgname-$pkgver.tar.bz2
+ g_const_return.patch"
_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return;;
+ esac
+ done
+}
+
build() {
cd "$_builddir"
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
+ --enable-maintainer-flags=no \
+ --enable-debug=no \
--disable-static \
|| return 1
make || return 1
@@ -27,4 +39,5 @@ package() {
make DESTDIR="$pkgdir" install || return 1
find "$pkgdir" -name '*.la' -delete
}
-md5sums="7955769ef31f1bc4f83446dbb3625e6d libunique-1.1.6.tar.bz2"
+md5sums="7955769ef31f1bc4f83446dbb3625e6d libunique-1.1.6.tar.bz2
+4777001a4f1c9533c8e852ce5d09ff14 g_const_return.patch"
diff --git a/main/libunique/g_const_return.patch b/main/libunique/g_const_return.patch
new file mode 100644
index 000000000..89db14a5a
--- /dev/null
+++ b/main/libunique/g_const_return.patch
@@ -0,0 +1,123 @@
+diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c
+index b40a86c..e8edc94 100644
+--- a/unique/uniqueapp.c
++++ b/unique/uniqueapp.c
+@@ -781,7 +781,7 @@ unique_app_watch_window (UniqueApp *app,
+ }
+
+
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_command_to_string (UniqueApp *app,
+ gint command)
+ {
+@@ -863,7 +863,7 @@ unique_command_from_string (UniqueApp *app,
+ return retval;
+ }
+
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_response_to_string (UniqueResponse response)
+ {
+ GEnumClass *enum_class;
+diff --git a/unique/uniquebackend.c b/unique/uniquebackend.c
+index 18a0c45..6a9500a 100644
+--- a/unique/uniquebackend.c
++++ b/unique/uniquebackend.c
+@@ -111,7 +111,7 @@ unique_backend_set_name (UniqueBackend *backend,
+ *
+ * Return value: FIXME
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_backend_get_name (UniqueBackend *backend)
+ {
+ g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
+@@ -154,7 +154,7 @@ unique_backend_set_startup_id (UniqueBackend *backend,
+ *
+ * Return value: FIXME
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_backend_get_startup_id (UniqueBackend *backend)
+ {
+ g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
+diff --git a/unique/uniquebackend.h b/unique/uniquebackend.h
+index a50ce4e..a8786bf 100644
+--- a/unique/uniquebackend.h
++++ b/unique/uniquebackend.h
+@@ -94,10 +94,10 @@ GType unique_backend_get_type (void) G_GNUC_CONST;
+
+ UniqueBackend * unique_backend_create (void);
+
+-G_CONST_RETURN gchar *unique_backend_get_name (UniqueBackend *backend);
++const gchar *unique_backend_get_name (UniqueBackend *backend);
+ void unique_backend_set_name (UniqueBackend *backend,
+ const gchar *name);
+-G_CONST_RETURN gchar *unique_backend_get_startup_id (UniqueBackend *backend);
++const gchar *unique_backend_get_startup_id (UniqueBackend *backend);
+ void unique_backend_set_startup_id (UniqueBackend *backend,
+ const gchar *startup_id);
+ GdkScreen * unique_backend_get_screen (UniqueBackend *backend);
+diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
+index ace40ed..f688939 100644
+--- a/unique/uniqueinternals.h
++++ b/unique/uniqueinternals.h
+@@ -44,11 +44,11 @@ UniqueResponse unique_app_emit_message_received (UniqueApp *app,
+ * and then back into an id
+ */
+ UniqueResponse unique_response_from_string (const gchar *response);
+-G_CONST_RETURN gchar *unique_response_to_string (UniqueResponse response);
++const gchar *unique_response_to_string (UniqueResponse response);
+
+ gint unique_command_from_string (UniqueApp *app,
+ const gchar *command);
+-G_CONST_RETURN gchar *unique_command_to_string (UniqueApp *app,
++const gchar *unique_command_to_string (UniqueApp *app,
+ gint command);
+
+ G_END_DECLS
+diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
+index 10f6df5..b13be7f 100644
+--- a/unique/uniquemessage.c
++++ b/unique/uniquemessage.c
+@@ -185,7 +185,7 @@ unique_message_data_set (UniqueMessageData *message_data,
+ *
+ * Since: 1.0.2
+ */
+-G_CONST_RETURN guchar *
++const guchar *
+ unique_message_data_get (UniqueMessageData *message_data,
+ gsize *length)
+ {
+@@ -525,7 +525,7 @@ unique_message_data_get_screen (UniqueMessageData *message_data)
+ * owned by the #UniqueMessageData structure and should not be
+ * modified or freed
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_message_data_get_startup_id (UniqueMessageData *message_data)
+ {
+ g_return_val_if_fail (message_data != NULL, NULL);
+diff --git a/unique/uniquemessage.h b/unique/uniquemessage.h
+index d3e9c3c..9759a30 100644
+--- a/unique/uniquemessage.h
++++ b/unique/uniquemessage.h
+@@ -48,7 +48,7 @@ void unique_message_data_free (UniqueMessageData *me
+ void unique_message_data_set (UniqueMessageData *message_data,
+ const guchar *data,
+ gsize length);
+-G_CONST_RETURN guchar *unique_message_data_get (UniqueMessageData *message_data,
++const guchar *unique_message_data_get (UniqueMessageData *message_data,
+ gsize *length);
+
+ gboolean unique_message_data_set_text (UniqueMessageData *message_data,
+@@ -63,7 +63,7 @@ void unique_message_data_set_filename (UniqueMessageData *me
+ gchar * unique_message_data_get_filename (UniqueMessageData *message_data);
+
+ GdkScreen * unique_message_data_get_screen (UniqueMessageData *message_data);
+-G_CONST_RETURN gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
++const gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
+ guint unique_message_data_get_workspace (UniqueMessageData *message_data);
+
+ G_END_DECLS
diff --git a/main/libvirt/APKBUILD b/main/libvirt/APKBUILD
index ff33c6c45..13c98463f 100644
--- a/main/libvirt/APKBUILD
+++ b/main/libvirt/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=libvirt
pkgver=0.9.10
-pkgrel=1
+pkgrel=2
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
arch="all"
@@ -10,7 +10,7 @@ depends="bridge-utils dmidecode iptables netcat-openbsd python"
makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper
e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev
libnetcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev
- lvm2-dev lxc-dev gnutls-dev parted-dev perl pkgconfig
+ lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig
udev-dev xen zlib-dev"
install=
subpackages="$pkgname-dev $pkgname-doc"
diff --git a/main/libwebp/APKBUILD b/main/libwebp/APKBUILD
index 7ff793321..b4267e56c 100644
--- a/main/libwebp/APKBUILD
+++ b/main/libwebp/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
-# Maintainer:
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libwebp
-pkgver=0.1.2
-pkgrel=1
+pkgver=0.1.3
+pkgrel=0
pkgdesc="Libraries for working with WebP images"
url="http://code.google.com/speed/webp/index.html"
arch="all"
@@ -31,4 +31,4 @@ package() {
install -Dm644 PATENTS README "$pkgdir"/usr/share/doc/$pkgname
}
-md5sums="5534f6e3c8b9f5851a9a5b56bf78f2b0 libwebp-0.1.2.tar.gz"
+md5sums="254d4670e14e9ed881f0536b006ab336 libwebp-0.1.3.tar.gz"
diff --git a/main/libx11/APKBUILD b/main/libx11/APKBUILD
index 1fce34f37..0e5607940 100644
--- a/main/libx11/APKBUILD
+++ b/main/libx11/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libx11
-pkgver=1.4.4
+pkgver=1.4.99.1
pkgrel=0
pkgdesc="X11 client-side library"
url="http://xorg.freedesktop.org/"
@@ -28,4 +28,4 @@ package() {
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="ed7c382cbf8c13425b6a66bcac0ca5d9 libX11-1.4.4.tar.bz2"
+md5sums="0e6e25d99cfb18c6631c6dc4ac411c69 libX11-1.4.99.1.tar.bz2"
diff --git a/main/libxau/APKBUILD b/main/libxau/APKBUILD
index 999b7dcc8..ed0cb7f21 100644
--- a/main/libxau/APKBUILD
+++ b/main/libxau/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxau
-pkgver=1.0.6
-pkgrel=2
+pkgver=1.0.7
+pkgrel=0
pkgdesc="X11 authorisation library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -26,4 +26,4 @@ package() {
install -m755 -d "$pkgdir"/usr/share/licenses/$pkgname
install -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING || return 1
}
-md5sums="4a2cbd83727682f9ee1c1e719bac6adb libXau-1.0.6.tar.bz2"
+md5sums="2d241521df40d27034413436d1a1465c libXau-1.0.7.tar.bz2"
diff --git a/main/libxcb/APKBUILD b/main/libxcb/APKBUILD
index 247e84aeb..786a8e243 100644
--- a/main/libxcb/APKBUILD
+++ b/main/libxcb/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxcb
-pkgver=1.7
-pkgrel=3
+pkgver=1.8.1
+pkgrel=0
pkgdesc="X11 client-side library"
url="http://xcb.freedesktop.org/"
arch="all"
@@ -26,4 +26,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="925699df361b99491165ebc12068056b libxcb-1.7.tar.bz2"
+md5sums="9da03df9e2f4c048202920d9f6a7e123 libxcb-1.8.1.tar.bz2"
diff --git a/main/libxcursor/APKBUILD b/main/libxcursor/APKBUILD
index 44cf51f2c..cc57d8980 100644
--- a/main/libxcursor/APKBUILD
+++ b/main/libxcursor/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxcursor
-pkgver=1.1.12
+pkgver=1.1.13
pkgrel=0
pkgdesc="X cursor management library"
url="http://xorg.freedesktop.org/"
@@ -25,4 +25,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="a93b5a6f5b05976d2c0d3f8a07f6ac6a libXcursor-1.1.12.tar.bz2"
+md5sums="52efa81b7f26c8eda13510a2fba98eea libXcursor-1.1.13.tar.bz2"
diff --git a/main/libxdmcp/APKBUILD b/main/libxdmcp/APKBUILD
index 35f2a90c1..62aabfb1a 100644
--- a/main/libxdmcp/APKBUILD
+++ b/main/libxdmcp/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxdmcp
-pkgver=1.1.0
-pkgrel=2
+pkgver=1.1.1
+pkgrel=0
pkgdesc="X11 Display Manager Control Protocol library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -23,4 +23,4 @@ package() {
make -j1 DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="762b6bbaff7b7d0831ddb4f072f939a5 libXdmcp-1.1.0.tar.bz2"
+md5sums="b94af6cef211cf3ee256f7e81f70fcd9 libXdmcp-1.1.1.tar.bz2"
diff --git a/main/libxext/APKBUILD b/main/libxext/APKBUILD
index 41cb44f56..1561fa373 100644
--- a/main/libxext/APKBUILD
+++ b/main/libxext/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxext
-pkgver=1.3.0
-pkgrel=1
+pkgver=1.3.1
+pkgrel=0
pkgdesc="X11 miscellaneous extensions library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -23,4 +23,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="161d200b690ace818db1cc7537e70ba9 libXext-1.3.0.tar.bz2"
+md5sums="71251a22bc47068d60a95f50ed2ec3cf libXext-1.3.1.tar.bz2"
diff --git a/main/libxfont/APKBUILD b/main/libxfont/APKBUILD
index deec18669..135b28f2a 100644
--- a/main/libxfont/APKBUILD
+++ b/main/libxfont/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxfont
-pkgver=1.4.4
-pkgrel=1
+pkgver=1.4.5
+pkgrel=0
pkgdesc="X11 font rasterisation library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -25,4 +25,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="f9942bc818d39094d7295b156a729393 libXfont-1.4.4.tar.bz2"
+md5sums="6851da5dae0a6cf5f7c9b9e2b05dd3b4 libXfont-1.4.5.tar.bz2"
diff --git a/main/libxft/APKBUILD b/main/libxft/APKBUILD
index b6adfa512..675879e2a 100644
--- a/main/libxft/APKBUILD
+++ b/main/libxft/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxft
-pkgver=2.2.0
-pkgrel=2
+pkgver=2.3.0
+pkgrel=0
pkgdesc="FreeType-based font drawing library for X"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -25,4 +25,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="cce3c327258116493b753f157e0360c7 libXft-2.2.0.tar.bz2"
+md5sums="bd0a8d8cace1dfbb963250bf3eb9a19a libXft-2.3.0.tar.bz2"
diff --git a/main/libxi/APKBUILD b/main/libxi/APKBUILD
index c2c4ff10f..d7b0d5a1f 100644
--- a/main/libxi/APKBUILD
+++ b/main/libxi/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxi
-pkgver=1.4.5
+pkgver=1.6.0
pkgrel=0
pkgdesc="X11 Input extension library"
url="http://xorg.freedesktop.org"
@@ -33,4 +33,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="82dcdc76388116800a2c3ad969f510a4 libXi-1.4.5.tar.bz2"
+md5sums="2e7f84711035e672c34549eac5660a0f libXi-1.6.0.tar.bz2"
diff --git a/main/libxinerama/APKBUILD b/main/libxinerama/APKBUILD
index 98f7e1b13..0b5f65605 100644
--- a/main/libxinerama/APKBUILD
+++ b/main/libxinerama/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxinerama
-pkgver=1.1.1
-pkgrel=2
+pkgver=1.1.2
+pkgrel=0
pkgdesc="X11 Xinerama extension library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -23,4 +23,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="ecd4839ad01f6f637c6fb5327207f89b libXinerama-1.1.1.tar.bz2"
+md5sums="cb45d6672c93a608f003b6404f1dd462 libXinerama-1.1.2.tar.bz2"
diff --git a/main/libxkbfile/APKBUILD b/main/libxkbfile/APKBUILD
index 9bca99aa6..fd53a15f5 100644
--- a/main/libxkbfile/APKBUILD
+++ b/main/libxkbfile/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxkbfile
-pkgver=1.0.7
-pkgrel=2
+pkgver=1.0.8
+pkgrel=0
pkgdesc="X11 keyboard file manipulation library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -26,4 +26,4 @@ package() {
install -D -m644 "$srcdir"/$pkgname-$pkgver/COPYING \
"$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="59b4fe0bdf8d9b05e45b59e8fe9e7516 libxkbfile-1.0.7.tar.bz2"
+md5sums="19e6533ae64abba0773816a23f2b9507 libxkbfile-1.0.8.tar.bz2"
diff --git a/main/libxml2/APKBUILD b/main/libxml2/APKBUILD
index e7b2cc262..b3160ee17 100644
--- a/main/libxml2/APKBUILD
+++ b/main/libxml2/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=libxml2
pkgver=2.7.8
-pkgrel=7
+pkgrel=8
pkgdesc="XML parsing library, version 2"
url="http://www.xmlsoft.org/"
arch="all"
@@ -13,15 +13,18 @@ makedepends="zlib-dev python-dev"
subpackages="$pkgname-doc $pkgname-dev py-$pkgname:py $pkgname-utils"
source="ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz
largefile64.patch
- libxml2-2.7.8-CVE-2011-1944.patch"
+ libxml2-2.7.8-CVE-2011-1944.patch
+ cve-2012-0841.patch"
options="!strip"
_builddir="$srcdir/$pkgname-$pkgver"
prepare() {
cd "$_builddir"
- for _i in "$srcdir"/*.patch; do
- patch -p1 -i "$_i"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
done
}
@@ -60,4 +63,5 @@ utils() {
md5sums="8127a65e8c3b08856093099b52599c86 libxml2-2.7.8.tar.gz
5ad4915665608ebfa5b89f7908467a72 largefile64.patch
-49cba5245dfa6f2ec710324df947fff9 libxml2-2.7.8-CVE-2011-1944.patch"
+49cba5245dfa6f2ec710324df947fff9 libxml2-2.7.8-CVE-2011-1944.patch
+045c7f25e46de3127a6061e273de3f7b cve-2012-0841.patch"
diff --git a/main/libxml2/cve-2012-0841.patch b/main/libxml2/cve-2012-0841.patch
new file mode 100644
index 000000000..9b6f440d1
--- /dev/null
+++ b/main/libxml2/cve-2012-0841.patch
@@ -0,0 +1,291 @@
+From 8973d58b7498fa5100a876815476b81fd1a2412a Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Sat, 04 Feb 2012 11:07:44 +0000
+Subject: Add hash randomization to hash and dict structures
+
+Following http://www.ocert.org/advisories/ocert-2011-003.html
+it seems that having hash randomization might be a good idea
+when using XML with untrusted data
+* configure.in: lookup for rand, srand and time
+* dict.c: add randomization to dictionaries hash tables
+* hash.c: add randomization to normal hash tables
+---
+diff --git a/configure.in b/configure.in
+index fa80375..828b66a 100644
+--- a/configure.in
++++ b/configure.in
+@@ -512,6 +512,7 @@ AC_CHECK_FUNCS(strdup strndup strerror)
+ AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
+ AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
+ AC_CHECK_FUNCS(stat _stat signal)
++AC_CHECK_FUNCS(rand srand time)
+
+ dnl Checking the standard string functions availability
+ AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
+diff --git a/dict.c b/dict.c
+index 3eff231..ae4966b 100644
+--- a/dict.c
++++ b/dict.c
+@@ -2,7 +2,7 @@
+ * dict.c: dictionary of reusable strings, just used to avoid allocation
+ * and freeing operations.
+ *
+- * Copyright (C) 2003 Daniel Veillard.
++ * Copyright (C) 2003-2012 Daniel Veillard.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+@@ -19,6 +19,28 @@
+ #define IN_LIBXML
+ #include "libxml.h"
+
++#ifdef HAVE_STDLIB_H
++#include <stdlib.h>
++#endif
++#ifdef HAVE_TIME_H
++#include <time.h>
++#endif
++
++/*
++ * Following http://www.ocert.org/advisories/ocert-2011-003.html
++ * it seems that having hash randomization might be a good idea
++ * when using XML with untrusted data
++ * Note1: that it works correctly only if compiled with WITH_BIG_KEY
++ * which is the default.
++ * Note2: the fast function used for a small dict won't protect very
++ * well but since the attack is based on growing a very big hash
++ * list we will use the BigKey algo as soon as the hash size grows
++ * over MIN_DICT_SIZE so this actually works
++ */
++#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
++#define DICT_RANDOMIZATION
++#endif
++
+ #include <string.h>
+ #ifdef HAVE_STDINT_H
+ #include <stdint.h>
+@@ -44,23 +66,23 @@ typedef unsigned __int32 uint32_t;
+ #define WITH_BIG_KEY
+
+ #ifdef WITH_BIG_KEY
+-#define xmlDictComputeKey(dict, name, len) \
+- (((dict)->size == MIN_DICT_SIZE) ? \
+- xmlDictComputeFastKey(name, len) : \
+- xmlDictComputeBigKey(name, len))
+-
+-#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
+- (((prefix) == NULL) ? \
+- (xmlDictComputeKey(dict, name, len)) : \
+- (((dict)->size == MIN_DICT_SIZE) ? \
+- xmlDictComputeFastQKey(prefix, plen, name, len) : \
+- xmlDictComputeBigQKey(prefix, plen, name, len)))
++#define xmlDictComputeKey(dict, name, len) \
++ (((dict)->size == MIN_DICT_SIZE) ? \
++ xmlDictComputeFastKey(name, len, (dict)->seed) : \
++ xmlDictComputeBigKey(name, len, (dict)->seed))
++
++#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
++ (((prefix) == NULL) ? \
++ (xmlDictComputeKey(dict, name, len)) : \
++ (((dict)->size == MIN_DICT_SIZE) ? \
++ xmlDictComputeFastQKey(prefix, plen, name, len, (dict)->seed) : \
++ xmlDictComputeBigQKey(prefix, plen, name, len, (dict)->seed)))
+
+ #else /* !WITH_BIG_KEY */
+-#define xmlDictComputeKey(dict, name, len) \
+- xmlDictComputeFastKey(name, len)
+-#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
+- xmlDictComputeFastQKey(prefix, plen, name, len)
++#define xmlDictComputeKey(dict, name, len) \
++ xmlDictComputeFastKey(name, len, (dict)->seed)
++#define xmlDictComputeQKey(dict, prefix, plen, name, len) \
++ xmlDictComputeFastQKey(prefix, plen, name, len, (dict)->seed)
+ #endif /* WITH_BIG_KEY */
+
+ /*
+@@ -98,6 +120,8 @@ struct _xmlDict {
+ xmlDictStringsPtr strings;
+
+ struct _xmlDict *subdict;
++ /* used for randomization */
++ int seed;
+ };
+
+ /*
+@@ -125,6 +149,9 @@ static int xmlInitializeDict(void) {
+ if ((xmlDictMutex = xmlNewRMutex()) == NULL)
+ return(0);
+
++#ifdef DICT_RANDOMIZATION
++ srand(time(NULL));
++#endif
+ xmlDictInitialized = 1;
+ return(1);
+ }
+@@ -277,13 +304,13 @@ found_pool:
+ */
+
+ static uint32_t
+-xmlDictComputeBigKey(const xmlChar* data, int namelen) {
++xmlDictComputeBigKey(const xmlChar* data, int namelen, int seed) {
+ uint32_t hash;
+ int i;
+
+ if (namelen <= 0 || data == NULL) return(0);
+
+- hash = 0;
++ hash = seed;
+
+ for (i = 0;i < namelen; i++) {
+ hash += data[i];
+@@ -310,12 +337,12 @@ xmlDictComputeBigKey(const xmlChar* data, int namelen) {
+ */
+ static unsigned long
+ xmlDictComputeBigQKey(const xmlChar *prefix, int plen,
+- const xmlChar *name, int len)
++ const xmlChar *name, int len, int seed)
+ {
+ uint32_t hash;
+ int i;
+
+- hash = 0;
++ hash = seed;
+
+ for (i = 0;i < plen; i++) {
+ hash += prefix[i];
+@@ -346,8 +373,8 @@ xmlDictComputeBigQKey(const xmlChar *prefix, int plen,
+ * for low hash table fill.
+ */
+ static unsigned long
+-xmlDictComputeFastKey(const xmlChar *name, int namelen) {
+- unsigned long value = 0L;
++xmlDictComputeFastKey(const xmlChar *name, int namelen, int seed) {
++ unsigned long value = seed;
+
+ if (name == NULL) return(0);
+ value = *name;
+@@ -381,9 +408,9 @@ xmlDictComputeFastKey(const xmlChar *name, int namelen) {
+ */
+ static unsigned long
+ xmlDictComputeFastQKey(const xmlChar *prefix, int plen,
+- const xmlChar *name, int len)
++ const xmlChar *name, int len, int seed)
+ {
+- unsigned long value = 0L;
++ unsigned long value = (unsigned long) seed;
+
+ if (plen == 0)
+ value += 30 * (unsigned long) ':';
+@@ -460,6 +487,11 @@ xmlDictCreate(void) {
+ dict->subdict = NULL;
+ if (dict->dict) {
+ memset(dict->dict, 0, MIN_DICT_SIZE * sizeof(xmlDictEntry));
++#ifdef DICT_RANDOMIZATION
++ dict->seed = rand();
++#else
++ dict->seed = 0;
++#endif
+ return(dict);
+ }
+ xmlFree(dict);
+@@ -486,6 +518,7 @@ xmlDictCreateSub(xmlDictPtr sub) {
+ #ifdef DICT_DEBUG_PATTERNS
+ fprintf(stderr, "R");
+ #endif
++ dict->seed = sub->seed;
+ dict->subdict = sub;
+ xmlDictReference(dict->subdict);
+ }
+diff --git a/hash.c b/hash.c
+index b78bc2d..fe1424f 100644
+--- a/hash.c
++++ b/hash.c
+@@ -3,7 +3,7 @@
+ *
+ * Reference: Your favorite introductory book on algorithms
+ *
+- * Copyright (C) 2000 Bjorn Reese and Daniel Veillard.
++ * Copyright (C) 2000,2012 Bjorn Reese and Daniel Veillard.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+@@ -21,6 +21,22 @@
+ #include "libxml.h"
+
+ #include <string.h>
++#ifdef HAVE_STDLIB_H
++#include <stdlib.h>
++#endif
++#ifdef HAVE_TIME_H
++#include <time.h>
++#endif
++
++/*
++ * Following http://www.ocert.org/advisories/ocert-2011-003.html
++ * it seems that having hash randomization might be a good idea
++ * when using XML with untrusted data
++ */
++#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
++#define HASH_RANDOMIZATION
++#endif
++
+ #include <libxml/parser.h>
+ #include <libxml/hash.h>
+ #include <libxml/xmlmemory.h>
+@@ -31,6 +47,10 @@
+
+ /* #define DEBUG_GROW */
+
++#ifdef HASH_RANDOMIZATION
++static int hash_initialized = 0;
++#endif
++
+ /*
+ * A single entry in the hash table
+ */
+@@ -53,6 +73,9 @@ struct _xmlHashTable {
+ int size;
+ int nbElems;
+ xmlDictPtr dict;
++#ifdef HASH_RANDOMIZATION
++ int random_seed;
++#endif
+ };
+
+ /*
+@@ -65,6 +88,9 @@ xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name,
+ unsigned long value = 0L;
+ char ch;
+
++#ifdef HASH_RANDOMIZATION
++ value = table->random_seed;
++#endif
+ if (name != NULL) {
+ value += 30 * (*name);
+ while ((ch = *name++) != 0) {
+@@ -92,6 +118,9 @@ xmlHashComputeQKey(xmlHashTablePtr table,
+ unsigned long value = 0L;
+ char ch;
+
++#ifdef HASH_RANDOMIZATION
++ value = table->random_seed;
++#endif
+ if (prefix != NULL)
+ value += 30 * (*prefix);
+ else
+@@ -156,6 +185,13 @@ xmlHashCreate(int size) {
+ table->table = xmlMalloc(size * sizeof(xmlHashEntry));
+ if (table->table) {
+ memset(table->table, 0, size * sizeof(xmlHashEntry));
++#ifdef HASH_RANDOMIZATION
++ if (!hash_initialized) {
++ srand(time(NULL));
++ hash_initialized = 1;
++ }
++ table->random_seed = rand();
++#endif
+ return(table);
+ }
+ xmlFree(table);
+--
+cgit v0.9.0.2
diff --git a/main/libxmu/APKBUILD b/main/libxmu/APKBUILD
index eb166caf0..3d1838323 100644
--- a/main/libxmu/APKBUILD
+++ b/main/libxmu/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxmu
-pkgver=1.1.0
-pkgrel=3
+pkgver=1.1.1
+pkgrel=0
pkgdesc="X11 miscellaneous micro-utility library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -28,4 +28,4 @@ package() {
install -Dm644 $srcdir/libXmu-$pkgver/COPYING \
$pkgdir/usr/share/licenses/$pkgname/COPYING
}
-md5sums="6836883a0120e8346cf7f58dc42e465a libXmu-1.1.0.tar.bz2"
+md5sums="a4efff8de85bd45dd3da124285d10c00 libXmu-1.1.1.tar.bz2"
diff --git a/main/libxpm/APKBUILD b/main/libxpm/APKBUILD
index bdcee293c..51d6eb180 100644
--- a/main/libxpm/APKBUILD
+++ b/main/libxpm/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxpm
-pkgver=3.5.9
-pkgrel=3
+pkgver=3.5.10
+pkgrel=0
pkgdesc="X11 pixmap library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -26,4 +26,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="2de3a1b9541f4b3a6f9d84b69d25530e libXpm-3.5.9.tar.bz2"
+md5sums="7ae7eff7a14d411e84a67bd166bcec1a libXpm-3.5.10.tar.bz2"
diff --git a/main/libxrender/APKBUILD b/main/libxrender/APKBUILD
index 63181eaba..6e9a8cd59 100644
--- a/main/libxrender/APKBUILD
+++ b/main/libxrender/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxrender
-pkgver=0.9.6
-pkgrel=2
+pkgver=0.9.7
+pkgrel=0
pkgdesc="X Rendering Extension client library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -23,4 +23,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="3b3b7d076c2384b6c600c0b5f4ba971f libXrender-0.9.6.tar.bz2"
+md5sums="ee62f4c7f0f16ced4da63308963ccad2 libXrender-0.9.7.tar.bz2"
diff --git a/main/libxres/APKBUILD b/main/libxres/APKBUILD
index 977205e6b..fc23b9d49 100644
--- a/main/libxres/APKBUILD
+++ b/main/libxres/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxres
-pkgver=1.0.5
-pkgrel=2
+pkgver=1.0.6
+pkgrel=0
pkgdesc="X11 Resource extension library"
url="http://xorg.freedesktop.org"
arch="all"
@@ -27,4 +27,4 @@ package() {
install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-md5sums="d08f0b6df3f96c051637d37009f4e55a libXres-1.0.5.tar.bz2"
+md5sums="80d0c6d8522fa7a645e4f522e9a9cd20 libXres-1.0.6.tar.bz2"
diff --git a/main/libxt/APKBUILD b/main/libxt/APKBUILD
index 5ae67fbd3..7f1aef155 100644
--- a/main/libxt/APKBUILD
+++ b/main/libxt/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxt
-pkgver=1.1.1
-pkgrel=1
+pkgver=1.1.2
+pkgrel=0
pkgdesc="X11 toolkit intrinsics library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -26,4 +26,4 @@ package() {
make -j1 DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="eb22c0a1f172b06b97a3f5ae89768412 libXt-1.1.1.tar.bz2"
+md5sums="c4f7f149559320f378d93b835d38ad6f libXt-1.1.2.tar.bz2"
diff --git a/main/libxtst/APKBUILD b/main/libxtst/APKBUILD
index 6a7ab8ea7..c4eb84bf9 100644
--- a/main/libxtst/APKBUILD
+++ b/main/libxtst/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxtst
-pkgver=1.2.0
-pkgrel=2
+pkgver=1.2.1
+pkgrel=0
pkgdesc="X11 Testing -- Resource extension library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -27,4 +27,4 @@ package() {
install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-md5sums="7c592c72da6676f8b0aeec9133b81686 libXtst-1.2.0.tar.bz2"
+md5sums="e8abc5c00c666f551cf26aa53819d592 libXtst-1.2.1.tar.bz2"
diff --git a/main/libxv/APKBUILD b/main/libxv/APKBUILD
index a75f8d7cb..d66f33db5 100644
--- a/main/libxv/APKBUILD
+++ b/main/libxv/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxv
-pkgver=1.0.6
-pkgrel=1
+pkgver=1.0.7
+pkgrel=0
pkgdesc="X11 Video extension library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -25,4 +25,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="e292445a64b63e918bbc8b6aae6391dd libXv-1.0.6.tar.bz2"
+md5sums="5e1ac203ccd3ce3e89755ed1fbe75b0b libXv-1.0.7.tar.bz2"
diff --git a/main/libxvmc/APKBUILD b/main/libxvmc/APKBUILD
index 48a13e4bd..22eb462dd 100644
--- a/main/libxvmc/APKBUILD
+++ b/main/libxvmc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxvmc
-pkgver=1.0.6
-pkgrel=2
+pkgver=1.0.7
+pkgrel=0
pkgdesc="X11 Video Motion Compensation extension library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -24,4 +24,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la
}
-md5sums="bfc7524646f890dfc30dea1d676004a3 libXvMC-1.0.6.tar.bz2"
+md5sums="3340c99ff556ea2457b4be47f5cb96fa libXvMC-1.0.7.tar.bz2"
diff --git a/main/libxxf86dga/APKBUILD b/main/libxxf86dga/APKBUILD
index 3789f5b12..9a8396ef4 100644
--- a/main/libxxf86dga/APKBUILD
+++ b/main/libxxf86dga/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxxf86dga
-pkgver=1.1.2
-pkgrel=2
+pkgver=1.1.3
+pkgrel=0
pkgdesc="X11 Direct Graphics Access extension library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -23,4 +23,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/*.la
}
-md5sums="bbd5fdf63d4c107c8cb710d4df2012b4 libXxf86dga-1.1.2.tar.bz2"
+md5sums="b7f38465c46e7145782d37dbb9da8c09 libXxf86dga-1.1.3.tar.bz2"
diff --git a/main/libxxf86vm/APKBUILD b/main/libxxf86vm/APKBUILD
index e1fffccbd..edcfc275f 100644
--- a/main/libxxf86vm/APKBUILD
+++ b/main/libxxf86vm/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libxxf86vm
-pkgver=1.1.1
-pkgrel=2
+pkgver=1.1.2
+pkgrel=0
pkgdesc="X11 XFree86 video mode extension library"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -26,4 +26,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="34dc3df888c164378da89a7deeb245a0 libXxf86vm-1.1.1.tar.bz2"
+md5sums="ffd93bcedd8b2b5aeabf184e7b91f326 libXxf86vm-1.1.2.tar.bz2"
diff --git a/main/lighttpd/APKBUILD b/main/lighttpd/APKBUILD
index 11d0f3180..832409f8b 100644
--- a/main/lighttpd/APKBUILD
+++ b/main/lighttpd/APKBUILD
@@ -2,7 +2,7 @@
pkgname=lighttpd
pkgver=1.4.30
_streamver=2.2.0
-pkgrel=1
+pkgrel=2
pkgdesc="a secure, fast, compliant and very flexible web-server"
url="http://www.lighttpd.net/"
arch="all"
diff --git a/main/linux-firmware/APKBUILD b/main/linux-firmware/APKBUILD
index 215861b06..bfdbaeadb 100644
--- a/main/linux-firmware/APKBUILD
+++ b/main/linux-firmware/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=linux-firmware
-pkgver=20111208
+pkgver=20120227
pkgrel=0
pkgdesc="firmware files for linux"
url="http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=summary"
@@ -45,4 +45,4 @@ package() {
mv "${_builddir}" ${pkgdir}/lib/firmware
}
-md5sums="b8673160ebf2f7888c4044819efedf32 linux-firmware-20111208.tar.bz2"
+md5sums="32bd475e32ab11ed3e229bbec8b68ad3 linux-firmware-20120227.tar.bz2"
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 1f5b17a82..6af77c90f 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=3.2.6
+pkgver=3.2.11
_kernver=3.2
pkgrel=0
pkgdesc="Linux kernel with grsecurity"
@@ -14,12 +14,13 @@ _config=${config:-kernelconfig.${CARCH}}
install=
source="http://ftp.kernel.org/pub/linux/kernel/v3.0/linux-$_kernver.tar.bz2
http://ftp.kernel.org/pub/linux/kernel/v3.0/patch-$pkgver.bz2
- grsecurity-2.2.2-3.2.6-201202131824.patch
+ grsecurity-2.9-3.2.11-201203141956.patch
0004-arp-flush-arp-cache-on-device-change.patch
x86-centaur-enable-cx8-for-via-eden-too.patch
- linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch
+ inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch
+ route-remove-redirect-genid.patch
kernelconfig.x86
kernelconfig.x86_64
@@ -140,10 +141,11 @@ dev() {
}
md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2
-2bd4679899df503177a3b61ae2068749 patch-3.2.6.bz2
-905e73610bfdb7fd497fa95adcbea2ce grsecurity-2.2.2-3.2.6-201202131824.patch
+a4c2531ee383dfd429e105816b4d2ccc patch-3.2.11.bz2
+b7d1619cad370ec520c9184cba785df0 grsecurity-2.9-3.2.11-201203141956.patch
776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch
f3eda7112ef074a4121ec6de943c63ee x86-centaur-enable-cx8-for-via-eden-too.patch
-62cc7d7b5ba7ef05b72ff91c0411c189 linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch
-bd0b139de82316d44cf3376533daddb8 kernelconfig.x86
-84644f7193b0b9d9bd474b5ec322a0f8 kernelconfig.x86_64"
+0e57daa3b43acadd82ae66fa9e3f7da1 inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch
+06061e5de624849e082c3c8dbe37c908 route-remove-redirect-genid.patch
+5dd06dffb7f90828e0dc00d884321845 kernelconfig.x86
+fcdfcf0701a053957653a5e26fd33783 kernelconfig.x86_64"
diff --git a/main/linux-grsec/grsecurity-2.2.2-3.2.6-201202131824.patch b/main/linux-grsec/grsecurity-2.9-3.2.11-201203141956.patch
index 2ac63128e..ba37ae48f 100644
--- a/main/linux-grsec/grsecurity-2.2.2-3.2.6-201202131824.patch
+++ b/main/linux-grsec/grsecurity-2.9-3.2.11-201203141956.patch
@@ -1,5 +1,5 @@
diff --git a/Documentation/dontdiff b/Documentation/dontdiff
-index dfa6fc6..0095943 100644
+index dfa6fc6..6af9546 100644
--- a/Documentation/dontdiff
+++ b/Documentation/dontdiff
@@ -5,6 +5,7 @@
@@ -63,7 +63,11 @@ index dfa6fc6..0095943 100644
conmakehash
consolemap_deftbl.c*
cpustr.h
-@@ -119,6 +129,7 @@ dslm
+@@ -116,9 +126,11 @@ devlist.h*
+ dnotify_test
+ docproc
+ dslm
++dtc-lexer.lex.c
elf2ecoff
elfconfig.h*
evergreen_reg_safe.h
@@ -71,7 +75,7 @@ index dfa6fc6..0095943 100644
fixdep
flask.h
fore200e_mkfirm
-@@ -126,12 +137,15 @@ fore200e_pca_fw.c*
+@@ -126,12 +138,15 @@ fore200e_pca_fw.c*
gconf
gconf.glade.h
gen-devlist
@@ -87,7 +91,7 @@ index dfa6fc6..0095943 100644
hpet_example
hugepage-mmap
hugepage-shm
-@@ -146,7 +160,7 @@ int32.c
+@@ -146,7 +161,7 @@ int32.c
int4.c
int8.c
kallsyms
@@ -96,15 +100,16 @@ index dfa6fc6..0095943 100644
keywords.c
ksym.c*
ksym.h*
-@@ -154,7 +168,6 @@ kxgettext
+@@ -154,7 +169,7 @@ kxgettext
lkc_defs.h
lex.c
lex.*.c
-linux
++lib1funcs.S
logo_*.c
logo_*_clut224.c
logo_*_mono.c
-@@ -166,14 +179,15 @@ machtypes.h
+@@ -166,14 +181,15 @@ machtypes.h
map
map_hugetlb
maui_boot.h
@@ -121,7 +126,7 @@ index dfa6fc6..0095943 100644
mkprep
mkregtable
mktables
-@@ -209,6 +223,7 @@ r300_reg_safe.h
+@@ -209,6 +225,7 @@ r300_reg_safe.h
r420_reg_safe.h
r600_reg_safe.h
recordmcount
@@ -129,7 +134,7 @@ index dfa6fc6..0095943 100644
relocs
rlim_names.h
rn50_reg_safe.h
-@@ -219,6 +234,7 @@ setup
+@@ -219,6 +236,7 @@ setup
setup.bin
setup.elf
sImage
@@ -137,7 +142,7 @@ index dfa6fc6..0095943 100644
sm_tbl*
split-include
syscalltab.h
-@@ -229,6 +245,7 @@ tftpboot.img
+@@ -229,6 +247,7 @@ tftpboot.img
timeconst.h
times.h*
trix_boot.h
@@ -145,7 +150,7 @@ index dfa6fc6..0095943 100644
utsrelease.h*
vdso-syms.lds
vdso.lds
-@@ -246,7 +263,9 @@ vmlinux
+@@ -246,7 +265,9 @@ vmlinux
vmlinux-*
vmlinux.aout
vmlinux.bin.all
@@ -155,7 +160,7 @@ index dfa6fc6..0095943 100644
vmlinuz
voffset.h
vsyscall.lds
-@@ -254,9 +273,11 @@ vsyscall_32.lds
+@@ -254,9 +275,11 @@ vsyscall_32.lds
wanxlfw.inc
uImage
unifdef
@@ -186,7 +191,7 @@ index 81c287f..d456d02 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index 47fe496..c50bd2a 100644
+index 4b76371..53aa79c 100644
--- a/Makefile
+++ b/Makefile
@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -212,32 +217,36 @@ index 47fe496..c50bd2a 100644
$(Q)$(MAKE) $(build)=scripts/basic
$(Q)rm -f .tmp_quiet_recordmcount
-@@ -564,6 +565,46 @@ else
+@@ -564,6 +565,50 @@ else
KBUILD_CFLAGS += -O2
endif
+ifndef DISABLE_PAX_PLUGINS
+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y)
+ifndef DISABLE_PAX_CONSTIFY_PLUGIN
-+CONSTIFY_PLUGIN := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
++CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
+endif
+ifdef CONFIG_PAX_MEMORY_STACKLEAK
-+STACKLEAK_PLUGIN := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN
-+STACKLEAK_PLUGIN += -fplugin-arg-stackleak_plugin-track-lowest-sp=100
++STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN
++STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100
+endif
+ifdef CONFIG_KALLOCSTAT_PLUGIN
-+KALLOCSTAT_PLUGIN := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
++KALLOCSTAT_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
+endif
+ifdef CONFIG_PAX_KERNEXEC_PLUGIN
-+KERNEXEC_PLUGIN := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
-+KERNEXEC_PLUGIN += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD)
++KERNEXEC_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
++KERNEXEC_PLUGIN_CFLAGS += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) -DKERNEXEC_PLUGIN
++KERNEXEC_PLUGIN_AFLAGS := -DKERNEXEC_PLUGIN
+endif
+ifdef CONFIG_CHECKER_PLUGIN
+ifeq ($(call cc-ifversion, -ge, 0406, y), y)
-+CHECKER_PLUGIN := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
++CHECKER_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
+endif
+endif
-+GCC_PLUGINS := $(CONSTIFY_PLUGIN) $(STACKLEAK_PLUGIN) $(KALLOCSTAT_PLUGIN) $(KERNEXEC_PLUGIN) $(CHECKER_PLUGIN)
++COLORIZE_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/colorize_plugin.so
++GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS)
++GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS)
++GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS)
+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN
+ifeq ($(KBUILD_EXTMOD),)
+gcc-plugins:
@@ -259,7 +268,7 @@ index 47fe496..c50bd2a 100644
include $(srctree)/arch/$(SRCARCH)/Makefile
ifneq ($(CONFIG_FRAME_WARN),0)
-@@ -708,7 +749,7 @@ export mod_strip_cmd
+@@ -708,7 +753,7 @@ export mod_strip_cmd
ifeq ($(KBUILD_EXTMOD),)
@@ -268,15 +277,16 @@ index 47fe496..c50bd2a 100644
vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
-@@ -932,6 +973,7 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE
+@@ -932,6 +977,8 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
-+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS)
++$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
# Handle descending into subdirectories listed in $(vmlinux-dirs)
-@@ -941,7 +983,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
+@@ -941,7 +988,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
# Error messages still appears in the original language
PHONY += $(vmlinux-dirs)
@@ -285,23 +295,24 @@ index 47fe496..c50bd2a 100644
$(Q)$(MAKE) $(build)=$@
# Store (new) KERNELRELASE string in include/config/kernel.release
-@@ -985,6 +1027,7 @@ prepare0: archprepare FORCE
+@@ -985,6 +1032,7 @@ prepare0: archprepare FORCE
$(Q)$(MAKE) $(build)=.
# All the preparing..
-+prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS),$(KBUILD_CFLAGS))
++prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
prepare: prepare0
# Generate some files
-@@ -1086,6 +1129,7 @@ all: modules
+@@ -1086,6 +1134,8 @@ all: modules
# using awk while concatenating to the final file.
PHONY += modules
-+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
@$(kecho) ' Building modules, stage 2.';
-@@ -1101,7 +1145,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
+@@ -1101,7 +1151,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
# Target to prepare building external modules
PHONY += modules_prepare
@@ -310,7 +321,7 @@ index 47fe496..c50bd2a 100644
# Target to install modules
PHONY += modules_install
-@@ -1198,6 +1242,7 @@ distclean: mrproper
+@@ -1198,6 +1248,7 @@ distclean: mrproper
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
-o -name '.*.rej' \
@@ -318,26 +329,29 @@ index 47fe496..c50bd2a 100644
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
-type f -print | xargs rm -f
-@@ -1358,6 +1403,7 @@ PHONY += $(module-dirs) modules
+@@ -1358,6 +1409,8 @@ PHONY += $(module-dirs) modules
$(module-dirs): crmodverdir $(objtree)/Module.symvers
$(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
-+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
modules: $(module-dirs)
@$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
-@@ -1484,17 +1530,19 @@ else
+@@ -1484,17 +1537,21 @@ else
target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
endif
-%.s: %.c prepare scripts FORCE
-+%.s: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%.s: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%.s: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
+%.s: %.c gcc-plugins prepare scripts FORCE
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.i: %.c prepare scripts FORCE
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
-%.o: %.c prepare scripts FORCE
-+%.o: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%.o: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%.o: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
+%.o: %.c gcc-plugins prepare scripts FORCE
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.lst: %.c prepare scripts FORCE
@@ -350,22 +364,71 @@ index 47fe496..c50bd2a 100644
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.symtypes: %.c prepare scripts FORCE
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
-@@ -1504,11 +1552,13 @@ endif
+@@ -1504,11 +1561,15 @@ endif
$(cmd_crmodverdir)
$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
$(build)=$(build-dir)
-%/: prepare scripts FORCE
-+%/: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%/: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%/: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
+%/: gcc-plugins prepare scripts FORCE
$(cmd_crmodverdir)
$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
$(build)=$(build-dir)
-%.ko: prepare scripts FORCE
-+%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%.ko: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
+%.ko: gcc-plugins prepare scripts FORCE
$(cmd_crmodverdir)
$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
$(build)=$(build-dir) $(@:.ko=.o)
+diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h
+index 640f909..48b6597 100644
+--- a/arch/alpha/include/asm/atomic.h
++++ b/arch/alpha/include/asm/atomic.h
+@@ -250,6 +250,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+ #define atomic_dec(v) atomic_sub(1,(v))
+ #define atomic64_dec(v) atomic64_sub(1,(v))
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ #define smp_mb__before_atomic_dec() smp_mb()
+ #define smp_mb__after_atomic_dec() smp_mb()
+ #define smp_mb__before_atomic_inc() smp_mb()
+diff --git a/arch/alpha/include/asm/cache.h b/arch/alpha/include/asm/cache.h
+index ad368a9..fbe0f25 100644
+--- a/arch/alpha/include/asm/cache.h
++++ b/arch/alpha/include/asm/cache.h
+@@ -4,19 +4,19 @@
+ #ifndef __ARCH_ALPHA_CACHE_H
+ #define __ARCH_ALPHA_CACHE_H
+
++#include <linux/const.h>
+
+ /* Bytes per L1 (data) cache line. */
+ #if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_EV6)
+-# define L1_CACHE_BYTES 64
+ # define L1_CACHE_SHIFT 6
+ #else
+ /* Both EV4 and EV5 are write-through, read-allocate,
+ direct-mapped, physical.
+ */
+-# define L1_CACHE_BYTES 32
+ # define L1_CACHE_SHIFT 5
+ #endif
+
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define SMP_CACHE_BYTES L1_CACHE_BYTES
+
+ #endif
diff --git a/arch/alpha/include/asm/elf.h b/arch/alpha/include/asm/elf.h
index da5449e..7418343 100644
--- a/arch/alpha/include/asm/elf.h
@@ -615,10 +678,248 @@ index fadd5f8..904e73a 100644
/* Allow reads even for write-only mappings */
if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
-index 86976d0..8a57797 100644
+index 86976d0..683de93 100644
--- a/arch/arm/include/asm/atomic.h
+++ b/arch/arm/include/asm/atomic.h
-@@ -239,6 +239,14 @@ typedef struct {
+@@ -15,6 +15,10 @@
+ #include <linux/types.h>
+ #include <asm/system.h>
+
++#ifdef CONFIG_GENERIC_ATOMIC64
++#include <asm-generic/atomic64.h>
++#endif
++
+ #define ATOMIC_INIT(i) { (i) }
+
+ #ifdef __KERNEL__
+@@ -25,7 +29,15 @@
+ * atomic_set() is the clrex or dummy strex done on every exception return.
+ */
+ #define atomic_read(v) (*(volatile int *)&(v)->counter)
++static inline int atomic_read_unchecked(const atomic_unchecked_t *v)
++{
++ return v->counter;
++}
+ #define atomic_set(v,i) (((v)->counter) = (i))
++static inline void atomic_set_unchecked(atomic_unchecked_t *v, int i)
++{
++ v->counter = i;
++}
+
+ #if __LINUX_ARM_ARCH__ >= 6
+
+@@ -40,6 +52,35 @@ static inline void atomic_add(int i, atomic_t *v)
+ int result;
+
+ __asm__ __volatile__("@ atomic_add\n"
++"1: ldrex %1, [%3]\n"
++" adds %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
++" strex %1, %0, [%3]\n"
++" teq %1, #0\n"
++" bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
++ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++ : "r" (&v->counter), "Ir" (i)
++ : "cc");
++}
++
++static inline void atomic_add_unchecked(int i, atomic_unchecked_t *v)
++{
++ unsigned long tmp;
++ int result;
++
++ __asm__ __volatile__("@ atomic_add_unchecked\n"
+ "1: ldrex %0, [%3]\n"
+ " add %0, %0, %4\n"
+ " strex %1, %0, [%3]\n"
+@@ -58,6 +99,42 @@ static inline int atomic_add_return(int i, atomic_t *v)
+ smp_mb();
+
+ __asm__ __volatile__("@ atomic_add_return\n"
++"1: ldrex %1, [%3]\n"
++" adds %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++" mov %0, %1\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
++" strex %1, %0, [%3]\n"
++" teq %1, #0\n"
++" bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
++ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++ : "r" (&v->counter), "Ir" (i)
++ : "cc");
++
++ smp_mb();
++
++ return result;
++}
++
++static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t *v)
++{
++ unsigned long tmp;
++ int result;
++
++ smp_mb();
++
++ __asm__ __volatile__("@ atomic_add_return_unchecked\n"
+ "1: ldrex %0, [%3]\n"
+ " add %0, %0, %4\n"
+ " strex %1, %0, [%3]\n"
+@@ -78,6 +155,35 @@ static inline void atomic_sub(int i, atomic_t *v)
+ int result;
+
+ __asm__ __volatile__("@ atomic_sub\n"
++"1: ldrex %1, [%3]\n"
++" subs %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
++" strex %1, %0, [%3]\n"
++" teq %1, #0\n"
++" bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
++ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++ : "r" (&v->counter), "Ir" (i)
++ : "cc");
++}
++
++static inline void atomic_sub_unchecked(int i, atomic_unchecked_t *v)
++{
++ unsigned long tmp;
++ int result;
++
++ __asm__ __volatile__("@ atomic_sub_unchecked\n"
+ "1: ldrex %0, [%3]\n"
+ " sub %0, %0, %4\n"
+ " strex %1, %0, [%3]\n"
+@@ -96,11 +202,25 @@ static inline int atomic_sub_return(int i, atomic_t *v)
+ smp_mb();
+
+ __asm__ __volatile__("@ atomic_sub_return\n"
+-"1: ldrex %0, [%3]\n"
+-" sub %0, %0, %4\n"
++"1: ldrex %1, [%3]\n"
++" sub %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++" mov %0, %1\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
+ " strex %1, %0, [%3]\n"
+ " teq %1, #0\n"
+ " bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
+ : "r" (&v->counter), "Ir" (i)
+ : "cc");
+@@ -132,6 +252,28 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)
+ return oldval;
+ }
+
++static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *ptr, int old, int new)
++{
++ unsigned long oldval, res;
++
++ smp_mb();
++
++ do {
++ __asm__ __volatile__("@ atomic_cmpxchg_unchecked\n"
++ "ldrex %1, [%3]\n"
++ "mov %0, #0\n"
++ "teq %1, %4\n"
++ "strexeq %0, %5, [%3]\n"
++ : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)
++ : "r" (&ptr->counter), "Ir" (old), "r" (new)
++ : "cc");
++ } while (res);
++
++ smp_mb();
++
++ return oldval;
++}
++
+ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
+ {
+ unsigned long tmp, tmp2;
+@@ -207,6 +349,10 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
+ #endif /* __LINUX_ARM_ARCH__ */
+
+ #define atomic_xchg(v, new) (xchg(&((v)->counter), new))
++static inline int atomic_xchg_unchecked(atomic_unchecked_t *v, int new)
++{
++ return xchg(&v->counter, new);
++}
+
+ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+ {
+@@ -219,11 +365,27 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+ }
+
+ #define atomic_inc(v) atomic_add(1, v)
++static inline void atomic_inc_unchecked(atomic_unchecked_t *v)
++{
++ atomic_add_unchecked(1, v);
++}
+ #define atomic_dec(v) atomic_sub(1, v)
++static inline void atomic_dec_unchecked(atomic_unchecked_t *v)
++{
++ atomic_sub_unchecked(1, v);
++}
+
+ #define atomic_inc_and_test(v) (atomic_add_return(1, v) == 0)
++static inline int atomic_inc_and_test_unchecked(atomic_unchecked_t *v)
++{
++ return atomic_add_return_unchecked(1, v) == 0;
++}
+ #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0)
+ #define atomic_inc_return(v) (atomic_add_return(1, v))
++static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v)
++{
++ return atomic_add_return_unchecked(1, v);
++}
+ #define atomic_dec_return(v) (atomic_sub_return(1, v))
+ #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
+
+@@ -239,6 +401,14 @@ typedef struct {
u64 __aligned(8) counter;
} atomic64_t;
@@ -633,6 +934,355 @@ index 86976d0..8a57797 100644
#define ATOMIC64_INIT(i) { (i) }
static inline u64 atomic64_read(atomic64_t *v)
+@@ -254,6 +424,19 @@ static inline u64 atomic64_read(atomic64_t *v)
+ return result;
+ }
+
++static inline u64 atomic64_read_unchecked(atomic64_unchecked_t *v)
++{
++ u64 result;
++
++ __asm__ __volatile__("@ atomic64_read_unchecked\n"
++" ldrexd %0, %H0, [%1]"
++ : "=&r" (result)
++ : "r" (&v->counter), "Qo" (v->counter)
++ );
++
++ return result;
++}
++
+ static inline void atomic64_set(atomic64_t *v, u64 i)
+ {
+ u64 tmp;
+@@ -268,6 +451,20 @@ static inline void atomic64_set(atomic64_t *v, u64 i)
+ : "cc");
+ }
+
++static inline void atomic64_set_unchecked(atomic64_unchecked_t *v, u64 i)
++{
++ u64 tmp;
++
++ __asm__ __volatile__("@ atomic64_set_unchecked\n"
++"1: ldrexd %0, %H0, [%2]\n"
++" strexd %0, %3, %H3, [%2]\n"
++" teq %0, #0\n"
++" bne 1b"
++ : "=&r" (tmp), "=Qo" (v->counter)
++ : "r" (&v->counter), "r" (i)
++ : "cc");
++}
++
+ static inline void atomic64_add(u64 i, atomic64_t *v)
+ {
+ u64 result;
+@@ -276,6 +473,36 @@ static inline void atomic64_add(u64 i, atomic64_t *v)
+ __asm__ __volatile__("@ atomic64_add\n"
+ "1: ldrexd %0, %H0, [%3]\n"
+ " adds %0, %0, %4\n"
++" adcs %H0, %H0, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
++" strexd %1, %0, %H0, [%3]\n"
++" teq %1, #0\n"
++" bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
++ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++ : "r" (&v->counter), "r" (i)
++ : "cc");
++}
++
++static inline void atomic64_add_unchecked(u64 i, atomic64_unchecked_t *v)
++{
++ u64 result;
++ unsigned long tmp;
++
++ __asm__ __volatile__("@ atomic64_add_unchecked\n"
++"1: ldrexd %0, %H0, [%3]\n"
++" adds %0, %0, %4\n"
+ " adc %H0, %H0, %H4\n"
+ " strexd %1, %0, %H0, [%3]\n"
+ " teq %1, #0\n"
+@@ -287,12 +514,49 @@ static inline void atomic64_add(u64 i, atomic64_t *v)
+
+ static inline u64 atomic64_add_return(u64 i, atomic64_t *v)
+ {
+- u64 result;
+- unsigned long tmp;
++ u64 result, tmp;
+
+ smp_mb();
+
+ __asm__ __volatile__("@ atomic64_add_return\n"
++"1: ldrexd %1, %H1, [%3]\n"
++" adds %0, %1, %4\n"
++" adcs %H0, %H1, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++" mov %0, %1\n"
++" mov %H0, %H1\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
++" strexd %1, %0, %H0, [%3]\n"
++" teq %1, #0\n"
++" bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
++ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++ : "r" (&v->counter), "r" (i)
++ : "cc");
++
++ smp_mb();
++
++ return result;
++}
++
++static inline u64 atomic64_add_return_unchecked(u64 i, atomic64_unchecked_t *v)
++{
++ u64 result;
++ unsigned long tmp;
++
++ smp_mb();
++
++ __asm__ __volatile__("@ atomic64_add_return_unchecked\n"
+ "1: ldrexd %0, %H0, [%3]\n"
+ " adds %0, %0, %4\n"
+ " adc %H0, %H0, %H4\n"
+@@ -316,6 +580,36 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)
+ __asm__ __volatile__("@ atomic64_sub\n"
+ "1: ldrexd %0, %H0, [%3]\n"
+ " subs %0, %0, %4\n"
++" sbcs %H0, %H0, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
++" strexd %1, %0, %H0, [%3]\n"
++" teq %1, #0\n"
++" bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
++ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++ : "r" (&v->counter), "r" (i)
++ : "cc");
++}
++
++static inline void atomic64_sub_unchecked(u64 i, atomic64_unchecked_t *v)
++{
++ u64 result;
++ unsigned long tmp;
++
++ __asm__ __volatile__("@ atomic64_sub_unchecked\n"
++"1: ldrexd %0, %H0, [%3]\n"
++" subs %0, %0, %4\n"
+ " sbc %H0, %H0, %H4\n"
+ " strexd %1, %0, %H0, [%3]\n"
+ " teq %1, #0\n"
+@@ -327,18 +621,32 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)
+
+ static inline u64 atomic64_sub_return(u64 i, atomic64_t *v)
+ {
+- u64 result;
+- unsigned long tmp;
++ u64 result, tmp;
+
+ smp_mb();
+
+ __asm__ __volatile__("@ atomic64_sub_return\n"
+-"1: ldrexd %0, %H0, [%3]\n"
+-" subs %0, %0, %4\n"
+-" sbc %H0, %H0, %H4\n"
++"1: ldrexd %1, %H1, [%3]\n"
++" subs %0, %1, %4\n"
++" sbc %H0, %H1, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++" mov %0, %1\n"
++" mov %H0, %H1\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
+ " strexd %1, %0, %H0, [%3]\n"
+ " teq %1, #0\n"
+ " bne 1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
+ : "r" (&v->counter), "r" (i)
+ : "cc");
+@@ -372,6 +680,30 @@ static inline u64 atomic64_cmpxchg(atomic64_t *ptr, u64 old, u64 new)
+ return oldval;
+ }
+
++static inline u64 atomic64_cmpxchg_unchecked(atomic64_unchecked_t *ptr, u64 old, u64 new)
++{
++ u64 oldval;
++ unsigned long res;
++
++ smp_mb();
++
++ do {
++ __asm__ __volatile__("@ atomic64_cmpxchg_unchecked\n"
++ "ldrexd %1, %H1, [%3]\n"
++ "mov %0, #0\n"
++ "teq %1, %4\n"
++ "teqeq %H1, %H4\n"
++ "strexdeq %0, %5, %H5, [%3]"
++ : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)
++ : "r" (&ptr->counter), "r" (old), "r" (new)
++ : "cc");
++ } while (res);
++
++ smp_mb();
++
++ return oldval;
++}
++
+ static inline u64 atomic64_xchg(atomic64_t *ptr, u64 new)
+ {
+ u64 result;
+@@ -395,21 +727,34 @@ static inline u64 atomic64_xchg(atomic64_t *ptr, u64 new)
+
+ static inline u64 atomic64_dec_if_positive(atomic64_t *v)
+ {
+- u64 result;
+- unsigned long tmp;
++ u64 result, tmp;
+
+ smp_mb();
+
+ __asm__ __volatile__("@ atomic64_dec_if_positive\n"
+-"1: ldrexd %0, %H0, [%3]\n"
+-" subs %0, %0, #1\n"
+-" sbc %H0, %H0, #0\n"
++"1: ldrexd %1, %H1, [%3]\n"
++" subs %0, %1, #1\n"
++" sbc %H0, %H1, #0\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++" mov %0, %1\n"
++" mov %H0, %H1\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
+ " teq %H0, #0\n"
+-" bmi 2f\n"
++" bmi 4f\n"
+ " strexd %1, %0, %H0, [%3]\n"
+ " teq %1, #0\n"
+ " bne 1b\n"
+-"2:"
++"4:\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
+ : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
+ : "r" (&v->counter)
+ : "cc");
+@@ -432,13 +777,25 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
+ " teq %0, %5\n"
+ " teqeq %H0, %H5\n"
+ " moveq %1, #0\n"
+-" beq 2f\n"
++" beq 4f\n"
+ " adds %0, %0, %6\n"
+ " adc %H0, %H0, %H6\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++" bvc 3f\n"
++"2: bkpt 0xf103\n"
++"3:\n"
++#endif
++
+ " strexd %2, %0, %H0, [%4]\n"
+ " teq %2, #0\n"
+ " bne 1b\n"
+-"2:"
++"4:\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++ _ASM_EXTABLE(2b, 4b)
++#endif
++
+ : "=&r" (val), "+r" (ret), "=&r" (tmp), "+Qo" (v->counter)
+ : "r" (&v->counter), "r" (u), "r" (a)
+ : "cc");
+@@ -451,10 +808,13 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
+
+ #define atomic64_add_negative(a, v) (atomic64_add_return((a), (v)) < 0)
+ #define atomic64_inc(v) atomic64_add(1LL, (v))
++#define atomic64_inc_unchecked(v) atomic64_add_unchecked(1LL, (v))
+ #define atomic64_inc_return(v) atomic64_add_return(1LL, (v))
++#define atomic64_inc_return_unchecked(v) atomic64_add_return_unchecked(1LL, (v))
+ #define atomic64_inc_and_test(v) (atomic64_inc_return(v) == 0)
+ #define atomic64_sub_and_test(a, v) (atomic64_sub_return((a), (v)) == 0)
+ #define atomic64_dec(v) atomic64_sub(1LL, (v))
++#define atomic64_dec_unchecked(v) atomic64_sub_unchecked(1LL, (v))
+ #define atomic64_dec_return(v) atomic64_sub_return(1LL, (v))
+ #define atomic64_dec_and_test(v) (atomic64_dec_return((v)) == 0)
+ #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1LL, 0LL)
+diff --git a/arch/arm/include/asm/cache.h b/arch/arm/include/asm/cache.h
+index 75fe66b..2255c86 100644
+--- a/arch/arm/include/asm/cache.h
++++ b/arch/arm/include/asm/cache.h
+@@ -4,8 +4,10 @@
+ #ifndef __ASMARM_CACHE_H
+ #define __ASMARM_CACHE_H
+
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT CONFIG_ARM_L1_CACHE_SHIFT
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ /*
+ * Memory returned by kmalloc() may be used for DMA, so we must make
+diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
+index d5d8d5c..ad92c96 100644
+--- a/arch/arm/include/asm/cacheflush.h
++++ b/arch/arm/include/asm/cacheflush.h
+@@ -108,7 +108,7 @@ struct cpu_cache_fns {
+ void (*dma_unmap_area)(const void *, size_t, int);
+
+ void (*dma_flush_range)(const void *, const void *);
+-};
++} __no_const;
+
+ /*
+ * Select the calling method
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h
index 0e9ce8d..6ef1e03 100644
--- a/arch/arm/include/asm/elf.h
@@ -676,6 +1326,68 @@ index e51b1e8..32a3113 100644
KM_TYPE_NR
};
+diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
+index 53426c6..c7baff3 100644
+--- a/arch/arm/include/asm/outercache.h
++++ b/arch/arm/include/asm/outercache.h
+@@ -35,7 +35,7 @@ struct outer_cache_fns {
+ #endif
+ void (*set_debug)(unsigned long);
+ void (*resume)(void);
+-};
++} __no_const;
+
+ #ifdef CONFIG_OUTER_CACHE
+
+diff --git a/arch/arm/include/asm/page.h b/arch/arm/include/asm/page.h
+index ca94653..6ac0d56 100644
+--- a/arch/arm/include/asm/page.h
++++ b/arch/arm/include/asm/page.h
+@@ -123,7 +123,7 @@ struct cpu_user_fns {
+ void (*cpu_clear_user_highpage)(struct page *page, unsigned long vaddr);
+ void (*cpu_copy_user_highpage)(struct page *to, struct page *from,
+ unsigned long vaddr, struct vm_area_struct *vma);
+-};
++} __no_const;
+
+ #ifdef MULTI_USER
+ extern struct cpu_user_fns cpu_user;
+diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
+index 984014b..a6d914f 100644
+--- a/arch/arm/include/asm/system.h
++++ b/arch/arm/include/asm/system.h
+@@ -90,6 +90,8 @@ void hook_ifault_code(int nr, int (*fn)(unsigned long, unsigned int,
+
+ #define xchg(ptr,x) \
+ ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
++#define xchg_unchecked(ptr,x) \
++ ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
+
+ extern asmlinkage void c_backtrace(unsigned long fp, int pmode);
+
+@@ -101,7 +103,7 @@ extern int __pure cpu_architecture(void);
+ extern void cpu_init(void);
+
+ void arm_machine_restart(char mode, const char *cmd);
+-extern void (*arm_pm_restart)(char str, const char *cmd);
++extern void (*arm_pm_restart)(char str, const char *cmd) __noreturn;
+
+ #define UDBG_UNDEFINED (1 << 0)
+ #define UDBG_SYSCALL (1 << 1)
+@@ -526,6 +528,13 @@ static inline unsigned long long __cmpxchg64_mb(volatile void *ptr,
+
+ #endif /* __LINUX_ARM_ARCH__ >= 6 */
+
++#define _ASM_EXTABLE(from, to) \
++" .pushsection __ex_table,\"a\"\n"\
++" .align 3\n" \
++" .long " #from ", " #to"\n" \
++" .popsection"
++
++
+ #endif /* __ASSEMBLY__ */
+
+ #define arch_align_stack(x) (x)
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
index b293616..96310e5 100644
--- a/arch/arm/include/asm/uaccess.h
@@ -751,7 +1463,7 @@ index 5b0bce6..becd81c 100644
EXPORT_SYMBOL(__get_user_1);
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
-index 3d0c6fb..3dcae52 100644
+index 3d0c6fb..9d326fa 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -28,7 +28,6 @@
@@ -762,7 +1474,33 @@ index 3d0c6fb..3dcae52 100644
#include <linux/hw_breakpoint.h>
#include <linux/cpuidle.h>
-@@ -484,12 +483,6 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -92,7 +91,7 @@ static int __init hlt_setup(char *__unused)
+ __setup("nohlt", nohlt_setup);
+ __setup("hlt", hlt_setup);
+
+-void arm_machine_restart(char mode, const char *cmd)
++__noreturn void arm_machine_restart(char mode, const char *cmd)
+ {
+ /* Disable interrupts first */
+ local_irq_disable();
+@@ -134,7 +133,7 @@ void arm_machine_restart(char mode, const char *cmd)
+ void (*pm_power_off)(void);
+ EXPORT_SYMBOL(pm_power_off);
+
+-void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
++void (*arm_pm_restart)(char str, const char *cmd) __noreturn = arm_machine_restart;
+ EXPORT_SYMBOL_GPL(arm_pm_restart);
+
+ static void do_nothing(void *unused)
+@@ -248,6 +247,7 @@ void machine_power_off(void)
+ machine_shutdown();
+ if (pm_power_off)
+ pm_power_off();
++ BUG();
+ }
+
+ void machine_restart(char *cmd)
+@@ -484,12 +484,6 @@ unsigned long get_wchan(struct task_struct *p)
return 0;
}
@@ -775,6 +1513,27 @@ index 3d0c6fb..3dcae52 100644
#ifdef CONFIG_MMU
/*
* The vectors page is always readable from user space for the
+diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
+index 8fc2c8f..064c150 100644
+--- a/arch/arm/kernel/setup.c
++++ b/arch/arm/kernel/setup.c
+@@ -108,13 +108,13 @@ struct processor processor __read_mostly;
+ struct cpu_tlb_fns cpu_tlb __read_mostly;
+ #endif
+ #ifdef MULTI_USER
+-struct cpu_user_fns cpu_user __read_mostly;
++struct cpu_user_fns cpu_user __read_only;
+ #endif
+ #ifdef MULTI_CACHE
+-struct cpu_cache_fns cpu_cache __read_mostly;
++struct cpu_cache_fns cpu_cache __read_only;
+ #endif
+ #ifdef CONFIG_OUTER_CACHE
+-struct outer_cache_fns outer_cache __read_mostly;
++struct outer_cache_fns outer_cache __read_only;
+ EXPORT_SYMBOL(outer_cache);
+ #endif
+
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 99a5727..a3d5bb1 100644
--- a/arch/arm/kernel/traps.c
@@ -825,6 +1584,18 @@ index 66a477a..bee61d3 100644
.pushsection .fixup,"ax"
.align 0
+diff --git a/arch/arm/lib/copy_page.S b/arch/arm/lib/copy_page.S
+index 6ee2f67..d1cce76 100644
+--- a/arch/arm/lib/copy_page.S
++++ b/arch/arm/lib/copy_page.S
+@@ -10,6 +10,7 @@
+ * ASM optimised string functions
+ */
+ #include <linux/linkage.h>
++#include <linux/const.h>
+ #include <asm/assembler.h>
+ #include <asm/asm-offsets.h>
+ #include <asm/cache.h>
diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S
index d066df6..df28194 100644
--- a/arch/arm/lib/copy_to_user.S
@@ -922,6 +1693,19 @@ index 025f742..8432b08 100644
{
/*
* This test is stubbed out of the main function above to keep
+diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
+index e9d5f4a..f099699 100644
+--- a/arch/arm/mach-omap2/board-n8x0.c
++++ b/arch/arm/mach-omap2/board-n8x0.c
+@@ -593,7 +593,7 @@ static int n8x0_menelaus_late_init(struct device *dev)
+ }
+ #endif
+
+-static struct menelaus_platform_data n8x0_menelaus_platform_data __initdata = {
++static struct menelaus_platform_data n8x0_menelaus_platform_data __initconst = {
+ .late_init = n8x0_menelaus_late_init,
+ };
+
diff --git a/arch/arm/mach-ux500/mbox-db5500.c b/arch/arm/mach-ux500/mbox-db5500.c
index 2b2d51c..0127490 100644
--- a/arch/arm/mach-ux500/mbox-db5500.c
@@ -936,7 +1720,7 @@ index 2b2d51c..0127490 100644
static int mbox_show(struct seq_file *s, void *data)
{
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
-index aa33949..b242a2f 100644
+index aa33949..d366075 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -183,6 +183,13 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
@@ -987,6 +1771,27 @@ index aa33949..b242a2f 100644
/*
* First Level Translation Fault Handler
*
+@@ -628,6 +662,20 @@ do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs)
+ const struct fsr_info *inf = ifsr_info + fsr_fs(ifsr);
+ struct siginfo info;
+
++#ifdef CONFIG_PAX_REFCOUNT
++ if (fsr_fs(ifsr) == 2) {
++ unsigned int bkpt;
++
++ if (!probe_kernel_address((unsigned int *)addr, bkpt) && bkpt == 0xe12f1073) {
++ current->thread.error_code = ifsr;
++ current->thread.trap_no = 0;
++ pax_report_refcount_overflow(regs);
++ fixup_exception(regs);
++ return;
++ }
++ }
++#endif
++
+ if (!inf->fn(addr, ifsr | FSR_LNX_PF, regs))
+ return;
+
diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c
index 44b628e..623ee2a 100644
--- a/arch/arm/mm/mmap.c
@@ -1040,6 +1845,48 @@ index 44b628e..623ee2a 100644
/*
* Remember the place where we stopped the search:
*/
+diff --git a/arch/arm/plat-samsung/include/plat/dma-ops.h b/arch/arm/plat-samsung/include/plat/dma-ops.h
+index 4c1a363..df311d0 100644
+--- a/arch/arm/plat-samsung/include/plat/dma-ops.h
++++ b/arch/arm/plat-samsung/include/plat/dma-ops.h
+@@ -41,7 +41,7 @@ struct samsung_dma_ops {
+ int (*started)(unsigned ch);
+ int (*flush)(unsigned ch);
+ int (*stop)(unsigned ch);
+-};
++} __no_const;
+
+ extern void *samsung_dmadev_get_ops(void);
+ extern void *s3c_dma_get_ops(void);
+diff --git a/arch/arm/plat-samsung/include/plat/ehci.h b/arch/arm/plat-samsung/include/plat/ehci.h
+index 5f28cae..3d23723 100644
+--- a/arch/arm/plat-samsung/include/plat/ehci.h
++++ b/arch/arm/plat-samsung/include/plat/ehci.h
+@@ -14,7 +14,7 @@
+ struct s5p_ehci_platdata {
+ int (*phy_init)(struct platform_device *pdev, int type);
+ int (*phy_exit)(struct platform_device *pdev, int type);
+-};
++} __no_const;
+
+ extern void s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd);
+
+diff --git a/arch/avr32/include/asm/cache.h b/arch/avr32/include/asm/cache.h
+index c3a58a1..78fbf54 100644
+--- a/arch/avr32/include/asm/cache.h
++++ b/arch/avr32/include/asm/cache.h
+@@ -1,8 +1,10 @@
+ #ifndef __ASM_AVR32_CACHE_H
+ #define __ASM_AVR32_CACHE_H
+
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT 5
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ /*
+ * Memory returned by kmalloc() may be used for DMA, so we must make
diff --git a/arch/avr32/include/asm/elf.h b/arch/avr32/include/asm/elf.h
index 3b3159b..425ea94 100644
--- a/arch/avr32/include/asm/elf.h
@@ -1119,6 +1966,98 @@ index f7040a1..db9f300 100644
if (exception_trace && printk_ratelimit())
printk("%s%s[%d]: segfault at %08lx pc %08lx "
"sp %08lx ecr %lu\n",
+diff --git a/arch/blackfin/include/asm/cache.h b/arch/blackfin/include/asm/cache.h
+index 568885a..f8008df 100644
+--- a/arch/blackfin/include/asm/cache.h
++++ b/arch/blackfin/include/asm/cache.h
+@@ -7,6 +7,7 @@
+ #ifndef __ARCH_BLACKFIN_CACHE_H
+ #define __ARCH_BLACKFIN_CACHE_H
+
++#include <linux/const.h>
+ #include <linux/linkage.h> /* for asmlinkage */
+
+ /*
+@@ -14,7 +15,7 @@
+ * Blackfin loads 32 bytes for cache
+ */
+ #define L1_CACHE_SHIFT 5
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define SMP_CACHE_BYTES L1_CACHE_BYTES
+
+ #define ARCH_DMA_MINALIGN L1_CACHE_BYTES
+diff --git a/arch/cris/include/arch-v10/arch/cache.h b/arch/cris/include/arch-v10/arch/cache.h
+index aea2718..3639a60 100644
+--- a/arch/cris/include/arch-v10/arch/cache.h
++++ b/arch/cris/include/arch-v10/arch/cache.h
+@@ -1,8 +1,9 @@
+ #ifndef _ASM_ARCH_CACHE_H
+ #define _ASM_ARCH_CACHE_H
+
++#include <linux/const.h>
+ /* Etrax 100LX have 32-byte cache-lines. */
+-#define L1_CACHE_BYTES 32
+ #define L1_CACHE_SHIFT 5
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #endif /* _ASM_ARCH_CACHE_H */
+diff --git a/arch/cris/include/arch-v32/arch/cache.h b/arch/cris/include/arch-v32/arch/cache.h
+index 1de779f..336fad3 100644
+--- a/arch/cris/include/arch-v32/arch/cache.h
++++ b/arch/cris/include/arch-v32/arch/cache.h
+@@ -1,11 +1,12 @@
+ #ifndef _ASM_CRIS_ARCH_CACHE_H
+ #define _ASM_CRIS_ARCH_CACHE_H
+
++#include <linux/const.h>
+ #include <arch/hwregs/dma.h>
+
+ /* A cache-line is 32 bytes. */
+-#define L1_CACHE_BYTES 32
+ #define L1_CACHE_SHIFT 5
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define __read_mostly __attribute__((__section__(".data.read_mostly")))
+
+diff --git a/arch/frv/include/asm/atomic.h b/arch/frv/include/asm/atomic.h
+index 0d8a7d6..d0c9ff5 100644
+--- a/arch/frv/include/asm/atomic.h
++++ b/arch/frv/include/asm/atomic.h
+@@ -241,6 +241,16 @@ extern uint32_t __xchg_32(uint32_t i, volatile void *v);
+ #define atomic64_cmpxchg(v, old, new) (__cmpxchg_64(old, new, &(v)->counter))
+ #define atomic64_xchg(v, new) (__xchg_64(new, &(v)->counter))
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
+ {
+ int c, old;
+diff --git a/arch/frv/include/asm/cache.h b/arch/frv/include/asm/cache.h
+index 2797163..c2a401d 100644
+--- a/arch/frv/include/asm/cache.h
++++ b/arch/frv/include/asm/cache.h
+@@ -12,10 +12,11 @@
+ #ifndef __ASM_CACHE_H
+ #define __ASM_CACHE_H
+
++#include <linux/const.h>
+
+ /* bytes per L1 cache line */
+ #define L1_CACHE_SHIFT (CONFIG_FRV_L1_CACHE_SHIFT)
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define __cacheline_aligned __attribute__((aligned(L1_CACHE_BYTES)))
+ #define ____cacheline_aligned __attribute__((aligned(L1_CACHE_BYTES)))
diff --git a/arch/frv/include/asm/kmap_types.h b/arch/frv/include/asm/kmap_types.h
index f8e16b2..c73ff79 100644
--- a/arch/frv/include/asm/kmap_types.h
@@ -1163,6 +2102,82 @@ index 385fd30..6c3d97e 100644
goto success;
addr = vma->vm_end;
}
+diff --git a/arch/h8300/include/asm/cache.h b/arch/h8300/include/asm/cache.h
+index c635028..6d9445a 100644
+--- a/arch/h8300/include/asm/cache.h
++++ b/arch/h8300/include/asm/cache.h
+@@ -1,8 +1,10 @@
+ #ifndef __ARCH_H8300_CACHE_H
+ #define __ARCH_H8300_CACHE_H
+
++#include <linux/const.h>
++
+ /* bytes per L1 cache line */
+-#define L1_CACHE_BYTES 4
++#define L1_CACHE_BYTES _AC(4,UL)
+
+ /* m68k-elf-gcc 2.95.2 doesn't like these */
+
+diff --git a/arch/hexagon/include/asm/cache.h b/arch/hexagon/include/asm/cache.h
+index 0f01de2..d37d309 100644
+--- a/arch/hexagon/include/asm/cache.h
++++ b/arch/hexagon/include/asm/cache.h
+@@ -21,9 +21,11 @@
+ #ifndef __ASM_CACHE_H
+ #define __ASM_CACHE_H
+
++#include <linux/const.h>
++
+ /* Bytes per L1 cache line */
+-#define L1_CACHE_SHIFT (5)
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_SHIFT 5
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define __cacheline_aligned __aligned(L1_CACHE_BYTES)
+ #define ____cacheline_aligned __aligned(L1_CACHE_BYTES)
+diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h
+index 3fad89e..3047da5 100644
+--- a/arch/ia64/include/asm/atomic.h
++++ b/arch/ia64/include/asm/atomic.h
+@@ -209,6 +209,16 @@ atomic64_add_negative (__s64 i, atomic64_t *v)
+ #define atomic64_inc(v) atomic64_add(1, (v))
+ #define atomic64_dec(v) atomic64_sub(1, (v))
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ /* Atomic operations are already serializing */
+ #define smp_mb__before_atomic_dec() barrier()
+ #define smp_mb__after_atomic_dec() barrier()
+diff --git a/arch/ia64/include/asm/cache.h b/arch/ia64/include/asm/cache.h
+index 988254a..e1ee885 100644
+--- a/arch/ia64/include/asm/cache.h
++++ b/arch/ia64/include/asm/cache.h
+@@ -1,6 +1,7 @@
+ #ifndef _ASM_IA64_CACHE_H
+ #define _ASM_IA64_CACHE_H
+
++#include <linux/const.h>
+
+ /*
+ * Copyright (C) 1998-2000 Hewlett-Packard Co
+@@ -9,7 +10,7 @@
+
+ /* Bytes per L1 (data) cache line. */
+ #define L1_CACHE_SHIFT CONFIG_IA64_L1_CACHE_SHIFT
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #ifdef CONFIG_SMP
+ # define SMP_CACHE_SHIFT L1_CACHE_SHIFT
diff --git a/arch/ia64/include/asm/elf.h b/arch/ia64/include/asm/elf.h
index b5298eb..67c6e62 100644
--- a/arch/ia64/include/asm/elf.h
@@ -1478,6 +2493,22 @@ index 00cb0e2..2ad8024 100644
vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
down_write(&current->mm->mmap_sem);
if (insert_vm_struct(current->mm, vma)) {
+diff --git a/arch/m32r/include/asm/cache.h b/arch/m32r/include/asm/cache.h
+index 40b3ee9..8c2c112 100644
+--- a/arch/m32r/include/asm/cache.h
++++ b/arch/m32r/include/asm/cache.h
+@@ -1,8 +1,10 @@
+ #ifndef _ASM_M32R_CACHE_H
+ #define _ASM_M32R_CACHE_H
+
++#include <linux/const.h>
++
+ /* L1 cache line size */
+ #define L1_CACHE_SHIFT 4
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #endif /* _ASM_M32R_CACHE_H */
diff --git a/arch/m32r/lib/usercopy.c b/arch/m32r/lib/usercopy.c
index 82abd15..d95ae5d 100644
--- a/arch/m32r/lib/usercopy.c
@@ -1502,6 +2533,90 @@ index 82abd15..d95ae5d 100644
prefetchw(to);
if (access_ok(VERIFY_READ, from, n))
__copy_user_zeroing(to,from,n);
+diff --git a/arch/m68k/include/asm/cache.h b/arch/m68k/include/asm/cache.h
+index 0395c51..5f26031 100644
+--- a/arch/m68k/include/asm/cache.h
++++ b/arch/m68k/include/asm/cache.h
+@@ -4,9 +4,11 @@
+ #ifndef __ARCH_M68K_CACHE_H
+ #define __ARCH_M68K_CACHE_H
+
++#include <linux/const.h>
++
+ /* bytes per L1 cache line */
+ #define L1_CACHE_SHIFT 4
+-#define L1_CACHE_BYTES (1<< L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define ARCH_DMA_MINALIGN L1_CACHE_BYTES
+
+diff --git a/arch/microblaze/include/asm/cache.h b/arch/microblaze/include/asm/cache.h
+index 4efe96a..60e8699 100644
+--- a/arch/microblaze/include/asm/cache.h
++++ b/arch/microblaze/include/asm/cache.h
+@@ -13,11 +13,12 @@
+ #ifndef _ASM_MICROBLAZE_CACHE_H
+ #define _ASM_MICROBLAZE_CACHE_H
+
++#include <linux/const.h>
+ #include <asm/registers.h>
+
+ #define L1_CACHE_SHIFT 5
+ /* word-granular cache in microblaze */
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define SMP_CACHE_BYTES L1_CACHE_BYTES
+
+diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h
+index 1d93f81..67794d0 100644
+--- a/arch/mips/include/asm/atomic.h
++++ b/arch/mips/include/asm/atomic.h
+@@ -21,6 +21,10 @@
+ #include <asm/war.h>
+ #include <asm/system.h>
+
++#ifdef CONFIG_GENERIC_ATOMIC64
++#include <asm-generic/atomic64.h>
++#endif
++
+ #define ATOMIC_INIT(i) { (i) }
+
+ /*
+@@ -765,6 +769,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+ */
+ #define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0)
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ #endif /* CONFIG_64BIT */
+
+ /*
+diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h
+index b4db69f..8f3b093 100644
+--- a/arch/mips/include/asm/cache.h
++++ b/arch/mips/include/asm/cache.h
+@@ -9,10 +9,11 @@
+ #ifndef _ASM_CACHE_H
+ #define _ASM_CACHE_H
+
++#include <linux/const.h>
+ #include <kmalloc.h>
+
+ #define L1_CACHE_SHIFT CONFIG_MIPS_L1_CACHE_SHIFT
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define SMP_CACHE_SHIFT L1_CACHE_SHIFT
+ #define SMP_CACHE_BYTES L1_CACHE_BYTES
diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h
index 455c0ac..ad65fbe 100644
--- a/arch/mips/include/asm/elf.h
@@ -1720,6 +2835,115 @@ index 302d779..7d35bf8 100644
-
- return ret;
-}
+diff --git a/arch/mn10300/proc-mn103e010/include/proc/cache.h b/arch/mn10300/proc-mn103e010/include/proc/cache.h
+index 967d144..db12197 100644
+--- a/arch/mn10300/proc-mn103e010/include/proc/cache.h
++++ b/arch/mn10300/proc-mn103e010/include/proc/cache.h
+@@ -11,12 +11,14 @@
+ #ifndef _ASM_PROC_CACHE_H
+ #define _ASM_PROC_CACHE_H
+
++#include <linux/const.h>
++
+ /* L1 cache */
+
+ #define L1_CACHE_NWAYS 4 /* number of ways in caches */
+ #define L1_CACHE_NENTRIES 256 /* number of entries in each way */
+-#define L1_CACHE_BYTES 16 /* bytes per entry */
+ #define L1_CACHE_SHIFT 4 /* shift for bytes per entry */
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT) /* bytes per entry */
+ #define L1_CACHE_WAYDISP 0x1000 /* displacement of one way from the next */
+
+ #define L1_CACHE_TAG_VALID 0x00000001 /* cache tag valid bit */
+diff --git a/arch/mn10300/proc-mn2ws0050/include/proc/cache.h b/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
+index bcb5df2..84fabd2 100644
+--- a/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
++++ b/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
+@@ -16,13 +16,15 @@
+ #ifndef _ASM_PROC_CACHE_H
+ #define _ASM_PROC_CACHE_H
+
++#include <linux/const.h>
++
+ /*
+ * L1 cache
+ */
+ #define L1_CACHE_NWAYS 4 /* number of ways in caches */
+ #define L1_CACHE_NENTRIES 128 /* number of entries in each way */
+-#define L1_CACHE_BYTES 32 /* bytes per entry */
+ #define L1_CACHE_SHIFT 5 /* shift for bytes per entry */
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT) /* bytes per entry */
+ #define L1_CACHE_WAYDISP 0x1000 /* distance from one way to the next */
+
+ #define L1_CACHE_TAG_VALID 0x00000001 /* cache tag valid bit */
+diff --git a/arch/openrisc/include/asm/cache.h b/arch/openrisc/include/asm/cache.h
+index 4ce7a01..449202a 100644
+--- a/arch/openrisc/include/asm/cache.h
++++ b/arch/openrisc/include/asm/cache.h
+@@ -19,11 +19,13 @@
+ #ifndef __ASM_OPENRISC_CACHE_H
+ #define __ASM_OPENRISC_CACHE_H
+
++#include <linux/const.h>
++
+ /* FIXME: How can we replace these with values from the CPU...
+ * they shouldn't be hard-coded!
+ */
+
+-#define L1_CACHE_BYTES 16
+ #define L1_CACHE_SHIFT 4
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #endif /* __ASM_OPENRISC_CACHE_H */
+diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h
+index 4054b31..a10c105 100644
+--- a/arch/parisc/include/asm/atomic.h
++++ b/arch/parisc/include/asm/atomic.h
+@@ -335,6 +335,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+
+ #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ #endif /* !CONFIG_64BIT */
+
+
+diff --git a/arch/parisc/include/asm/cache.h b/arch/parisc/include/asm/cache.h
+index 47f11c7..3420df2 100644
+--- a/arch/parisc/include/asm/cache.h
++++ b/arch/parisc/include/asm/cache.h
+@@ -5,6 +5,7 @@
+ #ifndef __ARCH_PARISC_CACHE_H
+ #define __ARCH_PARISC_CACHE_H
+
++#include <linux/const.h>
+
+ /*
+ * PA 2.0 processors have 64-byte cachelines; PA 1.1 processors have
+@@ -15,13 +16,13 @@
+ * just ruin performance.
+ */
+ #ifdef CONFIG_PA20
+-#define L1_CACHE_BYTES 64
+ #define L1_CACHE_SHIFT 6
+ #else
+-#define L1_CACHE_BYTES 32
+ #define L1_CACHE_SHIFT 5
+ #endif
+
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
++
+ #ifndef __ASSEMBLY__
+
+ #define SMP_CACHE_BYTES L1_CACHE_BYTES
diff --git a/arch/parisc/include/asm/elf.h b/arch/parisc/include/asm/elf.h
index 19f6cb1..6c78cf2 100644
--- a/arch/parisc/include/asm/elf.h
@@ -2082,6 +3306,48 @@ index 18162ce..94de376 100644
/*
* If for any reason at all we couldn't handle the fault, make
+diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
+index 02e41b5..ec6e26c 100644
+--- a/arch/powerpc/include/asm/atomic.h
++++ b/arch/powerpc/include/asm/atomic.h
+@@ -469,6 +469,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+
+ #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ #endif /* __powerpc64__ */
+
+ #endif /* __KERNEL__ */
+diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h
+index 4b50941..5605819 100644
+--- a/arch/powerpc/include/asm/cache.h
++++ b/arch/powerpc/include/asm/cache.h
+@@ -3,6 +3,7 @@
+
+ #ifdef __KERNEL__
+
++#include <linux/const.h>
+
+ /* bytes per L1 cache line */
+ #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
+@@ -22,7 +23,7 @@
+ #define L1_CACHE_SHIFT 7
+ #endif
+
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define SMP_CACHE_BYTES L1_CACHE_BYTES
+
diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h
index 3bf9cca..e7457d0 100644
--- a/arch/powerpc/include/asm/elf.h
@@ -2462,6 +3728,34 @@ index cf9c69b..ebc9640 100644
mr r5,r3
addi r3,r1,STACK_FRAME_OVERHEAD
lwz r4,_DAR(r1)
+diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
+index 745c1e7..59d97a6 100644
+--- a/arch/powerpc/kernel/irq.c
++++ b/arch/powerpc/kernel/irq.c
+@@ -547,9 +547,6 @@ struct irq_host *irq_alloc_host(struct device_node *of_node,
+ host->ops = ops;
+ host->of_node = of_node_get(of_node);
+
+- if (host->ops->match == NULL)
+- host->ops->match = default_irq_host_match;
+-
+ raw_spin_lock_irqsave(&irq_big_lock, flags);
+
+ /* If it's a legacy controller, check for duplicates and
+@@ -622,7 +619,12 @@ struct irq_host *irq_find_host(struct device_node *node)
+ */
+ raw_spin_lock_irqsave(&irq_big_lock, flags);
+ list_for_each_entry(h, &irq_hosts, link)
+- if (h->ops->match(h, node)) {
++ if (h->ops->match) {
++ if (h->ops->match(h, node)) {
++ found = h;
++ break;
++ }
++ } else if (default_irq_host_match(h, node)) {
+ found = h;
+ break;
+ }
diff --git a/arch/powerpc/kernel/module_32.c b/arch/powerpc/kernel/module_32.c
index 0b6d796..d760ddb 100644
--- a/arch/powerpc/kernel/module_32.c
@@ -2909,6 +4203,43 @@ index 73709f7..6b90313 100644
/* If hint, make sure it matches our alignment restrictions */
if (!fixed && addr) {
addr = _ALIGN_UP(addr, 1ul << pshift);
+diff --git a/arch/s390/include/asm/atomic.h b/arch/s390/include/asm/atomic.h
+index 8517d2a..d2738d4 100644
+--- a/arch/s390/include/asm/atomic.h
++++ b/arch/s390/include/asm/atomic.h
+@@ -326,6 +326,16 @@ static inline long long atomic64_dec_if_positive(atomic64_t *v)
+ #define atomic64_dec_and_test(_v) (atomic64_sub_return(1, _v) == 0)
+ #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ #define smp_mb__before_atomic_dec() smp_mb()
+ #define smp_mb__after_atomic_dec() smp_mb()
+ #define smp_mb__before_atomic_inc() smp_mb()
+diff --git a/arch/s390/include/asm/cache.h b/arch/s390/include/asm/cache.h
+index 2a30d5a..5e5586f 100644
+--- a/arch/s390/include/asm/cache.h
++++ b/arch/s390/include/asm/cache.h
+@@ -11,8 +11,10 @@
+ #ifndef __ARCH_S390_CACHE_H
+ #define __ARCH_S390_CACHE_H
+
+-#define L1_CACHE_BYTES 256
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT 8
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define NET_SKB_PAD 32
+
+ #define __read_mostly __attribute__((__section__(".data..read_mostly")))
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
index 547f1a6..0b22b53 100644
--- a/arch/s390/include/asm/elf.h
@@ -3063,10 +4394,10 @@ index dfcb343..eda788a 100644
if (r_type == R_390_GOTPC)
*(unsigned int *) loc = val;
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
-index 9451b21..ed8956f 100644
+index 53088e2..9f44a36 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
-@@ -321,39 +321,3 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -320,39 +320,3 @@ unsigned long get_wchan(struct task_struct *p)
}
return 0;
}
@@ -3107,7 +4438,7 @@ index 9451b21..ed8956f 100644
- return ret;
-}
diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c
-index f09c748..cf9ec1d 100644
+index a0155c0..34cc491 100644
--- a/arch/s390/mm/mmap.c
+++ b/arch/s390/mm/mmap.c
@@ -92,10 +92,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
@@ -3156,6 +4487,21 @@ index f09c748..cf9ec1d 100644
mm->get_unmapped_area = s390_get_unmapped_area_topdown;
mm->unmap_area = arch_unmap_area_topdown;
}
+diff --git a/arch/score/include/asm/cache.h b/arch/score/include/asm/cache.h
+index ae3d59f..f65f075 100644
+--- a/arch/score/include/asm/cache.h
++++ b/arch/score/include/asm/cache.h
+@@ -1,7 +1,9 @@
+ #ifndef _ASM_SCORE_CACHE_H
+ #define _ASM_SCORE_CACHE_H
+
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT 4
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #endif /* _ASM_SCORE_CACHE_H */
diff --git a/arch/score/include/asm/system.h b/arch/score/include/asm/system.h
index 589d5c7..669e274 100644
--- a/arch/score/include/asm/system.h
@@ -3182,6 +4528,23 @@ index 25d0803..d6c8e36 100644
-{
- return sp;
-}
+diff --git a/arch/sh/include/asm/cache.h b/arch/sh/include/asm/cache.h
+index ef9e555..331bd29 100644
+--- a/arch/sh/include/asm/cache.h
++++ b/arch/sh/include/asm/cache.h
+@@ -9,10 +9,11 @@
+ #define __ASM_SH_CACHE_H
+ #ifdef __KERNEL__
+
++#include <linux/const.h>
+ #include <linux/init.h>
+ #include <cpu/cache.h>
+
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #define __read_mostly __attribute__((__section__(".data..read_mostly")))
+
diff --git a/arch/sh/mm/mmap.c b/arch/sh/mm/mmap.c
index afeb710..d1d1289 100644
--- a/arch/sh/mm/mmap.c
@@ -3260,6 +4623,18 @@ index afeb710..d1d1289 100644
bottomup:
/*
+diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
+index f92602e..27060b2 100644
+--- a/arch/sparc/Kconfig
++++ b/arch/sparc/Kconfig
+@@ -31,6 +31,7 @@ config SPARC
+
+ config SPARC32
+ def_bool !64BIT
++ select GENERIC_ATOMIC64
+
+ config SPARC64
+ def_bool 64BIT
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile
index ad1fb5d..fc5315b 100644
--- a/arch/sparc/Makefile
@@ -3273,6 +4648,19 @@ index ad1fb5d..fc5315b 100644
VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
VMLINUX_MAIN += $(drivers-y) $(net-y)
+diff --git a/arch/sparc/include/asm/atomic_32.h b/arch/sparc/include/asm/atomic_32.h
+index 5c3c8b6..ba822fa 100644
+--- a/arch/sparc/include/asm/atomic_32.h
++++ b/arch/sparc/include/asm/atomic_32.h
+@@ -13,6 +13,8 @@
+
+ #include <linux/types.h>
+
++#include <asm-generic/atomic64.h>
++
+ #ifdef __KERNEL__
+
+ #include <asm/system.h>
diff --git a/arch/sparc/include/asm/atomic_64.h b/arch/sparc/include/asm/atomic_64.h
index 9f421df..b81fc12 100644
--- a/arch/sparc/include/asm/atomic_64.h
@@ -3464,15 +4852,20 @@ index 9f421df..b81fc12 100644
#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
diff --git a/arch/sparc/include/asm/cache.h b/arch/sparc/include/asm/cache.h
-index 69358b5..17b4745 100644
+index 69358b5..9d0d492 100644
--- a/arch/sparc/include/asm/cache.h
+++ b/arch/sparc/include/asm/cache.h
-@@ -10,7 +10,7 @@
+@@ -7,10 +7,12 @@
+ #ifndef _SPARC_CACHE_H
+ #define _SPARC_CACHE_H
+
++#include <linux/const.h>
++
#define ARCH_SLAB_MINALIGN __alignof__(unsigned long long)
#define L1_CACHE_SHIFT 5
-#define L1_CACHE_BYTES 32
-+#define L1_CACHE_BYTES 32UL
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
#ifdef CONFIG_SPARC32
#define SMP_CACHE_BYTES_SHIFT 5
@@ -3512,6 +4905,19 @@ index 7df8b7f..4946269 100644
extern unsigned long sparc64_elf_hwcap;
#define ELF_HWCAP sparc64_elf_hwcap
+diff --git a/arch/sparc/include/asm/page_32.h b/arch/sparc/include/asm/page_32.h
+index 156707b..aefa786 100644
+--- a/arch/sparc/include/asm/page_32.h
++++ b/arch/sparc/include/asm/page_32.h
+@@ -8,6 +8,8 @@
+ #ifndef _SPARC_PAGE_H
+ #define _SPARC_PAGE_H
+
++#include <linux/const.h>
++
+ #define PAGE_SHIFT 12
+
+ #ifndef __ASSEMBLY__
diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h
index a790cc6..091ed94 100644
--- a/arch/sparc/include/asm/pgtable_32.h
@@ -5487,6 +6893,45 @@ index cbef74e..c38fead 100644
BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL));
page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
+diff --git a/arch/tile/include/asm/atomic_64.h b/arch/tile/include/asm/atomic_64.h
+index 27fe667..36d474c 100644
+--- a/arch/tile/include/asm/atomic_64.h
++++ b/arch/tile/include/asm/atomic_64.h
+@@ -142,6 +142,16 @@ static inline long atomic64_add_unless(atomic64_t *v, long a, long u)
+
+ #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
+
++#define atomic64_read_unchecked(v) atomic64_read(v)
++#define atomic64_set_unchecked(v, i) atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v) atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v) atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v) atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v) atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v) atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v) atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n) atomic64_cmpxchg((v), (o), (n))
++
+ /* Atomic dec and inc don't implement barrier, so provide them if needed. */
+ #define smp_mb__before_atomic_dec() smp_mb()
+ #define smp_mb__after_atomic_dec() smp_mb()
+diff --git a/arch/tile/include/asm/cache.h b/arch/tile/include/asm/cache.h
+index 392e533..536b092 100644
+--- a/arch/tile/include/asm/cache.h
++++ b/arch/tile/include/asm/cache.h
+@@ -15,11 +15,12 @@
+ #ifndef _ASM_TILE_CACHE_H
+ #define _ASM_TILE_CACHE_H
+
++#include <linux/const.h>
+ #include <arch/chip.h>
+
+ /* bytes per L1 data cache line */
+ #define L1_CACHE_SHIFT CHIP_L1D_LOG_LINE_SIZE()
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ /* bytes per L2 cache line */
+ #define L2_CACHE_SHIFT CHIP_L2_LOG_LINE_SIZE()
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 7730af6..cce5b19 100644
--- a/arch/um/Makefile
@@ -5502,6 +6947,26 @@ index 7730af6..cce5b19 100644
#This will adjust *FLAGS accordingly to the platform.
include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
+diff --git a/arch/um/include/asm/cache.h b/arch/um/include/asm/cache.h
+index 19e1bdd..3665b77 100644
+--- a/arch/um/include/asm/cache.h
++++ b/arch/um/include/asm/cache.h
+@@ -1,6 +1,7 @@
+ #ifndef __UM_CACHE_H
+ #define __UM_CACHE_H
+
++#include <linux/const.h>
+
+ #if defined(CONFIG_UML_X86) && !defined(CONFIG_64BIT)
+ # define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
+@@ -12,6 +13,6 @@
+ # define L1_CACHE_SHIFT 5
+ #endif
+
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ #endif
diff --git a/arch/um/include/asm/kmap_types.h b/arch/um/include/asm/kmap_types.h
index 6c03acd..a5e0215 100644
--- a/arch/um/include/asm/kmap_types.h
@@ -5555,6 +7020,23 @@ index c533835..84db18e 100644
unsigned long get_wchan(struct task_struct *p)
{
unsigned long stack_page, sp, ip;
+diff --git a/arch/unicore32/include/asm/cache.h b/arch/unicore32/include/asm/cache.h
+index ad8f795..2c7eec6 100644
+--- a/arch/unicore32/include/asm/cache.h
++++ b/arch/unicore32/include/asm/cache.h
+@@ -12,8 +12,10 @@
+ #ifndef __UNICORE_CACHE_H__
+ #define __UNICORE_CACHE_H__
+
+-#define L1_CACHE_SHIFT (5)
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#include <linux/const.h>
++
++#define L1_CACHE_SHIFT 5
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+
+ /*
+ * Memory returned by kmalloc() may be used for DMA, so we must make
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index efb4294..61bc18c 100644
--- a/arch/x86/Kconfig
@@ -6587,7 +8069,7 @@ index 7bcf3fc..f53832f 100644
+ pax_force_retaddr 0, 1
ret
diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c
-index fd84387..0b4af7d 100644
+index fd84387..887aa7e 100644
--- a/arch/x86/ia32/ia32_aout.c
+++ b/arch/x86/ia32/ia32_aout.c
@@ -162,6 +162,8 @@ static int aout_core_dump(long signr, struct pt_regs *regs, struct file *file,
@@ -6599,6 +8081,34 @@ index fd84387..0b4af7d 100644
fs = get_fs();
set_fs(KERNEL_DS);
has_dumped = 1;
+@@ -315,6 +317,13 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+ current->mm->free_area_cache = TASK_UNMAPPED_BASE;
+ current->mm->cached_hole_size = 0;
+
++ retval = setup_arg_pages(bprm, IA32_STACK_TOP, EXSTACK_DEFAULT);
++ if (retval < 0) {
++ /* Someone check-me: is this error path enough? */
++ send_sig(SIGKILL, current, 0);
++ return retval;
++ }
++
+ install_exec_creds(bprm);
+ current->flags &= ~PF_FORKNOEXEC;
+
+@@ -410,13 +419,6 @@ beyond_if:
+
+ set_brk(current->mm->start_brk, current->mm->brk);
+
+- retval = setup_arg_pages(bprm, IA32_STACK_TOP, EXSTACK_DEFAULT);
+- if (retval < 0) {
+- /* Someone check-me: is this error path enough? */
+- send_sig(SIGKILL, current, 0);
+- return retval;
+- }
+-
+ current->mm->start_stack =
+ (unsigned long)create_aout_tables((char __user *)bprm->p, bprm);
+ /* start thread */
diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c
index 6557769..ef6ae89 100644
--- a/arch/x86/ia32/ia32_signal.c
@@ -7061,7 +8571,7 @@ index f6f5c53..b358b28 100644
set_fs(old_fs);
diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h
-index 091508b..e245ff2 100644
+index 091508b..7692c6f 100644
--- a/arch/x86/include/asm/alternative-asm.h
+++ b/arch/x86/include/asm/alternative-asm.h
@@ -4,10 +4,10 @@
@@ -7081,7 +8591,7 @@ index 091508b..e245ff2 100644
.endm
#endif
-+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN
++#ifdef KERNEXEC_PLUGIN
+ .macro pax_force_retaddr_bts rip=0
+ btsq $63,\rip(%rsp)
+ .endm
@@ -8578,7 +10088,7 @@ index eb92a6e..b98b2f4 100644
/* EISA */
extern void eisa_set_level_irq(unsigned int irq);
diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
-index c9e09ea..73888df 100644
+index a850b4d..bae26dc 100644
--- a/arch/x86/include/asm/i387.h
+++ b/arch/x86/include/asm/i387.h
@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struct i387_fxsave_struct *fx)
@@ -8605,31 +10115,15 @@ index c9e09ea..73888df 100644
/*
* Clear the bytes not touched by the fxsave and reserved
* for the SW usage.
-@@ -213,13 +223,8 @@ static inline void fpu_fxsave(struct fpu *fpu)
- #endif /* CONFIG_X86_64 */
-
- /* We need a safe address that is cheap to find and that is already
-- in L1 during context switch. The best choices are unfortunately
-- different for UP and SMP */
--#ifdef CONFIG_SMP
--#define safe_address (__per_cpu_offset[0])
--#else
--#define safe_address (kstat_cpu(0).cpustat.user)
--#endif
-+ in L1 during context switch. */
-+#define safe_address (init_tss[smp_processor_id()].x86_tss.sp0)
+@@ -424,7 +434,7 @@ static inline bool interrupted_kernel_fpu_idle(void)
+ static inline bool interrupted_user_mode(void)
+ {
+ struct pt_regs *regs = get_irq_regs();
+- return regs && user_mode_vm(regs);
++ return regs && user_mode(regs);
+ }
/*
- * These must be called with preempt disabled
-@@ -312,7 +317,7 @@ static inline void kernel_fpu_begin(void)
- struct thread_info *me = current_thread_info();
- preempt_disable();
- if (me->status & TS_USEDFPU)
-- __save_init_fpu(me->task);
-+ __save_init_fpu(current);
- else
- clts();
- }
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index d8e8eef..99f81ae 100644
--- a/arch/x86/include/asm/io.h
@@ -9733,7 +11227,7 @@ index 013286a..8b42f4f 100644
#define pgprot_writecombine pgprot_writecombine
extern pgprot_t pgprot_writecombine(pgprot_t prot);
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
-index b650435..eefa566 100644
+index bb3ee36..781a6b8 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -268,7 +268,7 @@ struct tss_struct {
@@ -9745,7 +11239,7 @@ index b650435..eefa566 100644
/*
* Save the original ist values for checking stack pointers during debugging
-@@ -860,11 +860,18 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -861,11 +861,18 @@ static inline void spin_lock_prefetch(const void *x)
*/
#define TASK_SIZE PAGE_OFFSET
#define TASK_SIZE_MAX TASK_SIZE
@@ -9766,7 +11260,7 @@ index b650435..eefa566 100644
.vm86_info = NULL, \
.sysenter_cs = __KERNEL_CS, \
.io_bitmap_ptr = NULL, \
-@@ -878,7 +885,7 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -879,7 +886,7 @@ static inline void spin_lock_prefetch(const void *x)
*/
#define INIT_TSS { \
.x86_tss = { \
@@ -9775,7 +11269,7 @@ index b650435..eefa566 100644
.ss0 = __KERNEL_DS, \
.ss1 = __KERNEL_CS, \
.io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
-@@ -889,11 +896,7 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -890,11 +897,7 @@ static inline void spin_lock_prefetch(const void *x)
extern unsigned long thread_saved_pc(struct task_struct *tsk);
#define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long))
@@ -9788,7 +11282,7 @@ index b650435..eefa566 100644
/*
* The below -8 is to reserve 8 bytes on top of the ring0 stack.
-@@ -908,7 +911,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -909,7 +912,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
#define task_pt_regs(task) \
({ \
struct pt_regs *__regs__; \
@@ -9797,7 +11291,7 @@ index b650435..eefa566 100644
__regs__ - 1; \
})
-@@ -918,13 +921,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -919,13 +922,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
/*
* User space process size. 47bits minus one guard page.
*/
@@ -9813,7 +11307,7 @@ index b650435..eefa566 100644
#define TASK_SIZE (test_thread_flag(TIF_IA32) ? \
IA32_PAGE_OFFSET : TASK_SIZE_MAX)
-@@ -935,11 +938,11 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -936,11 +939,11 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
#define STACK_TOP_MAX TASK_SIZE_MAX
#define INIT_THREAD { \
@@ -9827,7 +11321,7 @@ index b650435..eefa566 100644
}
/*
-@@ -961,6 +964,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
+@@ -962,6 +965,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
*/
#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3))
@@ -10358,7 +11852,7 @@ index 2d2f01c..f985723 100644
/*
* Force strict CPU ordering.
diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
-index a1fe5c1..ee326d8 100644
+index d7ef849..6af292e 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -10,6 +10,7 @@
@@ -10502,7 +11996,7 @@ index a1fe5c1..ee326d8 100644
#endif
#endif /* !X86_32 */
-@@ -266,5 +242,16 @@ extern void arch_task_cache_init(void);
+@@ -264,5 +240,16 @@ extern void arch_task_cache_init(void);
extern void free_thread_info(struct thread_info *ti);
extern int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src);
#define arch_task_cache_init arch_task_cache_init
@@ -10910,7 +12404,7 @@ index 566e803..b9521e9 100644
}
diff --git a/arch/x86/include/asm/uaccess_64.h b/arch/x86/include/asm/uaccess_64.h
-index 1c66d30..23ab77d 100644
+index 1c66d30..e66922c 100644
--- a/arch/x86/include/asm/uaccess_64.h
+++ b/arch/x86/include/asm/uaccess_64.h
@@ -10,6 +10,9 @@
@@ -10939,7 +12433,12 @@ index 1c66d30..23ab77d 100644
{
unsigned ret;
-@@ -36,138 +39,222 @@ copy_user_generic(void *to, const void *from, unsigned len)
+@@ -32,142 +35,226 @@ copy_user_generic(void *to, const void *from, unsigned len)
+ ASM_OUTPUT2("=a" (ret), "=D" (to), "=S" (from),
+ "=d" (len)),
+ "1" (to), "2" (from), "3" (len)
+- : "memory", "rcx", "r8", "r9", "r10", "r11");
++ : "memory", "rcx", "r8", "r9", "r11");
return ret;
}
@@ -15628,7 +17127,7 @@ index faba577..93b9e71 100644
return single_step_cont(regs, args);
break;
diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
-index 7da647d..5d3c4c1 100644
+index 7da647d..56fe348 100644
--- a/arch/x86/kernel/kprobes.c
+++ b/arch/x86/kernel/kprobes.c
@@ -118,8 +118,11 @@ static void __kprobes __synthesize_relative_insn(void *from, void *to, u8 op)
@@ -15718,7 +17217,7 @@ index 7da647d..5d3c4c1 100644
" movq %rax, 152(%rsp)\n"
RESTORE_REGS_STRING
" popfq\n"
-+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN
++#ifdef KERNEXEC_PLUGIN
+ " btsq $63,(%rsp)\n"
+#endif
#else
@@ -16367,7 +17866,7 @@ index ee5d4fb..426649b 100644
+}
+#endif
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
-index 795b79f..063767a 100644
+index 8598296..bfadef0 100644
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@ -67,6 +67,7 @@ asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
@@ -16418,10 +17917,10 @@ index 795b79f..063767a 100644
int cpu = smp_processor_id();
- struct tss_struct *tss = &per_cpu(init_tss, cpu);
+ struct tss_struct *tss = init_tss + cpu;
- bool preload_fpu;
+ fpu_switch_t fpu;
/* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
-@@ -331,6 +332,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -320,6 +321,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
*/
lazy_save_gs(prev->gs);
@@ -16432,32 +17931,32 @@ index 795b79f..063767a 100644
/*
* Load the per-thread Thread-Local Storage descriptor.
*/
-@@ -366,6 +371,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -350,6 +355,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
*/
arch_end_context_switch(next_p);
+ percpu_write(current_task, next_p);
+ percpu_write(current_tinfo, &next_p->tinfo);
+
- if (preload_fpu)
- __math_state_restore();
+ /*
+ * Restore %gs if needed (which is common)
+ */
+@@ -358,8 +366,6 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
-@@ -375,8 +383,6 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
- if (prev->gs | next->gs)
- lazy_load_gs(next->gs);
+ switch_fpu_finish(next_p, fpu);
- percpu_write(current_task, next_p);
-
return prev_p;
}
-@@ -406,4 +412,3 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -389,4 +395,3 @@ unsigned long get_wchan(struct task_struct *p)
} while (count++ < 16);
return 0;
}
-
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
-index 3bd7e6e..90b2bcf 100644
+index 6a364a6..b147d11 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -89,7 +89,7 @@ static void __exit_idle(void)
@@ -16494,9 +17993,9 @@ index 3bd7e6e..90b2bcf 100644
- struct tss_struct *tss = &per_cpu(init_tss, cpu);
+ struct tss_struct *tss = init_tss + cpu;
unsigned fsindex, gsindex;
- bool preload_fpu;
+ fpu_switch_t fpu;
-@@ -475,10 +475,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -461,10 +461,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
prev->usersp = percpu_read(old_rsp);
percpu_write(old_rsp, next->usersp);
percpu_write(current_task, next_p);
@@ -16509,7 +18008,7 @@ index 3bd7e6e..90b2bcf 100644
/*
* Now maybe reload the debug registers and handle I/O bitmaps
-@@ -540,12 +539,11 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -519,12 +518,11 @@ unsigned long get_wchan(struct task_struct *p)
if (!p || p == current || p->state == TASK_RUNNING)
return 0;
stack = (unsigned long)task_stack_page(p);
@@ -17565,7 +19064,7 @@ index 09ff517..df19fbff 100644
.short 0
.quad 0x00cf9b000000ffff # __KERNEL32_CS
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
-index a8e3eb8..c9dbd7d 100644
+index 31d9d0f..e244dd9 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -70,12 +70,6 @@ asmlinkage int system_call(void);
@@ -17710,25 +19209,17 @@ index a8e3eb8..c9dbd7d 100644
{
if (!fixup_exception(regs)) {
task->thread.error_code = error_code;
-@@ -568,7 +597,7 @@ asmlinkage void __attribute__((weak)) smp_threshold_interrupt(void)
- void __math_state_restore(void)
+@@ -569,8 +598,8 @@ asmlinkage void __attribute__((weak)) smp_threshold_interrupt(void)
+ void __math_state_restore(struct task_struct *tsk)
{
- struct thread_info *thread = current_thread_info();
-- struct task_struct *tsk = thread->task;
-+ struct task_struct *tsk = current;
-
- /*
- * Paranoid restore. send a SIGSEGV if we fail to restore the state.
-@@ -595,8 +624,7 @@ void __math_state_restore(void)
- */
- asmlinkage void math_state_restore(void)
- {
-- struct thread_info *thread = current_thread_info();
-- struct task_struct *tsk = thread->task;
-+ struct task_struct *tsk = current;
+ /* We need a safe address that is cheap to find and that is already
+- in L1. We've just brought in "tsk->thread.has_fpu", so use that */
+-#define safe_address (tsk->thread.has_fpu)
++ in L1. */
++#define safe_address (init_tss[smp_processor_id()].x86_tss.sp0)
- if (!tsk_used_math(tsk)) {
- local_irq_enable();
+ /* AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception
+ is pending. Clear the x87 state here by setting it to fixed
diff --git a/arch/x86/kernel/verify_cpu.S b/arch/x86/kernel/verify_cpu.S
index b9242ba..50c5edd 100644
--- a/arch/x86/kernel/verify_cpu.S
@@ -18139,7 +19630,7 @@ index 9796c2f..f686fbf 100644
EXPORT_SYMBOL(copy_page);
EXPORT_SYMBOL(clear_page);
diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c
-index a391134..d0b63b6e 100644
+index 7110911..e8cdee5 100644
--- a/arch/x86/kernel/xsave.c
+++ b/arch/x86/kernel/xsave.c
@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_struct __user *buf,
@@ -18151,7 +19642,7 @@ index a391134..d0b63b6e 100644
fx_sw_user->extended_size -
FP_XSTATE_MAGIC2_SIZE));
if (err)
-@@ -267,7 +267,7 @@ fx_only:
+@@ -266,7 +266,7 @@ fx_only:
* the other extended state.
*/
xrstor_state(init_xstate_buf, pcntxt_mask & ~XSTATE_FPSSE);
@@ -18160,7 +19651,7 @@ index a391134..d0b63b6e 100644
}
/*
-@@ -299,7 +299,7 @@ int restore_i387_xstate(void __user *buf)
+@@ -295,7 +295,7 @@ int restore_i387_xstate(void __user *buf)
if (use_xsave())
err = restore_user_xstate(buf);
else
@@ -18256,10 +19747,10 @@ index 9299410..ade2f9b 100644
spin_unlock(&vcpu->kvm->mmu_lock);
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
-index e32243e..a6e6172 100644
+index 94a4672..5c6b853 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
-@@ -3400,7 +3400,11 @@ static void reload_tss(struct kvm_vcpu *vcpu)
+@@ -3405,7 +3405,11 @@ static void reload_tss(struct kvm_vcpu *vcpu)
int cpu = raw_smp_processor_id();
struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
@@ -18271,7 +19762,7 @@ index e32243e..a6e6172 100644
load_TR_desc();
}
-@@ -3778,6 +3782,10 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
+@@ -3783,6 +3787,10 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
#endif
#endif
@@ -18283,7 +19774,7 @@ index e32243e..a6e6172 100644
local_irq_disable();
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
-index 579a0b5..ed7bbf9 100644
+index 4ea7678..b3a7084 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -1305,7 +1305,11 @@ static void reload_tss(void)
@@ -24876,6 +26367,67 @@ index b095739..8c17bcd 100644
struct trap_info;
void xen_copy_trap_info(struct trap_info *traps);
+diff --git a/arch/xtensa/variants/dc232b/include/variant/core.h b/arch/xtensa/variants/dc232b/include/variant/core.h
+index 525bd3d..ef888b1 100644
+--- a/arch/xtensa/variants/dc232b/include/variant/core.h
++++ b/arch/xtensa/variants/dc232b/include/variant/core.h
+@@ -119,9 +119,9 @@
+ ----------------------------------------------------------------------*/
+
+ #define XCHAL_ICACHE_LINESIZE 32 /* I-cache line size in bytes */
+-#define XCHAL_DCACHE_LINESIZE 32 /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_LINEWIDTH 5 /* log2(I line size in bytes) */
+ #define XCHAL_DCACHE_LINEWIDTH 5 /* log2(D line size in bytes) */
++#define XCHAL_DCACHE_LINESIZE (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH) /* D-cache line size in bytes */
+
+ #define XCHAL_ICACHE_SIZE 16384 /* I-cache size in bytes or 0 */
+ #define XCHAL_DCACHE_SIZE 16384 /* D-cache size in bytes or 0 */
+diff --git a/arch/xtensa/variants/fsf/include/variant/core.h b/arch/xtensa/variants/fsf/include/variant/core.h
+index 2f33760..835e50a 100644
+--- a/arch/xtensa/variants/fsf/include/variant/core.h
++++ b/arch/xtensa/variants/fsf/include/variant/core.h
+@@ -11,6 +11,7 @@
+ #ifndef _XTENSA_CORE_H
+ #define _XTENSA_CORE_H
+
++#include <linux/const.h>
+
+ /****************************************************************************
+ Parameters Useful for Any Code, USER or PRIVILEGED
+@@ -112,9 +113,9 @@
+ ----------------------------------------------------------------------*/
+
+ #define XCHAL_ICACHE_LINESIZE 16 /* I-cache line size in bytes */
+-#define XCHAL_DCACHE_LINESIZE 16 /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_LINEWIDTH 4 /* log2(I line size in bytes) */
+ #define XCHAL_DCACHE_LINEWIDTH 4 /* log2(D line size in bytes) */
++#define XCHAL_DCACHE_LINESIZE (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH) /* D-cache line size in bytes */
+
+ #define XCHAL_ICACHE_SIZE 8192 /* I-cache size in bytes or 0 */
+ #define XCHAL_DCACHE_SIZE 8192 /* D-cache size in bytes or 0 */
+diff --git a/arch/xtensa/variants/s6000/include/variant/core.h b/arch/xtensa/variants/s6000/include/variant/core.h
+index af00795..2bb8105 100644
+--- a/arch/xtensa/variants/s6000/include/variant/core.h
++++ b/arch/xtensa/variants/s6000/include/variant/core.h
+@@ -11,6 +11,7 @@
+ #ifndef _XTENSA_CORE_CONFIGURATION_H
+ #define _XTENSA_CORE_CONFIGURATION_H
+
++#include <linux/const.h>
+
+ /****************************************************************************
+ Parameters Useful for Any Code, USER or PRIVILEGED
+@@ -118,9 +119,9 @@
+ ----------------------------------------------------------------------*/
+
+ #define XCHAL_ICACHE_LINESIZE 16 /* I-cache line size in bytes */
+-#define XCHAL_DCACHE_LINESIZE 16 /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_LINEWIDTH 4 /* log2(I line size in bytes) */
+ #define XCHAL_DCACHE_LINEWIDTH 4 /* log2(D line size in bytes) */
++#define XCHAL_DCACHE_LINESIZE (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH) /* D-cache line size in bytes */
+
+ #define XCHAL_ICACHE_SIZE 32768 /* I-cache size in bytes or 0 */
+ #define XCHAL_DCACHE_SIZE 32768 /* D-cache size in bytes or 0 */
diff --git a/block/blk-iopoll.c b/block/blk-iopoll.c
index 58916af..9cb880b 100644
--- a/block/blk-iopoll.c
@@ -24916,7 +26468,7 @@ index 1366a89..e17f54b 100644
struct list_head *cpu_list, local_list;
diff --git a/block/bsg.c b/block/bsg.c
-index 702f131..37808bf 100644
+index c0ab25c..9d49f8f 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct request_queue *q, struct request *rq,
@@ -28287,7 +29839,7 @@ index d47a53b..61154c2 100644
INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
INIT_WORK(&dev_priv->error_work, i915_error_work_func);
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index daa5743..c0757a9 100644
+index 9ec9755..6d1cf2d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2230,7 +2230,7 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
@@ -28624,6 +30176,18 @@ index 5a82b6b..9e69c73 100644
if (regcomp
(&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
+diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
+index cb1acff..8861bc5 100644
+--- a/drivers/gpu/drm/radeon/r600_cs.c
++++ b/drivers/gpu/drm/radeon/r600_cs.c
+@@ -1304,6 +1304,7 @@ static int r600_check_texture_resource(struct radeon_cs_parser *p, u32 idx,
+ h0 = G_038004_TEX_HEIGHT(word1) + 1;
+ d0 = G_038004_TEX_DEPTH(word1);
+ nfaces = 1;
++ array = 0;
+ switch (G_038000_DIM(word0)) {
+ case V_038000_SQ_TEX_DIM_1D:
+ case V_038000_SQ_TEX_DIM_2D:
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 8227e76..ce0b195 100644
--- a/drivers/gpu/drm/radeon/radeon.h
@@ -30953,7 +32517,7 @@ index 4daf9e5..b8d1d0f 100644
.device = PCI_ANY_ID,
.subvendor = PCI_ANY_ID,
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
-index 31c2dc2..a2de7a6 100644
+index 1ce84ed..0fdd40a 100644
--- a/drivers/md/dm-ioctl.c
+++ b/drivers/md/dm-ioctl.c
@@ -1589,7 +1589,7 @@ static int validate_params(uint cmd, struct dm_ioctl *param)
@@ -31097,10 +32661,10 @@ index 8e91321..fd17aef 100644
"start=%llu, len=%llu, dev_size=%llu",
dm_device_name(ti->table->md), bdevname(bdev, b),
diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
-index 59c4f04..4c7b661 100644
+index 237571a..fb6d19b 100644
--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
-@@ -431,7 +431,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
+@@ -432,7 +432,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
pmd->info.tm = tm;
pmd->info.levels = 2;
@@ -31109,7 +32673,7 @@ index 59c4f04..4c7b661 100644
pmd->info.value_type.size = sizeof(__le64);
pmd->info.value_type.inc = data_block_inc;
pmd->info.value_type.dec = data_block_dec;
-@@ -450,7 +450,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
+@@ -451,7 +451,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
pmd->bl_info.tm = tm;
pmd->bl_info.levels = 1;
@@ -31652,6 +33216,35 @@ index 68d1240..46b32eb 100644
{0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
{0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
{0, }
+diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
+index ee0d0b3..7db1a4f 100644
+--- a/drivers/media/video/omap/omap_vout.c
++++ b/drivers/media/video/omap/omap_vout.c
+@@ -64,7 +64,12 @@ enum omap_vout_channels {
+ OMAP_VIDEO2,
+ };
+
+-static struct videobuf_queue_ops video_vbq_ops;
++static struct videobuf_queue_ops video_vbq_ops = {
++ .buf_setup = omap_vout_buffer_setup,
++ .buf_prepare = omap_vout_buffer_prepare,
++ .buf_release = omap_vout_buffer_release,
++ .buf_queue = omap_vout_buffer_queue,
++};
+ /* Variables configurable through module params*/
+ static u32 video1_numbuffers = 3;
+ static u32 video2_numbuffers = 3;
+@@ -1016,10 +1021,6 @@ static int omap_vout_open(struct file *file)
+ vout->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
+
+ q = &vout->vbq;
+- video_vbq_ops.buf_setup = omap_vout_buffer_setup;
+- video_vbq_ops.buf_prepare = omap_vout_buffer_prepare;
+- video_vbq_ops.buf_release = omap_vout_buffer_release;
+- video_vbq_ops.buf_queue = omap_vout_buffer_queue;
+ spin_lock_init(&vout->vbq_lock);
+
+ videobuf_queue_dma_contig_init(q, &video_vbq_ops, q->dev,
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
index 305e6aa..0143317 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
@@ -32482,6 +34075,32 @@ index bf266a0..e024af7 100644
}
void be_parse_stats(struct be_adapter *adapter)
+diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
+index fb5579a..debdffa 100644
+--- a/drivers/net/ethernet/faraday/ftgmac100.c
++++ b/drivers/net/ethernet/faraday/ftgmac100.c
+@@ -30,6 +30,8 @@
+ #include <linux/netdevice.h>
+ #include <linux/phy.h>
+ #include <linux/platform_device.h>
++#include <linux/interrupt.h>
++#include <linux/irqreturn.h>
+ #include <net/ip.h>
+
+ #include "ftgmac100.h"
+diff --git a/drivers/net/ethernet/faraday/ftmac100.c b/drivers/net/ethernet/faraday/ftmac100.c
+index a127cb2..0d043cd 100644
+--- a/drivers/net/ethernet/faraday/ftmac100.c
++++ b/drivers/net/ethernet/faraday/ftmac100.c
+@@ -30,6 +30,8 @@
+ #include <linux/module.h>
+ #include <linux/netdevice.h>
+ #include <linux/platform_device.h>
++#include <linux/interrupt.h>
++#include <linux/irqreturn.h>
+
+ #include "ftmac100.h"
+
diff --git a/drivers/net/ethernet/fealnx.c b/drivers/net/ethernet/fealnx.c
index 61d2bdd..7f1154a 100644
--- a/drivers/net/ethernet/fealnx.c
@@ -32857,6 +34476,21 @@ index 1b4658c..a30dabb 100644
struct sis190_private *tp = netdev_priv(dev);
struct pci_dev *isa_bridge;
u8 reg, tmp8;
+diff --git a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
+index 41e6b33..8e89b0f 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
++++ b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
+@@ -139,8 +139,8 @@ void dwmac_mmc_ctrl(void __iomem *ioaddr, unsigned int mode)
+
+ writel(value, ioaddr + MMC_CNTRL);
+
+- pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n",
+- MMC_CNTRL, value);
++// pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n",
++// MMC_CNTRL, value);
+ }
+
+ /* To mask all all interrupts.*/
diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index edfa15d..002bfa9 100644
--- a/drivers/net/ppp/ppp_generic.c
@@ -33288,7 +34922,7 @@ index f5ae3c6..7936af3 100644
static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads)
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
-index f389b3c..7359e18 100644
+index 1bd8edf..10c6d30 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -605,7 +605,7 @@ struct ath_hw_private_ops {
@@ -33610,7 +35244,7 @@ index 1cfbf22..be96487 100644
#define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
-index 04e74f4..a960176 100644
+index dfee1b3..a454fb6 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -136,7 +136,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
@@ -34974,7 +36608,7 @@ index bafccb3..e3ac78d 100644
/* Ignore return since this msg is optional. */
rndis_filter_send_request(dev, request);
diff --git a/drivers/staging/iio/buffer_generic.h b/drivers/staging/iio/buffer_generic.h
-index 9e8f010..af9efb5 100644
+index 9e8f010..af9efb56 100644
--- a/drivers/staging/iio/buffer_generic.h
+++ b/drivers/staging/iio/buffer_generic.h
@@ -64,7 +64,7 @@ struct iio_buffer_access_funcs {
@@ -35363,7 +36997,7 @@ index 6845228..df77141 100644
core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count);
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
-index 861628e..659ae80 100644
+index e4ddb93..2fc6e0f 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1343,7 +1343,7 @@ struct se_device *transport_add_device_to_core_hba(
@@ -35405,7 +37039,7 @@ index 861628e..659ae80 100644
cmd->t_task_list_num)
atomic_set(&cmd->t_transport_sent, 1);
-@@ -4273,7 +4273,7 @@ bool transport_wait_for_tasks(struct se_cmd *cmd)
+@@ -4296,7 +4296,7 @@ bool transport_wait_for_tasks(struct se_cmd *cmd)
atomic_set(&cmd->transport_lun_stop, 0);
}
if (!atomic_read(&cmd->t_transport_active) ||
@@ -35414,7 +37048,7 @@ index 861628e..659ae80 100644
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
return false;
}
-@@ -4522,7 +4522,7 @@ int transport_check_aborted_status(struct se_cmd *cmd, int send_status)
+@@ -4545,7 +4545,7 @@ int transport_check_aborted_status(struct se_cmd *cmd, int send_status)
{
int ret = 0;
@@ -35423,7 +37057,7 @@ index 861628e..659ae80 100644
if (!send_status ||
(cmd->se_cmd_flags & SCF_SENT_DELAYED_TAS))
return 1;
-@@ -4559,7 +4559,7 @@ void transport_send_task_abort(struct se_cmd *cmd)
+@@ -4582,7 +4582,7 @@ void transport_send_task_abort(struct se_cmd *cmd)
*/
if (cmd->data_direction == DMA_TO_DEVICE) {
if (cmd->se_tfo->write_pending_status(cmd) != 0) {
@@ -39456,7 +41090,7 @@ index 79e2ca7..5828ad1 100644
A.out (Assembler.OUTput) is a set of formats for libraries and
executables used in the earliest versions of UNIX. Linux used
diff --git a/fs/aio.c b/fs/aio.c
-index 969beb0..09fab51 100644
+index 67e4b90..fbb09dc 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx *ctx)
@@ -39468,7 +41102,7 @@ index 969beb0..09fab51 100644
return -EINVAL;
nr_events = (PAGE_SIZE * nr_pages - sizeof(struct aio_ring)) / sizeof(struct io_event);
-@@ -1461,22 +1461,27 @@ static ssize_t aio_fsync(struct kiocb *iocb)
+@@ -1463,22 +1463,27 @@ static ssize_t aio_fsync(struct kiocb *iocb)
static ssize_t aio_setup_vectored_rw(int type, struct kiocb *kiocb, bool compat)
{
ssize_t ret;
@@ -39511,7 +41145,7 @@ index 7ee7ba4..0c61a60 100644
goto out_sig;
if (offset > inode->i_sb->s_maxbytes)
diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
-index e1fbdee..cd5ea56 100644
+index 6861f61..a25f010 100644
--- a/fs/autofs4/waitq.c
+++ b/fs/autofs4/waitq.c
@@ -60,7 +60,7 @@ static int autofs4_write(struct file *file, const void *addr, int bytes)
@@ -39537,7 +41171,7 @@ index 8342ca6..82fd192 100644
kfree(link);
}
diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c
-index a6395bd..a5b24c4 100644
+index a6395bd..f1e376a 100644
--- a/fs/binfmt_aout.c
+++ b/fs/binfmt_aout.c
@@ -16,6 +16,7 @@
@@ -39579,7 +41213,17 @@ index a6395bd..a5b24c4 100644
if (ex.a_data + ex.a_bss > rlim)
return -ENOMEM;
-@@ -262,6 +269,27 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
+@@ -259,9 +266,37 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
+ current->mm->free_area_cache = current->mm->mmap_base;
+ current->mm->cached_hole_size = 0;
+
++ retval = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT);
++ if (retval < 0) {
++ /* Someone check-me: is this error path enough? */
++ send_sig(SIGKILL, current, 0);
++ return retval;
++ }
++
install_exec_creds(bprm);
current->flags &= ~PF_FORKNOEXEC;
@@ -39607,7 +41251,7 @@ index a6395bd..a5b24c4 100644
if (N_MAGIC(ex) == OMAGIC) {
unsigned long text_addr, map_size;
loff_t pos;
-@@ -334,7 +362,7 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
+@@ -334,7 +369,7 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
down_write(&current->mm->mmap_sem);
error = do_mmap(bprm->file, N_DATADDR(ex), ex.a_data,
@@ -39616,8 +41260,22 @@ index a6395bd..a5b24c4 100644
MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE,
fd_offset + ex.a_text);
up_write(&current->mm->mmap_sem);
+@@ -352,13 +387,6 @@ beyond_if:
+ return retval;
+ }
+
+- retval = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT);
+- if (retval < 0) {
+- /* Someone check-me: is this error path enough? */
+- send_sig(SIGKILL, current, 0);
+- return retval;
+- }
+-
+ current->mm->start_stack =
+ (unsigned long) create_aout_tables((char __user *) bprm->p, bprm);
+ #ifdef __alpha__
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
-index 21ac5ee..31d14e9 100644
+index 6ff96c6..dbf63ee 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -32,6 +32,7 @@
@@ -39752,6 +41410,7 @@ index 21ac5ee..31d14e9 100644
return error;
}
++#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS) || defined(CONFIG_PAX_XATTR_PAX_FLAGS)
+static unsigned long pax_parse_pt_pax_softmode(const struct elf_phdr * const elf_phdata)
+{
+ unsigned long pax_flags = 0UL;
@@ -39897,7 +41556,7 @@ index 21ac5ee..31d14e9 100644
+#endif
+
+#ifdef CONFIG_PAX_SEGMEXEC
-+ if (!(__supported_pte_mask & _PAGE_NX)) {
++ if (!(pax_flags & MF_PAX_PAGEEXEC) || !(__supported_pte_mask & _PAGE_NX)) {
+ pax_flags &= ~MF_PAX_PAGEEXEC;
+ pax_flags |= MF_PAX_SEGMEXEC;
+ }
@@ -40071,7 +41730,6 @@ index 21ac5ee..31d14e9 100644
+
+}
+
-+#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS) || defined(CONFIG_PAX_XATTR_PAX_FLAGS)
+static long pax_parse_pax_flags(const struct elfhdr * const elf_ex, const struct elf_phdr * const elf_phdata, struct file * const file)
+{
+ unsigned long pax_flags, pt_pax_flags, xattr_pax_flags;
@@ -41375,7 +43033,7 @@ index f3a257d..715ac0f 100644
}
EXPORT_SYMBOL_GPL(debugfs_create_dir);
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
-index d2039ca..a766407 100644
+index af11098..81e3bbe 100644
--- a/fs/ecryptfs/inode.c
+++ b/fs/ecryptfs/inode.c
@@ -691,7 +691,7 @@ static int ecryptfs_readlink_lower(struct dentry *dentry, char **buf,
@@ -41441,7 +43099,7 @@ index 608c1c3..7d040a8 100644
return rc;
}
diff --git a/fs/exec.c b/fs/exec.c
-index 3625464..7949233 100644
+index 3625464..cdeecdb 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -55,12 +55,28 @@
@@ -41504,7 +43162,25 @@ index 3625464..7949233 100644
return NULL;
if (write) {
-@@ -274,6 +282,11 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
+@@ -215,6 +223,17 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos,
+ if (size <= ARG_MAX)
+ return page;
+
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++ // only allow 512KB for argv+env on suid/sgid binaries
++ // to prevent easy ASLR exhaustion
++ if (((bprm->cred->euid != current_euid()) ||
++ (bprm->cred->egid != current_egid())) &&
++ (size > (512 * 1024))) {
++ put_page(page);
++ return NULL;
++ }
++#endif
++
+ /*
+ * Limit to 1/4-th the stack size for the argv+env strings.
+ * This ensures that:
+@@ -274,6 +293,11 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
vma->vm_end = STACK_TOP_MAX;
vma->vm_start = vma->vm_end - PAGE_SIZE;
vma->vm_flags = VM_STACK_FLAGS | VM_STACK_INCOMPLETE_SETUP;
@@ -41516,20 +43192,20 @@ index 3625464..7949233 100644
vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
INIT_LIST_HEAD(&vma->anon_vma_chain);
-@@ -288,6 +301,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
+@@ -288,6 +312,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
mm->stack_vm = mm->total_vm = 1;
up_write(&mm->mmap_sem);
bprm->p = vma->vm_end - sizeof(void *);
+
+#ifdef CONFIG_PAX_RANDUSTACK
+ if (randomize_va_space)
-+ bprm->p ^= (pax_get_random_long() & ~15) & ~PAGE_MASK;
++ bprm->p ^= random32() & ~PAGE_MASK;
+#endif
+
return 0;
err:
up_write(&mm->mmap_sem);
-@@ -396,19 +415,7 @@ err:
+@@ -396,19 +426,7 @@ err:
return err;
}
@@ -41550,7 +43226,7 @@ index 3625464..7949233 100644
{
const char __user *native;
-@@ -417,14 +424,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr)
+@@ -417,14 +435,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr)
compat_uptr_t compat;
if (get_user(compat, argv.ptr.compat + nr))
@@ -41567,7 +43243,7 @@ index 3625464..7949233 100644
return native;
}
-@@ -443,7 +450,7 @@ static int count(struct user_arg_ptr argv, int max)
+@@ -443,7 +461,7 @@ static int count(struct user_arg_ptr argv, int max)
if (!p)
break;
@@ -41576,7 +43252,7 @@ index 3625464..7949233 100644
return -EFAULT;
if (i++ >= max)
-@@ -477,7 +484,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv,
+@@ -477,7 +495,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv,
ret = -EFAULT;
str = get_user_arg_ptr(argv, argc);
@@ -41585,7 +43261,7 @@ index 3625464..7949233 100644
goto out;
len = strnlen_user(str, MAX_ARG_STRLEN);
-@@ -559,7 +566,7 @@ int copy_strings_kernel(int argc, const char *const *__argv,
+@@ -559,7 +577,7 @@ int copy_strings_kernel(int argc, const char *const *__argv,
int r;
mm_segment_t oldfs = get_fs();
struct user_arg_ptr argv = {
@@ -41594,7 +43270,7 @@ index 3625464..7949233 100644
};
set_fs(KERNEL_DS);
-@@ -594,7 +601,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
+@@ -594,7 +612,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
unsigned long new_end = old_end - shift;
struct mmu_gather tlb;
@@ -41604,7 +43280,7 @@ index 3625464..7949233 100644
/*
* ensure there are no vmas between where we want to go
-@@ -603,6 +611,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
+@@ -603,6 +622,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
if (vma != find_vma(mm, new_start))
return -EFAULT;
@@ -41615,7 +43291,7 @@ index 3625464..7949233 100644
/*
* cover the whole range: [new_start, old_end)
*/
-@@ -683,10 +695,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -683,10 +706,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
stack_top = arch_align_stack(stack_top);
stack_top = PAGE_ALIGN(stack_top);
@@ -41626,7 +43302,7 @@ index 3625464..7949233 100644
stack_shift = vma->vm_end - stack_top;
bprm->p -= stack_shift;
-@@ -698,8 +706,28 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -698,8 +717,28 @@ int setup_arg_pages(struct linux_binprm *bprm,
bprm->exec -= stack_shift;
down_write(&mm->mmap_sem);
@@ -41655,7 +43331,7 @@ index 3625464..7949233 100644
/*
* Adjust stack execute permissions; explicitly enable for
* EXSTACK_ENABLE_X, disable for EXSTACK_DISABLE_X and leave alone
-@@ -718,13 +746,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -718,13 +757,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
goto out_unlock;
BUG_ON(prev != vma);
@@ -41669,7 +43345,7 @@ index 3625464..7949233 100644
/* mprotect_fixup is overkill to remove the temporary stack flags */
vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP;
-@@ -805,7 +826,7 @@ int kernel_read(struct file *file, loff_t offset,
+@@ -805,7 +837,7 @@ int kernel_read(struct file *file, loff_t offset,
old_fs = get_fs();
set_fs(get_ds());
/* The cast to a user pointer is valid due to the set_fs() */
@@ -41678,7 +43354,7 @@ index 3625464..7949233 100644
set_fs(old_fs);
return result;
}
-@@ -1067,6 +1088,21 @@ void set_task_comm(struct task_struct *tsk, char *buf)
+@@ -1067,6 +1099,21 @@ void set_task_comm(struct task_struct *tsk, char *buf)
perf_event_comm(tsk);
}
@@ -41700,7 +43376,7 @@ index 3625464..7949233 100644
int flush_old_exec(struct linux_binprm * bprm)
{
int retval;
-@@ -1081,6 +1117,7 @@ int flush_old_exec(struct linux_binprm * bprm)
+@@ -1081,6 +1128,7 @@ int flush_old_exec(struct linux_binprm * bprm)
set_mm_exe_file(bprm->mm, bprm->file);
@@ -41708,7 +43384,7 @@ index 3625464..7949233 100644
/*
* Release all of the old mmap stuff
*/
-@@ -1112,10 +1149,6 @@ EXPORT_SYMBOL(would_dump);
+@@ -1112,10 +1160,6 @@ EXPORT_SYMBOL(would_dump);
void setup_new_exec(struct linux_binprm * bprm)
{
@@ -41719,7 +43395,7 @@ index 3625464..7949233 100644
arch_pick_mmap_layout(current->mm);
/* This is the point of no return */
-@@ -1126,18 +1159,7 @@ void setup_new_exec(struct linux_binprm * bprm)
+@@ -1126,18 +1170,7 @@ void setup_new_exec(struct linux_binprm * bprm)
else
set_dumpable(current->mm, suid_dumpable);
@@ -41739,7 +43415,7 @@ index 3625464..7949233 100644
/* Set the new mm task size. We have to do that late because it may
* depend on TIF_32BIT which is only updated in flush_thread() on
-@@ -1247,7 +1269,7 @@ int check_unsafe_exec(struct linux_binprm *bprm)
+@@ -1247,7 +1280,7 @@ int check_unsafe_exec(struct linux_binprm *bprm)
}
rcu_read_unlock();
@@ -41748,18 +43424,36 @@ index 3625464..7949233 100644
bprm->unsafe |= LSM_UNSAFE_SHARE;
} else {
res = -EAGAIN;
-@@ -1442,6 +1464,10 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
+@@ -1442,6 +1475,28 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
EXPORT_SYMBOL(search_binary_handler);
+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
-+atomic64_unchecked_t global_exec_counter = ATOMIC64_INIT(0);
++static DEFINE_PER_CPU(u64, exec_counter);
++static int __init init_exec_counters(void)
++{
++ unsigned int cpu;
++
++ for_each_possible_cpu(cpu) {
++ per_cpu(exec_counter, cpu) = (u64)cpu;
++ }
++
++ return 0;
++}
++early_initcall(init_exec_counters);
++static inline void increment_exec_counter(void)
++{
++ BUILD_BUG_ON(NR_CPUS > (1 << 16));
++ current->exec_id = this_cpu_add_return(exec_counter, 1 << 16);
++}
++#else
++static inline void increment_exec_counter(void) {}
+#endif
+
/*
* sys_execve() executes a new program.
*/
-@@ -1450,6 +1476,11 @@ static int do_execve_common(const char *filename,
+@@ -1450,6 +1505,11 @@ static int do_execve_common(const char *filename,
struct user_arg_ptr envp,
struct pt_regs *regs)
{
@@ -41771,7 +43465,7 @@ index 3625464..7949233 100644
struct linux_binprm *bprm;
struct file *file;
struct files_struct *displaced;
-@@ -1457,6 +1488,8 @@ static int do_execve_common(const char *filename,
+@@ -1457,6 +1517,8 @@ static int do_execve_common(const char *filename,
int retval;
const struct cred *cred = current_cred();
@@ -41780,7 +43474,7 @@ index 3625464..7949233 100644
/*
* We move the actual failure in case of RLIMIT_NPROC excess from
* set*uid() to execve() because too many poorly written programs
-@@ -1497,12 +1530,27 @@ static int do_execve_common(const char *filename,
+@@ -1497,12 +1559,27 @@ static int do_execve_common(const char *filename,
if (IS_ERR(file))
goto out_unmark;
@@ -41808,24 +43502,10 @@ index 3625464..7949233 100644
retval = bprm_mm_init(bprm);
if (retval)
goto out_file;
-@@ -1532,11 +1580,46 @@ static int do_execve_common(const char *filename,
+@@ -1519,24 +1596,65 @@ static int do_execve_common(const char *filename,
if (retval < 0)
goto out;
-+ if (!gr_tpe_allow(file)) {
-+ retval = -EACCES;
-+ goto out;
-+ }
-+
-+ if (gr_check_crash_exec(file)) {
-+ retval = -EACCES;
-+ goto out;
-+ }
-+
-+ gr_log_chroot_exec(file->f_dentry, file->f_vfsmnt);
-+
-+ gr_handle_exec_args(bprm, argv);
-+
+#ifdef CONFIG_GRKERNSEC
+ old_acl = current->acl;
+ memcpy(old_rlim, current->signal->rlim, sizeof(old_rlim));
@@ -41833,12 +43513,50 @@ index 3625464..7949233 100644
+ get_file(file);
+ current->exec_file = file;
+#endif
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++ /* limit suid stack to 8MB
++ we saved the old limits above and will restore them if this exec fails
++ */
++ if (((bprm->cred->euid != current_euid()) || (bprm->cred->egid != current_egid())) &&
++ (old_rlim[RLIMIT_STACK].rlim_cur > (8 * 1024 * 1024)))
++ current->signal->rlim[RLIMIT_STACK].rlim_cur = 8 * 1024 * 1024;
++#endif
++
++ if (!gr_tpe_allow(file)) {
++ retval = -EACCES;
++ goto out_fail;
++ }
++
++ if (gr_check_crash_exec(file)) {
++ retval = -EACCES;
++ goto out_fail;
++ }
+
+ retval = gr_set_proc_label(file->f_dentry, file->f_vfsmnt,
+ bprm->unsafe);
+ if (retval < 0)
+ goto out_fail;
+
+ retval = copy_strings_kernel(1, &bprm->filename, bprm);
+ if (retval < 0)
+- goto out;
++ goto out_fail;
+
+ bprm->exec = bprm->p;
+ retval = copy_strings(bprm->envc, envp, bprm);
+ if (retval < 0)
+- goto out;
++ goto out_fail;
+
+ retval = copy_strings(bprm->argc, argv, bprm);
+ if (retval < 0)
+- goto out;
++ goto out_fail;
++
++ gr_log_chroot_exec(file->f_dentry, file->f_vfsmnt);
++
++ gr_handle_exec_args(bprm, argv);
+
retval = search_binary_handler(bprm,regs);
if (retval < 0)
- goto out;
@@ -41849,14 +43567,12 @@ index 3625464..7949233 100644
+#endif
/* execve succeeded */
-+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
-+ current->exec_id = atomic64_inc_return_unchecked(&global_exec_counter);
-+#endif
+
++ increment_exec_counter();
current->fs->in_exec = 0;
current->in_execve = 0;
acct_update_integrals(current);
-@@ -1545,6 +1628,14 @@ static int do_execve_common(const char *filename,
+@@ -1545,6 +1663,14 @@ static int do_execve_common(const char *filename,
put_files_struct(displaced);
return retval;
@@ -41871,7 +43587,7 @@ index 3625464..7949233 100644
out:
if (bprm->mm) {
acct_arg_size(bprm, 0);
-@@ -1618,7 +1709,7 @@ static int expand_corename(struct core_name *cn)
+@@ -1618,7 +1744,7 @@ static int expand_corename(struct core_name *cn)
{
char *old_corename = cn->corename;
@@ -41880,7 +43596,7 @@ index 3625464..7949233 100644
cn->corename = krealloc(old_corename, cn->size, GFP_KERNEL);
if (!cn->corename) {
-@@ -1715,7 +1806,7 @@ static int format_corename(struct core_name *cn, long signr)
+@@ -1715,7 +1841,7 @@ static int format_corename(struct core_name *cn, long signr)
int pid_in_pattern = 0;
int err = 0;
@@ -41889,7 +43605,7 @@ index 3625464..7949233 100644
cn->corename = kmalloc(cn->size, GFP_KERNEL);
cn->used = 0;
-@@ -1812,6 +1903,218 @@ out:
+@@ -1812,6 +1938,218 @@ out:
return ispipe;
}
@@ -42080,7 +43796,7 @@ index 3625464..7949233 100644
+#endif
+}
+
-+NORET_TYPE void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type)
++__noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type)
+{
+ if (current->signal->curr_ip)
+ printk(KERN_ERR "PAX: From %pI4: kernel memory %s attempt detected %s %p (%s) (%lu bytes)\n",
@@ -42108,7 +43824,7 @@ index 3625464..7949233 100644
static int zap_process(struct task_struct *start, int exit_code)
{
struct task_struct *t;
-@@ -2023,17 +2326,17 @@ static void wait_for_dump_helpers(struct file *file)
+@@ -2023,17 +2361,17 @@ static void wait_for_dump_helpers(struct file *file)
pipe = file->f_path.dentry->d_inode->i_pipe;
pipe_lock(pipe);
@@ -42131,7 +43847,7 @@ index 3625464..7949233 100644
pipe_unlock(pipe);
}
-@@ -2094,7 +2397,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2094,7 +2432,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
int retval = 0;
int flag = 0;
int ispipe;
@@ -42140,7 +43856,7 @@ index 3625464..7949233 100644
struct coredump_params cprm = {
.signr = signr,
.regs = regs,
-@@ -2109,6 +2412,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2109,6 +2447,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
audit_core_dumps(signr);
@@ -42150,7 +43866,7 @@ index 3625464..7949233 100644
binfmt = mm->binfmt;
if (!binfmt || !binfmt->core_dump)
goto fail;
-@@ -2176,7 +2482,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2176,7 +2517,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
}
cprm.limit = RLIM_INFINITY;
@@ -42159,7 +43875,7 @@ index 3625464..7949233 100644
if (core_pipe_limit && (core_pipe_limit < dump_count)) {
printk(KERN_WARNING "Pid %d(%s) over core_pipe_limit\n",
task_tgid_vnr(current), current->comm);
-@@ -2203,6 +2509,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2203,6 +2544,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
} else {
struct inode *inode;
@@ -42168,7 +43884,7 @@ index 3625464..7949233 100644
if (cprm.limit < binfmt->min_coredump)
goto fail_unlock;
-@@ -2246,7 +2554,7 @@ close_fail:
+@@ -2246,7 +2589,7 @@ close_fail:
filp_close(cprm.file, NULL);
fail_dropcount:
if (ispipe)
@@ -42177,7 +43893,7 @@ index 3625464..7949233 100644
fail_unlock:
kfree(cn.corename);
fail_corename:
-@@ -2265,7 +2573,7 @@ fail:
+@@ -2265,7 +2608,7 @@ fail:
*/
int dump_write(struct file *file, const void *addr, int nr)
{
@@ -42536,7 +44252,7 @@ index 0845f84..7b4ebef 100644
if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) {
diff --git a/fs/fs_struct.c b/fs/fs_struct.c
-index 78b519c..212c0d0 100644
+index 78b519c..a8b4979 100644
--- a/fs/fs_struct.c
+++ b/fs/fs_struct.c
@@ -4,6 +4,7 @@
@@ -42603,7 +44319,14 @@ index 78b519c..212c0d0 100644
spin_unlock(&fs->lock);
task_unlock(current);
-@@ -170,7 +178,7 @@ EXPORT_SYMBOL(current_umask);
+@@ -164,13 +172,13 @@ EXPORT_SYMBOL_GPL(unshare_fs_struct);
+
+ int current_umask(void)
+ {
+- return current->fs->umask;
++ return current->fs->umask | gr_acl_umask();
+ }
+ EXPORT_SYMBOL(current_umask);
/* to be mentioned only in INIT_TASK */
struct fs_struct init_fs = {
@@ -44134,7 +45857,7 @@ index 637694b..f84a121 100644
lock_flocks();
diff --git a/fs/namei.c b/fs/namei.c
-index 5008f01..90328a7 100644
+index 744e942..24ef47f 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -279,16 +279,32 @@ int generic_permission(struct inode *inode, int mask)
@@ -44209,7 +45932,7 @@ index 5008f01..90328a7 100644
error = 0;
if (s)
error = __vfs_follow_link(nd, s);
-@@ -1622,6 +1638,21 @@ static int path_lookupat(int dfd, const char *name,
+@@ -1624,6 +1640,21 @@ static int path_lookupat(int dfd, const char *name,
if (!err)
err = complete_walk(nd);
@@ -44231,7 +45954,7 @@ index 5008f01..90328a7 100644
if (!err && nd->flags & LOOKUP_DIRECTORY) {
if (!nd->inode->i_op->lookup) {
path_put(&nd->path);
-@@ -1649,6 +1680,15 @@ static int do_path_lookup(int dfd, const char *name,
+@@ -1651,6 +1682,15 @@ static int do_path_lookup(int dfd, const char *name,
retval = path_lookupat(dfd, name, flags | LOOKUP_REVAL, nd);
if (likely(!retval)) {
@@ -44247,7 +45970,7 @@ index 5008f01..90328a7 100644
if (unlikely(!audit_dummy_context())) {
if (nd->path.dentry && nd->inode)
audit_inode(name, nd->path.dentry);
-@@ -2046,6 +2086,13 @@ static int may_open(struct path *path, int acc_mode, int flag)
+@@ -2048,6 +2088,13 @@ static int may_open(struct path *path, int acc_mode, int flag)
if (flag & O_NOATIME && !inode_owner_or_capable(inode))
return -EPERM;
@@ -44261,7 +45984,7 @@ index 5008f01..90328a7 100644
return 0;
}
-@@ -2107,6 +2154,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2109,6 +2156,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
error = complete_walk(nd);
if (error)
return ERR_PTR(error);
@@ -44278,7 +46001,7 @@ index 5008f01..90328a7 100644
audit_inode(pathname, nd->path.dentry);
if (open_flag & O_CREAT) {
error = -EISDIR;
-@@ -2117,6 +2174,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2119,6 +2176,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
error = complete_walk(nd);
if (error)
return ERR_PTR(error);
@@ -44295,7 +46018,7 @@ index 5008f01..90328a7 100644
audit_inode(pathname, dir);
goto ok;
}
-@@ -2138,6 +2205,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2140,6 +2207,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
error = complete_walk(nd);
if (error)
return ERR_PTR(-ECHILD);
@@ -44312,7 +46035,7 @@ index 5008f01..90328a7 100644
error = -ENOTDIR;
if (nd->flags & LOOKUP_DIRECTORY) {
-@@ -2178,6 +2255,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2180,6 +2257,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
/* Negative dentry, just create the file */
if (!dentry->d_inode) {
int mode = op->mode;
@@ -44325,7 +46048,7 @@ index 5008f01..90328a7 100644
if (!IS_POSIXACL(dir->d_inode))
mode &= ~current_umask();
/*
-@@ -2201,6 +2284,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2203,6 +2286,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
error = vfs_create(dir->d_inode, dentry, mode, nd);
if (error)
goto exit_mutex_unlock;
@@ -44334,7 +46057,7 @@ index 5008f01..90328a7 100644
mutex_unlock(&dir->d_inode->i_mutex);
dput(nd->path.dentry);
nd->path.dentry = dentry;
-@@ -2210,6 +2295,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2212,6 +2297,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
/*
* It already exists.
*/
@@ -44354,7 +46077,7 @@ index 5008f01..90328a7 100644
mutex_unlock(&dir->d_inode->i_mutex);
audit_inode(pathname, path->dentry);
-@@ -2422,6 +2520,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path
+@@ -2424,6 +2522,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path
*path = nd.path;
return dentry;
eexist:
@@ -44366,7 +46089,7 @@ index 5008f01..90328a7 100644
dput(dentry);
dentry = ERR_PTR(-EEXIST);
fail:
-@@ -2444,6 +2547,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat
+@@ -2446,6 +2549,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat
}
EXPORT_SYMBOL(user_path_create);
@@ -44387,7 +46110,7 @@ index 5008f01..90328a7 100644
int vfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev)
{
int error = may_create(dir, dentry);
-@@ -2511,6 +2628,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
+@@ -2513,6 +2630,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
error = mnt_want_write(path.mnt);
if (error)
goto out_dput;
@@ -44405,7 +46128,7 @@ index 5008f01..90328a7 100644
error = security_path_mknod(&path, dentry, mode, dev);
if (error)
goto out_drop_write;
-@@ -2528,6 +2656,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
+@@ -2530,6 +2658,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
}
out_drop_write:
mnt_drop_write(path.mnt);
@@ -44415,7 +46138,7 @@ index 5008f01..90328a7 100644
out_dput:
dput(dentry);
mutex_unlock(&path.dentry->d_inode->i_mutex);
-@@ -2577,12 +2708,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
+@@ -2579,12 +2710,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
error = mnt_want_write(path.mnt);
if (error)
goto out_dput;
@@ -44437,7 +46160,7 @@ index 5008f01..90328a7 100644
out_dput:
dput(dentry);
mutex_unlock(&path.dentry->d_inode->i_mutex);
-@@ -2662,6 +2802,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
+@@ -2664,6 +2804,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
char * name;
struct dentry *dentry;
struct nameidata nd;
@@ -44446,7 +46169,7 @@ index 5008f01..90328a7 100644
error = user_path_parent(dfd, pathname, &nd, &name);
if (error)
-@@ -2690,6 +2832,15 @@ static long do_rmdir(int dfd, const char __user *pathname)
+@@ -2692,6 +2834,15 @@ static long do_rmdir(int dfd, const char __user *pathname)
error = -ENOENT;
goto exit3;
}
@@ -44462,7 +46185,7 @@ index 5008f01..90328a7 100644
error = mnt_want_write(nd.path.mnt);
if (error)
goto exit3;
-@@ -2697,6 +2848,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
+@@ -2699,6 +2850,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
if (error)
goto exit4;
error = vfs_rmdir(nd.path.dentry->d_inode, dentry);
@@ -44471,7 +46194,7 @@ index 5008f01..90328a7 100644
exit4:
mnt_drop_write(nd.path.mnt);
exit3:
-@@ -2759,6 +2912,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
+@@ -2761,6 +2914,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
struct dentry *dentry;
struct nameidata nd;
struct inode *inode = NULL;
@@ -44480,7 +46203,7 @@ index 5008f01..90328a7 100644
error = user_path_parent(dfd, pathname, &nd, &name);
if (error)
-@@ -2781,6 +2936,16 @@ static long do_unlinkat(int dfd, const char __user *pathname)
+@@ -2783,6 +2938,16 @@ static long do_unlinkat(int dfd, const char __user *pathname)
if (!inode)
goto slashes;
ihold(inode);
@@ -44497,7 +46220,7 @@ index 5008f01..90328a7 100644
error = mnt_want_write(nd.path.mnt);
if (error)
goto exit2;
-@@ -2788,6 +2953,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
+@@ -2790,6 +2955,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
if (error)
goto exit3;
error = vfs_unlink(nd.path.dentry->d_inode, dentry);
@@ -44506,7 +46229,7 @@ index 5008f01..90328a7 100644
exit3:
mnt_drop_write(nd.path.mnt);
exit2:
-@@ -2863,10 +3030,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
+@@ -2865,10 +3032,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
error = mnt_want_write(path.mnt);
if (error)
goto out_dput;
@@ -44525,7 +46248,7 @@ index 5008f01..90328a7 100644
out_drop_write:
mnt_drop_write(path.mnt);
out_dput:
-@@ -2938,6 +3113,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
+@@ -2940,6 +3115,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
{
struct dentry *new_dentry;
struct path old_path, new_path;
@@ -44533,7 +46256,7 @@ index 5008f01..90328a7 100644
int how = 0;
int error;
-@@ -2961,7 +3137,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
+@@ -2963,7 +3139,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
if (error)
return error;
@@ -44542,7 +46265,7 @@ index 5008f01..90328a7 100644
error = PTR_ERR(new_dentry);
if (IS_ERR(new_dentry))
goto out;
-@@ -2972,13 +3148,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
+@@ -2974,13 +3150,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
error = mnt_want_write(new_path.mnt);
if (error)
goto out_dput;
@@ -44573,7 +46296,7 @@ index 5008f01..90328a7 100644
dput(new_dentry);
mutex_unlock(&new_path.dentry->d_inode->i_mutex);
path_put(&new_path);
-@@ -3206,6 +3399,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
+@@ -3208,6 +3401,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
if (new_dentry == trap)
goto exit5;
@@ -44586,7 +46309,7 @@ index 5008f01..90328a7 100644
error = mnt_want_write(oldnd.path.mnt);
if (error)
goto exit5;
-@@ -3215,6 +3414,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
+@@ -3217,6 +3416,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
goto exit6;
error = vfs_rename(old_dir->d_inode, old_dentry,
new_dir->d_inode, new_dentry);
@@ -44596,7 +46319,7 @@ index 5008f01..90328a7 100644
exit6:
mnt_drop_write(oldnd.path.mnt);
exit5:
-@@ -3240,6 +3442,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna
+@@ -3242,6 +3444,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna
int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link)
{
@@ -44605,7 +46328,7 @@ index 5008f01..90328a7 100644
int len;
len = PTR_ERR(link);
-@@ -3249,7 +3453,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c
+@@ -3251,7 +3455,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c
len = strlen(link);
if (len > (unsigned) buflen)
len = buflen;
@@ -44967,7 +46690,7 @@ index 5d22872..523db20 100644
kfree(link);
}
diff --git a/fs/open.c b/fs/open.c
-index 22c41b5..695cb17 100644
+index 22c41b5..78894cf 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -112,6 +112,10 @@ static long do_sys_truncate(const char __user *pathname, loff_t length)
@@ -45033,7 +46756,7 @@ index 22c41b5..695cb17 100644
return error;
mutex_lock(&inode->i_mutex);
+
-+ if (!gr_acl_handle_fchmod(path->dentry, path->mnt, mode)) {
++ if (!gr_acl_handle_chmod(path->dentry, path->mnt, &mode)) {
+ error = -EACCES;
+ goto out_unlock;
+ }
@@ -45252,7 +46975,7 @@ index 15af622..0e9f4467 100644
help
Various /proc files exist to monitor process memory utilization:
diff --git a/fs/proc/array.c b/fs/proc/array.c
-index 3a1dafd..1456746 100644
+index 3a1dafd..bf1bd84 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -60,6 +60,7 @@
@@ -45360,9 +47083,12 @@ index 3a1dafd..1456746 100644
esp,
eip,
/* The signal information here is obsolete.
-@@ -535,6 +592,13 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
+@@ -533,8 +590,15 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
+ struct pid *pid, struct task_struct *task)
+ {
unsigned long size = 0, resident = 0, shared = 0, text = 0, data = 0;
- struct mm_struct *mm = get_task_mm(task);
+- struct mm_struct *mm = get_task_mm(task);
++ struct mm_struct *mm;
+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
+ if (current->exec_id != m->exec_id) {
@@ -45370,7 +47096,7 @@ index 3a1dafd..1456746 100644
+ return 0;
+ }
+#endif
-+
++ mm = get_task_mm(task);
if (mm) {
size = task_statm(mm, &shared, &text, &data, &resident);
mmput(mm);
@@ -45394,7 +47120,7 @@ index 3a1dafd..1456746 100644
+}
+#endif
diff --git a/fs/proc/base.c b/fs/proc/base.c
-index 1ace83d..357b933 100644
+index 1ace83d..f5e575d 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -107,6 +107,22 @@ struct pid_entry {
@@ -45534,7 +47260,18 @@ index 1ace83d..357b933 100644
put_task_struct(task);
}
return allowed;
-@@ -797,6 +815,11 @@ static ssize_t mem_rw(struct file *file, char __user *buf,
+@@ -786,6 +804,10 @@ static int mem_open(struct inode* inode, struct file* file)
+ file->f_mode |= FMODE_UNSIGNED_OFFSET;
+ file->private_data = mm;
+
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++ file->f_version = current->exec_id;
++#endif
++
+ return 0;
+ }
+
+@@ -797,6 +819,17 @@ static ssize_t mem_rw(struct file *file, char __user *buf,
ssize_t copied;
char *page;
@@ -45542,11 +47279,17 @@ index 1ace83d..357b933 100644
+ if (write)
+ return -EPERM;
+#endif
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++ if (file->f_version != current->exec_id) {
++ gr_log_badprocpid("mem");
++ return 0;
++ }
++#endif
+
if (!mm)
return 0;
-@@ -897,6 +920,9 @@ static ssize_t environ_read(struct file *file, char __user *buf,
+@@ -897,6 +930,9 @@ static ssize_t environ_read(struct file *file, char __user *buf,
if (!task)
goto out_no_task;
@@ -45556,7 +47299,7 @@ index 1ace83d..357b933 100644
ret = -ENOMEM;
page = (char *)__get_free_page(GFP_TEMPORARY);
if (!page)
-@@ -1519,7 +1545,7 @@ static void *proc_pid_follow_link(struct dentry *dentry, struct nameidata *nd)
+@@ -1519,7 +1555,7 @@ static void *proc_pid_follow_link(struct dentry *dentry, struct nameidata *nd)
path_put(&nd->path);
/* Are we allowed to snoop on the tasks file descriptors? */
@@ -45565,7 +47308,7 @@ index 1ace83d..357b933 100644
goto out;
error = PROC_I(inode)->op.proc_get_link(inode, &nd->path);
-@@ -1558,8 +1584,18 @@ static int proc_pid_readlink(struct dentry * dentry, char __user * buffer, int b
+@@ -1558,8 +1594,18 @@ static int proc_pid_readlink(struct dentry * dentry, char __user * buffer, int b
struct path path;
/* Are we allowed to snoop on the tasks file descriptors? */
@@ -45586,7 +47329,7 @@ index 1ace83d..357b933 100644
error = PROC_I(inode)->op.proc_get_link(inode, &path);
if (error)
-@@ -1624,7 +1660,11 @@ struct inode *proc_pid_make_inode(struct super_block * sb, struct task_struct *t
+@@ -1624,7 +1670,11 @@ struct inode *proc_pid_make_inode(struct super_block * sb, struct task_struct *t
rcu_read_lock();
cred = __task_cred(task);
inode->i_uid = cred->euid;
@@ -45598,7 +47341,7 @@ index 1ace83d..357b933 100644
rcu_read_unlock();
}
security_task_to_inode(task, inode);
-@@ -1642,6 +1682,9 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
+@@ -1642,6 +1692,9 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
struct inode *inode = dentry->d_inode;
struct task_struct *task;
const struct cred *cred;
@@ -45608,7 +47351,7 @@ index 1ace83d..357b933 100644
generic_fillattr(inode, stat);
-@@ -1649,13 +1692,41 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
+@@ -1649,13 +1702,41 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
stat->uid = 0;
stat->gid = 0;
task = pid_task(proc_pid(inode), PIDTYPE_PID);
@@ -45651,7 +47394,7 @@ index 1ace83d..357b933 100644
}
rcu_read_unlock();
return 0;
-@@ -1692,11 +1763,20 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd)
+@@ -1692,11 +1773,20 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd)
if (task) {
if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) ||
@@ -45672,7 +47415,7 @@ index 1ace83d..357b933 100644
rcu_read_unlock();
} else {
inode->i_uid = 0;
-@@ -1814,7 +1894,8 @@ static int proc_fd_info(struct inode *inode, struct path *path, char *info)
+@@ -1814,7 +1904,8 @@ static int proc_fd_info(struct inode *inode, struct path *path, char *info)
int fd = proc_fd(inode);
if (task) {
@@ -45682,7 +47425,7 @@ index 1ace83d..357b933 100644
put_task_struct(task);
}
if (files) {
-@@ -2082,11 +2163,21 @@ static const struct file_operations proc_fd_operations = {
+@@ -2082,11 +2173,21 @@ static const struct file_operations proc_fd_operations = {
*/
static int proc_fd_permission(struct inode *inode, int mask)
{
@@ -45706,7 +47449,7 @@ index 1ace83d..357b933 100644
return rv;
}
-@@ -2196,6 +2287,9 @@ static struct dentry *proc_pident_lookup(struct inode *dir,
+@@ -2196,6 +2297,9 @@ static struct dentry *proc_pident_lookup(struct inode *dir,
if (!task)
goto out_no_task;
@@ -45716,7 +47459,7 @@ index 1ace83d..357b933 100644
/*
* Yes, it does not scale. And it should not. Don't add
* new entries into /proc/<tgid>/ without very good reasons.
-@@ -2240,6 +2334,9 @@ static int proc_pident_readdir(struct file *filp,
+@@ -2240,6 +2344,9 @@ static int proc_pident_readdir(struct file *filp,
if (!task)
goto out_no_task;
@@ -45726,7 +47469,7 @@ index 1ace83d..357b933 100644
ret = 0;
i = filp->f_pos;
switch (i) {
-@@ -2510,7 +2607,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
+@@ -2510,7 +2617,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
static void proc_self_put_link(struct dentry *dentry, struct nameidata *nd,
void *cookie)
{
@@ -45735,7 +47478,7 @@ index 1ace83d..357b933 100644
if (!IS_ERR(s))
__putname(s);
}
-@@ -2708,7 +2805,7 @@ static const struct pid_entry tgid_base_stuff[] = {
+@@ -2708,7 +2815,7 @@ static const struct pid_entry tgid_base_stuff[] = {
REG("autogroup", S_IRUGO|S_IWUSR, proc_pid_sched_autogroup_operations),
#endif
REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -45744,7 +47487,7 @@ index 1ace83d..357b933 100644
INF("syscall", S_IRUGO, proc_pid_syscall),
#endif
INF("cmdline", S_IRUGO, proc_pid_cmdline),
-@@ -2733,10 +2830,10 @@ static const struct pid_entry tgid_base_stuff[] = {
+@@ -2733,10 +2840,10 @@ static const struct pid_entry tgid_base_stuff[] = {
#ifdef CONFIG_SECURITY
DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
#endif
@@ -45757,7 +47500,7 @@ index 1ace83d..357b933 100644
ONE("stack", S_IRUGO, proc_pid_stack),
#endif
#ifdef CONFIG_SCHEDSTATS
-@@ -2770,6 +2867,9 @@ static const struct pid_entry tgid_base_stuff[] = {
+@@ -2770,6 +2877,9 @@ static const struct pid_entry tgid_base_stuff[] = {
#ifdef CONFIG_HARDWALL
INF("hardwall", S_IRUGO, proc_pid_hardwall),
#endif
@@ -45767,7 +47510,7 @@ index 1ace83d..357b933 100644
};
static int proc_tgid_base_readdir(struct file * filp,
-@@ -2895,7 +2995,14 @@ static struct dentry *proc_pid_instantiate(struct inode *dir,
+@@ -2895,7 +3005,14 @@ static struct dentry *proc_pid_instantiate(struct inode *dir,
if (!inode)
goto out;
@@ -45782,7 +47525,7 @@ index 1ace83d..357b933 100644
inode->i_op = &proc_tgid_base_inode_operations;
inode->i_fop = &proc_tgid_base_operations;
inode->i_flags|=S_IMMUTABLE;
-@@ -2937,7 +3044,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct
+@@ -2937,7 +3054,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct
if (!task)
goto out;
@@ -45794,7 +47537,7 @@ index 1ace83d..357b933 100644
put_task_struct(task);
out:
return result;
-@@ -3002,6 +3113,11 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
+@@ -3002,6 +3123,11 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
{
unsigned int nr;
struct task_struct *reaper;
@@ -45806,7 +47549,7 @@ index 1ace83d..357b933 100644
struct tgid_iter iter;
struct pid_namespace *ns;
-@@ -3025,8 +3141,27 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
+@@ -3025,8 +3151,27 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
for (iter = next_tgid(ns, iter);
iter.task;
iter.tgid += 1, iter = next_tgid(ns, iter)) {
@@ -45835,7 +47578,7 @@ index 1ace83d..357b933 100644
put_task_struct(iter.task);
goto out;
}
-@@ -3054,7 +3189,7 @@ static const struct pid_entry tid_base_stuff[] = {
+@@ -3054,7 +3199,7 @@ static const struct pid_entry tid_base_stuff[] = {
REG("sched", S_IRUGO|S_IWUSR, proc_pid_sched_operations),
#endif
REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -45844,7 +47587,7 @@ index 1ace83d..357b933 100644
INF("syscall", S_IRUGO, proc_pid_syscall),
#endif
INF("cmdline", S_IRUGO, proc_pid_cmdline),
-@@ -3078,10 +3213,10 @@ static const struct pid_entry tid_base_stuff[] = {
+@@ -3078,10 +3223,10 @@ static const struct pid_entry tid_base_stuff[] = {
#ifdef CONFIG_SECURITY
DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
#endif
@@ -46563,10 +48306,18 @@ index d33418f..2a5345e 100644
return -EINVAL;
diff --git a/fs/seq_file.c b/fs/seq_file.c
-index dba43c3..1dfaf14 100644
+index dba43c3..9fb8511 100644
--- a/fs/seq_file.c
+++ b/fs/seq_file.c
-@@ -40,6 +40,9 @@ int seq_open(struct file *file, const struct seq_operations *op)
+@@ -9,6 +9,7 @@
+ #include <linux/module.h>
+ #include <linux/seq_file.h>
+ #include <linux/slab.h>
++#include <linux/sched.h>
+
+ #include <asm/uaccess.h>
+ #include <asm/page.h>
+@@ -40,6 +41,9 @@ int seq_open(struct file *file, const struct seq_operations *op)
memset(p, 0, sizeof(*p));
mutex_init(&p->lock);
p->op = op;
@@ -46576,7 +48327,7 @@ index dba43c3..1dfaf14 100644
/*
* Wrappers around seq_open(e.g. swaps_open) need to be
-@@ -76,7 +79,8 @@ static int traverse(struct seq_file *m, loff_t offset)
+@@ -76,7 +80,8 @@ static int traverse(struct seq_file *m, loff_t offset)
return 0;
}
if (!m->buf) {
@@ -46586,7 +48337,7 @@ index dba43c3..1dfaf14 100644
if (!m->buf)
return -ENOMEM;
}
-@@ -116,7 +120,8 @@ static int traverse(struct seq_file *m, loff_t offset)
+@@ -116,7 +121,8 @@ static int traverse(struct seq_file *m, loff_t offset)
Eoverflow:
m->op->stop(m, p);
kfree(m->buf);
@@ -46596,7 +48347,7 @@ index dba43c3..1dfaf14 100644
return !m->buf ? -ENOMEM : -EAGAIN;
}
-@@ -169,7 +174,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
+@@ -169,7 +175,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
m->version = file->f_version;
/* grab buffer if we didn't have one */
if (!m->buf) {
@@ -46606,7 +48357,7 @@ index dba43c3..1dfaf14 100644
if (!m->buf)
goto Enomem;
}
-@@ -210,7 +216,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
+@@ -210,7 +217,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
goto Fill;
m->op->stop(m, p);
kfree(m->buf);
@@ -46616,7 +48367,7 @@ index dba43c3..1dfaf14 100644
if (!m->buf)
goto Enomem;
m->count = 0;
-@@ -549,7 +556,7 @@ static void single_stop(struct seq_file *p, void *v)
+@@ -549,7 +557,7 @@ static void single_stop(struct seq_file *p, void *v)
int single_open(struct file *file, int (*show)(struct seq_file *, void *),
void *data)
{
@@ -47033,10 +48784,10 @@ index 23ce927..e274cc1 100644
kfree(s);
diff --git a/grsecurity/Kconfig b/grsecurity/Kconfig
new file mode 100644
-index 0000000..8faa28b
+index 0000000..4089e05
--- /dev/null
+++ b/grsecurity/Kconfig
-@@ -0,0 +1,1073 @@
+@@ -0,0 +1,1078 @@
+#
+# grecurity configuration
+#
@@ -47243,7 +48994,7 @@ index 0000000..8faa28b
+
+endchoice
+
-+menu "Address Space Protection"
++menu "Memory Protections"
+depends on GRKERNSEC
+
+config GRKERNSEC_KMEM
@@ -47300,7 +49051,7 @@ index 0000000..8faa28b
+ protect your kernel against modification, use the RBAC system.
+
+config GRKERNSEC_PROC_MEMMAP
-+ bool "Remove addresses from /proc/<pid>/[smaps|maps|stat]"
++ bool "Harden ASLR against information leaks and entropy reduction"
+ default y if (PAX_NOEXEC || PAX_ASLR)
+ depends on PAX_NOEXEC || PAX_ASLR
+ help
@@ -47311,9 +49062,13 @@ index 0000000..8faa28b
+ dangerous sources of information, this option causes reads of sensitive
+ /proc/<pid> entries where the file descriptor was opened in a different
+ task than the one performing the read. Such attempts are logged.
-+ If you use PaX it is greatly recommended that you say Y here as it
-+ closes up a hole that makes the full ASLR useless for suid
-+ binaries.
++ This option also limits argv/env strings for suid/sgid binaries
++ to 512KB to prevent a complete exhaustion of the stack entropy provided
++ by ASLR. Finally, it places an 8MB stack resource limit on suid/sgid
++ binaries to prevent alternative mmap layouts from being abused.
++
++ If you use PaX it is essential that you say Y here as it closes up
++ several holes that make full ASLR useless locally.
+
+config GRKERNSEC_BRUTE
+ bool "Deter exploit bruteforcing"
@@ -47453,8 +49208,9 @@ index 0000000..8faa28b
+ Depending upon the option you choose, you can either restrict users to
+ see only the processes they themselves run, or choose a group that can
+ view all processes and files normally restricted to root if you choose
-+ the "restrict to user only" option. NOTE: If you're running identd as
-+ a non-root user, you will have to run it as the group you specify here.
++ the "restrict to user only" option. NOTE: If you're running identd or
++ ntpd as a non-root user, you will have to run it as the group you
++ specify here.
+
+config GRKERNSEC_PROC_USER
+ bool "Restrict /proc to user only"
@@ -48156,7 +49912,7 @@ index 0000000..1b9afa9
+endif
diff --git a/grsecurity/gracl.c b/grsecurity/gracl.c
new file mode 100644
-index 0000000..6e989da
+index 0000000..2733872
--- /dev/null
+++ b/grsecurity/gracl.c
@@ -0,0 +1,4163 @@
@@ -49935,7 +51691,7 @@ index 0000000..6e989da
+
+static struct acl_object_label *
+chk_glob_label(struct acl_object_label *globbed,
-+ struct dentry *dentry, struct vfsmount *mnt, char **path)
++ const struct dentry *dentry, const struct vfsmount *mnt, char **path)
+{
+ struct acl_object_label *tmp;
+
@@ -49968,8 +51724,7 @@ index 0000000..6e989da
+ retval = lookup_acl_obj_label(curr_ino, curr_dev, tmpsubj);
+ if (retval) {
+ if (checkglob && retval->globbed) {
-+ retval2 = chk_glob_label(retval->globbed, (struct dentry *)orig_dentry,
-+ (struct vfsmount *)orig_mnt, path);
++ retval2 = chk_glob_label(retval->globbed, orig_dentry, orig_mnt, path);
+ if (retval2)
+ retval = retval2;
+ }
@@ -50431,17 +52186,18 @@ index 0000000..6e989da
+void
+gr_copy_label(struct task_struct *tsk)
+{
++ /* plain copying of fields is already done by dup_task_struct */
+ tsk->signal->used_accept = 0;
+ tsk->acl_sp_role = 0;
-+ tsk->acl_role_id = current->acl_role_id;
-+ tsk->acl = current->acl;
-+ tsk->role = current->role;
++ //tsk->acl_role_id = current->acl_role_id;
++ //tsk->acl = current->acl;
++ //tsk->role = current->role;
+ tsk->signal->curr_ip = current->signal->curr_ip;
+ tsk->signal->saved_ip = current->signal->saved_ip;
+ if (current->exec_file)
+ get_file(current->exec_file);
-+ tsk->exec_file = current->exec_file;
-+ tsk->is_writable = current->is_writable;
++ //tsk->exec_file = current->exec_file;
++ //tsk->is_writable = current->is_writable;
+ if (unlikely(current->signal->used_accept)) {
+ current->signal->curr_ip = 0;
+ current->signal->saved_ip = 0;
@@ -50653,8 +52409,8 @@ index 0000000..6e989da
+
+ /* don't change the role if we're not a privileged process */
+ if (role && task->role != role &&
-+ (((role->roletype & GR_ROLE_USER) && gr_acl_is_capable(CAP_SETUID)) ||
-+ ((role->roletype & GR_ROLE_GROUP) && gr_acl_is_capable(CAP_SETGID))))
++ (((role->roletype & GR_ROLE_USER) && !gr_acl_is_capable(CAP_SETUID)) ||
++ ((role->roletype & GR_ROLE_GROUP) && !gr_acl_is_capable(CAP_SETGID))))
+ return;
+
+ /* perform subject lookup in possibly new role
@@ -52543,10 +54299,10 @@ index 0000000..955ddfb
+
diff --git a/grsecurity/gracl_fs.c b/grsecurity/gracl_fs.c
new file mode 100644
-index 0000000..4eda5c3
+index 0000000..88d0e87
--- /dev/null
+++ b/grsecurity/gracl_fs.c
-@@ -0,0 +1,433 @@
+@@ -0,0 +1,435 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/types.h>
@@ -52557,6 +54313,15 @@ index 0000000..4eda5c3
+#include <linux/grinternal.h>
+#include <linux/gracl.h>
+
++umode_t
++gr_acl_umask(void)
++{
++ if (unlikely(!gr_acl_is_enabled()))
++ return 0;
++
++ return current->role->umask;
++}
++
+__u32
+gr_acl_handle_hidden_file(const struct dentry * dentry,
+ const struct vfsmount * mnt)
@@ -52745,25 +54510,18 @@ index 0000000..4eda5c3
+}
+
+__u32
-+gr_acl_handle_fchmod(const struct dentry *dentry, const struct vfsmount *mnt,
-+ mode_t mode)
++gr_acl_handle_chmod(const struct dentry *dentry, const struct vfsmount *mnt,
++ umode_t *modeptr)
+{
++ umode_t mode;
++
++ *modeptr &= ~gr_acl_umask();
++ mode = *modeptr;
++
+ if (unlikely(dentry->d_inode && S_ISSOCK(dentry->d_inode->i_mode)))
+ return 1;
+
-+ if (unlikely((mode != (mode_t)-1) && (mode & (S_ISUID | S_ISGID)))) {
-+ return generic_fs_handler(dentry, mnt, GR_WRITE | GR_SETID,
-+ GR_FCHMOD_ACL_MSG);
-+ } else {
-+ return generic_fs_handler(dentry, mnt, GR_WRITE, GR_FCHMOD_ACL_MSG);
-+ }
-+}
-+
-+__u32
-+gr_acl_handle_chmod(const struct dentry *dentry, const struct vfsmount *mnt,
-+ mode_t mode)
-+{
-+ if (unlikely((mode != (mode_t)-1) && (mode & (S_ISUID | S_ISGID)))) {
++ if (unlikely(mode & (S_ISUID | S_ISGID))) {
+ return generic_fs_handler(dentry, mnt, GR_WRITE | GR_SETID,
+ GR_CHMOD_ACL_MSG);
+ } else {
@@ -54389,10 +56147,10 @@ index 0000000..a2dc675
+}
diff --git a/grsecurity/grsec_disabled.c b/grsecurity/grsec_disabled.c
new file mode 100644
-index 0000000..d81a586
+index 0000000..213ad8b
--- /dev/null
+++ b/grsecurity/grsec_disabled.c
-@@ -0,0 +1,439 @@
+@@ -0,0 +1,437 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/sched.h>
@@ -54632,15 +56390,8 @@ index 0000000..d81a586
+}
+
+__u32
-+gr_acl_handle_fchmod(const struct dentry * dentry, const struct vfsmount * mnt,
-+ mode_t mode)
-+{
-+ return 1;
-+}
-+
-+__u32
+gr_acl_handle_chmod(const struct dentry * dentry, const struct vfsmount * mnt,
-+ mode_t mode)
++ umode_t *mode)
+{
+ return 1;
+}
@@ -54663,6 +56414,11 @@ index 0000000..d81a586
+ return;
+}
+
++umode_t gr_acl_umask(void)
++{
++ return 0;
++}
++
+__u32
+gr_acl_handle_mknod(const struct dentry * new_dentry,
+ const struct dentry * parent_dentry,
@@ -57342,6 +59098,19 @@ index 1bfcfe5..e04c5c9 100644
+#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT)
#endif /* __ASM_GENERIC_CACHE_H */
+diff --git a/include/asm-generic/emergency-restart.h b/include/asm-generic/emergency-restart.h
+index 0d68a1e..b74a761 100644
+--- a/include/asm-generic/emergency-restart.h
++++ b/include/asm-generic/emergency-restart.h
+@@ -1,7 +1,7 @@
+ #ifndef _ASM_GENERIC_EMERGENCY_RESTART_H
+ #define _ASM_GENERIC_EMERGENCY_RESTART_H
+
+-static inline void machine_emergency_restart(void)
++static inline __noreturn void machine_emergency_restart(void)
+ {
+ machine_restart(NULL);
+ }
diff --git a/include/asm-generic/int-l64.h b/include/asm-generic/int-l64.h
index 1ca3efc..e3dc852 100644
--- a/include/asm-generic/int-l64.h
@@ -57385,6 +59154,18 @@ index 0232ccb..13d9165 100644
};
#undef KMAP_D
+diff --git a/include/asm-generic/local.h b/include/asm-generic/local.h
+index 9ceb03b..2efbcbd 100644
+--- a/include/asm-generic/local.h
++++ b/include/asm-generic/local.h
+@@ -39,6 +39,7 @@ typedef struct
+ #define local_add_return(i, l) atomic_long_add_return((i), (&(l)->a))
+ #define local_sub_return(i, l) atomic_long_sub_return((i), (&(l)->a))
+ #define local_inc_return(l) atomic_long_inc_return(&(l)->a)
++#define local_dec_return(l) atomic_long_dec_return(&(l)->a)
+
+ #define local_cmpxchg(l, o, n) atomic_long_cmpxchg((&(l)->a), (o), (n))
+ #define local_xchg(l, n) atomic_long_xchg((&(l)->a), (n))
diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h
index 725612b..9cc513a 100644
--- a/include/asm-generic/pgtable-nopmd.h
@@ -58135,10 +59916,10 @@ index 84ccf8e..2e9b14c 100644
};
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index e0bc4ff..d79c2fa 100644
+index 10b2288..09180e4 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1608,7 +1608,8 @@ struct file_operations {
+@@ -1609,7 +1609,8 @@ struct file_operations {
int (*setlease)(struct file *, long, struct file_lock **);
long (*fallocate)(struct file *file, int mode, loff_t offset,
loff_t len);
@@ -58245,10 +60026,10 @@ index 6d18f35..ab71e2c 100644
struct blk_integrity *integrity;
diff --git a/include/linux/gracl.h b/include/linux/gracl.h
new file mode 100644
-index 0000000..0dc3943
+index 0000000..8a130b6
--- /dev/null
+++ b/include/linux/gracl.h
-@@ -0,0 +1,317 @@
+@@ -0,0 +1,319 @@
+#ifndef GR_ACL_H
+#define GR_ACL_H
+
@@ -58260,8 +60041,8 @@ index 0000000..0dc3943
+
+/* Major status information */
+
-+#define GR_VERSION "grsecurity 2.2.2"
-+#define GRSECURITY_VERSION 0x2202
++#define GR_VERSION "grsecurity 2.9"
++#define GRSECURITY_VERSION 0x2900
+
+enum {
+ GR_SHUTDOWN = 0,
@@ -58424,6 +60205,8 @@ index 0000000..0dc3943
+ uid_t *domain_children;
+ __u16 domain_child_num;
+
++ umode_t umask;
++
+ struct acl_subject_label **subj_hash;
+ __u32 subj_hash_size;
+};
@@ -58956,10 +60739,10 @@ index 0000000..da390f1
+#endif
diff --git a/include/linux/grmsg.h b/include/linux/grmsg.h
new file mode 100644
-index 0000000..8b9ed56
+index 0000000..ae576a1
--- /dev/null
+++ b/include/linux/grmsg.h
-@@ -0,0 +1,110 @@
+@@ -0,0 +1,109 @@
+#define DEFAULTSECMSG "%.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u, parent %.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u"
+#define GR_ACL_PROCACCT_MSG "%.256s[%.16s:%d] IP:%pI4 TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u run time:[%ud %uh %um %us] cpu time:[%ud %uh %um %us] %s with exit code %ld, parent %.256s[%.16s:%d] IP:%pI4 TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u"
+#define GR_PTRACE_ACL_MSG "denied ptrace of %.950s(%.16s:%d) by "
@@ -59003,7 +60786,6 @@ index 0000000..8b9ed56
+#define GR_ATIME_ACL_MSG "%s access time change of %.950s by "
+#define GR_ACCESS_ACL_MSG "%s access of %.950s for%s%s%s by "
+#define GR_CHROOT_CHROOT_MSG "denied double chroot to %.950s by "
-+#define GR_FCHMOD_ACL_MSG "%s fchmod of %.950s by "
+#define GR_CHMOD_CHROOT_MSG "denied chmod +s of %.950s by "
+#define GR_CHMOD_ACL_MSG "%s chmod of %.950s by "
+#define GR_CHROOT_FCHDIR_MSG "denied fchdir outside of chroot to %.950s by "
@@ -59012,7 +60794,7 @@ index 0000000..8b9ed56
+#define GR_WRITLIB_ACL_MSG "denied load of writable library %.950s by "
+#define GR_INITF_ACL_MSG "init_variables() failed %s by "
+#define GR_DISABLED_ACL_MSG "Error loading %s, trying to run kernel with acls disabled. To disable acls at startup use <kernel image name> gracl=off from your boot loader"
-+#define GR_DEV_ACL_MSG "/dev/grsec: %d bytes sent %d required, being fed garbaged by "
++#define GR_DEV_ACL_MSG "/dev/grsec: %d bytes sent %d required, being fed garbage by "
+#define GR_SHUTS_ACL_MSG "shutdown auth success for "
+#define GR_SHUTF_ACL_MSG "shutdown auth failure for "
+#define GR_SHUTI_ACL_MSG "ignoring shutdown for disabled RBAC system for "
@@ -59072,7 +60854,7 @@ index 0000000..8b9ed56
+#define GR_BADPROCPID_MSG "denied read of sensitive /proc/pid/%s entry via fd passed across exec by "
diff --git a/include/linux/grsecurity.h b/include/linux/grsecurity.h
new file mode 100644
-index 0000000..10c8ced
+index 0000000..2ccf677
--- /dev/null
+++ b/include/linux/grsecurity.h
@@ -0,0 +1,229 @@
@@ -59150,6 +60932,8 @@ index 0000000..10c8ced
+void gr_handle_ioperm(void);
+void gr_handle_iopl(void);
+
++umode_t gr_acl_umask(void);
++
+int gr_tpe_allow(const struct file *file);
+
+void gr_set_chroot_entries(struct task_struct *task, struct path *path);
@@ -59204,10 +60988,8 @@ index 0000000..10c8ced
+ const struct vfsmount *mnt);
+__u32 gr_acl_handle_access(const struct dentry *dentry,
+ const struct vfsmount *mnt, const int fmode);
-+__u32 gr_acl_handle_fchmod(const struct dentry *dentry,
-+ const struct vfsmount *mnt, mode_t mode);
+__u32 gr_acl_handle_chmod(const struct dentry *dentry,
-+ const struct vfsmount *mnt, mode_t mode);
++ const struct vfsmount *mnt, umode_t *mode);
+__u32 gr_acl_handle_chown(const struct dentry *dentry,
+ const struct vfsmount *mnt);
+__u32 gr_acl_handle_setxattr(const struct dentry *dentry,
@@ -59990,6 +61772,18 @@ index 7939f63..ec6df57 100644
= { .max = ARRAY_SIZE(array), .num = nump, \
.ops = &param_ops_##type, \
.elemsize = sizeof(array[0]), .elem = array }; \
+diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h
+index a9e6ba4..0f9e29b 100644
+--- a/include/linux/mtd/map.h
++++ b/include/linux/mtd/map.h
+@@ -25,6 +25,7 @@
+ #include <linux/types.h>
+ #include <linux/list.h>
+ #include <linux/string.h>
++#include <linux/kernel.h>
+ #include <linux/bug.h>
+
+
diff --git a/include/linux/namei.h b/include/linux/namei.h
index ffc0213..2c1f2cb 100644
--- a/include/linux/namei.h
@@ -60122,6 +61916,18 @@ index b1f8912..c955bff 100644
/*
* Protect attach/detach and child_list:
+diff --git a/include/linux/personality.h b/include/linux/personality.h
+index 8fc7dd1a..c19d89e 100644
+--- a/include/linux/personality.h
++++ b/include/linux/personality.h
+@@ -44,6 +44,7 @@ enum {
+ #define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC | \
+ ADDR_NO_RANDOMIZE | \
+ ADDR_COMPAT_LAYOUT | \
++ ADDR_LIMIT_3GB | \
+ MMAP_PAGE_ZERO)
+
+ /*
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h
index 77257c9..51d473a 100644
--- a/include/linux/pipe_fs_i.h
@@ -60374,7 +62180,7 @@ index 2148b12..519b820 100644
static inline void anon_vma_merge(struct vm_area_struct *vma,
diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 1c4f3e9..dafcd27 100644
+index 1c4f3e9..342eb1f 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -101,6 +101,7 @@ struct bio_list;
@@ -60491,7 +62297,7 @@ index 1c4f3e9..dafcd27 100644
+#ifdef CONFIG_GRKERNSEC
+ /* grsecurity */
+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
-+ long long exec_id;
++ u64 exec_id;
+#endif
+#ifdef CONFIG_GRKERNSEC_SETXID
+ const struct cred *delayed_cred;
@@ -60558,7 +62364,7 @@ index 1c4f3e9..dafcd27 100644
+extern void pax_report_fault(struct pt_regs *regs, void *pc, void *sp);
+extern void pax_report_insns(struct pt_regs *regs, void *pc, void *sp);
+extern void pax_report_refcount_overflow(struct pt_regs *regs);
-+extern NORET_TYPE void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type) ATTRIB_NORET;
++extern __noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type);
+
/* Future-safe accessor for struct task_struct's cpus_allowed. */
#define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
@@ -60599,7 +62405,7 @@ index 1c4f3e9..dafcd27 100644
extern void flush_itimer_signals(void);
-extern NORET_TYPE void do_group_exit(int);
-+extern NORET_TYPE void do_group_exit(int) ATTRIB_NORET;
++extern __noreturn void do_group_exit(int);
extern void daemonize(const char *, ...);
extern int allow_signal(int);
@@ -60650,7 +62456,7 @@ index e8c619d..e0cbd1c 100644
/* Maximum number of letters for an LSM name string */
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h
-index 0b69a46..4796016 100644
+index 0b69a46..b2ffa4c 100644
--- a/include/linux/seq_file.h
+++ b/include/linux/seq_file.h
@@ -24,6 +24,9 @@ struct seq_file {
@@ -60658,7 +62464,7 @@ index 0b69a46..4796016 100644
const struct seq_operations *op;
int poll_event;
+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
-+ long long exec_id;
++ u64 exec_id;
+#endif
void *private;
};
@@ -60966,7 +62772,7 @@ index c14fe86..393245e 100644
#define RPCRDMA_VERSION 1
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
-index 703cfa3..0b8ca72ac 100644
+index 703cfa33..0b8ca72ac 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -155,7 +155,11 @@ enum
@@ -61486,10 +63292,10 @@ index 9e5425b..8136ffc 100644
/* Protects from simultaneous access to first_req list */
spinlock_t info_list_lock;
diff --git a/include/net/flow.h b/include/net/flow.h
-index 57f15a7..0de26c6 100644
+index 2a7eefd..3250f3b 100644
--- a/include/net/flow.h
+++ b/include/net/flow.h
-@@ -208,6 +208,6 @@ extern struct flow_cache_object *flow_cache_lookup(
+@@ -218,6 +218,6 @@ extern struct flow_cache_object *flow_cache_lookup(
extern void flow_cache_flush(void);
extern void flow_cache_flush_deferred(void);
@@ -61884,7 +63690,7 @@ index 444cd6b..3327cc5 100644
const struct firmware *dsp_microcode;
const struct firmware *controller_microcode;
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
-index a79886c..b483af6 100644
+index 94bbec3..3a8c6b0 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -346,7 +346,7 @@ struct t10_reservation_ops {
@@ -61907,7 +63713,7 @@ index a79886c..b483af6 100644
atomic_t t_transport_active;
atomic_t t_transport_complete;
atomic_t t_transport_queue_active;
-@@ -704,7 +704,7 @@ struct se_device {
+@@ -705,7 +705,7 @@ struct se_device {
/* Active commands on this virtual SE device */
atomic_t simple_cmds;
atomic_t depth_left;
@@ -62412,7 +64218,7 @@ index 5b4293d..f179875 100644
if (u->mq_bytes + mq_bytes < u->mq_bytes ||
u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) {
diff --git a/ipc/msg.c b/ipc/msg.c
-index 7385de2..a8180e0 100644
+index 7385de2..a8180e08 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -309,18 +309,19 @@ static inline int msg_security(struct kern_ipc_perm *ipcp, int msgflg)
@@ -63242,7 +65048,7 @@ index 58690af..d903d75 100644
/*
diff --git a/kernel/exit.c b/kernel/exit.c
-index e6e01b9..619f837 100644
+index e6e01b9..0a21b0a 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -57,6 +57,10 @@
@@ -63321,11 +65127,20 @@ index e6e01b9..619f837 100644
exit_mm(tsk);
if (group_dead)
+@@ -1068,7 +1091,7 @@ SYSCALL_DEFINE1(exit, int, error_code)
+ * Take down every thread in the group. This is called by fatal signals
+ * as well as by sys_exit_group (below).
+ */
+-NORET_TYPE void
++__noreturn void
+ do_group_exit(int exit_code)
+ {
+ struct signal_struct *sig = current->signal;
diff --git a/kernel/fork.c b/kernel/fork.c
-index da4a6a1..0483b61 100644
+index 0acf42c0..9e40e2e 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -280,7 +280,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
+@@ -281,7 +281,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
*stackend = STACK_END_MAGIC; /* for overflow detection */
#ifdef CONFIG_CC_STACKPROTECTOR
@@ -63334,7 +65149,7 @@ index da4a6a1..0483b61 100644
#endif
/*
-@@ -304,13 +304,77 @@ out:
+@@ -305,13 +305,77 @@ out:
}
#ifdef CONFIG_MMU
@@ -63414,7 +65229,7 @@ index da4a6a1..0483b61 100644
down_write(&oldmm->mmap_sem);
flush_cache_dup_mm(oldmm);
-@@ -322,8 +386,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -323,8 +387,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
mm->locked_vm = 0;
mm->mmap = NULL;
mm->mmap_cache = NULL;
@@ -63425,7 +65240,7 @@ index da4a6a1..0483b61 100644
mm->map_count = 0;
cpumask_clear(mm_cpumask(mm));
mm->mm_rb = RB_ROOT;
-@@ -339,8 +403,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -340,8 +404,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
prev = NULL;
for (mpnt = oldmm->mmap; mpnt; mpnt = mpnt->vm_next) {
@@ -63434,7 +65249,7 @@ index da4a6a1..0483b61 100644
if (mpnt->vm_flags & VM_DONTCOPY) {
long pages = vma_pages(mpnt);
mm->total_vm -= pages;
-@@ -348,53 +410,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -349,53 +411,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
-pages);
continue;
}
@@ -63492,7 +65307,7 @@ index da4a6a1..0483b61 100644
/*
* Link in the new vma and copy the page table entries.
-@@ -417,6 +437,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -418,6 +438,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
if (retval)
goto out;
}
@@ -63524,7 +65339,7 @@ index da4a6a1..0483b61 100644
/* a new mm has just been created */
arch_dup_mmap(oldmm, mm);
retval = 0;
-@@ -425,14 +470,6 @@ out:
+@@ -426,14 +471,6 @@ out:
flush_tlb_mm(oldmm);
up_write(&oldmm->mmap_sem);
return retval;
@@ -63539,7 +65354,7 @@ index da4a6a1..0483b61 100644
}
static inline int mm_alloc_pgd(struct mm_struct *mm)
-@@ -644,6 +681,26 @@ struct mm_struct *get_task_mm(struct task_struct *task)
+@@ -645,6 +682,26 @@ struct mm_struct *get_task_mm(struct task_struct *task)
}
EXPORT_SYMBOL_GPL(get_task_mm);
@@ -63566,7 +65381,7 @@ index da4a6a1..0483b61 100644
/* Please note the differences between mmput and mm_release.
* mmput is called whenever we stop holding onto a mm_struct,
* error success whatever.
-@@ -829,13 +886,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
+@@ -830,13 +887,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
spin_unlock(&fs->lock);
return -EAGAIN;
}
@@ -63582,7 +65397,7 @@ index da4a6a1..0483b61 100644
return 0;
}
-@@ -1097,6 +1155,9 @@ static struct task_struct *copy_process(unsigned long clone_flags,
+@@ -1100,6 +1158,9 @@ static struct task_struct *copy_process(unsigned long clone_flags,
DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
#endif
retval = -EAGAIN;
@@ -63592,20 +65407,16 @@ index da4a6a1..0483b61 100644
if (atomic_read(&p->real_cred->user->processes) >=
task_rlimit(p, RLIMIT_NPROC)) {
if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) &&
-@@ -1256,6 +1317,12 @@ static struct task_struct *copy_process(unsigned long clone_flags,
+@@ -1259,6 +1320,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
if (clone_flags & CLONE_THREAD)
p->tgid = current->tgid;
+ gr_copy_label(p);
+
-+#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
-+ p->exec_id = current->exec_id;
-+#endif
-+
p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? child_tidptr : NULL;
/*
* Clear TID on mm_release()?
-@@ -1418,6 +1485,8 @@ bad_fork_cleanup_count:
+@@ -1421,6 +1484,8 @@ bad_fork_cleanup_count:
bad_fork_free:
free_task(p);
fork_out:
@@ -63614,7 +65425,7 @@ index da4a6a1..0483b61 100644
return ERR_PTR(retval);
}
-@@ -1518,6 +1587,8 @@ long do_fork(unsigned long clone_flags,
+@@ -1521,6 +1586,8 @@ long do_fork(unsigned long clone_flags,
if (clone_flags & CLONE_PARENT_SETTID)
put_user(nr, parent_tidptr);
@@ -63623,7 +65434,7 @@ index da4a6a1..0483b61 100644
if (clone_flags & CLONE_VFORK) {
p->vfork_done = &vfork;
init_completion(&vfork);
-@@ -1627,7 +1698,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
+@@ -1630,7 +1697,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
return 0;
/* don't need lock here; in the worst case we'll do useless copy */
@@ -63632,7 +65443,7 @@ index da4a6a1..0483b61 100644
return 0;
*new_fsp = copy_fs_struct(fs);
-@@ -1716,7 +1787,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
+@@ -1719,7 +1786,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
fs = current->fs;
spin_lock(&fs->lock);
current->fs = new_fs;
@@ -64025,7 +65836,7 @@ index a4bea97..7a1ae9a 100644
/*
* If ret is 0, either ____call_usermodehelper failed and the
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
-index faa39d1..d7ad37e 100644
+index bc90b87..43c7d8c 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -185,7 +185,7 @@ static kprobe_opcode_t __kprobes *__get_insn_slot(struct kprobe_insn_cache *c)
@@ -64046,7 +65857,7 @@ index faa39d1..d7ad37e 100644
kfree(kip);
}
return 1;
-@@ -1953,7 +1953,7 @@ static int __init init_kprobes(void)
+@@ -1955,7 +1955,7 @@ static int __init init_kprobes(void)
{
int i, err = 0;
unsigned long offset = 0, size = 0;
@@ -64055,7 +65866,7 @@ index faa39d1..d7ad37e 100644
const char *symbol_name;
void *addr;
struct kprobe_blackpoint *kb;
-@@ -2079,7 +2079,7 @@ static int __kprobes show_kprobe_addr(struct seq_file *pi, void *v)
+@@ -2081,7 +2081,7 @@ static int __kprobes show_kprobe_addr(struct seq_file *pi, void *v)
const char *sym = NULL;
unsigned int i = *(loff_t *) v;
unsigned long offset = 0;
@@ -65476,6 +67287,28 @@ index 78ab24a..332c915 100644
goto out_put_task_struct;
}
+diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c
+index 636af6d..8af70ab 100644
+--- a/kernel/rcutiny.c
++++ b/kernel/rcutiny.c
+@@ -46,7 +46,7 @@
+ struct rcu_ctrlblk;
+ static void invoke_rcu_callbacks(void);
+ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp);
+-static void rcu_process_callbacks(struct softirq_action *unused);
++static void rcu_process_callbacks(void);
+ static void __call_rcu(struct rcu_head *head,
+ void (*func)(struct rcu_head *rcu),
+ struct rcu_ctrlblk *rcp);
+@@ -186,7 +186,7 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp)
+ RCU_TRACE(trace_rcu_batch_end(rcp->name, cb_count));
+ }
+
+-static void rcu_process_callbacks(struct softirq_action *unused)
++static void rcu_process_callbacks(void)
+ {
+ __rcu_process_callbacks(&rcu_sched_ctrlblk);
+ __rcu_process_callbacks(&rcu_bh_ctrlblk);
diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index 764825c..3aa6ac4 100644
--- a/kernel/rcutorture.c
@@ -65836,36 +67669,6 @@ index 9feffa4..54058df 100644
rdp->dynticks->dynticks_nesting,
rdp->dynticks->dynticks_nmi_nesting,
rdp->dynticks_fqs);
-diff --git a/kernel/relay.c b/kernel/relay.c
-index 226fade..b6f803a 100644
---- a/kernel/relay.c
-+++ b/kernel/relay.c
-@@ -164,10 +164,14 @@ depopulate:
- */
- static struct rchan_buf *relay_create_buf(struct rchan *chan)
- {
-- struct rchan_buf *buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL);
-+ struct rchan_buf *buf;
-+
-+ if (chan->n_subbufs > UINT_MAX / sizeof(size_t *))
-+ return NULL;
-+
-+ buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL);
- if (!buf)
- return NULL;
--
- buf->padding = kmalloc(chan->n_subbufs * sizeof(size_t *), GFP_KERNEL);
- if (!buf->padding)
- goto free_buf;
-@@ -574,6 +578,8 @@ struct rchan *relay_open(const char *base_filename,
-
- if (!(subbuf_size && n_subbufs))
- return NULL;
-+ if (subbuf_size > UINT_MAX / n_subbufs)
-+ return NULL;
-
- chan = kzalloc(sizeof(struct rchan), GFP_KERNEL);
- if (!chan)
diff --git a/kernel/resource.c b/kernel/resource.c
index 7640b3a..5879283 100644
--- a/kernel/resource.c
@@ -67422,7 +69225,7 @@ index d9df745..e73c2fe 100644
static inline void *ptr_to_indirect(void *ptr)
{
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
-index 993599e..84dc70e 100644
+index 993599e..f1dbc14 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -16,6 +16,9 @@
@@ -67494,7 +69297,26 @@ index 993599e..84dc70e 100644
case 'B':
return symbol_string(buf, end, ptr, spec, *fmt);
case 'R':
-@@ -1608,11 +1624,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
+@@ -878,9 +894,15 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
+ case 'U':
+ return uuid_string(buf, end, ptr, spec, fmt);
+ case 'V':
+- return buf + vsnprintf(buf, end > buf ? end - buf : 0,
+- ((struct va_format *)ptr)->fmt,
+- *(((struct va_format *)ptr)->va));
++ {
++ va_list va;
++
++ va_copy(va, *((struct va_format *)ptr)->va);
++ buf += vsnprintf(buf, end > buf ? end - buf : 0,
++ ((struct va_format *)ptr)->fmt, va);
++ va_end(va);
++ return buf;
++ }
+ case 'K':
+ /*
+ * %pK cannot be used in IRQ context because its test
+@@ -1608,11 +1630,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
typeof(type) value; \
if (sizeof(type) == 8) { \
args = PTR_ALIGN(args, sizeof(u32)); \
@@ -67509,7 +69331,7 @@ index 993599e..84dc70e 100644
} \
args += sizeof(type); \
value; \
-@@ -1675,7 +1691,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
+@@ -1675,7 +1697,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
case FORMAT_TYPE_STR: {
const char *str_arg = args;
args += strlen(str_arg) + 1;
@@ -67610,10 +69432,10 @@ index 57d82c6..e9e0552 100644
set_page_address(page, (void *)vaddr);
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
-index 33141f5..e56bef9 100644
+index 8f005e9..1cb1036 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
-@@ -703,7 +703,7 @@ out:
+@@ -704,7 +704,7 @@ out:
* run pte_offset_map on the pmd, if an huge pmd could
* materialize from under us from a different thread.
*/
@@ -68676,7 +70498,7 @@ index 4f4f53b..9511904 100644
capable(CAP_IPC_LOCK))
ret = do_mlockall(flags);
diff --git a/mm/mmap.c b/mm/mmap.c
-index eae90af..51ca80b 100644
+index eae90af..c930262 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -46,6 +46,16 @@
@@ -69010,7 +70832,18 @@ index eae90af..51ca80b 100644
vma->vm_mm = mm;
vma->vm_start = addr;
vma->vm_end = addr + len;
-@@ -1281,6 +1412,19 @@ munmap_back:
+@@ -1266,8 +1397,9 @@ munmap_back:
+ vma->vm_pgoff = pgoff;
+ INIT_LIST_HEAD(&vma->anon_vma_chain);
+
++ error = -EINVAL; /* when rejecting VM_GROWSDOWN|VM_GROWSUP */
++
+ if (file) {
+- error = -EINVAL;
+ if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP))
+ goto free_vma;
+ if (vm_flags & VM_DENYWRITE) {
+@@ -1281,6 +1413,19 @@ munmap_back:
error = file->f_op->mmap(file, vma);
if (error)
goto unmap_and_free_vma;
@@ -69030,7 +70863,16 @@ index eae90af..51ca80b 100644
if (vm_flags & VM_EXECUTABLE)
added_exe_file_vma(mm);
-@@ -1316,6 +1460,11 @@ munmap_back:
+@@ -1293,6 +1438,8 @@ munmap_back:
+ pgoff = vma->vm_pgoff;
+ vm_flags = vma->vm_flags;
+ } else if (vm_flags & VM_SHARED) {
++ if (unlikely(vm_flags & (VM_GROWSDOWN|VM_GROWSUP)))
++ goto free_vma;
+ error = shmem_zero_setup(vma);
+ if (error)
+ goto free_vma;
+@@ -1316,6 +1463,11 @@ munmap_back:
vma_link(mm, vma, prev, rb_link, rb_parent);
file = vma->vm_file;
@@ -69042,7 +70884,7 @@ index eae90af..51ca80b 100644
/* Once vma denies write, undo our temporary denial count */
if (correct_wcount)
atomic_inc(&inode->i_writecount);
-@@ -1324,6 +1473,7 @@ out:
+@@ -1324,6 +1476,7 @@ out:
mm->total_vm += len >> PAGE_SHIFT;
vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT);
@@ -69050,7 +70892,7 @@ index eae90af..51ca80b 100644
if (vm_flags & VM_LOCKED) {
if (!mlock_vma_pages_range(vma, addr, addr + len))
mm->locked_vm += (len >> PAGE_SHIFT);
-@@ -1341,6 +1491,12 @@ unmap_and_free_vma:
+@@ -1341,6 +1494,12 @@ unmap_and_free_vma:
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
charged = 0;
free_vma:
@@ -69063,7 +70905,7 @@ index eae90af..51ca80b 100644
kmem_cache_free(vm_area_cachep, vma);
unacct_error:
if (charged)
-@@ -1348,6 +1504,44 @@ unacct_error:
+@@ -1348,6 +1507,44 @@ unacct_error:
return error;
}
@@ -69108,7 +70950,7 @@ index eae90af..51ca80b 100644
/* Get an address range which is currently unmapped.
* For shmat() with addr=0.
*
-@@ -1374,18 +1568,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
+@@ -1374,18 +1571,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
if (flags & MAP_FIXED)
return addr;
@@ -69139,7 +70981,7 @@ index eae90af..51ca80b 100644
}
full_search:
-@@ -1396,34 +1595,40 @@ full_search:
+@@ -1396,34 +1598,40 @@ full_search:
* Start a new search - just in case we missed
* some holes.
*/
@@ -69191,7 +71033,7 @@ index eae90af..51ca80b 100644
mm->free_area_cache = addr;
mm->cached_hole_size = ~0UL;
}
-@@ -1441,7 +1646,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1441,7 +1649,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
{
struct vm_area_struct *vma;
struct mm_struct *mm = current->mm;
@@ -69200,7 +71042,7 @@ index eae90af..51ca80b 100644
/* requested length too big for entire address space */
if (len > TASK_SIZE)
-@@ -1450,13 +1655,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1450,13 +1658,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
if (flags & MAP_FIXED)
return addr;
@@ -69223,7 +71065,7 @@ index eae90af..51ca80b 100644
}
/* check if free_area_cache is useful for us */
-@@ -1471,7 +1681,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1471,7 +1684,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
/* make sure it can fit in the remaining address space */
if (addr > len) {
vma = find_vma(mm, addr-len);
@@ -69232,7 +71074,7 @@ index eae90af..51ca80b 100644
/* remember the address as a hint for next time */
return (mm->free_area_cache = addr-len);
}
-@@ -1488,7 +1698,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1488,7 +1701,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
* return with success:
*/
vma = find_vma(mm, addr);
@@ -69241,7 +71083,7 @@ index eae90af..51ca80b 100644
/* remember the address as a hint for next time */
return (mm->free_area_cache = addr);
-@@ -1497,8 +1707,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1497,8 +1710,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
mm->cached_hole_size = vma->vm_start - addr;
/* try just below the current vma->vm_start */
@@ -69252,7 +71094,7 @@ index eae90af..51ca80b 100644
bottomup:
/*
-@@ -1507,13 +1717,21 @@ bottomup:
+@@ -1507,13 +1720,21 @@ bottomup:
* can happen with large stack limits and large mmap()
* allocations.
*/
@@ -69276,7 +71118,7 @@ index eae90af..51ca80b 100644
mm->cached_hole_size = ~0UL;
return addr;
-@@ -1522,6 +1740,12 @@ bottomup:
+@@ -1522,6 +1743,12 @@ bottomup:
void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
{
@@ -69289,7 +71131,7 @@ index eae90af..51ca80b 100644
/*
* Is this a new hole at the highest possible address?
*/
-@@ -1529,8 +1753,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
+@@ -1529,8 +1756,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
mm->free_area_cache = addr;
/* dont allow allocations above current base */
@@ -69301,15 +71143,63 @@ index eae90af..51ca80b 100644
}
unsigned long
-@@ -1638,6 +1864,28 @@ out:
- return prev ? prev->vm_next : vma;
- }
+@@ -1603,40 +1832,50 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
+ EXPORT_SYMBOL(find_vma);
+
+-/* Same as find_vma, but also return a pointer to the previous VMA in *pprev. */
++/*
++ * Same as find_vma, but also return a pointer to the previous VMA in *pprev.
++ */
+ struct vm_area_struct *
+ find_vma_prev(struct mm_struct *mm, unsigned long addr,
+ struct vm_area_struct **pprev)
+ {
+- struct vm_area_struct *vma = NULL, *prev = NULL;
+- struct rb_node *rb_node;
+- if (!mm)
+- goto out;
+-
+- /* Guard against addr being lower than the first VMA */
+- vma = mm->mmap;
+-
+- /* Go through the RB tree quickly. */
+- rb_node = mm->mm_rb.rb_node;
+-
+- while (rb_node) {
+- struct vm_area_struct *vma_tmp;
+- vma_tmp = rb_entry(rb_node, struct vm_area_struct, vm_rb);
+-
+- if (addr < vma_tmp->vm_end) {
+- rb_node = rb_node->rb_left;
+- } else {
+- prev = vma_tmp;
+- if (!prev->vm_next || (addr < prev->vm_next->vm_end))
+- break;
++ struct vm_area_struct *vma;
++
++ vma = find_vma(mm, addr);
++ if (vma) {
++ *pprev = vma->vm_prev;
++ } else {
++ struct rb_node *rb_node = mm->mm_rb.rb_node;
++ *pprev = NULL;
++ while (rb_node) {
++ *pprev = rb_entry(rb_node, struct vm_area_struct, vm_rb);
+ rb_node = rb_node->rb_right;
+ }
+ }
++ return vma;
++}
++
+#ifdef CONFIG_PAX_SEGMEXEC
+struct vm_area_struct *pax_find_mirror_vma(struct vm_area_struct *vma)
+{
+ struct vm_area_struct *vma_m;
-+
+
+-out:
+- *pprev = prev;
+- return prev ? prev->vm_next : vma;
+ BUG_ON(!vma || vma->vm_start >= vma->vm_end);
+ if (!(vma->vm_mm->pax_flags & MF_PAX_SEGMEXEC) || !(vma->vm_flags & VM_EXEC)) {
+ BUG_ON(vma->vm_mirror);
@@ -69324,13 +71214,12 @@ index eae90af..51ca80b 100644
+ BUG_ON(vma->anon_vma != vma_m->anon_vma && vma->anon_vma->root != vma_m->anon_vma->root);
+ BUG_ON((vma->vm_flags ^ vma_m->vm_flags) & ~(VM_WRITE | VM_MAYWRITE | VM_ACCOUNT | VM_LOCKED | VM_RESERVED));
+ return vma_m;
-+}
+ }
+#endif
-+
+
/*
* Verify that the stack growth is acceptable and
- * update accounting. This is shared with both the
-@@ -1654,6 +1902,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
+@@ -1654,6 +1893,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
return -ENOMEM;
/* Stack limit test */
@@ -69338,7 +71227,7 @@ index eae90af..51ca80b 100644
if (size > ACCESS_ONCE(rlim[RLIMIT_STACK].rlim_cur))
return -ENOMEM;
-@@ -1664,6 +1913,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
+@@ -1664,6 +1904,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
locked = mm->locked_vm + grow;
limit = ACCESS_ONCE(rlim[RLIMIT_MEMLOCK].rlim_cur);
limit >>= PAGE_SHIFT;
@@ -69346,7 +71235,7 @@ index eae90af..51ca80b 100644
if (locked > limit && !capable(CAP_IPC_LOCK))
return -ENOMEM;
}
-@@ -1694,37 +1944,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
+@@ -1694,37 +1935,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
* PA-RISC uses this for its stack; IA64 for its Register Backing Store.
* vma is the last one with address > vma->vm_end. Have to extend vma.
*/
@@ -69404,7 +71293,7 @@ index eae90af..51ca80b 100644
unsigned long size, grow;
size = address - vma->vm_start;
-@@ -1739,6 +2000,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
+@@ -1739,6 +1991,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
}
}
}
@@ -69413,7 +71302,7 @@ index eae90af..51ca80b 100644
vma_unlock_anon_vma(vma);
khugepaged_enter_vma_merge(vma);
return error;
-@@ -1752,6 +2015,8 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1752,6 +2006,8 @@ int expand_downwards(struct vm_area_struct *vma,
unsigned long address)
{
int error;
@@ -69422,7 +71311,7 @@ index eae90af..51ca80b 100644
/*
* We must make sure the anon_vma is allocated
-@@ -1765,6 +2030,15 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1765,6 +2021,15 @@ int expand_downwards(struct vm_area_struct *vma,
if (error)
return error;
@@ -69438,7 +71327,7 @@ index eae90af..51ca80b 100644
vma_lock_anon_vma(vma);
/*
-@@ -1774,9 +2048,17 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1774,9 +2039,17 @@ int expand_downwards(struct vm_area_struct *vma,
*/
/* Somebody else might have raced and expanded it already */
@@ -69457,7 +71346,7 @@ index eae90af..51ca80b 100644
size = vma->vm_end - address;
grow = (vma->vm_start - address) >> PAGE_SHIFT;
-@@ -1786,11 +2068,22 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1786,11 +2059,22 @@ int expand_downwards(struct vm_area_struct *vma,
if (!error) {
vma->vm_start = address;
vma->vm_pgoff -= grow;
@@ -69480,7 +71369,7 @@ index eae90af..51ca80b 100644
khugepaged_enter_vma_merge(vma);
return error;
}
-@@ -1860,6 +2153,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma)
+@@ -1860,6 +2144,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma)
do {
long nrpages = vma_pages(vma);
@@ -69494,7 +71383,7 @@ index eae90af..51ca80b 100644
mm->total_vm -= nrpages;
vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages);
vma = remove_vma(vma);
-@@ -1905,6 +2205,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -1905,6 +2196,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma,
insertion_point = (prev ? &prev->vm_next : &mm->mmap);
vma->vm_prev = NULL;
do {
@@ -69511,7 +71400,7 @@ index eae90af..51ca80b 100644
rb_erase(&vma->vm_rb, &mm->mm_rb);
mm->map_count--;
tail_vma = vma;
-@@ -1933,14 +2243,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1933,14 +2234,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
struct vm_area_struct *new;
int err = -ENOMEM;
@@ -69545,7 +71434,7 @@ index eae90af..51ca80b 100644
/* most fields are the same, copy all, and then fixup */
*new = *vma;
-@@ -1953,6 +2282,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1953,6 +2273,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT);
}
@@ -69568,7 +71457,7 @@ index eae90af..51ca80b 100644
pol = mpol_dup(vma_policy(vma));
if (IS_ERR(pol)) {
err = PTR_ERR(pol);
-@@ -1978,6 +2323,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1978,6 +2314,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
else
err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new);
@@ -69611,7 +71500,7 @@ index eae90af..51ca80b 100644
/* Success. */
if (!err)
return 0;
-@@ -1990,10 +2371,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1990,10 +2362,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
removed_exe_file_vma(mm);
fput(new->vm_file);
}
@@ -69631,7 +71520,7 @@ index eae90af..51ca80b 100644
kmem_cache_free(vm_area_cachep, new);
out_err:
return err;
-@@ -2006,6 +2395,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -2006,6 +2386,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
unsigned long addr, int new_below)
{
@@ -69647,7 +71536,7 @@ index eae90af..51ca80b 100644
if (mm->map_count >= sysctl_max_map_count)
return -ENOMEM;
-@@ -2017,11 +2415,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2017,11 +2406,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
* work. This now handles partial unmappings.
* Jeremy Fitzhardinge <jeremy@goop.org>
*/
@@ -69678,7 +71567,7 @@ index eae90af..51ca80b 100644
if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start)
return -EINVAL;
-@@ -2096,6 +2513,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
+@@ -2096,6 +2504,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
/* Fix up all other VM information */
remove_vma_list(mm, vma);
@@ -69687,7 +71576,7 @@ index eae90af..51ca80b 100644
return 0;
}
-@@ -2108,22 +2527,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
+@@ -2108,22 +2518,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
profile_munmap(addr);
@@ -69716,7 +71605,7 @@ index eae90af..51ca80b 100644
/*
* this is really a simplified "do_mmap". it only handles
* anonymous maps. eventually we may be able to do some
-@@ -2137,6 +2552,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2137,6 +2543,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
struct rb_node ** rb_link, * rb_parent;
pgoff_t pgoff = addr >> PAGE_SHIFT;
int error;
@@ -69724,7 +71613,7 @@ index eae90af..51ca80b 100644
len = PAGE_ALIGN(len);
if (!len)
-@@ -2148,16 +2564,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2148,16 +2555,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;
@@ -69756,7 +71645,7 @@ index eae90af..51ca80b 100644
locked += mm->locked_vm;
lock_limit = rlimit(RLIMIT_MEMLOCK);
lock_limit >>= PAGE_SHIFT;
-@@ -2174,22 +2604,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2174,22 +2595,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
/*
* Clear old maps. this also does some error checking for us
*/
@@ -69783,7 +71672,7 @@ index eae90af..51ca80b 100644
return -ENOMEM;
/* Can we just expand an old private anonymous mapping? */
-@@ -2203,7 +2633,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2203,7 +2624,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
*/
vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
if (!vma) {
@@ -69792,7 +71681,7 @@ index eae90af..51ca80b 100644
return -ENOMEM;
}
-@@ -2217,11 +2647,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2217,11 +2638,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
vma_link(mm, vma, prev, rb_link, rb_parent);
out:
perf_event_mmap(vma);
@@ -69807,7 +71696,7 @@ index eae90af..51ca80b 100644
return addr;
}
-@@ -2268,8 +2699,10 @@ void exit_mmap(struct mm_struct *mm)
+@@ -2268,8 +2690,10 @@ void exit_mmap(struct mm_struct *mm)
* Walk the list again, actually closing and freeing it,
* with preemption enabled, without holding any MM locks.
*/
@@ -69819,7 +71708,7 @@ index eae90af..51ca80b 100644
BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT);
}
-@@ -2283,6 +2716,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
+@@ -2283,6 +2707,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
struct vm_area_struct * __vma, * prev;
struct rb_node ** rb_link, * rb_parent;
@@ -69833,7 +71722,7 @@ index eae90af..51ca80b 100644
/*
* The vm_pgoff of a purely anonymous vma should be irrelevant
* until its first write fault, when page's anon_vma and index
-@@ -2305,7 +2745,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
+@@ -2305,7 +2736,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
if ((vma->vm_flags & VM_ACCOUNT) &&
security_vm_enough_memory_mm(mm, vma_pages(vma)))
return -ENOMEM;
@@ -69856,7 +71745,7 @@ index eae90af..51ca80b 100644
return 0;
}
-@@ -2323,6 +2778,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -2323,6 +2769,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
struct rb_node **rb_link, *rb_parent;
struct mempolicy *pol;
@@ -69865,7 +71754,7 @@ index eae90af..51ca80b 100644
/*
* If anonymous vma has not yet been faulted, update new pgoff
* to match new location, to increase its chance of merging.
-@@ -2373,6 +2830,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -2373,6 +2821,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
return NULL;
}
@@ -69905,7 +71794,7 @@ index eae90af..51ca80b 100644
/*
* Return true if the calling process may expand its vm space by the passed
* number of pages
-@@ -2383,7 +2873,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages)
+@@ -2383,7 +2864,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages)
unsigned long lim;
lim = rlimit(RLIMIT_AS) >> PAGE_SHIFT;
@@ -69914,7 +71803,7 @@ index eae90af..51ca80b 100644
if (cur + npages > lim)
return 0;
return 1;
-@@ -2454,6 +2944,22 @@ int install_special_mapping(struct mm_struct *mm,
+@@ -2454,6 +2935,22 @@ int install_special_mapping(struct mm_struct *mm,
vma->vm_start = addr;
vma->vm_end = addr + len;
@@ -70313,7 +72202,7 @@ index 7fa41b4..6087460 100644
return count;
}
diff --git a/mm/nommu.c b/mm/nommu.c
-index b982290..7d73f53 100644
+index f59e170..34e2a2b 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -62,7 +62,6 @@ int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */
@@ -70324,7 +72213,7 @@ index b982290..7d73f53 100644
atomic_long_t mmap_pages_allocated;
-@@ -825,15 +824,6 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
+@@ -827,15 +826,6 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
EXPORT_SYMBOL(find_vma);
/*
@@ -70340,7 +72229,7 @@ index b982290..7d73f53 100644
* expand a stack to a given address
* - not supported under NOMMU conditions
*/
-@@ -1553,6 +1543,7 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -1555,6 +1545,7 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
/* most fields are the same, copy all, and then fixup */
*new = *vma;
@@ -72070,7 +73959,7 @@ index a5f4e57..910ee6d 100644
/* Okay, we found ICMPv6 header */
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
-index 5864cc4..121f3a3 100644
+index 5864cc4..121f3a30 100644
--- a/net/bridge/netfilter/ebtables.c
+++ b/net/bridge/netfilter/ebtables.c
@@ -1513,7 +1513,7 @@ static int do_ebt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
@@ -72416,7 +74305,7 @@ index 68bbf9f..5ef0d12 100644
return err;
diff --git a/net/core/dev.c b/net/core/dev.c
-index 5a13edf..a6f2bd2 100644
+index c56cacf..b28e35f 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1139,10 +1139,14 @@ void dev_load(struct net *net, const char *name)
@@ -72488,7 +74377,7 @@ index 5a13edf..a6f2bd2 100644
kfree_skb(skb);
/* Jamal, now you will not able to escape explaining
* me how you were going to use this. :-)
-@@ -3891,7 +3895,7 @@ void netif_napi_del(struct napi_struct *napi)
+@@ -3897,7 +3901,7 @@ void netif_napi_del(struct napi_struct *napi)
}
EXPORT_SYMBOL(netif_napi_del);
@@ -72497,7 +74386,7 @@ index 5a13edf..a6f2bd2 100644
{
struct softnet_data *sd = &__get_cpu_var(softnet_data);
unsigned long time_limit = jiffies + 2;
-@@ -5949,7 +5953,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
+@@ -5955,7 +5959,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
} else {
netdev_stats_to_stats64(storage, &dev->stats);
}
@@ -73077,7 +74966,7 @@ index 94cdbc5..0cb0063 100644
ts = peer->tcp_ts;
tsage = get_seconds() - peer->tcp_ts_stamp;
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index c89e354..8bd55c8 100644
+index eb90aa8..22bf114 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly;
@@ -73090,7 +74979,7 @@ index c89e354..8bd55c8 100644
#ifdef CONFIG_TCP_MD5SIG
static struct tcp_md5sig_key *tcp_v4_md5_do_lookup(struct sock *sk,
-@@ -1627,6 +1630,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -1632,6 +1635,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
return 0;
reset:
@@ -73100,7 +74989,7 @@ index c89e354..8bd55c8 100644
tcp_v4_send_reset(rsk, skb);
discard:
kfree_skb(skb);
-@@ -1689,12 +1695,19 @@ int tcp_v4_rcv(struct sk_buff *skb)
+@@ -1694,12 +1700,19 @@ int tcp_v4_rcv(struct sk_buff *skb)
TCP_SKB_CB(skb)->sacked = 0;
sk = __inet_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest);
@@ -73123,7 +75012,7 @@ index c89e354..8bd55c8 100644
if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) {
NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP);
-@@ -1744,6 +1757,10 @@ no_tcp_socket:
+@@ -1749,6 +1762,10 @@ no_tcp_socket:
bad_packet:
TCP_INC_STATS_BH(net, TCP_MIB_INERRS);
} else {
@@ -73134,7 +75023,7 @@ index c89e354..8bd55c8 100644
tcp_v4_send_reset(NULL, skb);
}
-@@ -2404,7 +2421,11 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req,
+@@ -2409,7 +2426,11 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req,
0, /* non standard timer */
0, /* open_requests have no inode */
atomic_read(&sk->sk_refcnt),
@@ -73146,7 +75035,7 @@ index c89e354..8bd55c8 100644
len);
}
-@@ -2454,7 +2475,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
+@@ -2459,7 +2480,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
sock_i_uid(sk),
icsk->icsk_probes_out,
sock_i_ino(sk),
@@ -73160,7 +75049,7 @@ index c89e354..8bd55c8 100644
jiffies_to_clock_t(icsk->icsk_rto),
jiffies_to_clock_t(icsk->icsk_ack.ato),
(icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong,
-@@ -2482,7 +2508,13 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw,
+@@ -2487,7 +2513,13 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw,
" %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK%n",
i, src, srcp, dest, destp, tw->tw_substate, 0, 0,
3, jiffies_to_clock_t(ttd), 0, 0, 0, 0,
@@ -73908,7 +75797,7 @@ index 30d7355..e260095 100644
napi_disable(&local->napi);
ieee80211_clear_tx_pending(local);
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
-index a7536fd..4039cc0 100644
+index 7d9b21d..0687004 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -163,7 +163,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
@@ -73952,7 +75841,7 @@ index 9ee7164..56c5061 100644
suspend:
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
-index 5a5a776..9600b11 100644
+index 7d84b87..6a69cd9 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -401,7 +401,7 @@ int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local,
@@ -74055,7 +75944,7 @@ index 29fa5ba..8debc79 100644
if (!todrop_rate[i]) return 0;
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
-index 093cc32..9209ae1 100644
+index 6dc7d7d..e45913a 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -562,7 +562,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
@@ -75619,7 +77508,7 @@ index 9049a5c..cfa6f5c 100644
}
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
-index d2b366c..51ff91e 100644
+index d2b366c..51ff91ebc 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -109,7 +109,7 @@ endif
@@ -75934,7 +77823,7 @@ index 5c11312..72742b5 100644
write_hex_cnt = 0;
for (i = 0; i < logo_clutsize; i++) {
diff --git a/security/Kconfig b/security/Kconfig
-index 51bd5a0..eeabc9f 100644
+index 51bd5a0..3a4ebd0 100644
--- a/security/Kconfig
+++ b/security/Kconfig
@@ -4,6 +4,627 @@
@@ -76512,7 +78401,7 @@ index 51bd5a0..eeabc9f 100644
+
+config PAX_REFCOUNT
+ bool "Prevent various kernel object reference counter overflows"
-+ depends on GRKERNSEC && (X86 || SPARC64)
++ depends on GRKERNSEC && ((ARM && (CPU_32v6 || CPU_32v6K || CPU_32v7)) || SPARC64 || X86)
+ help
+ By saying Y here the kernel will detect and prevent overflowing
+ various (but not all) kinds of object reference counters. Such
@@ -77355,10 +79244,10 @@ index 09d4648..cf234c7 100644
list_add(&s->list, &cs4297a_devs);
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
-index 5644711..a2aebc1 100644
+index 71f6744..d8aeae7 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
-@@ -611,7 +611,7 @@ struct hda_bus_ops {
+@@ -614,7 +614,7 @@ struct hda_bus_ops {
/* notify power-up/down from codec to controller */
void (*pm_notify)(struct hda_bus *bus);
#endif
@@ -77367,7 +79256,7 @@ index 5644711..a2aebc1 100644
/* template to pass to the bus constructor */
struct hda_bus_template {
-@@ -713,6 +713,7 @@ struct hda_codec_ops {
+@@ -716,6 +716,7 @@ struct hda_codec_ops {
#endif
void (*reboot_notify)(struct hda_codec *codec);
};
@@ -77375,7 +79264,7 @@ index 5644711..a2aebc1 100644
/* record for amp information cache */
struct hda_cache_head {
-@@ -743,7 +744,7 @@ struct hda_pcm_ops {
+@@ -746,7 +747,7 @@ struct hda_pcm_ops {
struct snd_pcm_substream *substream);
int (*cleanup)(struct hda_pcm_stream *info, struct hda_codec *codec,
struct snd_pcm_substream *substream);
@@ -77384,7 +79273,7 @@ index 5644711..a2aebc1 100644
/* PCM information for each substream */
struct hda_pcm_stream {
-@@ -801,7 +802,7 @@ struct hda_codec {
+@@ -804,7 +805,7 @@ struct hda_codec {
const char *modelname; /* model name for preset */
/* set by patch */
@@ -77495,23 +79384,24 @@ index a39edcc..1014050 100644
};
diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
new file mode 100644
-index 0000000..b044b80
+index 0000000..894c8bf
--- /dev/null
+++ b/tools/gcc/Makefile
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,23 @@
+#CC := gcc
+#PLUGIN_SOURCE_FILES := pax_plugin.c
+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
+GCCPLUGINS_DIR := $(shell $(CC) -print-file-name=plugin)
-+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W
++#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W -std=gnu99
+
-+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include
++HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu99 -ggdb
+
+hostlibs-y := constify_plugin.so
+hostlibs-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so
+hostlibs-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so
+hostlibs-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so
+hostlibs-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so
++hostlibs-y += colorize_plugin.so
+
+always := $(hostlibs-y)
+
@@ -77520,6 +79410,7 @@ index 0000000..b044b80
+kallocstat_plugin-objs := kallocstat_plugin.o
+kernexec_plugin-objs := kernexec_plugin.o
+checker_plugin-objs := checker_plugin.o
++colorize_plugin-objs := colorize_plugin.o
diff --git a/tools/gcc/checker_plugin.c b/tools/gcc/checker_plugin.c
new file mode 100644
index 0000000..d41b5af
@@ -77697,6 +79588,159 @@ index 0000000..d41b5af
+
+ return 0;
+}
+diff --git a/tools/gcc/colorize_plugin.c b/tools/gcc/colorize_plugin.c
+new file mode 100644
+index 0000000..ee950d0
+--- /dev/null
++++ b/tools/gcc/colorize_plugin.c
+@@ -0,0 +1,147 @@
++/*
++ * Copyright 2012 by PaX Team <pageexec@freemail.hu>
++ * Licensed under the GPL v2
++ *
++ * Note: the choice of the license means that the compilation process is
++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3,
++ * but for the kernel it doesn't matter since it doesn't link against
++ * any of the gcc libraries
++ *
++ * gcc plugin to colorize diagnostic output
++ *
++ */
++
++#include "gcc-plugin.h"
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tree.h"
++#include "tree-pass.h"
++#include "flags.h"
++#include "intl.h"
++#include "toplev.h"
++#include "plugin.h"
++#include "diagnostic.h"
++#include "plugin-version.h"
++#include "tm.h"
++
++int plugin_is_GPL_compatible;
++
++static struct plugin_info colorize_plugin_info = {
++ .version = "201203092200",
++};
++
++#define GREEN "\033[32m\033[2m"
++#define LIGHTGREEN "\033[32m\033[1m"
++#define YELLOW "\033[33m\033[2m"
++#define LIGHTYELLOW "\033[33m\033[1m"
++#define RED "\033[31m\033[2m"
++#define LIGHTRED "\033[31m\033[1m"
++#define BLUE "\033[34m\033[2m"
++#define LIGHTBLUE "\033[34m\033[1m"
++#define BRIGHT "\033[m\033[1m"
++#define NORMAL "\033[m"
++
++static diagnostic_starter_fn old_starter;
++static diagnostic_finalizer_fn old_finalizer;
++
++static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic)
++{
++ const char *color;
++ char *newprefix;
++
++ switch (diagnostic->kind) {
++ case DK_NOTE:
++ color = LIGHTBLUE;
++ break;
++
++ case DK_PEDWARN:
++ case DK_WARNING:
++ color = LIGHTYELLOW;
++ break;
++
++ case DK_ERROR:
++ case DK_FATAL:
++ case DK_ICE:
++ case DK_PERMERROR:
++ case DK_SORRY:
++ color = LIGHTRED;
++ break;
++
++ default:
++ color = NORMAL;
++ }
++
++ old_starter(context, diagnostic);
++ if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix))
++ return;
++ pp_destroy_prefix(context->printer);
++ pp_set_prefix(context->printer, newprefix);
++}
++
++static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic)
++{
++ old_finalizer(context, diagnostic);
++}
++
++static void colorize_arm(void)
++{
++ old_starter = diagnostic_starter(global_dc);
++ old_finalizer = diagnostic_finalizer(global_dc);
++
++ diagnostic_starter(global_dc) = start_colorize;
++ diagnostic_finalizer(global_dc) = finalize_colorize;
++}
++
++static unsigned int execute_colorize_rearm(void)
++{
++ if (diagnostic_starter(global_dc) == start_colorize)
++ return 0;
++
++ colorize_arm();
++ return 0;
++}
++
++struct simple_ipa_opt_pass pass_ipa_colorize_rearm = {
++ .pass = {
++ .type = SIMPLE_IPA_PASS,
++ .name = "colorize_rearm",
++ .gate = NULL,
++ .execute = execute_colorize_rearm,
++ .sub = NULL,
++ .next = NULL,
++ .static_pass_number = 0,
++ .tv_id = TV_NONE,
++ .properties_required = 0,
++ .properties_provided = 0,
++ .properties_destroyed = 0,
++ .todo_flags_start = 0,
++ .todo_flags_finish = 0
++ }
++};
++
++static void colorize_start_unit(void *gcc_data, void *user_data)
++{
++ colorize_arm();
++}
++
++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
++{
++ const char * const plugin_name = plugin_info->base_name;
++ struct register_pass_info colorize_rearm_pass_info = {
++ .pass = &pass_ipa_colorize_rearm.pass,
++ .reference_pass_name = "*free_lang_data",
++ .ref_pass_instance_number = 0,
++ .pos_op = PASS_POS_INSERT_AFTER
++ };
++
++ if (!plugin_default_version_check(version, &gcc_version)) {
++ error(G_("incompatible gcc/plugin versions"));
++ return 1;
++ }
++
++ register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info);
++ register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL);
++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info);
++ return 0;
++}
diff --git a/tools/gcc/constify_plugin.c b/tools/gcc/constify_plugin.c
new file mode 100644
index 0000000..704a564
@@ -78181,10 +80225,10 @@ index 0000000..a5eabce
+}
diff --git a/tools/gcc/kernexec_plugin.c b/tools/gcc/kernexec_plugin.c
new file mode 100644
-index 0000000..51f747e
+index 0000000..008f159
--- /dev/null
+++ b/tools/gcc/kernexec_plugin.c
-@@ -0,0 +1,348 @@
+@@ -0,0 +1,427 @@
+/*
+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
+ * Licensed under the GPL v2
@@ -78232,13 +80276,32 @@ index 0000000..51f747e
+ .help = "method=[bts|or]\tinstrumentation method\n"
+};
+
++static unsigned int execute_kernexec_reload(void);
+static unsigned int execute_kernexec_fptr(void);
+static unsigned int execute_kernexec_retaddr(void);
+static bool kernexec_cmodel_check(void);
+
-+static void (*kernexec_instrument_fptr)(gimple_stmt_iterator);
++static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *);
+static void (*kernexec_instrument_retaddr)(rtx);
+
++static struct gimple_opt_pass kernexec_reload_pass = {
++ .pass = {
++ .type = GIMPLE_PASS,
++ .name = "kernexec_reload",
++ .gate = kernexec_cmodel_check,
++ .execute = execute_kernexec_reload,
++ .sub = NULL,
++ .next = NULL,
++ .static_pass_number = 0,
++ .tv_id = TV_NONE,
++ .properties_required = 0,
++ .properties_provided = 0,
++ .properties_destroyed = 0,
++ .todo_flags_start = 0,
++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi
++ }
++};
++
+static struct gimple_opt_pass kernexec_fptr_pass = {
+ .pass = {
+ .type = GIMPLE_PASS,
@@ -78294,15 +80357,66 @@ index 0000000..51f747e
+}
+
+/*
++ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered
++ */
++static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi)
++{
++ gimple asm_movabs_stmt;
++
++ // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : );
++ asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL);
++ gimple_asm_set_volatile(asm_movabs_stmt, true);
++ gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING);
++ update_stmt(asm_movabs_stmt);
++}
++
++/*
++ * find all asm() stmts that clobber r10 and add a reload of r10
++ */
++static unsigned int execute_kernexec_reload(void)
++{
++ basic_block bb;
++
++ // 1. loop through BBs and GIMPLE statements
++ FOR_EACH_BB(bb) {
++ gimple_stmt_iterator gsi;
++
++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
++ // gimple match: __asm__ ("" : : : "r10");
++ gimple asm_stmt;
++ size_t nclobbers;
++
++ // is it an asm ...
++ asm_stmt = gsi_stmt(gsi);
++ if (gimple_code(asm_stmt) != GIMPLE_ASM)
++ continue;
++
++ // ... clobbering r10
++ nclobbers = gimple_asm_nclobbers(asm_stmt);
++ while (nclobbers--) {
++ tree op = gimple_asm_clobber_op(asm_stmt, nclobbers);
++ if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10"))
++ continue;
++ kernexec_reload_fptr_mask(&gsi);
++//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO);
++ break;
++ }
++ }
++ }
++
++ return 0;
++}
++
++/*
+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce
+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference
+ */
-+static void kernexec_instrument_fptr_bts(gimple_stmt_iterator gsi)
++static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi)
+{
+ gimple assign_intptr, assign_new_fptr, call_stmt;
+ tree intptr, old_fptr, new_fptr, kernexec_mask;
+
-+ call_stmt = gsi_stmt(gsi);
++ call_stmt = gsi_stmt(*gsi);
+ old_fptr = gimple_call_fn(call_stmt);
+
+ // create temporary unsigned long variable used for bitops and cast fptr to it
@@ -78310,14 +80424,14 @@ index 0000000..51f747e
+ add_referenced_var(intptr);
+ mark_sym_for_renaming(intptr);
+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr));
-+ gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT);
++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT);
+ update_stmt(assign_intptr);
+
+ // apply logical or to temporary unsigned long and bitmask
+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL);
+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL);
+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask));
-+ gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT);
++ gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT);
+ update_stmt(assign_intptr);
+
+ // cast temporary unsigned long back to a temporary fptr variable
@@ -78325,7 +80439,7 @@ index 0000000..51f747e
+ add_referenced_var(new_fptr);
+ mark_sym_for_renaming(new_fptr);
+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr));
-+ gsi_insert_before(&gsi, assign_new_fptr, GSI_SAME_STMT);
++ gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT);
+ update_stmt(assign_new_fptr);
+
+ // replace call stmt fn with the new fptr
@@ -78333,14 +80447,14 @@ index 0000000..51f747e
+ update_stmt(call_stmt);
+}
+
-+static void kernexec_instrument_fptr_or(gimple_stmt_iterator gsi)
++static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi)
+{
+ gimple asm_or_stmt, call_stmt;
+ tree old_fptr, new_fptr, input, output;
+ VEC(tree, gc) *inputs = NULL;
+ VEC(tree, gc) *outputs = NULL;
+
-+ call_stmt = gsi_stmt(gsi);
++ call_stmt = gsi_stmt(*gsi);
+ old_fptr = gimple_call_fn(call_stmt);
+
+ // create temporary fptr variable
@@ -78357,7 +80471,7 @@ index 0000000..51f747e
+ VEC_safe_push(tree, gc, outputs, output);
+ asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL);
+ gimple_asm_set_volatile(asm_or_stmt, true);
-+ gsi_insert_before(&gsi, asm_or_stmt, GSI_SAME_STMT);
++ gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT);
+ update_stmt(asm_or_stmt);
+
+ // replace call stmt fn with the new fptr
@@ -78371,10 +80485,11 @@ index 0000000..51f747e
+static unsigned int execute_kernexec_fptr(void)
+{
+ basic_block bb;
-+ gimple_stmt_iterator gsi;
+
+ // 1. loop through BBs and GIMPLE statements
+ FOR_EACH_BB(bb) {
++ gimple_stmt_iterator gsi;
++
+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
+ // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D));
+ tree fn;
@@ -78401,7 +80516,7 @@ index 0000000..51f747e
+ if (TREE_CODE(fn) != FUNCTION_TYPE)
+ continue;
+
-+ kernexec_instrument_fptr(gsi);
++ kernexec_instrument_fptr(&gsi);
+
+//debug_tree(gimple_call_fn(call_stmt));
+//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO);
@@ -78483,6 +80598,12 @@ index 0000000..51f747e
+ const int argc = plugin_info->argc;
+ const struct plugin_argument * const argv = plugin_info->argv;
+ int i;
++ struct register_pass_info kernexec_reload_pass_info = {
++ .pass = &kernexec_reload_pass.pass,
++ .reference_pass_name = "ssa",
++ .ref_pass_instance_number = 0,
++ .pos_op = PASS_POS_INSERT_AFTER
++ };
+ struct register_pass_info kernexec_fptr_pass_info = {
+ .pass = &kernexec_fptr_pass.pass,
+ .reference_pass_name = "ssa",
@@ -78528,6 +80649,8 @@ index 0000000..51f747e
+ if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr)
+ error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name);
+
++ if (kernexec_instrument_fptr == kernexec_instrument_fptr_or)
++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info);
+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info);
+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info);
+
@@ -78535,10 +80658,10 @@ index 0000000..51f747e
+}
diff --git a/tools/gcc/stackleak_plugin.c b/tools/gcc/stackleak_plugin.c
new file mode 100644
-index 0000000..d44f37c
+index 0000000..4e82b16
--- /dev/null
+++ b/tools/gcc/stackleak_plugin.c
-@@ -0,0 +1,291 @@
+@@ -0,0 +1,311 @@
+/*
+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
+ * Licensed under the GPL v2
@@ -78588,7 +80711,7 @@ index 0000000..d44f37c
+static bool init_locals;
+
+static struct plugin_info stackleak_plugin_info = {
-+ .version = "201111150100",
++ .version = "201203140940",
+ .help = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n"
+// "initialize-locals\t\tforcibly initialize all stack frames\n"
+};
@@ -78638,31 +80761,33 @@ index 0000000..d44f37c
+ return track_frame_size >= 0;
+}
+
-+static void stackleak_check_alloca(gimple_stmt_iterator gsi)
++static void stackleak_check_alloca(gimple_stmt_iterator *gsi)
+{
+ gimple check_alloca;
-+ tree fndecl, fntype, alloca_size;
++ tree fntype, fndecl, alloca_size;
+
-+ // insert call to void pax_check_alloca(unsigned long size)
+ fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE);
+ fndecl = build_fn_decl(check_function, fntype);
+ DECL_ASSEMBLER_NAME(fndecl); // for LTO
-+ alloca_size = gimple_call_arg(gsi_stmt(gsi), 0);
++
++ // insert call to void pax_check_alloca(unsigned long size)
++ alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0);
+ check_alloca = gimple_build_call(fndecl, 1, alloca_size);
-+ gsi_insert_before(&gsi, check_alloca, GSI_CONTINUE_LINKING);
++ gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT);
+}
+
-+static void stackleak_add_instrumentation(gimple_stmt_iterator gsi)
++static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi)
+{
+ gimple track_stack;
-+ tree fndecl, fntype;
++ tree fntype, fndecl;
+
-+ // insert call to void pax_track_stack(void)
+ fntype = build_function_type_list(void_type_node, NULL_TREE);
+ fndecl = build_fn_decl(track_function, fntype);
+ DECL_ASSEMBLER_NAME(fndecl); // for LTO
++
++ // insert call to void pax_track_stack(void)
+ track_stack = gimple_build_call(fndecl, 0);
-+ gsi_insert_after(&gsi, track_stack, GSI_CONTINUE_LINKING);
++ gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING);
+}
+
+#if BUILDING_GCC_VERSION == 4005
@@ -78698,34 +80823,52 @@ index 0000000..d44f37c
+static unsigned int execute_stackleak_tree_instrument(void)
+{
+ basic_block bb, entry_bb;
-+ bool prologue_instrumented = false;
++ bool prologue_instrumented = false, is_leaf = true;
+
+ entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb;
+
+ // 1. loop through BBs and GIMPLE statements
+ FOR_EACH_BB(bb) {
+ gimple_stmt_iterator gsi;
++
+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
++ gimple stmt;
++
++ stmt = gsi_stmt(gsi);
++
++ if (is_gimple_call(stmt))
++ is_leaf = false;
++
+ // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes <tree_list 0xb7576450>
-+ if (!is_alloca(gsi_stmt(gsi)))
++ if (!is_alloca(stmt))
+ continue;
+
+ // 2. insert stack overflow check before each __builtin_alloca call
-+ stackleak_check_alloca(gsi);
++ stackleak_check_alloca(&gsi);
+
+ // 3. insert track call after each __builtin_alloca call
-+ stackleak_add_instrumentation(gsi);
++ stackleak_add_instrumentation(&gsi);
+ if (bb == entry_bb)
+ prologue_instrumented = true;
+ }
+ }
+
++ // special case for some bad linux code: taking the address of static inline functions will materialize them
++ // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI
++ // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering ABI.
++ // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here.
++ if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl))
++ return 0;
++
+ // 4. insert track call at the beginning
+ if (!prologue_instrumented) {
++ gimple_stmt_iterator gsi;
++
+ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest;
+ if (dom_info_available_p(CDI_DOMINATORS))
+ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR);
-+ stackleak_add_instrumentation(gsi_start_bb(bb));
++ gsi = gsi_start_bb(bb);
++ stackleak_add_instrumentation(&gsi);
+ }
+
+ return 0;
@@ -78787,7 +80930,7 @@ index 0000000..d44f37c
+// .reference_pass_name = "tree_profile",
+ .reference_pass_name = "optimized",
+ .ref_pass_instance_number = 0,
-+ .pos_op = PASS_POS_INSERT_AFTER
++ .pos_op = PASS_POS_INSERT_BEFORE
+ };
+ struct register_pass_info stackleak_final_pass_info = {
+ .pass = &stackleak_final_rtl_opt_pass.pass,
diff --git a/main/linux-grsec/inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch b/main/linux-grsec/inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch
new file mode 100644
index 000000000..0f26cf40a
--- /dev/null
+++ b/main/linux-grsec/inetpeer-invalidate-the-inetpeer-tree-along-with-the-routing-cache.patch
@@ -0,0 +1,174 @@
+From: Steffen Klassert <steffen.klassert@secunet.com>
+Date: Tue, 6 Mar 2012 21:20:26 +0000 (+0000)
+Subject: inetpeer: Invalidate the inetpeer tree along with the routing cache
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet.git;a=commitdiff_plain;h=5faa5df1fa2024bd750089ff21dcc4191798263d
+
+inetpeer: Invalidate the inetpeer tree along with the routing cache
+
+We initialize the routing metrics with the values cached on the
+inetpeer in rt_init_metrics(). So if we have the metrics cached on the
+inetpeer, we ignore the user configured fib_metrics.
+
+To fix this issue, we replace the old tree with a fresh initialized
+inet_peer_base. The old tree is removed later with a delayed work queue.
+
+Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h
+index 06b795d..ff04a33 100644
+--- a/include/net/inetpeer.h
++++ b/include/net/inetpeer.h
+@@ -41,6 +41,7 @@ struct inet_peer {
+ u32 pmtu_orig;
+ u32 pmtu_learned;
+ struct inetpeer_addr_base redirect_learned;
++ struct list_head gc_list;
+ /*
+ * Once inet_peer is queued for deletion (refcnt == -1), following fields
+ * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp
+@@ -96,6 +97,8 @@ static inline struct inet_peer *inet_getpeer_v6(const struct in6_addr *v6daddr,
+ extern void inet_putpeer(struct inet_peer *p);
+ extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout);
+
++extern void inetpeer_invalidate_tree(int family);
++
+ /*
+ * temporary check to make sure we dont access rid, ip_id_count, tcp_ts,
+ * tcp_ts_stamp if no refcount is taken on inet_peer
+diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
+index bf4a9c4..deea2e9 100644
+--- a/net/ipv4/inetpeer.c
++++ b/net/ipv4/inetpeer.c
+@@ -17,6 +17,7 @@
+ #include <linux/kernel.h>
+ #include <linux/mm.h>
+ #include <linux/net.h>
++#include <linux/workqueue.h>
+ #include <net/ip.h>
+ #include <net/inetpeer.h>
+ #include <net/secure_seq.h>
+@@ -66,6 +67,11 @@
+
+ static struct kmem_cache *peer_cachep __read_mostly;
+
++static LIST_HEAD(gc_list);
++static const int gc_delay = 60 * HZ;
++static struct delayed_work gc_work;
++static DEFINE_SPINLOCK(gc_lock);
++
+ #define node_height(x) x->avl_height
+
+ #define peer_avl_empty ((struct inet_peer *)&peer_fake_node)
+@@ -102,6 +108,50 @@ int inet_peer_threshold __read_mostly = 65536 + 128; /* start to throw entries m
+ int inet_peer_minttl __read_mostly = 120 * HZ; /* TTL under high load: 120 sec */
+ int inet_peer_maxttl __read_mostly = 10 * 60 * HZ; /* usual time to live: 10 min */
+
++static void inetpeer_gc_worker(struct work_struct *work)
++{
++ struct inet_peer *p, *n;
++ LIST_HEAD(list);
++
++ spin_lock_bh(&gc_lock);
++ list_replace_init(&gc_list, &list);
++ spin_unlock_bh(&gc_lock);
++
++ if (list_empty(&list))
++ return;
++
++ list_for_each_entry_safe(p, n, &list, gc_list) {
++
++ if(need_resched())
++ cond_resched();
++
++ if (p->avl_left != peer_avl_empty) {
++ list_add_tail(&p->avl_left->gc_list, &list);
++ p->avl_left = peer_avl_empty;
++ }
++
++ if (p->avl_right != peer_avl_empty) {
++ list_add_tail(&p->avl_right->gc_list, &list);
++ p->avl_right = peer_avl_empty;
++ }
++
++ n = list_entry(p->gc_list.next, struct inet_peer, gc_list);
++
++ if (!atomic_read(&p->refcnt)) {
++ list_del(&p->gc_list);
++ kmem_cache_free(peer_cachep, p);
++ }
++ }
++
++ if (list_empty(&list))
++ return;
++
++ spin_lock_bh(&gc_lock);
++ list_splice(&list, &gc_list);
++ spin_unlock_bh(&gc_lock);
++
++ schedule_delayed_work(&gc_work, gc_delay);
++}
+
+ /* Called from ip_output.c:ip_init */
+ void __init inet_initpeers(void)
+@@ -126,6 +176,7 @@ void __init inet_initpeers(void)
+ 0, SLAB_HWCACHE_ALIGN | SLAB_PANIC,
+ NULL);
+
++ INIT_DELAYED_WORK_DEFERRABLE(&gc_work, inetpeer_gc_worker);
+ }
+
+ static int addr_compare(const struct inetpeer_addr *a,
+@@ -449,7 +500,7 @@ relookup:
+ p->pmtu_orig = 0;
+ p->redirect_genid = 0;
+ memset(&p->redirect_learned, 0, sizeof(p->redirect_learned));
+-
++ INIT_LIST_HEAD(&p->gc_list);
+
+ /* Link the node. */
+ link_to_pool(p, base);
+@@ -509,3 +560,30 @@ bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout)
+ return rc;
+ }
+ EXPORT_SYMBOL(inet_peer_xrlim_allow);
++
++void inetpeer_invalidate_tree(int family)
++{
++ struct inet_peer *old, *new, *prev;
++ struct inet_peer_base *base = family_to_base(family);
++
++ write_seqlock_bh(&base->lock);
++
++ old = base->root;
++ if (old == peer_avl_empty_rcu)
++ goto out;
++
++ new = peer_avl_empty_rcu;
++
++ prev = cmpxchg(&base->root, old, new);
++ if (prev == old) {
++ base->total = 0;
++ spin_lock(&gc_lock);
++ list_add_tail(&prev->gc_list, &gc_list);
++ spin_unlock(&gc_lock);
++ schedule_delayed_work(&gc_work, gc_delay);
++ }
++
++out:
++ write_sequnlock_bh(&base->lock);
++}
++EXPORT_SYMBOL(inetpeer_invalidate_tree);
+diff --git a/net/ipv4/route.c b/net/ipv4/route.c
+index bcacf54..23ce0c1 100644
+--- a/net/ipv4/route.c
++++ b/net/ipv4/route.c
+@@ -938,6 +938,7 @@ static void rt_cache_invalidate(struct net *net)
+ get_random_bytes(&shuffle, sizeof(shuffle));
+ atomic_add(shuffle + 1U, &net->ipv4.rt_genid);
+ redirect_genid++;
++ inetpeer_invalidate_tree(AF_INET);
+ }
+
+ /*
diff --git a/main/linux-grsec/kernelconfig.x86 b/main/linux-grsec/kernelconfig.x86
index 38e8cd914..4b2af2441 100644
--- a/main/linux-grsec/kernelconfig.x86
+++ b/main/linux-grsec/kernelconfig.x86
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.2 Kernel Configuration
+# Linux/i386 3.2.11 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -1419,7 +1419,8 @@ CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
-# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
@@ -4090,7 +4091,7 @@ CONFIG_USB_MOUSE=m
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
+CONFIG_HID_APPLE=m
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
@@ -4905,7 +4906,9 @@ CONFIG_CIFS_ACL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
#
# Partition Types
@@ -5104,7 +5107,7 @@ CONFIG_GRKERNSEC=y
CONFIG_GRKERNSEC_CUSTOM=y
#
-# Address Space Protection
+# Memory Protections
#
CONFIG_GRKERNSEC_KMEM=y
# CONFIG_GRKERNSEC_VM86 is not set
@@ -5437,5 +5440,6 @@ CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CORDIC=m
diff --git a/main/linux-grsec/kernelconfig.x86_64 b/main/linux-grsec/kernelconfig.x86_64
index 045bfa90e..164d8ce48 100644
--- a/main/linux-grsec/kernelconfig.x86_64
+++ b/main/linux-grsec/kernelconfig.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.2.1 Kernel Configuration
+# Linux/x86_64 3.2.11 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -1384,7 +1384,8 @@ CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
-# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
@@ -4044,7 +4045,7 @@ CONFIG_USB_MOUSE=m
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
+CONFIG_HID_APPLE=m
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
@@ -4880,7 +4881,9 @@ CONFIG_CIFS_ACL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
#
# Partition Types
@@ -5078,7 +5081,7 @@ CONFIG_GRKERNSEC=y
CONFIG_GRKERNSEC_CUSTOM=y
#
-# Address Space Protection
+# Memory Protections
#
CONFIG_GRKERNSEC_KMEM=y
# CONFIG_GRKERNSEC_IO is not set
@@ -5408,5 +5411,6 @@ CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CORDIC=m
diff --git a/main/linux-grsec/linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch b/main/linux-grsec/linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch
deleted file mode 100644
index 7ca414782..000000000
--- a/main/linux-grsec/linux-3.0.x-regression-with-ipv4-routes-having-mtu.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/net/ipv4/route.c b/net/ipv4/route.c
-index f30112f..26a6249 100644
---- a/net/ipv4/route.c
-+++ b/net/ipv4/route.c
-@@ -1841,6 +1841,22 @@ static unsigned int ipv4_mtu(const struct dst_entry *dst)
- return mtu;
- }
-
-+static void __rt_init_metrics(struct rtable *rt, struct fib_info *fi,
-+ struct inet_peer *peer)
-+{
-+ if (peer && fi->fib_metrics == (u32 *) dst_default_metrics) {
-+ dst_init_metrics(&rt->dst, peer->metrics, false);
-+ return;
-+ }
-+
-+ if (fi->fib_metrics != (u32 *) dst_default_metrics) {
-+ rt->fi = fi;
-+ atomic_inc(&fi->fib_clntref);
-+ }
-+
-+ dst_init_metrics(&rt->dst, fi->fib_metrics, true);
-+}
-+
- static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
- struct fib_info *fi)
- {
-@@ -1859,7 +1875,8 @@ static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
- if (inet_metrics_new(peer))
- memcpy(peer->metrics, fi->fib_metrics,
- sizeof(u32) * RTAX_MAX);
-- dst_init_metrics(&rt->dst, peer->metrics, false);
-+
-+ __rt_init_metrics(rt, fi, peer);
-
- check_peer_pmtu(&rt->dst, peer);
- if (peer->redirect_genid != redirect_genid)
-@@ -1869,13 +1886,8 @@ static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
- rt->rt_gateway = peer->redirect_learned.a4;
- rt->rt_flags |= RTCF_REDIRECTED;
- }
-- } else {
-- if (fi->fib_metrics != (u32 *) dst_default_metrics) {
-- rt->fi = fi;
-- atomic_inc(&fi->fib_clntref);
-- }
-- dst_init_metrics(&rt->dst, fi->fib_metrics, true);
-- }
-+ } else
-+ __rt_init_metrics(rt, fi, NULL);
- }
-
- static void rt_set_nexthop(struct rtable *rt, const struct flowi4 *fl4,
diff --git a/main/linux-grsec/net-gre-provide-multicast-mappings-for-ipv4-and-ipv6.patch b/main/linux-grsec/net-gre-provide-multicast-mappings-for-ipv4-and-ipv6.patch
deleted file mode 100644
index a9bff5dcf..000000000
--- a/main/linux-grsec/net-gre-provide-multicast-mappings-for-ipv4-and-ipv6.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From: Timo Teräs <timo.teras@iki.fi>
-Date: Mon, 28 Mar 2011 22:40:53 +0000 (+0000)
-Subject: net: gre: provide multicast mappings for ipv4 and ipv6
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet-2.6.git;a=commitdiff_plain;h=93ca3bb5df9bc8b2c60485e1cc6507c3d7c8e1fa
-
-net: gre: provide multicast mappings for ipv4 and ipv6
-
-My commit 6d55cb91a0020ac0 (gre: fix hard header destination
-address checking) broke multicast.
-
-The reason is that ip_gre used to get ipgre_header() calls with
-zero destination if we have NOARP or multicast destination. Instead
-the actual target was decided at ipgre_tunnel_xmit() time based on
-per-protocol dissection.
-
-Instead of allowing the "abuse" of ->header() calls with invalid
-destination, this creates multicast mappings for ip_gre. This also
-fixes "ip neigh show nud noarp" to display the proper multicast
-mappings used by the gre device.
-
-Reported-by: Doug Kehn <rdkehn@yahoo.com>
-Signed-off-by: Timo Teräs <timo.teras@iki.fi>
-Acked-by: Doug Kehn <rdkehn@yahoo.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
-diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h
-index 04977ee..fccc218 100644
---- a/include/net/if_inet6.h
-+++ b/include/net/if_inet6.h
-@@ -286,5 +286,21 @@ static inline void ipv6_ib_mc_map(const struct in6_addr *addr,
- buf[9] = broadcast[9];
- memcpy(buf + 10, addr->s6_addr + 6, 10);
- }
-+
-+static inline int ipv6_ipgre_mc_map(const struct in6_addr *addr,
-+ const unsigned char *broadcast, char *buf)
-+{
-+ if ((broadcast[0] | broadcast[1] | broadcast[2] | broadcast[3]) != 0) {
-+ memcpy(buf, broadcast, 4);
-+ } else {
-+ /* v4mapped? */
-+ if ((addr->s6_addr32[0] | addr->s6_addr32[1] |
-+ (addr->s6_addr32[2] ^ htonl(0x0000ffff))) != 0)
-+ return -EINVAL;
-+ memcpy(buf, &addr->s6_addr32[3], 4);
-+ }
-+ return 0;
-+}
-+
- #endif
- #endif
-diff --git a/include/net/ip.h b/include/net/ip.h
-index a4f6311..7c41658 100644
---- a/include/net/ip.h
-+++ b/include/net/ip.h
-@@ -339,6 +339,14 @@ static inline void ip_ib_mc_map(__be32 naddr, const unsigned char *broadcast, ch
- buf[16] = addr & 0x0f;
- }
-
-+static inline void ip_ipgre_mc_map(__be32 naddr, const unsigned char *broadcast, char *buf)
-+{
-+ if ((broadcast[0] | broadcast[1] | broadcast[2] | broadcast[3]) != 0)
-+ memcpy(buf, broadcast, 4);
-+ else
-+ memcpy(buf, &naddr, sizeof(naddr));
-+}
-+
- #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
- #include <linux/ipv6.h>
- #endif
-diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
-index 090d273..1b74d3b 100644
---- a/net/ipv4/arp.c
-+++ b/net/ipv4/arp.c
-@@ -215,6 +215,9 @@ int arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir)
- case ARPHRD_INFINIBAND:
- ip_ib_mc_map(addr, dev->broadcast, haddr);
- return 0;
-+ case ARPHRD_IPGRE:
-+ ip_ipgre_mc_map(addr, dev->broadcast, haddr);
-+ return 0;
- default:
- if (dir) {
- memcpy(haddr, dev->broadcast, dev->addr_len);
-diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
-index 0e49c9d..92f952d 100644
---- a/net/ipv6/ndisc.c
-+++ b/net/ipv6/ndisc.c
-@@ -341,6 +341,8 @@ int ndisc_mc_map(struct in6_addr *addr, char *buf, struct net_device *dev, int d
- case ARPHRD_INFINIBAND:
- ipv6_ib_mc_map(addr, dev->broadcast, buf);
- return 0;
-+ case ARPHRD_IPGRE:
-+ return ipv6_ipgre_mc_map(addr, dev->broadcast, buf);
- default:
- if (dir) {
- memcpy(buf, dev->broadcast, dev->addr_len);
diff --git a/main/linux-grsec/route-remove-redirect-genid.patch b/main/linux-grsec/route-remove-redirect-genid.patch
new file mode 100644
index 000000000..7c1d28b46
--- /dev/null
+++ b/main/linux-grsec/route-remove-redirect-genid.patch
@@ -0,0 +1,81 @@
+One hunk was remove from this patch.
+
+
+From: Steffen Klassert <steffen.klassert@secunet.com>
+Date: Tue, 6 Mar 2012 21:21:10 +0000 (+0000)
+Subject: route: Remove redirect_genid
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet.git;a=commitdiff_plain;h=ac3f48de09d8f4b73397047e413fadff7f65cfa7
+
+route: Remove redirect_genid
+
+As we invalidate the inetpeer tree along with the routing cache now,
+we don't need a genid to reset the redirect handling when the routing
+cache is flushed.
+
+Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h
+index ff04a33..b94765e 100644
+--- a/include/net/inetpeer.h
++++ b/include/net/inetpeer.h
+@@ -35,7 +35,6 @@ struct inet_peer {
+
+ u32 metrics[RTAX_MAX];
+ u32 rate_tokens; /* rate limiting for ICMP */
+- int redirect_genid;
+ unsigned long rate_last;
+ unsigned long pmtu_expires;
+ u32 pmtu_orig;
+diff --git a/net/ipv4/route.c b/net/ipv4/route.c
+index 23ce0c1..0197747 100644
+--- a/net/ipv4/route.c
++++ b/net/ipv4/route.c
+@@ -132,7 +132,6 @@ static int ip_rt_mtu_expires __read_mostly = 10 * 60 * HZ;
+ static int ip_rt_min_pmtu __read_mostly = 512 + 20 + 20;
+ static int ip_rt_min_advmss __read_mostly = 256;
+ static int rt_chain_length_max __read_mostly = 20;
+-static int redirect_genid;
+
+ static struct delayed_work expires_work;
+ static unsigned long expires_ljiffies;
+@@ -937,7 +936,6 @@ static void rt_cache_invalidate(struct net *net)
+
+ get_random_bytes(&shuffle, sizeof(shuffle));
+ atomic_add_unchecked(shuffle + 1U, &net->ipv4.rt_genid);
+- redirect_genid++;
+ inetpeer_invalidate_tree(AF_INET);
+ }
+
+@@ -1486,10 +1484,8 @@ void ip_rt_redirect(__be32 old_gw, __be32 daddr, __be32 new_gw,
+
+ peer = rt->peer;
+ if (peer) {
+- if (peer->redirect_learned.a4 != new_gw ||
+- peer->redirect_genid != redirect_genid) {
++ if (peer->redirect_learned.a4 != new_gw) {
+ peer->redirect_learned.a4 = new_gw;
+- peer->redirect_genid = redirect_genid;
+ atomic_inc(&__rt_peer_genid);
+ }
+ check_peer_redir(&rt->dst, peer);
+@@ -1794,8 +1790,6 @@ static void ipv4_validate_peer(struct rtable *rt)
+ if (peer) {
+ check_peer_pmtu(&rt->dst, peer);
+
+- if (peer->redirect_genid != redirect_genid)
+- peer->redirect_learned.a4 = 0;
+ if (peer->redirect_learned.a4 &&
+ peer->redirect_learned.a4 != rt->rt_gateway)
+ check_peer_redir(&rt->dst, peer);
+@@ -1959,8 +1953,7 @@ static void rt_init_metrics(struct rtable *rt, const struct flowi4 *fl4,
+ dst_init_metrics(&rt->dst, peer->metrics, false);
+
+ check_peer_pmtu(&rt->dst, peer);
+- if (peer->redirect_genid != redirect_genid)
+- peer->redirect_learned.a4 = 0;
++
+ if (peer->redirect_learned.a4 &&
+ peer->redirect_learned.a4 != rt->rt_gateway) {
+ rt->rt_gateway = peer->redirect_learned.a4;
diff --git a/main/linux-headers/APKBUILD b/main/linux-headers/APKBUILD
index efc27883c..683c82e17 100644
--- a/main/linux-headers/APKBUILD
+++ b/main/linux-headers/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=linux-headers
-pkgver=3.2.2
+pkgver=3.2.7
_kernver=3.2
pkgrel=0
pkgdesc="Linux system headers"
@@ -43,4 +43,4 @@ package() {
}
md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2
-e9e53fba37c5e2afa4cdecab234120bd patch-3.2.2.bz2"
+899624bffed6a19578613b672cc9483f patch-3.2.7.bz2"
diff --git a/main/linux-vserver/APKBUILD b/main/linux-vserver/APKBUILD
index 5f487b344..3c9a5599c 100644
--- a/main/linux-vserver/APKBUILD
+++ b/main/linux-vserver/APKBUILD
@@ -2,9 +2,9 @@
_flavor=vserver
pkgname=linux-${_flavor}
-pkgver=3.2.5
+pkgver=3.2.11
pkgrel=0
-_vsver=vs2.3.2.6
+_vsver=vs2.3.2.8
if [ "${pkgver##*.*.*}" = "$pkgver" ]; then
_kernver=$pkgver
@@ -132,7 +132,7 @@ dev() {
}
md5sums="7ceb61f87c097fc17509844b71268935 linux-3.2.tar.bz2
-fb4d0b76b4c9a42977d75c4b2f3948d0 patch-3.2.5.bz2
-c51107f7d7fcc14133032ddf20cc852f patch-3.2.5-vs2.3.2.6.diff
-cca23fb8bb51d4ea7e44c5110998584d kernelconfig.x86
-7f613d0eefa8f89e060bba4312f02cf2 kernelconfig.x86_64"
+a4c2531ee383dfd429e105816b4d2ccc patch-3.2.11.bz2
+e4d453b06eabec327f86151bc1009691 patch-3.2.11-vs2.3.2.8.diff
+24c055d468597b01a8ee5f641673b4cd kernelconfig.x86
+4a99db0ace4870387dc14382d916c44a kernelconfig.x86_64"
diff --git a/main/linux-vserver/kernelconfig.x86 b/main/linux-vserver/kernelconfig.x86
index a8cc9030d..92a255f6c 100644
--- a/main/linux-vserver/kernelconfig.x86
+++ b/main/linux-vserver/kernelconfig.x86
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.1-vs2.3.2.5 Kernel Configuration
+# Linux/i386 3.2.11-vs2.3.2.8 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -1431,7 +1431,8 @@ CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
-# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_VROOT=m
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_OSD=m
@@ -4108,7 +4109,7 @@ CONFIG_USB_MOUSE=m
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
+CONFIG_HID_APPLE=m
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
@@ -4925,7 +4926,9 @@ CONFIG_CIFS_ACL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
#
# Partition Types
@@ -5345,5 +5348,6 @@ CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CORDIC=m
diff --git a/main/linux-vserver/kernelconfig.x86_64 b/main/linux-vserver/kernelconfig.x86_64
index f3119a4aa..87f37d2b6 100644
--- a/main/linux-vserver/kernelconfig.x86_64
+++ b/main/linux-vserver/kernelconfig.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.2.1-vs2.3.2.5 Kernel Configuration
+# Linux/x86_64 3.2.11-vs2.3.2.8 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -1390,7 +1390,8 @@ CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
-# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_VROOT=m
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_OSD=m
@@ -4053,7 +4054,7 @@ CONFIG_USB_MOUSE=m
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
+CONFIG_HID_APPLE=m
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
@@ -4891,7 +4892,9 @@ CONFIG_CIFS_ACL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
#
# Partition Types
@@ -5310,5 +5313,6 @@ CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CORDIC=m
diff --git a/main/llvm/APKBUILD b/main/llvm/APKBUILD
index d2ca4a45d..aedb01aec 100644
--- a/main/llvm/APKBUILD
+++ b/main/llvm/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=llvm
-pkgver=2.9
-pkgrel=4
+pkgver=3.0
+pkgrel=0
pkgdesc="low level virtual machine compiler system"
arch="x86 x86_64"
url="http://llvm.org/"
@@ -12,9 +12,9 @@ depends_dev="perl"
makedepends="$depends_dev groff libffi-dev"
install=
subpackages="clang $pkgname-dev $pkgname-doc $pkgname-libs"
-source="http://llvm.org/releases/$pkgver/llvm-$pkgver.tgz
- http://llvm.org/releases/$pkgver/clang-$pkgver.tgz
- clang-2.9-alpine-linux.patch
+source="http://llvm.org/releases/$pkgver/llvm-$pkgver.tar.gz
+ http://llvm.org/releases/$pkgver/clang-$pkgver.tar.gz
+ clang-3.0-alpine-linux.patch
"
_builddir="$srcdir"/build
@@ -24,11 +24,12 @@ prepare() {
msg "Preparing CLANG sources..."
- mv "$srcdir"/clang-$pkgver "$srcdir"/$pkgname-$pkgver/tools/clang
+ mv "$srcdir"/clang-$pkgver.src \
+ "$srcdir"/$pkgname-$pkgver.src/tools/clang || return 1
msg "Patching LLVM core..."
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$srcdir"/$pkgname-$pkgver.src || return 1
for i in $source; do
case $i in
@@ -42,7 +43,7 @@ prepare() {
build() {
cd "$_builddir"
- ../$pkgname-$pkgver/configure \
+ ../$pkgname-$pkgver.src/configure \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
@@ -73,7 +74,7 @@ clang() {
pkgdesc="A C language family front-end for LLVM"
mkdir -p "$subpkgdir"/usr/bin \
"$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/bin/clang* "$pkgdir"/usr/bin/tblgen \
+ mv "$pkgdir"/usr/bin/clang* "$pkgdir"/usr/bin/c-index-test \
"$subpkgdir"/usr/bin/ || return 1
mv "$pkgdir"/usr/lib/clang \
"$pkgdir"/usr/lib/libclang.so \
@@ -87,6 +88,6 @@ libs() {
mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
}
-md5sums="793138412d2af2c7c7f54615f8943771 llvm-2.9.tgz
-634de18d04b7a4ded19ec4c17d23cfca clang-2.9.tgz
-6ca9d6b9706ab4e04d976c25e72952dd clang-2.9-alpine-linux.patch"
+md5sums="a8e5f5f1c1adebae7b4a654c376a6005 llvm-3.0.tar.gz
+43350706ae6cf05d0068885792ea0591 clang-3.0.tar.gz
+30bdaa52a057a11722093463c29bfda0 clang-3.0-alpine-linux.patch"
diff --git a/main/llvm/clang-2.9-alpine-linux.patch b/main/llvm/clang-2.9-alpine-linux.patch
deleted file mode 100644
index f53aee4b9..000000000
--- a/main/llvm/clang-2.9-alpine-linux.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- ./tools.orig/clang/lib/Driver/ToolChains.cpp
-+++ ./tools/clang/lib/Driver/ToolChains.cpp
-@@ -1273,6 +1273,7 @@
- /// Linux toolchain (very bare-bones at the moment).
-
- enum LinuxDistro {
-+ AlpineLinux,
- ArchLinux,
- DebianLenny,
- DebianSqueeze,
-@@ -1380,6 +1381,9 @@
- if (!llvm::sys::fs::exists("/etc/arch-release", Exists) && Exists)
- return ArchLinux;
-
-+ if (!llvm::sys::fs::exists("/etc/alpine-release", Exists) && Exists)
-+ return AlpineLinux;
-+
- return UnknownDistro;
- }
-
-@@ -1432,6 +1436,9 @@
- else if (!llvm::sys::fs::exists("/usr/lib/gcc/x86_64-manbo-linux-gnu",
- Exists) && Exists)
- GccTriple = "x86_64-manbo-linux-gnu";
-+ else if (!llvm::sys::fs::exists("/usr/lib/gcc/x86_64-alpine-linux-uclibc",
-+ Exists) && Exists)
-+ GccTriple = "x86_64-alpine-linux-uclibc";
- } else if (Arch == llvm::Triple::x86) {
- if (!llvm::sys::fs::exists("/usr/lib/gcc/i686-linux-gnu", Exists) && Exists)
- GccTriple = "i686-linux-gnu";
-@@ -1447,9 +1454,13 @@
- else if (!llvm::sys::fs::exists("/usr/lib/gcc/i586-suse-linux", Exists) &&
- Exists)
- GccTriple = "i586-suse-linux";
-+ else if (!llvm::sys::fs::exists("/usr/lib/gcc/i486-alpine-linux-uclibc", Exists) &&
-+ Exists)
-+ GccTriple = "i486-alpine-linux-uclibc";
- }
-
-- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
-+ const char* GccVersions[] = {"4.6.3", "4.6.2", "4.6.1", "4.6.0",
-+ "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
- "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2",
- "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1",
- "4.2"};
-@@ -1513,7 +1524,7 @@
- Distro == UbuntuKarmic)
- ExtraOpts.push_back("--build-id");
-
-- if (Distro == ArchLinux)
-+ if (Distro == ArchLinux || Distro == AlpineLinux)
- Lib = "lib";
-
- Paths.push_back(Base + Suffix);
---- ./tools.orig/clang/lib/Driver/Tools.cpp
-+++ ./tools/clang/lib/Driver/Tools.cpp
-@@ -3621,12 +3621,12 @@
- !Args.hasArg(options::OPT_shared))) {
- CmdArgs.push_back("-dynamic-linker");
- if (ToolChain.getArch() == llvm::Triple::x86)
-- CmdArgs.push_back("/lib/ld-linux.so.2");
-+ CmdArgs.push_back("/lib/ld-uClibc.so.0.9.32");
- else if (ToolChain.getArch() == llvm::Triple::arm ||
- ToolChain.getArch() == llvm::Triple::thumb)
- CmdArgs.push_back("/lib/ld-linux.so.3");
- else
-- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
-+ CmdArgs.push_back("/lib/ld64-uClibc.so.0.9.32");
- }
-
- CmdArgs.push_back("-o");
diff --git a/main/llvm/clang-3.0-alpine-linux.patch b/main/llvm/clang-3.0-alpine-linux.patch
new file mode 100644
index 000000000..dedb6c251
--- /dev/null
+++ b/main/llvm/clang-3.0-alpine-linux.patch
@@ -0,0 +1,64 @@
+diff --git a/tools/clang/lib/Driver/ToolChains.cpp b/tools/clang/lib/Driver/ToolChains.cpp
+index eb730e5..3e4afae 100644
+--- a/tools/clang/lib/Driver/ToolChains.cpp
++++ b/tools/clang/lib/Driver/ToolChains.cpp
+@@ -1377,6 +1377,7 @@ Tool &AuroraUX::SelectTool(const Compilation &C, const JobAction &JA,
+ /// Linux toolchain (very bare-bones at the moment).
+
+ enum LinuxDistro {
++ AlpineLinux,
+ ArchLinux,
+ DebianLenny,
+ DebianSqueeze,
+@@ -1507,6 +1508,9 @@ static LinuxDistro DetectLinuxDistro(llvm::Triple::ArchType Arch) {
+ if (!llvm::sys::fs::exists("/etc/arch-release", Exists) && Exists)
+ return ArchLinux;
+
++ if (!llvm::sys::fs::exists("/etc/alpine-release", Exists) && Exists)
++ return AlpineLinux;
++
+ return UnknownDistro;
+ }
+
+@@ -1655,7 +1659,8 @@ Linux::GCCInstallationDetector::GCCInstallationDetector(const Driver &D)
+ "x86_64-suse-linux",
+ "x86_64-manbo-linux-gnu",
+ "x86_64-linux-gnu",
+- "x86_64-slackware-linux"
++ "x86_64-slackware-linux",
++ "x86_64-alpine-linux-uclibc"
+ };
+ LibDirs.append(X86_64LibDirs,
+ X86_64LibDirs + llvm::array_lengthof(X86_64LibDirs));
+@@ -1672,7 +1677,8 @@ Linux::GCCInstallationDetector::GCCInstallationDetector(const Driver &D)
+ "i586-redhat-linux",
+ "i386-redhat-linux",
+ "i586-suse-linux",
+- "i486-slackware-linux"
++ "i486-slackware-linux",
++ "i486-alpine-linux-uclibc"
+ };
+ LibDirs.append(X86LibDirs, X86LibDirs + llvm::array_lengthof(X86LibDirs));
+ Triples.append(X86Triples, X86Triples + llvm::array_lengthof(X86Triples));
+diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
+index 6151e88..d811789 100644
+--- a/tools/clang/lib/Driver/Tools.cpp
++++ b/tools/clang/lib/Driver/Tools.cpp
+@@ -4308,7 +4308,7 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA,
+ !Args.hasArg(options::OPT_shared))) {
+ CmdArgs.push_back("-dynamic-linker");
+ if (ToolChain.getArch() == llvm::Triple::x86)
+- CmdArgs.push_back("/lib/ld-linux.so.2");
++ CmdArgs.push_back("/lib/ld-uClibc.so.0.9.32");
+ else if (ToolChain.getArch() == llvm::Triple::arm ||
+ ToolChain.getArch() == llvm::Triple::thumb)
+ CmdArgs.push_back("/lib/ld-linux.so.3");
+@@ -4317,7 +4317,7 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA,
+ else if (ToolChain.getArch() == llvm::Triple::ppc64)
+ CmdArgs.push_back("/lib64/ld64.so.1");
+ else
+- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
++ CmdArgs.push_back("/lib/ld64-uClibc.so.0.9.32");
+ }
+
+ CmdArgs.push_back("-o");
diff --git a/main/lua-rex/APKBUILD b/main/lua-rex/APKBUILD
index 36a166800..1a8a5aca3 100644
--- a/main/lua-rex/APKBUILD
+++ b/main/lua-rex/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=lua-rex
pkgver=2.5.3
-pkgrel=0
+pkgrel=1
pkgdesc="Lua bindings to regular expression library pcre and posix"
url="http://lrexlib.luaforge.net/"
arch="all"
diff --git a/main/lua/APKBUILD b/main/lua/APKBUILD
index 90f3009b0..3b1f4643e 100644
--- a/main/lua/APKBUILD
+++ b/main/lua/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=lua
-pkgver=5.1.4_p3
-_ver=${pkgver%_p*}
-pkgrel=2
+pkgver=5.1.5
+_ver=$pkgver
+pkgrel=0
pkgdesc="A powerful light-weight programming language designed for extending applications."
url="http://www.lua.org/"
arch="all"
@@ -11,7 +11,6 @@ depends=
makedepends="libtool"
subpackages="$pkgname-dev $pkgname-doc"
source="http://www.$pkgname.org/ftp/$pkgname-$_ver.tar.gz
- http://www.lua.org/ftp/patch-lua-5.1.4-${pkgver#*_p}
lua-5.1-make.patch
lua-5.1-module_paths.patch
lua-5.1-readline.patch
@@ -54,8 +53,7 @@ package() {
install -D -m 644 doc/lua.1 "$pkgdir"/usr/share/man/man1/lua.1
install -D -m 644 doc/luac.1 "$pkgdir"/usr/share/man/man1/luac.1
}
-md5sums="d0870f2de55d59c1c8419f36e8fac150 lua-5.1.4.tar.gz
-998ef7886183f61d3a5ca891a9ce6a79 patch-lua-5.1.4-3
+md5sums="2e115fe26e435e33b0d5c022e4490567 lua-5.1.5.tar.gz
0145ff6036eb6bfdab427dc8f0c3f3c0 lua-5.1-make.patch
e60ef15deefb72a5930c498f1184aced lua-5.1-module_paths.patch
f2205b897edb31292a1f597a7fd638cb lua-5.1-readline.patch"
diff --git a/main/lvm2/APKBUILD b/main/lvm2/APKBUILD
index 0fdad0576..fed9afff7 100644
--- a/main/lvm2/APKBUILD
+++ b/main/lvm2/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=lvm2
-pkgver=2.02.91
+pkgver=2.02.95
pkgrel=0
pkgdesc="Logical Volume Manager 2 utilities"
url="http://sourceware.org/lvm2/"
@@ -58,6 +58,6 @@ libs() {
mv "$pkgdir"/lib/liblvm2*.so.* "$subpkgdir"/lib/
}
-md5sums="03ed8dc20c3a65079aedcedc0ec33192 LVM2.2.02.91.tgz
+md5sums="bd470a802046c807603618a443732ea7 LVM2.2.02.95.tgz
6f65f902cf19f144a42b8d6aceadf395 lvm.initd
ec36d5fe4561220304e406c5c797e71f lvm.confd"
diff --git a/main/man-pages/APKBUILD b/main/man-pages/APKBUILD
index 14c71e46c..05047adf1 100644
--- a/main/man-pages/APKBUILD
+++ b/main/man-pages/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=man-pages
-pkgver=3.35
+pkgver=3.37
_posixver=2003-a
pkgrel=0
pkgdesc="Linux man pages"
@@ -10,7 +10,7 @@ license="GPL"
depends=
makedepends=""
options="!strip"
-source="http://man7.org/linux/download/man-pages/man-pages-$pkgver.tar.gz
+source="http://www.kernel.org/pub/linux/docs/man-pages/man-pages-$pkgver.tar.xz
http://www.kernel.org/pub/linux/docs/$pkgname/$pkgname-posix/$pkgname-posix-${_posixver}.tar.bz2"
build() {
@@ -31,5 +31,5 @@ package() {
rm "$pkgdir"/usr/share/man/man3/iconv*
}
-md5sums="e41432ee35a49036bbaf8d4598506e9c man-pages-3.35.tar.gz
+md5sums="6b25e0411e203aa28ae2cb25a692a224 man-pages-3.37.tar.xz
7c78aff03c0a6767ba483d34f19e4b09 man-pages-posix-2003-a.tar.bz2"
diff --git a/main/mercurial/APKBUILD b/main/mercurial/APKBUILD
index b96f7295d..c25a747d6 100644
--- a/main/mercurial/APKBUILD
+++ b/main/mercurial/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mercurial
-pkgver=2.1
+pkgver=2.1.1
pkgrel=0
pkgdesc="A scalable distributed SCM tool"
url="http://www.selenic.com/mercurial"
@@ -30,4 +30,4 @@ package() {
install -Dm644 contrib/vim/HGAnnotate.vim \
"${vimpath}/syntax/HGAnnotate.vim" || return 1
}
-md5sums="d2ca44f8d0129ab50639143af99d9363 mercurial-2.1.tar.gz"
+md5sums="368fab4705ebd4d1296fdd6bd2fe6272 mercurial-2.1.1.tar.gz"
diff --git a/main/mesa-demos/APKBUILD b/main/mesa-demos/APKBUILD
index f522392e6..e3d0463ff 100644
--- a/main/mesa-demos/APKBUILD
+++ b/main/mesa-demos/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa-demos
pkgver=8.0.1
-pkgrel=3
+pkgrel=4
pkgdesc="Mesa demos and utils"
url="http://mesa3d.sourceforge.net"
arch="all"
diff --git a/main/mesa/APKBUILD b/main/mesa/APKBUILD
index 41d4518ac..5269d1356 100644
--- a/main/mesa/APKBUILD
+++ b/main/mesa/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa
-pkgver=7.11.2
-pkgrel=0
+pkgver=8.0.1
+pkgrel=1
pkgdesc="Mesa DRI OpenGL library"
url="http://www.mesa3d.org"
arch="all"
@@ -10,13 +10,7 @@ depends=
subpackages="$pkgname-dev
$pkgname-dri-ati:ati
$pkgname-dri-intel:intel
- $pkgname-dri-mach64:mach64
- $pkgname-dri-mga:mga
- $pkgname-dri-r128:r128
- $pkgname-dri-savage:savage
$pkgname-dri-swrast:swrast
- $pkgname-dri-tdfx:tdfx
- $pkgname-dri-unichrome:unichrome
$pkgname-dri-nouveau:nouveau
$pkgname-dri-vmwgfx:vmwgfx
$pkgname-egl $pkgname-glu $pkgname-gl $pkgname-gles
@@ -25,13 +19,14 @@ subpackages="$pkgname-dev
depends_dev="libdrm-dev dri2proto libx11-dev libxext-dev libxxf86vm-dev
libxdamage-dev libxfixes-dev libxcb-dev glproto"
makedepends="$depends_dev expat-dev xextproto python libxt-dev makedepend
- talloc-dev py-libxml2 flex bison llvm-dev"
+ talloc-dev py-libxml2 flex bison llvm-dev
+ autoconf automake"
source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2
- mesa-7.10-uclibc.patch
mesa-7.10-uclibc-glsl.patch
mesa-7.10-uclibc-gallium.patch
+ imports-uclibc.patch
+ glx_ro_text_segm.patch
"
-# Mesa-7.10.1-nouveau-compile.patch
_dri_driverdir=/usr/lib/xorg/modules/dri
@@ -43,17 +38,18 @@ x86_64-*)
_intel_dri="i915_dri i965_dri"
;;
i[3456789]86-*)
- _intel_dri="i810_dri i915_dri i965_dri"
- subpackages="$subpackages $pkgname-dri-sis:sis"
+ _intel_dri="i915_dri i965_dri"
;;
esac
prepare() {
cd "$_builddir"
- for i in ../*.patch; do
- msg "Applying $i..."
- patch -p1 -i $i || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
done
+ aclocal && automake --add-missing && autoreconf || return 1
}
dev() {
@@ -69,13 +65,12 @@ build() {
--disable-asm \
--disable-glx-tls \
--with-driver=dri \
- --enable-xcb \
--enable-egl \
--enable-gles2 \
- --with-gallium-drivers=i915,i965,nouveau,r300,r600,svga,swrast \
+ --with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast \
--disable-gallium-egl \
- --disable-glut \
- --disable-glw || return 1
+ --enable-glx-rts \
+ || return 1
make || return 1
@@ -131,19 +126,13 @@ _mv_dri() {
}
ati() { _mv_dri radeon_dri r200_dri r300_dri r600_dri; }
-intel() { _mv_dri $_intel_dri; }
-mach64() { _mv_dri mach64_dri; }
-mga() { _mv_dri mga_dri; }
-r128() { _mv_dri r128_dri; }
-savage() { _mv_dri savage_dri; }
-sis() { _mv_dri sis_dri; }
-tdfx() { _mv_dri tdfx_dri; }
-unichrome() { _mv_dri unichrome_dri; }
+intel() { _mv_dri i915_dri i965_dri; }
nouveau() { _mv_dri nouveau_dri nouveau_vieux_dri; }
-swrast() { _mv_dri swrast_dri swrastg_dri; }
+swrast() { _mv_dri swrast_dri; }
vmwgfx() { _mv_dri vmwgfx_dri; }
-md5sums="0837c52698fe3252369c3fdb5195afcc MesaLib-7.11.2.tar.bz2
-9c8c161f954f0d08895cd9d45e63f498 mesa-7.10-uclibc.patch
+md5sums="24eeebf66971809d8f40775a379b36c9 MesaLib-8.0.1.tar.bz2
03e9685b0d714e915c35fd0fb5fde810 mesa-7.10-uclibc-glsl.patch
-90a2ea438ff328443a0436a91a74d518 mesa-7.10-uclibc-gallium.patch"
+90a2ea438ff328443a0436a91a74d518 mesa-7.10-uclibc-gallium.patch
+9dc5080bb4d9d436b476bfeb878ca224 imports-uclibc.patch
+a1a766b4c6a96d67cad9bd7ad5c578e8 glx_ro_text_segm.patch"
diff --git a/main/mesa/glx_ro_text_segm.patch b/main/mesa/glx_ro_text_segm.patch
new file mode 100644
index 000000000..8cad4876b
--- /dev/null
+++ b/main/mesa/glx_ro_text_segm.patch
@@ -0,0 +1,28 @@
+2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
+
+ #240956
+ * configure.ac add support to enable readonly test segment on x86
+
+--- ./configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
++++ ./configure.ac 2008-11-17 23:20:17.000000000 +0100
+@@ -499,6 +499,20 @@
+ enable_xcb=no
+ fi
+
++
++dnl readonly text segment on x86 hardened platforms
++AC_ARG_ENABLE([glx_rts],
++ [AS_HELP_STRING([--enable-glx-rts],
++ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
++ [enable_glx_rts="$enableval"],
++ [enable_glx_rts=no])
++if test "x$enable_glx_rts" = xyes; then
++ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
++else
++ enable_glx_rts=no
++fi
++
++
+ dnl
+ dnl libGL configuration per driver
+ dnl
diff --git a/main/mesa/imports-uclibc.patch b/main/mesa/imports-uclibc.patch
new file mode 100644
index 000000000..d27d5af4d
--- /dev/null
+++ b/main/mesa/imports-uclibc.patch
@@ -0,0 +1,11 @@
+--- ./src/mesa/main/imports.c.orig
++++ ./src/mesa/main/imports.c
+@@ -767,7 +767,7 @@
+ _mesa_strtof( const char *s, char **end )
+ {
+ #if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \
+- !defined(ANDROID)
++ !defined(ANDROID) && !defined(__UCLIBC__)
+ static locale_t loc = NULL;
+ if (!loc) {
+ loc = newlocale(LC_CTYPE_MASK, "C", NULL);
diff --git a/main/mesa/mesa-7.10-uclibc.patch b/main/mesa/mesa-7.10-uclibc.patch
deleted file mode 100644
index 54d7d8c83..000000000
--- a/main/mesa/mesa-7.10-uclibc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- Mesa-7.10/src/mesa/main/imports.c
-+++ Mesa-7.10.mod/src/mesa/main/imports.c
-@@ -757,7 +757,7 @@
- float
- _mesa_strtof( const char *s, char **end )
- {
--#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
-+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
- static locale_t loc = NULL;
- if (!loc) {
- loc = newlocale(LC_CTYPE_MASK, "C", NULL);
-Only in Mesa-7.10.mod: src/mesa/main/imports.c.orig
-Only in Mesa-7.10.mod: src/mesa/main/imports.c.rej
diff --git a/main/midori/APKBUILD b/main/midori/APKBUILD
index 67ad24f8f..a487cb809 100644
--- a/main/midori/APKBUILD
+++ b/main/midori/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=midori
-pkgver=0.4.3
+pkgver=0.4.4
pkgrel=0
pkgdesc="A lightweight web browser based on Gtk WebKit"
url="http://www.twotoasts.de/index.php?/pages/midori_summary.html"
@@ -48,4 +48,4 @@ package() {
# PAX does not like the JIT
paxctl -c -m -p "$pkgdir"/usr/bin/midori
}
-md5sums="900037557b82818d79d2dd1c5a7d7fd2 midori-0.4.3.tar.bz2"
+md5sums="a6578ebfd237c0f22cce49113b95f70c midori-0.4.4.tar.bz2"
diff --git a/main/mp3splt-gtk/APKBUILD b/main/mp3splt-gtk/APKBUILD
new file mode 100644
index 000000000..d04162e76
--- /dev/null
+++ b/main/mp3splt-gtk/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=mp3splt-gtk
+pkgver=0.7
+pkgrel=1
+pkgdesc="Gtk frontend for mp3splt"
+url="http://mp3splt.sourceforge.net/"
+arch="all"
+license="GPLv2"
+depends=""
+makedepends="gtk+-dev gst-plugins-base-dev gnome-doc-utils libmp3splt-dev
+ audacious-dev
+ autoconf automake libtool"
+install=""
+subpackages="$pkgname-doc $pkgname-lang"
+source="http://prdownloads.sourceforge.net/mp3splt/mp3splt-gtk-$pkgver.tar.gz
+ dbus-glib-underlinking.patch"
+
+_builddir="$srcdir"/mp3splt-gtk-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ aclocal && autoreconf
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --disable-gnome \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="a1cefffb7ea78ae7c07c8d3ba7a2630b mp3splt-gtk-0.7.tar.gz
+9531efb02e98624356bda87c92be7cce dbus-glib-underlinking.patch"
diff --git a/main/mp3splt-gtk/dbus-glib-underlinking.patch b/main/mp3splt-gtk/dbus-glib-underlinking.patch
new file mode 100644
index 000000000..87623236e
--- /dev/null
+++ b/main/mp3splt-gtk/dbus-glib-underlinking.patch
@@ -0,0 +1,27 @@
+diff --git a/configure.ac b/configure.ac
+index bddace0..b4bb928 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -121,6 +121,9 @@ AC_MSG_RESULT($HOST)
+ #check for -lm
+ AC_CHECK_LIB(m, pow, [ haslm="yes" ] , [ AC_MSG_ERROR([libm not found !]) ] )
+
++# check for dbus-glib
++PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1)
++
+ #################################################
+ # Initialize the gnome integration
+ #################################################
+diff --git a/src/Makefile.am b/src/Makefile.am
+index fce2976..6e80355 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -48,7 +48,7 @@ mp3splt_gtk_SOURCES = \
+
+ INCLUDES = @GTK_CFLAGS@ @MP3SPLT_CFLAGS@
+
+-mp3splt_gtk_LDADD = @GTK_LIBS@ -lgthread-2.0 @MP3SPLT_LIBS@ -lm
++mp3splt_gtk_LDADD = @GTK_LIBS@ -lgthread-2.0 @MP3SPLT_LIBS@ @DBUS_GLIB_LIBS@ -lm
+
+ # Define a C macro LOCALEDIR indicating where catalogs will be installed.
+ localedir = $(datadir)/locale
diff --git a/main/mp3splt/APKBUILD b/main/mp3splt/APKBUILD
new file mode 100644
index 000000000..3d3132d51
--- /dev/null
+++ b/main/mp3splt/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=mp3splt
+pkgver=2.4.1
+pkgrel=0
+pkgdesc="A command-line, AlbumWrap and mp3wrap file exctractor"
+url="http://mp3splt.sourceforge.net/"
+arch="all"
+license="GPLv2"
+depends=""
+makedepends="libmp3splt-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://prdownloads.sourceforge.net/mp3splt/mp3splt-$pkgver.tar.gz"
+
+_builddir="$srcdir"/mp3splt-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --with-mp3splt-includes=/usr/include/libmp3splt \
+ --enable-oggsplt_symlink \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="aed4a94f996abcdb07679206a600fc5b mp3splt-2.4.1.tar.gz"
diff --git a/main/mpc/APKBUILD b/main/mpc/APKBUILD
index 79384659b..9822493ed 100644
--- a/main/mpc/APKBUILD
+++ b/main/mpc/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mpc
-pkgver=0.21
+pkgver=0.22
pkgrel=0
pkgdesc="Minimalist command line interface to MPD"
url="http://mpd.wikia.com/wiki/Client:Mpc"
@@ -21,4 +21,4 @@ package() {
cd "$srcdir"/mpc-$pkgver
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="d8f88aad5fa7ed4c6e7005c5ec1ba7c5 mpc-0.21.tar.bz2"
+md5sums="6a84bba413084c9ef453f4ba8d252ef6 mpc-0.22.tar.bz2"
diff --git a/main/mplayer/APKBUILD b/main/mplayer/APKBUILD
index ce8b1a1fa..fb5f28bfa 100644
--- a/main/mplayer/APKBUILD
+++ b/main/mplayer/APKBUILD
@@ -2,7 +2,7 @@
pkgname=mplayer
pkgver=1.0_rc4
_ver=${pkgver%_*}${pkgver#*_}
-pkgrel=7
+pkgrel=8
pkgdesc="A movie player for linux"
url="http://www.mplayerhq.hu/"
arch="all"
diff --git a/main/mysql/APKBUILD b/main/mysql/APKBUILD
index af00455f3..7f917b8fb 100644
--- a/main/mysql/APKBUILD
+++ b/main/mysql/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mysql
-pkgver=5.5.20
-pkgrel=1
+pkgver=5.5.21
+pkgrel=0
pkgdesc="A fast SQL database server"
url="http://www.mysql.com/"
pkgusers="mysql"
@@ -187,6 +187,6 @@ bench() {
mv "$pkgdir"/usr/share/sql-bench "$subpkgdir"/usr/share/
}
-md5sums="375794ebf84b4c7b63f1676bc7416cd0 mysql-5.5.20.tar.gz
+md5sums="86d6bd335054a0aed1756ed60574c16d mysql-5.5.21.tar.gz
b2b038b1905fa5b80f6723d0ee2f811f mysql-prefer-dynamic-library.patch
799b154c4ab8a1971d2753ab584a466a mysql.initd"
diff --git a/main/nautilus/APKBUILD b/main/nautilus/APKBUILD
index 90df7a746..4f7593f6b 100644
--- a/main/nautilus/APKBUILD
+++ b/main/nautilus/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=nautilus
pkgver=2.32.2
-pkgrel=2
+pkgrel=3
pkgdesc="GNOME file manager"
url="http://projects.gnome.org/nautilus"
arch="all"
@@ -27,8 +27,9 @@ depends_dev="gtk+-dev
libxcb-dev"
makedepends="$depends_dev intltool gobject-introspection-dev"
install="$pkgname.post-install $pkgname.pre-deinstall $pkgname.post-upgrade"
-subpackages="$pkgname-dev"
-source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2"
+subpackages="$pkgname-dev $pkgname-lang"
+source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
+ g_const_return.patch"
_builddir="${srcdir}/${pkgname}-${pkgver}"
prepare() {
@@ -45,7 +46,7 @@ build() {
cd "$_builddir"
./configure --prefix=/usr \
--sysconfdir=/etc \
- --disable-scrollkeeper || return 1
+ || return 1
make || return 1
}
@@ -59,4 +60,5 @@ package() {
find "$pkgdir" -name '*.la' -delete
}
-md5sums="51565aa10d1625dff56e381228346911 nautilus-2.32.2.tar.bz2"
+md5sums="51565aa10d1625dff56e381228346911 nautilus-2.32.2.tar.bz2
+69329cf155b211d6143fcdc68a8695bf g_const_return.patch"
diff --git a/main/nautilus/g_const_return.patch b/main/nautilus/g_const_return.patch
new file mode 100644
index 000000000..330ae0b22
--- /dev/null
+++ b/main/nautilus/g_const_return.patch
@@ -0,0 +1,191 @@
+diff --git a/eel/eel-editable-label.c b/eel/eel-editable-label.c
+index b21bfea..63a3ccf 100644
+--- a/eel/eel-editable-label.c
++++ b/eel/eel-editable-label.c
+@@ -682,7 +682,7 @@ eel_editable_label_set_text (EelEditableLabel *label,
+ * Return value: the text in the label widget. This is the internal
+ * string used by the label, and must not be modified.
+ **/
+-G_CONST_RETURN gchar *
++const gchar *
+ eel_editable_label_get_text (EelEditableLabel *label)
+ {
+ g_return_val_if_fail (EEL_IS_EDITABLE_LABEL (label), NULL);
+@@ -4292,7 +4292,7 @@ eel_editable_label_accessible_initialize (AtkObject *accessible,
+ atk_object_set_role (accessible, ATK_ROLE_TEXT);
+ }
+
+-static G_CONST_RETURN gchar*
++static const gchar*
+ eel_editable_label_accessible_get_name (AtkObject *accessible)
+ {
+ if (accessible->name != NULL)
+diff --git a/eel/eel-editable-label.h b/eel/eel-editable-label.h
+index 30069dc..b0adaec 100644
+--- a/eel/eel-editable-label.h
++++ b/eel/eel-editable-label.h
+@@ -112,7 +112,7 @@ GType eel_editable_label_get_type (void) G_GNUC_CONST;
+ GtkWidget* eel_editable_label_new (const char *str);
+ void eel_editable_label_set_text (EelEditableLabel *label,
+ const char *str);
+-G_CONST_RETURN gchar* eel_editable_label_get_text (EelEditableLabel *label);
++const gchar* eel_editable_label_get_text (EelEditableLabel *label);
+ void eel_editable_label_set_justify (EelEditableLabel *label,
+ GtkJustification jtype);
+ GtkJustification eel_editable_label_get_justify (EelEditableLabel *label);
+diff --git a/eel/eel-i18n.c b/eel/eel-i18n.c
+index 83f9fec..98e36c5 100644
+--- a/eel/eel-i18n.c
++++ b/eel/eel-i18n.c
+@@ -32,7 +32,7 @@
+
+
+
+-G_CONST_RETURN char *
++const char *
+ _eel_gettext (const char *str)
+ {
+ static gboolean _eel_gettext_initialized = FALSE;
+diff --git a/eel/eel-i18n.h b/eel/eel-i18n.h
+index b455689..6db832b 100644
+--- a/eel/eel-i18n.h
++++ b/eel/eel-i18n.h
+@@ -28,7 +28,7 @@
+ #ifdef ENABLE_NLS
+ #include <glib.h>
+
+-G_CONST_RETURN char *
++const char *
+ _eel_gettext (const char *str) G_GNUC_FORMAT (1);
+
+ #include <libintl.h>
+diff --git a/eel/eel-labeled-image.c b/eel/eel-labeled-image.c
+index 90df383..a56e952 100644
+--- a/eel/eel-labeled-image.c
++++ b/eel/eel-labeled-image.c
+@@ -2140,7 +2140,7 @@ get_image (gpointer object)
+ return EEL_LABELED_IMAGE (widget);
+ }
+
+-static G_CONST_RETURN gchar *
++static const gchar *
+ eel_labeled_image_accessible_get_name (AtkObject *accessible)
+ {
+ EelLabeledImage *labeled_image;
+diff --git a/libnautilus-private/nautilus-icon-canvas-item.c b/libnautilus-private/nautilus-icon-canvas-item.c
+index a31623a..1aece5a 100644
+--- a/libnautilus-private/nautilus-icon-canvas-item.c
++++ b/libnautilus-private/nautilus-icon-canvas-item.c
+@@ -2878,7 +2878,7 @@ nautilus_icon_canvas_item_accessible_action_interface_init (AtkActionIface *ifac
+ iface->set_description = nautilus_icon_canvas_item_accessible_action_set_description;
+ }
+
+-static G_CONST_RETURN gchar *
++static const gchar *
+ nautilus_icon_canvas_item_accessible_get_name (AtkObject *accessible)
+ {
+ NautilusIconCanvasItem *item;
+@@ -2894,7 +2894,7 @@ nautilus_icon_canvas_item_accessible_get_name (AtkObject *accessible)
+ return item->details->editable_text;
+ }
+
+-static G_CONST_RETURN gchar*
++static const gchar*
+ nautilus_icon_canvas_item_accessible_get_description (AtkObject *accessible)
+ {
+ NautilusIconCanvasItem *item;
+@@ -3055,7 +3055,7 @@ nautilus_icon_canvas_item_accessible_class_init (AtkObjectClass *klass)
+ }
+
+
+-static G_CONST_RETURN gchar *
++static const gchar *
+ nautilus_icon_canvas_item_accessible_get_image_description
+ (AtkImage *image)
+ {
+diff --git a/libnautilus-private/nautilus-icon-info.c b/libnautilus-private/nautilus-icon-info.c
+index f39ad42..af023ba 100644
+--- a/libnautilus-private/nautilus-icon-info.c
++++ b/libnautilus-private/nautilus-icon-info.c
+@@ -573,13 +573,13 @@ nautilus_icon_info_get_attach_points (NautilusIconInfo *icon,
+ return icon->n_attach_points != 0;
+ }
+
+-G_CONST_RETURN char *
++const char *
+ nautilus_icon_info_get_display_name (NautilusIconInfo *icon)
+ {
+ return icon->display_name;
+ }
+
+-G_CONST_RETURN char *
++const char *
+ nautilus_icon_info_get_used_name (NautilusIconInfo *icon)
+ {
+ return icon->icon_name;
+diff --git a/libnautilus-private/nautilus-icon-info.h b/libnautilus-private/nautilus-icon-info.h
+index 5ef6cd2..861abfd 100644
+--- a/libnautilus-private/nautilus-icon-info.h
++++ b/libnautilus-private/nautilus-icon-info.h
+@@ -72,8 +72,8 @@ gboolean nautilus_icon_info_get_embedded_rect (NautilusI
+ gboolean nautilus_icon_info_get_attach_points (NautilusIconInfo *icon,
+ GdkPoint **points,
+ gint *n_points);
+-G_CONST_RETURN char *nautilus_icon_info_get_display_name (NautilusIconInfo *icon);
+-G_CONST_RETURN char *nautilus_icon_info_get_used_name (NautilusIconInfo *icon);
++const char *nautilus_icon_info_get_display_name (NautilusIconInfo *icon);
++const char *nautilus_icon_info_get_used_name (NautilusIconInfo *icon);
+
+ void nautilus_icon_info_clear_caches (void);
+
+diff --git a/libnautilus-private/nautilus-search-engine-beagle.c b/libnautilus-private/nautilus-search-engine-beagle.c
+index 930923f..1129d6c 100644
+--- a/libnautilus-private/nautilus-search-engine-beagle.c
++++ b/libnautilus-private/nautilus-search-engine-beagle.c
+@@ -69,7 +69,7 @@ typedef enum {
+ static gboolean (*beagle_client_send_request_async) (BeagleClient *client,
+ BeagleRequest *request,
+ GError **err) = NULL;
+-static G_CONST_RETURN char *(*beagle_hit_get_uri) (BeagleHit *hit) = NULL;
++static const char *(*beagle_hit_get_uri) (BeagleHit *hit) = NULL;
+ static GSList *(*beagle_hits_added_response_get_hits) (BeagleHitsAddedResponse *response) = NULL;
+ static BeagleQuery *(*beagle_query_new) (void) = NULL;
+ static void (*beagle_query_add_text) (BeagleQuery *query,
+diff --git a/src/nautilus-zoom-control.c b/src/nautilus-zoom-control.c
+index 2907cd7..2d399c3 100644
+--- a/src/nautilus-zoom-control.c
++++ b/src/nautilus-zoom-control.c
+@@ -748,7 +748,7 @@ nautilus_zoom_control_accessible_get_n_actions (AtkAction *accessible)
+ return NUM_ACTIONS;
+ }
+
+-static G_CONST_RETURN char *
++static const char *
+ nautilus_zoom_control_accessible_action_get_description (AtkAction *accessible,
+ int i)
+ {
+@@ -757,7 +757,7 @@ nautilus_zoom_control_accessible_action_get_description (AtkAction *accessible,
+ return _(nautilus_zoom_control_accessible_action_descriptions[i]);
+ }
+
+-static G_CONST_RETURN char *
++static const char *
+ nautilus_zoom_control_accessible_action_get_name (AtkAction *accessible,
+ int i)
+ {
+@@ -884,13 +884,13 @@ nautilus_zoom_control_accessible_value_interface_init (AtkValueIface *iface)
+ iface->set_current_value = nautilus_zoom_control_accessible_set_current_value;
+ }
+
+-static G_CONST_RETURN char *
++static const char *
+ nautilus_zoom_control_accessible_get_name (AtkObject *accessible)
+ {
+ return _("Zoom");
+ }
+
+-static G_CONST_RETURN char *
++static const char *
+ nautilus_zoom_control_accessible_get_description (AtkObject *accessible)
+ {
+ return _("Set the zoom level of the current view");
diff --git a/main/nettle/APKBUILD b/main/nettle/APKBUILD
new file mode 100644
index 000000000..6026ccef9
--- /dev/null
+++ b/main/nettle/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch
+pkgname=nettle
+pkgver=2.4
+pkgrel=1
+pkgdesc="A low-level cryptographic library"
+url="http://www.lysator.liu.se/~nisse/nettle/"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev="gmp-dev m4"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-utils"
+source="ftp://ftp.lysator.liu.se/pub/security/lsh/$pkgname-$pkgver.tar.gz
+ nettle-2.4-makefile.patch"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-shared \
+ --disable-openssl \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+utils() {
+ pkgdesc="Utils for nettle"
+ mkdir -p "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+}
+
+md5sums="450be8c4886d46c09f49f568ad6fa013 nettle-2.4.tar.gz
+b3a89964557b9fca040a84e9217b4b01 nettle-2.4-makefile.patch"
diff --git a/main/nettle/nettle-2.4-makefile.patch b/main/nettle/nettle-2.4-makefile.patch
new file mode 100644
index 000000000..c216365a1
--- /dev/null
+++ b/main/nettle/nettle-2.4-makefile.patch
@@ -0,0 +1,11 @@
+--- nettle-2.4/Makefile.in.orig
++++ nettle-2.4/Makefile.in
+@@ -14,7 +14,7 @@
+ INSTALL_STRIP_PROGRAM = $(INSTALL_PROGRAM) -s
+ MKDIR_P = @MKDIR_P@
+
+-SUBDIRS = tools testsuite examples
++SUBDIRS = tools testsuite
+
+ include config.make
+
diff --git a/main/network-extras/APKBUILD b/main/network-extras/APKBUILD
new file mode 100644
index 000000000..1c45b381c
--- /dev/null
+++ b/main/network-extras/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=network-extras
+pkgver=1.0
+pkgrel=0
+pkgdesc="Meta package to pull in vlan, bonding, bridge and wifi support"
+url="http://alpinelinux.org"
+arch="noarch"
+license="GPL"
+depends="bridge bonding vlan wpa_supplicant wireless-tools"
+makedepends=""
+install=""
+subpackages=""
+source=""
+
+prepare() {
+ return 0
+}
+
+build() {
+ return 0
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
diff --git a/main/nfdump/APKBUILD b/main/nfdump/APKBUILD
new file mode 100644
index 000000000..55083c8fc
--- /dev/null
+++ b/main/nfdump/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor:
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=nfdump
+pkgver=1.6.4
+pkgrel=2
+pkgdesc="The nfdump tools collect and process netflow data on the command line."
+url="http://nfdump.sourceforge.net/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="bison flex $depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz\
+ nfcapd.confd\
+ nfcapd.initd"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -D -m755 "$srcdir"/nfcapd.initd \
+ "$pkgdir"/etc/init.d/nfcapd
+
+ install -D -m644 "$srcdir"/nfcapd.confd \
+ "$pkgdir"/etc/conf.d/nfcapd
+}
+
+md5sums="a5ab5657da78f0f57ac7d29f31883949 nfdump-1.6.4.tar.gz
+d525c691a62a5746c581f5e9776ed866 nfcapd.confd
+d2b60619e18120af68771f3b866177e8 nfcapd.initd"
diff --git a/main/nfdump/nfcapd.confd b/main/nfdump/nfcapd.confd
new file mode 100644
index 000000000..fb9afb6e3
--- /dev/null
+++ b/main/nfdump/nfcapd.confd
@@ -0,0 +1,62 @@
+# Config file for /etc/init.d/nfcapd
+
+# Port we listen on
+PORT=2205
+
+# Hostname/address we bind on - default is any available
+BINDHOST=127.0.0.1
+
+# IPv4 only
+#IPV4=no
+
+# IPv6 only
+#IPV6=no
+
+# Join a specific Multicast group
+#MULTICASTGROUP=
+
+# Become a packet repeater
+#REPEAT=desthost/port
+
+
+# Ident string, specify the name of the router
+#IDENT=
+
+# Base Directory for output files
+BASEDIR="/var/log/nfcapd"
+
+# Source is one or more sources: Ident,IP,base_directory
+# If you specificy SOURCE, do not specifiy IDENT or BASEDIR
+#SOURCE="Foo,192.168.1.1,/var/log/nfcapd/foo Bar,192.168.1.2,/var/log/nfcapd/bar"
+
+# Sample Rate - defaults to source
+#SAMPLERATE=
+
+# additional directory sub hierarchy (default none)
+#SUBDIR="%Y/%m/%d"
+
+
+# Extensions to be stored in the netflow data
+#EXTENSIONS="all"
+
+# How often to rotate the files (in seconds)
+#INTERVAL=300
+
+# Do we align rotation with next even interval
+#ALIGN=no
+
+# Run a command at the end of every interval
+#ROTATECMD=""
+
+# Auto expire old files (yes/no)
+#AUTOEXPIRE=no
+
+# User / Group
+UID=nobody
+GID=nobody
+
+# Buffer length in bytes (to reduce lost packets)
+BUFFLEN=1024000
+
+# Compress the flows with LZO (yes/no)
+COMPRESS=yes
diff --git a/main/nfdump/nfcapd.initd b/main/nfdump/nfcapd.initd
new file mode 100644
index 000000000..5f8506812
--- /dev/null
+++ b/main/nfdump/nfcapd.initd
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+# Copyright 2012 N Angelacos - Based on Gentoo Foundation fprobe script
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ after firewall
+}
+
+
+BIN=/usr/bin/nfcapd
+PIDFILE_EXTRA=${SVCNAME#*.}
+if [ -n "${PIDFILE_EXTRA}" ] && [ ${SVCNAME} != "nfcapd" ]; then
+ PIDFILE="/var/run/nfcapd.${PIDFILE_EXTRA}.pid"
+else
+ PIDFILE="/var/run/nfcapd.pid"
+fi
+
+start() {
+ ebegin "Starting nfcapd"
+ local OPTS=""
+
+ [ -n "${SOURCE}" ] && SOURCE=`echo -n "${SOURCE}" | sed 's/ / -n /g'`
+ [ "${IPV4}" == "yes" ] && OPTS="${OPTS} -4"
+ [ "${IPV6}" == "yes" ] && OPTS="${OPTS} -6"
+ [ "${ALIGN}" == "yes" ] && OPTS="${OPTS} -w"
+ [ "${AUTOEXPIRE}" == "yes" ] && OPTS="${OPTS} -e"
+ [ "${COMPRESS}" == "yes" ] && OPTS="${OPTS} -z"
+ for optname in p:PORT b:BINDHOST j:MULTICASTGROUP i:IFACE R:REPEAT \
+ I:IDENT l:BASEDIR n:SOURCE s:SAMPLERATE S:SUBDIR \
+ T:EXTENSIONS t:INTERVAL x:ROTATECMD u:UID g:GID \
+ B:BUFFLEN ; do
+ opt="${optname/:*}" optvar="${optname/*:}"
+ eval optvalue="\$$optvar"
+ [ -n "$optvalue" ] && OPTS="${OPTS} -${opt} ${optvalue}"
+ done
+ OPTS="${OPTS}"
+
+ # Attempt to make the basedir if specified
+ if [ -n "${BASEDIR}" ]; then
+ mkdir -p "${BASEDIR}"
+ chown "${UID}":"${GID}" "${BASEDIR}"
+ fi
+
+
+ start-stop-daemon --start -b --exec $BIN \
+ --pidfile ${PIDFILE} --make-pidfile \
+ -- ${OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping nfcapd"
+ start-stop-daemon --stop --quiet --exec $BIN \
+ --pidfile ${PIDFILE}
+ eend $?
+}
+
+
+
+
+
+
diff --git a/main/nginx/APKBUILD b/main/nginx/APKBUILD
index dd83e2aee..1cdb287b6 100644
--- a/main/nginx/APKBUILD
+++ b/main/nginx/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Cameron Banta <cbanta@gmail.com>
pkgname=nginx
pkgver=1.0.11
-pkgrel=0
+pkgrel=1
pkgdesc="nginx [engine x] is a HTTP and reverse proxy server"
url="http://www.nginx.org"
arch="all"
diff --git a/main/ngircd/APKBUILD b/main/ngircd/APKBUILD
index 9a06d94ea..98708eb31 100644
--- a/main/ngircd/APKBUILD
+++ b/main/ngircd/APKBUILD
@@ -2,39 +2,51 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ngircd
pkgver=18
-pkgrel=1
+pkgrel=3
pkgdesc="Next Generation IRC Daemon"
url="http://ngircd.barton.de/"
arch="all"
license="GPL"
depends=
-makedepends="openssl-dev zlib-dev"
+makedepends="openssl-dev zlib-dev linux-pam-dev"
install="$pkgname.pre-install"
source="ftp://ftp.berlios.de/pub/$pkgname/$pkgname-$pkgver.tar.gz
+ client_user_len.patch
$pkgname.initd
"
-
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+# sed -i \
+# -e "s:/usr/local/etc/ngircd.motd:/etc/ngircd/ngircd.motd:" \
+# -e "s:;ServerUID = 65534:ServerUID = ngircd:" \
+# -e "s:;ServerGID = 65534:ServerGID = nogroup:" \
+# doc/sample-ngircd.conf
+}
+
build() {
- cd "$srcdir"/$pkgname-$pkgver
- sed -i \
- -e "s:/usr/local/etc/ngircd.motd:/etc/ngircd/ngircd.motd:" \
- -e "s:;ServerUID = 65534:ServerUID = ngircd:" \
- -e "s:;ServerGID = 65534:ServerGID = nogroup:" \
- doc/sample-ngircd.conf
-
+ cd "$_builddir"
./configure --prefix=/usr \
--sysconfdir=/etc/ngircd \
--mandir=/usr/share/man \
--without-ident \
- --with-openssl
+ --with-openssl \
+ --with-pam \
+ || return 1
make || return 1
}
package() {
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
install -Dm755 ../$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
}
md5sums="4958c8b2d128cf3e9888af3f782892a1 ngircd-18.tar.gz
+28b810151fd16c716ed685fc8ac72441 client_user_len.patch
628548a938f27fedcb6797c427bf0035 ngircd.initd"
diff --git a/main/ngircd/client_user_len.patch b/main/ngircd/client_user_len.patch
new file mode 100644
index 000000000..f2e564e71
--- /dev/null
+++ b/main/ngircd/client_user_len.patch
@@ -0,0 +1,11 @@
+--- ./src/ngircd/defines.h.orig
++++ ./src/ngircd/defines.h
+@@ -40,7 +40,7 @@
+ * section 1.2.1 */
+ #define CLIENT_NICK_LEN 32 /* Maximum nick name length */
+ #define CLIENT_PASS_LEN 21 /* Max. password length */
+-#define CLIENT_USER_LEN 10 /* Max. length of user name ("login")
++#define CLIENT_USER_LEN 64 /* Max. length of user name ("login")
+ see RFC 2812, section 1.2.1 */
+ #define CLIENT_NAME_LEN 32 /* Max. length of "real names" */
+ #define CLIENT_HOST_LEN 64 /* Max. host name length */
diff --git a/main/nsd/APKBUILD b/main/nsd/APKBUILD
index 726180224..fcda2fe9d 100644
--- a/main/nsd/APKBUILD
+++ b/main/nsd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Matt Smith <mcs@darkregion.net>
# Maintainer: Matt Smith <mcs@darkregion.net>
pkgname=nsd
-pkgver=3.2.9
+pkgver=3.2.10
pkgrel=0
pkgdesc="NSD is an authoritative only, high performance, simple and open source name server."
url="http://www.nlnetlabs.nl/projects/nsd/"
@@ -69,7 +69,7 @@ doc() {
"$subpkgdir"/usr/share/man || return 1
}
-md5sums="248a5fbce6cd3642ad7a75aaaab88931 nsd-3.2.9.tar.gz
+md5sums="befbacb3d57b7aac5b6af477c8ee75e3 nsd-3.2.10.tar.gz
cc592572846b978a6f52130a8e518ab3 0010-stop-unlink-pid-error.patch
3aa94004a39319db89a329e9f24fb9da nsdc
4c0eef07caac9083aeeb9b15602d014d nsd.initd
diff --git a/main/nspr/APKBUILD b/main/nspr/APKBUILD
index e08865f8b..68eee1fcc 100644
--- a/main/nspr/APKBUILD
+++ b/main/nspr/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=nspr
-pkgver=4.8.9
+pkgver=4.9
pkgrel=0
pkgdesc="Netscape Portable Runtime"
url="http://www.mozilla.org/projects/nspr/"
@@ -12,7 +12,7 @@ subpackages="$pkgname-dev"
source="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$pkgver/src/nspr-$pkgver.tar.gz
nspr-4.7.0-prtime.patch
nspr-4.8-config.patch
- nspr-4.8-pkgconfig-gentoo-3.patch
+ nspr-4.9-pkgconfig-gentoo.patch
nspr-bb-shell.patch
"
@@ -67,8 +67,8 @@ package() {
"$pkgdir"/usr/include/nspr/md
}
-md5sums="60770d45dc08c0f181b22cdfce5be3e8 nspr-4.8.9.tar.gz
+md5sums="aa0c960b23a9d66a3c30c3e6ba80a99a nspr-4.9.tar.gz
c48e1f47799c1cff7e3bf46dc0e653f1 nspr-4.7.0-prtime.patch
c790c638a7c9fd1d731272f464f065c6 nspr-4.8-config.patch
-c31984cfcc167eb010aed949ace236ae nspr-4.8-pkgconfig-gentoo-3.patch
+5ae4e4579f661d14fd37638531e87711 nspr-4.9-pkgconfig-gentoo.patch
6574eabdfbfcd246e0dfaf1aa8b0e695 nspr-bb-shell.patch"
diff --git a/main/nspr/nspr-4.8-pkgconfig-gentoo-3.patch b/main/nspr/nspr-4.8-pkgconfig-gentoo-3.patch
deleted file mode 100644
index 89e042d95..000000000
--- a/main/nspr/nspr-4.8-pkgconfig-gentoo-3.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-diff -urN nspr-4.8-orig/mozilla/nsprpub/config/config.mk nspr-4.8/mozilla/nsprpub/config/config.mk
---- nspr-4.8-orig/mozilla/nsprpub/config/config.mk 2009-09-12 00:43:47.678357452 -0500
-+++ nspr-4.8/mozilla/nsprpub/config/config.mk 2009-09-12 00:44:19.383381757 -0500
-@@ -162,3 +162,4 @@
- RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/include
- RELEASE_BIN_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/bin
- RELEASE_LIB_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/lib
-+RELEASE_PC_DIR = $(RELEASE_LIB_DIR)/pkgconfig
-diff -urN nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in nspr-4.8/mozilla/nsprpub/config/Makefile.in
---- nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:43:47.678357452 -0500
-+++ nspr-4.8/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:44:19.384379661 -0500
-@@ -52,9 +52,10 @@
-
- # autoconf.mk must be deleted last (from the top-level directory)
- # because it is included by every makefile.
--DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config
-+DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config nspr.pc
-
- RELEASE_BINS = nspr-config
-+RELEASE_PC = nspr.pc
-
- include $(topsrcdir)/config/config.mk
-
-diff -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in nspr-4.8/mozilla/nsprpub/config/nspr-config.in
---- nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:43:47.677356194 -0500
-+++ nspr-4.8/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:45:53.723359547 -0500
-@@ -92,13 +92,13 @@
-
- # Set variables that may be dependent upon other variables
- if test -z "$exec_prefix"; then
-- exec_prefix=@exec_prefix@
-+ exec_prefix=`pkg-config --variable=exec_prefix nspr`
- fi
- if test -z "$includedir"; then
-- includedir=@includedir@
-+ includedir=`pkg-config --variable=includedir nspr`
- fi
- if test -z "$libdir"; then
-- libdir=@libdir@
-+ libdir=`pkg-config --variable=libdir nspr`
- fi
-
- if test "$echo_prefix" = "yes"; then
-diff -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in nspr-4.8/mozilla/nsprpub/config/nspr.pc.in
---- nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in 1969-12-31 18:00:00.000000000 -0600
-+++ nspr-4.8/mozilla/nsprpub/config/nspr.pc.in 2009-09-12 00:44:19.410432811 -0500
-@@ -0,0 +1,11 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: NSPR
-+Description: The Netscape Portable Runtime
-+Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
-+Libs: -L${libdir} -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ -lpthread -Wl,-R${libdir}
-+Cflags: -I${includedir}
-+
-diff -urN nspr-4.8-orig/mozilla/nsprpub/config/rules.mk nspr-4.8/mozilla/nsprpub/config/rules.mk
---- nspr-4.8-orig/mozilla/nsprpub/config/rules.mk 2009-09-12 00:43:47.677356194 -0500
-+++ nspr-4.8/mozilla/nsprpub/config/rules.mk 2009-09-12 00:44:19.435517111 -0500
-@@ -211,7 +211,7 @@
- rm -rf $(wildcard *.OBJ *.OBJD) dist $(ALL_TRASH) $(DIST_GARBAGE)
- +$(LOOP_OVER_DIRS)
-
--install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS)
-+install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS) $(RELEASE_PC)
- ifdef RELEASE_BINS
- $(NSINSTALL) -t -m 0755 $(RELEASE_BINS) $(DESTDIR)$(bindir)
- endif
-@@ -221,6 +221,9 @@
- ifdef RELEASE_LIBS
- $(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
- endif
-+ifdef RELEASE_PC
-+ $(NSINSTALL) -t -m 0644 $(RELEASE_PC) $(DESTDIR)$(libdir)/pkgconfig/
-+endif
- +$(LOOP_OVER_DIRS)
-
- release:: export
-@@ -272,6 +275,23 @@
- fi
- cp $(RELEASE_HEADERS) $(RELEASE_HEADERS_DEST)
- endif
-+ifdef RELEASE_PC
-+ @echo "Copying pkg-config files to release directory"
-+ @if test -z "$(BUILD_NUMBER)"; then \
-+ echo "BUILD_NUMBER must be defined"; \
-+ false; \
-+ else \
-+ true; \
-+ fi
-+ @if test ! -d $(RELEASE_PC_DEST); then \
-+ rm -rf $(RELEASE_PC_DEST); \
-+ $(NSINSTALL) -D $(RELEASE_PC_DEST);\
-+ else \
-+ true; \
-+ fi
-+ cp $(RELEASE_PC) $(RELEASE_PC_DEST)
-+endif
-+
- +$(LOOP_OVER_DIRS)
-
- alltags:
-diff -urN nspr-4.8-orig/mozilla/nsprpub/configure.in nspr-4.8/mozilla/nsprpub/configure.in
---- nspr-4.8-orig/mozilla/nsprpub/configure.in 2009-09-12 00:43:47.678357452 -0500
-+++ nspr-4.8/mozilla/nsprpub/configure.in 2009-09-12 00:44:19.451396074 -0500
-@@ -2871,6 +2871,7 @@
- config/nsprincl.mk
- config/nsprincl.sh
- config/nspr-config
-+config/nspr.pc
- lib/Makefile
- lib/ds/Makefile
- lib/libc/Makefile
diff --git a/main/nspr/nspr-4.9-pkgconfig-gentoo.patch b/main/nspr/nspr-4.9-pkgconfig-gentoo.patch
new file mode 100644
index 000000000..56d7bb870
--- /dev/null
+++ b/main/nspr/nspr-4.9-pkgconfig-gentoo.patch
@@ -0,0 +1,90 @@
+diff -urN a/mozilla/nsprpub/config/config.mk b/mozilla/nsprpub/config/config.mk
+--- a/mozilla/nsprpub/config/config.mk 2011-10-13 09:00:06.000000000 -0500
++++ b/mozilla/nsprpub/config/config.mk 2012-02-20 17:52:11.364823693 -0600
+@@ -183,6 +183,7 @@
+ RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/include
+ RELEASE_BIN_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/bin
+ RELEASE_LIB_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/lib
++RELEASE_PC_DIR = $(RELEASE_LIB_DIR)/pkgconfig
+
+ # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
+ # this file
+diff -urN a/mozilla/nsprpub/config/Makefile.in b/mozilla/nsprpub/config/Makefile.in
+--- a/mozilla/nsprpub/config/Makefile.in 2009-03-03 16:04:23.000000000 -0600
++++ b/mozilla/nsprpub/config/Makefile.in 2012-02-20 17:53:06.490819923 -0600
+@@ -52,9 +52,10 @@
+
+ # autoconf.mk must be deleted last (from the top-level directory)
+ # because it is included by every makefile.
+-DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config
++DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config nspr.pc
+
+ RELEASE_BINS = nspr-config
++RELEASE_PC = nspr.pc
+
+ include $(topsrcdir)/config/config.mk
+
+diff -urN a/mozilla/nsprpub/config/nspr-config.in b/mozilla/nsprpub/config/nspr-config.in
+--- a/mozilla/nsprpub/config/nspr-config.in 2005-05-10 19:53:41.000000000 -0500
++++ b/mozilla/nsprpub/config/nspr-config.in 2012-02-20 17:55:10.947811413 -0600
+@@ -92,13 +92,13 @@
+
+ # Set variables that may be dependent upon other variables
+ if test -z "$exec_prefix"; then
+- exec_prefix=@exec_prefix@
++ exec_prefix=`pkg-config --variable=exec_prefix nspr`
+ fi
+ if test -z "$includedir"; then
+- includedir=@includedir@
++ includedir=`pkg-config --variable=includedir nspr`
+ fi
+ if test -z "$libdir"; then
+- libdir=@libdir@
++ libdir=`pkg-config --variable=libdir nspr`
+ fi
+
+ if test "$echo_prefix" = "yes"; then
+diff -urN a/mozilla/nsprpub/config/nspr.pc.in b/mozilla/nsprpub/config/nspr.pc.in
+--- a/mozilla/nsprpub/config/nspr.pc.in 1969-12-31 18:00:00.000000000 -0600
++++ b/mozilla/nsprpub/config/nspr.pc.in 2012-02-20 18:00:14.609790649 -0600
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSPR
++Description: The Netscape Portable Runtime
++Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
++Libs: -L@libdir@ -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ @OS_LIBS@
++Cflags: -I@includedir@
+diff -urN a/mozilla/nsprpub/config/rules.mk b/mozilla/nsprpub/config/rules.mk
+--- a/mozilla/nsprpub/config/rules.mk 2011-08-29 12:02:51.000000000 -0500
++++ b/mozilla/nsprpub/config/rules.mk 2012-02-20 18:11:56.112742680 -0600
+@@ -207,10 +207,14 @@
+ rm -rf $(wildcard *.OBJ *.OBJD) dist $(ALL_TRASH) $(DIST_GARBAGE)
+ +$(LOOP_OVER_DIRS)
+
+-install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS)
++install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS) $(RELEASE_PC)
+ ifdef RELEASE_BINS
+ $(NSINSTALL) -t -m 0755 $(RELEASE_BINS) $(DESTDIR)$(bindir)
+ endif
++ifdef RELEASE_PC
++ $(NSINSTALL) -D $(DESTDIR)$(libdir)/pkgconfig
++ $(NSINSTALL) -t -m 0644 $(RELEASE_PC) $(DESTDIR)$(libdir)/pkgconfig/
++endif
+ ifdef RELEASE_HEADERS
+ $(NSINSTALL) -t -m 0644 $(RELEASE_HEADERS) $(DESTDIR)$(includedir)/$(include_subdir)
+ endif
+diff -urN a/mozilla/nsprpub/configure.in b/mozilla/nsprpub/configure.in
+--- a/mozilla/nsprpub/configure.in 2012-02-14 13:06:00.000000000 -0600
++++ b/mozilla/nsprpub/configure.in 2012-02-20 18:09:55.776750908 -0600
+@@ -3357,6 +3357,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++ config/nspr.pc
+ lib/Makefile
+ lib/ds/Makefile
+ lib/libc/Makefile
diff --git a/main/nss/APKBUILD b/main/nss/APKBUILD
index 16fbb59bf..246e7571d 100644
--- a/main/nss/APKBUILD
+++ b/main/nss/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=nss
-pkgver=3.13.1
+pkgver=3.13.3
_ver=${pkgver//./_}
-pkgrel=1
+pkgrel=0
pkgdesc="Mozilla Network Security Services"
url="http://www.mozilla.org/projects/security/pki/nss/"
arch="all"
@@ -16,7 +16,6 @@ source="ftp://ftp.mozilla.org/pub/security/$pkgname/releases/NSS_${_ver}_RTM/src
nss-config.in
add_spi+cacert_ca_certs.patch
ssl-renegotiate-transitional.patch
- bmo702090.patch
"
depends_dev="nspr-dev"
@@ -141,10 +140,9 @@ tools() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-md5sums="c500f96d33ba1390c8a35c667e05e542 nss-3.13.1.tar.gz
+md5sums="006cb82fa900e9e664b4b14a9b7810ca nss-3.13.3.tar.gz
e5c97db0c884d5f4cfda21e562dc9bba nss-no-rpath.patch
c547b030c57fe1ed8b77c73bf52b3ded nss.pc.in
46bee81908f1e5b26d6a7a2e14c64d9f nss-config.in
7f39c19b1dfd62d7db7d8bf19f156fed add_spi+cacert_ca_certs.patch
-d83c7b61abb7e9f8f7bcd157183d1ade ssl-renegotiate-transitional.patch
-af8c6c19a3ef6df87141a67c6c600c13 bmo702090.patch"
+d83c7b61abb7e9f8f7bcd157183d1ade ssl-renegotiate-transitional.patch"
diff --git a/main/nss/bmo702090.patch b/main/nss/bmo702090.patch
deleted file mode 100644
index e25148554..000000000
--- a/main/nss/bmo702090.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./mozilla/security/nss/lib/util/pkcs11n.h.orig 2011-09-14 10:21:10.000000000 +0900
-+++ ./mozilla/security/nss/lib/util/pkcs11n.h 2011-11-19 00:45:01.131860104 +0900
-@@ -346,7 +346,7 @@
- * labels have never been accurate to what was really implemented.
- * The new labels correctly reflect what the values effectively mean.
- */
--#if __GNUC__ > 3
-+#if defined(__GNUC__) && (__GNUC__ > 3)
- /* make GCC warn when we use these #defines */
- /*
- * This is really painful because GCC doesn't allow us to mark random
-@@ -362,7 +362,7 @@
- * cast the resulting value to the deprecated type in the #define, thus
- * producting the warning when the #define is used.
- */
--#if (__GNUC__ == 4) && (__GNUC_MINOR < 5)
-+#if (__GNUC__ == 4) && (__GNUC_MINOR__ < 5)
- /* The mac doesn't like the friendlier deprecate messages. I'm assuming this
- * is a gcc version issue rather than mac or ppc specific */
- typedef CK_TRUST __CKT_NSS_UNTRUSTED __attribute__((deprecated));
diff --git a/main/ntop/APKBUILD b/main/ntop/APKBUILD
index 44ac5b65f..4d260d442 100644
--- a/main/ntop/APKBUILD
+++ b/main/ntop/APKBUILD
@@ -2,16 +2,18 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=ntop
pkgver=4.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="Network traffic probe"
url="http://www.ntop.org"
arch="all"
license="GPL"
depends=
+pkgusers="ntop"
+pkggroups="ntop"
makedepends="autoconf automake freetype-dev gdbm-dev geoip-dev libart-lgpl-dev
libevent-dev libpcap-dev libpng-dev libtool libxml2-dev lua-dev
openssl-dev python-dev rrdtool-dev wget zlib-dev"
-install="$pkgname.post-install"
+install="$pkgname.pre-install"
subpackages="$pkgname-dev $pkgname-doc"
source="http://sourceforge.net/projects/$pkgname/files/$pkgname/Stable/$pkgname-$pkgver.tar.gz
ntop.initd
@@ -46,7 +48,7 @@ package() {
install -m755 -D "$srcdir"/ntop-update-geoip-db \
"$pkgdir"/usr/bin/ntop-update-geoip-db
# ntop internal db dir
- mkdir -p $pkgdir/var/lib/ntop
+ install -d -o ntop -g ntop -m755 $pkgdir/var/lib/ntop
}
md5sums="116df99cf548431393991ea15443c52f ntop-4.1.0.tar.gz
diff --git a/main/ntop/ntop.post-install b/main/ntop/ntop.post-install
deleted file mode 100755
index ede8a22f3..000000000
--- a/main/ntop/ntop.post-install
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-adduser -h /var/lib/ntop -s /bin/false -S -H -D ntop &>/dev/null
-chown ntop /var/lib/ntop
diff --git a/main/ntop/ntop.pre-install b/main/ntop/ntop.pre-install
new file mode 100755
index 000000000..fdc280345
--- /dev/null
+++ b/main/ntop/ntop.pre-install
@@ -0,0 +1,4 @@
+#!/bin/sh
+addgroup -S ntop 2>/dev/null
+adduser -h /var/lib/ntop -s /bin/false -S -G ntop -H -D ntop 2>/dev/null
+exit 0
diff --git a/main/open-vm-tools-grsec/APKBUILD b/main/open-vm-tools-grsec/APKBUILD
index 60e464cc6..1a5d70d89 100644
--- a/main/open-vm-tools-grsec/APKBUILD
+++ b/main/open-vm-tools-grsec/APKBUILD
@@ -2,13 +2,12 @@
_flavor=grsec
_realname=open-vm-tools
-_mypkgrel=0
+_kver=3.2.11
+_kpkgrel=0
_realver=2011.12.20
_realsubver=562307
-
-_kver=3.2.6
-_kpkgrel=0
+_mypkgrel=0
# source open-vm-tools version
if [ -f ../main/$_realname/APKBUILD ]; then
diff --git a/main/open-vm-tools-vserver/APKBUILD b/main/open-vm-tools-vserver/APKBUILD
index 19d5cfc7b..3d513fea6 100644
--- a/main/open-vm-tools-vserver/APKBUILD
+++ b/main/open-vm-tools-vserver/APKBUILD
@@ -3,9 +3,9 @@
_flavor=vserver
_realname=open-vm-tools
_name=$_realname-$_flavor
-_kver=3.2.5
+_kver=3.2.11
_kpkgrel=0
-_myvsver=vs2.3.2.6
+_myvsver=vs2.3.2.8
_mypkgrel=0
_realver=2011.12.20
diff --git a/main/openldap/APKBUILD b/main/openldap/APKBUILD
index b4fde0c30..ef2bb250c 100644
--- a/main/openldap/APKBUILD
+++ b/main/openldap/APKBUILD
@@ -1,23 +1,24 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=openldap
-pkgver=2.4.28
-pkgrel=3
+pkgver=2.4.30
+pkgrel=0
pkgdesc="LDAP Server"
url="http://www.openldap.org/"
arch="all"
license="custom"
depends=
+pkgusers="ldap"
+pkggroups="ldap"
depends_dev="openssl-dev cyrus-sasl-dev"
makedepends="$depends_dev db-dev groff unixodbc-dev libtool"
subpackages="$pkgname-dev $pkgname-doc libldap $pkgname-back-sql:sql
$pkgname-back-bdb:bdb $pkgname-back-hdb:hdb $pkgname-back-ldap:ldap
$pkgname-back-meta:meta $pkgname-back-monitor:monitor"
-install="$pkgname.pre-install $pkgname.post-install"
+install="$pkgname.pre-install"
source="ftp://ftp.$pkgname.org/pub/OpenLDAP/$pkgname-release/$pkgname-$pkgver.tgz
openldap-2.4-ppolicy.patch
openldap-2.4.11-libldap_r.patch
- slapd-fix-back-sql.patch
slapd.initd
slapd.confd
slurpd.initd
@@ -73,14 +74,16 @@ package() {
rm "$pkgdir"/usr/lib/openldap/*.la \
"$pkgdir"/usr/lib/*.la || return 1
- install -d "$pkgdir"/var/run/openldap
+ install -d -o ldap -g ldap "$pkgdir"/var/run/openldap \
+ "$pkgdir"/var/lib/openldap
sed -i -e 's:/var/lib/openldap/run:/var/run/openldap:g' \
-e 's:back_bdb.la:back_bdb.so:' \
-e 's:back_hdb.la:back_hdb.so:' \
-e 's:back_ldap.la:back_ldap.so:' \
- "$pkgdir"/etc/openldap/slapd.conf
+ "$pkgdir"/etc/openldap/slapd.conf || return 1
- mv "$pkgdir"/usr/lib/slapd "$pkgdir"/usr/sbin/
+ mv "$pkgdir"/usr/lib/slapd "$pkgdir"/usr/sbin/ || reteurn 1
+ chgrp ldap "$pkgdir"/etc/openldap/slapd.conf
chmod g+r "$pkgdir"/etc/openldap/slapd.conf
install -Dm755 ../slapd.initd "$pkgdir"/etc/init.d/slapd
install -Dm755 ../slapd.confd "$pkgdir"/etc/conf.d/slapd
@@ -112,10 +115,9 @@ meta() { _backend meta; }
monitor() { _backend monitor; }
-md5sums="196023e552eeb259e048edcd61a9645b openldap-2.4.28.tgz
+md5sums="4f210937cf87e3467a536dd3fed1b8b4 openldap-2.4.30.tgz
2524e490ba334a760fa57057c16da7a9 openldap-2.4-ppolicy.patch
d19d0502f046078ecd737e29e7552fa8 openldap-2.4.11-libldap_r.patch
-699fdb5cc562e6db2e98442274b4d556 slapd-fix-back-sql.patch
-a729bf553d12b4a9fbda0ff5202a0443 slapd.initd
+5d1cc4e8c6ccc306578f6c694832e56e slapd.initd
b672311fca605c398240cd37a2ae080a slapd.confd
fa5ce0005ef5f1160b6ff126f97aaa1a slurpd.initd"
diff --git a/main/openldap/openldap.post-install b/main/openldap/openldap.post-install
deleted file mode 100644
index 1d6affdfe..000000000
--- a/main/openldap/openldap.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-chown -R ldap:ldap /var/lib/openldap /var/run/openldap
-chgrp ldap /etc/openldap/slapd.conf
diff --git a/main/openldap/slapd-fix-back-sql.patch b/main/openldap/slapd-fix-back-sql.patch
deleted file mode 100644
index 4532f8802..000000000
--- a/main/openldap/slapd-fix-back-sql.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- openldap-2.4.28/servers/slapd/back-sql/init.c.orig
-+++ openldap-2.4.28/servers/slapd/back-sql/init.c
-@@ -114,6 +114,7 @@
- }
-
- bd->be_private = bi;
-+ bd->be_cf_ocs = bd->bd_info->bi_cf_ocs;
-
- Debug( LDAP_DEBUG_TRACE, "<==backsql_db_init()\n", 0, 0, 0 );
-
diff --git a/main/openldap/slapd.initd b/main/openldap/slapd.initd
index d66af755e..fbea0069e 100644
--- a/main/openldap/slapd.initd
+++ b/main/openldap/slapd.initd
@@ -1,21 +1,42 @@
#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-nds/openldap/files/slapd-initd,v 1.2 2008/10/14 10:29:44 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-nds/openldap/files/slapd-initd-2.4.28-r1,v 1.2 2012/02/12 21:35:04 robbat2 Exp $
+
+extra_commands="checkconfig"
+pidfile=/var/run/openldap/${SVCNAME}.pid
+
+[ -z "$INSTANCE" ] && INSTANCE="openldap${SVCNAME#slapd}"
depend() {
need net
after firewall
+ before dbus hald avahi-daemon
+ provide ldap
}
start() {
+ if ! checkconfig -Q ; then
+ eerror "There is a problem with your slapd.conf!"
+ return 1
+ fi
+ checkpath -d -o ldap:ldap ${pidfile%/*}
ebegin "Starting ldap-server"
- eval start-stop-daemon --start --pidfile /var/run/openldap/slapd.pid --exec /usr/sbin/slapd -- -u ldap -g ldap "${OPTS}"
+ [ -n "$KRB5_KTNAME" ] && export KRB5_KTNAME
+ eval start-stop-daemon --start \
+ --pidfile ${pidfile} \
+ --exec /usr/lib/openldap/slapd \
+ -- \
+ -u ldap -g ldap "${OPTS}"
eend $?
}
stop() {
ebegin "Stopping ldap-server"
- start-stop-daemon --stop --signal 2 --quiet --pidfile /var/run/openldap/slapd.pid
+ start-stop-daemon --stop --signal 2 --quiet --pidfile ${pidfile}
eend $?
}
+
+checkconfig() {
+ /usr/sbin/slaptest -u "$@" ${OPTS_CONF}
+}
diff --git a/main/openssl/APKBUILD b/main/openssl/APKBUILD
index 3059805a6..f6d5b6447 100644
--- a/main/openssl/APKBUILD
+++ b/main/openssl/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openssl
-pkgver=1.0.0g
+pkgver=1.0.0h
pkgrel=0
pkgdesc="Toolkit for SSL v2/v3 and TLS v1"
url="http://openssl.org"
@@ -69,7 +69,7 @@ libssl() {
done
}
-md5sums="07ecbe4324f140d157478637d6beccf1 openssl-1.0.0g.tar.gz
+md5sums="a5bc483c570f2ac3758ce5c19b667fab openssl-1.0.0h.tar.gz
115c481cd59b3dba631364e8fb1778f5 fix-manpages.patch
c6a9857a5dbd30cead0404aa7dd73977 openssl-bb-basename.patch
1f607b8e11347e56a0906756f3d6928a 0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch
diff --git a/main/openvpn-auth-ldap/APKBUILD b/main/openvpn-auth-ldap/APKBUILD
index 44d361170..0ef937682 100644
--- a/main/openvpn-auth-ldap/APKBUILD
+++ b/main/openvpn-auth-ldap/APKBUILD
@@ -2,7 +2,7 @@
pkgname=openvpn-auth-ldap
pkgver=2.0.3
_openvpnver=2.1.3
-pkgrel=0
+pkgrel=1
pkgdesc="LDAP authentication and authorization plugin for OpenVPN 2.x"
url="http://code.google.com/p/openvpn-auth-ldap/"
arch="all"
@@ -27,8 +27,9 @@ build() {
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
- --with-openvpn="$srcdir"/openvpn-$_openvpnver
-
+ --with-openvpn="$srcdir"/openvpn-$_openvpnver \
+ --with-objc-runtime=GNU \
+ || return 1
make || return 1
}
diff --git a/main/pcre/APKBUILD b/main/pcre/APKBUILD
index caab86352..a5985ad55 100644
--- a/main/pcre/APKBUILD
+++ b/main/pcre/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pcre
-pkgver=8.21
+pkgver=8.30
pkgrel=0
pkgdesc="Perl-compatible regular expression library"
url="http://pcre.sourceforge.net"
@@ -46,4 +46,4 @@ libpcrecpp() {
mv "$pkgdir"/usr/lib/libpcrecpp.so* "$subpkgdir"/usr/lib/
}
-md5sums="0a7b592bea64b7aa7f4011fc7171a730 pcre-8.21.tar.bz2"
+md5sums="98e8928cccc945d04279581e778fbdff pcre-8.30.tar.bz2"
diff --git a/main/pekwm/APKBUILD b/main/pekwm/APKBUILD
index ea946a01d..8162e3665 100644
--- a/main/pekwm/APKBUILD
+++ b/main/pekwm/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pekwm
-pkgver=0.1.13
+pkgver=0.1.14
pkgrel=0
pkgdesc="Fast & Light Window Manager"
url="http://pekwm.org/projects/pekwm"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="51a3f9030817df0304cc1da5110e493a pekwm-0.1.13.tar.bz2"
+md5sums="bb9c01c81fe47620bcd9be0e2e4a10e6 pekwm-0.1.14.tar.bz2"
diff --git a/main/perdition/APKBUILD b/main/perdition/APKBUILD
index 6d4ce2be7..470dc3ba9 100644
--- a/main/perdition/APKBUILD
+++ b/main/perdition/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=perdition
pkgver=1.18
-pkgrel=3
+pkgrel=4
pkgdesc="A Mail retrieval proxy"
url="http://horms.net/projects/perdition/"
arch="all"
@@ -10,15 +10,21 @@ depends=
depends_dev="gdbm-dev openssl-dev popt-dev vanessa_adt-dev vanessa_logger-dev
vanessa_socket-dev"
makedepends="$depends_dev"
-install=$pkgname.post-install
+install=$pkgname.pre-install
subpackages="$pkgname-doc"
-source="http://horms.net/projects/perdition/download/$pkgver/$pkgname-$pkgver.tar.bz2"
+source="http://horms.net/projects/perdition/download/$pkgver/$pkgname-$pkgver.tar.bz2
+ gdbm-version.patch"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
return 0
}
@@ -28,10 +34,10 @@ build() {
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
+ --enable-gdbm \
--disable-libtool-lock \
--disable-mysql \
--disable-odbc \
- --disable-db \
--disable-pg \
--disable-cdb \
--disable-nis \
@@ -51,4 +57,5 @@ package() {
install -m644 -D ../../$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
-md5sums="df84d5fc4ab78b94a9baf17c5790ba38 perdition-1.18.tar.bz2"
+md5sums="df84d5fc4ab78b94a9baf17c5790ba38 perdition-1.18.tar.bz2
+cfdd151cb92d2283151b8e48caf04337 gdbm-version.patch"
diff --git a/main/perdition/gdbm-version.patch b/main/perdition/gdbm-version.patch
new file mode 100644
index 000000000..ae33fd92a
--- /dev/null
+++ b/main/perdition/gdbm-version.patch
@@ -0,0 +1,26 @@
+gdbm.h has a conficting declaration of gdbm_version
+
+diff --git a/makegdbm/options.h b/makegdbm/options.h
+index 51597d1..9019af7 100644
+--- a/makegdbm/options.h
++++ b/makegdbm/options.h
+@@ -39,7 +39,6 @@
+ #endif
+
+ extern gdbm_error gdbm_errno;
+-extern char *gdbm_version;
+
+ #define COPYRIGHT \
+ "(c) 1999 Horms <horms@verge.net.au>\nReleased under the GNU GPL\n"
+diff --git a/perdition/db/gdbm/perditiondb_gdbm.h b/perdition/db/gdbm/perditiondb_gdbm.h
+index 4047025..c23a8db 100644
+--- a/perdition/db/gdbm/perditiondb_gdbm.h
++++ b/perdition/db/gdbm/perditiondb_gdbm.h
+@@ -31,7 +31,6 @@
+ #include <gdbm.h>
+
+ extern gdbm_error gdbm_errno;
+-extern char *gdbm_version;
+
+ #ifndef PERDITIONDB_GDBM_SYSCONFDIR
+ #define PERDITIONDB_GDBM_SYSCONFDIR "/usr/local/etc/perdition"
diff --git a/main/perdition/perdition.initd b/main/perdition/perdition.initd
index 0242169c4..397ed4775 100644..100755
--- a/main/perdition/perdition.initd
+++ b/main/perdition/perdition.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
-# Copyright 1999-2005 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/perdition/files/perdition.initd,v 1.2 2008/06/10 18:28:27 dertobi123 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/perdition/files/perdition.initd,v 1.3 2011/06/15 15:24:06 eras Exp $
depend() {
need net
@@ -16,7 +16,16 @@ check_key() {
fi
}
+checkconfig() {
+ # create PIDDIR (usually /var/run/perdition) if necessary
+ if [ ! -d "${PIDDIR:-/var/run/perdition}" ] ; then
+ checkpath -q -d -o ${PERDITION_USER:-perdition}:${PERDITION_USER:-perdition} \
+ -m 0775 "${PIDDIR:-/var/run/perdition}" || return 1
+ fi
+}
+
start() {
+ checkconfig || return 1
if [ "${POP3}" = "yes" ]; then
ebegin "Starting perdition services (POP3)"
start-stop-daemon --quiet --start --startas /usr/sbin/perdition.pop3 -p ${PIDDIR}/pop3.pid \
@@ -70,7 +79,7 @@ stop() {
if [ "${IMAP4S}" = "yes" ]; then
ebegin "Shutting down perdition services (IMAP4S)"
- start-stop-daemon -o --quiet --stop --pidfile ${PIDDIR}/imap4s.pid
+ start-stop-daemon -o --quiet --stop --pidfile ${PIDDIR}/imaps.pid
eend $?
fi
}
diff --git a/main/perdition/perdition.post-install b/main/perdition/perdition.post-install
deleted file mode 100644
index b2820345e..000000000
--- a/main/perdition/perdition.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-adduser -h /var/run/perdition -s /bin/false -S -D perdition &>/dev/null
-chown perdition /var/run/perdition
diff --git a/main/perdition/perdition.pre-install b/main/perdition/perdition.pre-install
new file mode 100644
index 000000000..6396823f8
--- /dev/null
+++ b/main/perdition/perdition.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S perdition 2>/dev/null
+adduser -h /var/run/perdition -s /bin/false -S -G perdition -D perdition 2>/dev/null
+
+exit 0
diff --git a/main/perl-class-inspector/APKBUILD b/main/perl-class-inspector/APKBUILD
index f29ea6c23..70e2c4d87 100644
--- a/main/perl-class-inspector/APKBUILD
+++ b/main/perl-class-inspector/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-class-inspector
-pkgver=1.25
+pkgver=1.27
pkgrel=0
pkgdesc="Class::Inspector perl module"
url="http://search.cpan.org/dist/Class-Inspector/"
@@ -36,4 +36,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="5830bff10a0966993edd14435b8a579b Class-Inspector-1.25.tar.gz"
+md5sums="52e6391cae3c2abdfcd1d450b42bba7e Class-Inspector-1.27.tar.gz"
diff --git a/main/perl-date-manip/APKBUILD b/main/perl-date-manip/APKBUILD
index 532b3e65c..312d05918 100644
--- a/main/perl-date-manip/APKBUILD
+++ b/main/perl-date-manip/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Mika Havela <mika.havela@gmail.com>
-# Maintainer: Mika Havela <mika.havela@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-date-manip
_realname=Date-Manip
-pkgver=6.25
+pkgver=6.30
pkgrel=0
pkgdesc="Perl - Date manipulation routines"
url="http://search.cpan.org/~sbeck/$_realname-$pkgver/"
@@ -32,4 +32,4 @@ package() {
find "$pkgdir" -name perllocal.pod -delete
}
-md5sums="9b6725c4874a97149419518688af3ecc Date-Manip-6.25.tar.gz"
+md5sums="6a0e74703a1b0931e5208b0b93ef689a Date-Manip-6.30.tar.gz"
diff --git a/main/perl-file-listing/APKBUILD b/main/perl-file-listing/APKBUILD
index a37339e1c..e241ec198 100644
--- a/main/perl-file-listing/APKBUILD
+++ b/main/perl-file-listing/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-file-listing
-pkgver=6.03
+pkgver=6.04
pkgrel=0
pkgdesc="File::Listing perl module"
url="http://search.cpan.org/dist/File-Listing/"
@@ -37,4 +37,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="ad56d06a719503198c02188995f32c9e File-Listing-6.03.tar.gz"
+md5sums="83f636b477741f3a014585bb9cc079a6 File-Listing-6.04.tar.gz"
diff --git a/main/perl-http-cookies/APKBUILD b/main/perl-http-cookies/APKBUILD
index 25cb397f9..bdb6c3c68 100644
--- a/main/perl-http-cookies/APKBUILD
+++ b/main/perl-http-cookies/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-http-cookies
-pkgver=6.00
-pkgrel=1
+pkgver=6.01
+pkgrel=0
pkgdesc="HTTP::Cookies perl module"
url="http://search.cpan.org/dist/HTTP-Cookies/"
arch="noarch"
@@ -37,4 +37,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="21bed72b30a46604c152b7e25cf1cb45 HTTP-Cookies-6.00.tar.gz"
+md5sums="ecfd0eeb88512033352c2f13c9580f03 HTTP-Cookies-6.01.tar.gz"
diff --git a/main/perl-http-message/APKBUILD b/main/perl-http-message/APKBUILD
index 22aa01ef3..b3d8d3fb7 100644
--- a/main/perl-http-message/APKBUILD
+++ b/main/perl-http-message/APKBUILD
@@ -1,35 +1,33 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
pkgname=perl-http-message
-pkgver=6.02
-pkgrel=2
-pkgdesc="HTTP::Message perl module"
+_pkgreal=HTTP-Message
+pkgver=6.03
+pkgrel=0
+pkgdesc="HTTP style messages"
url="http://search.cpan.org/dist/HTTP-Message/"
arch="noarch"
-license="GPLv2 or Artistic"
-depends="perl perl-uri perl-html-parser perl-encode-locale perl-lwp-mediatypes
- perl-http-date"
-makedepends="perl-dev"
-install=""
-replaces="perl-libwww"
+license="GPL PerlArtistic"
+cpandepends="perl-http-date perl-uri perl-html-parser perl-encode-locale perl-lwp-mediatypes"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
subpackages="$pkgname-doc"
-source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Message-$pkgver.tar.gz"
+source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
-_builddir="$srcdir"/HTTP-Message-$pkgver
prepare() {
- local i
cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
build() {
cd "$_builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make && make test || return 1
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
}
package() {
@@ -38,4 +36,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="a6b28e44f7b5e5573362f042d522a456 HTTP-Message-6.02.tar.gz"
+md5sums="d41b22c7c01b974f2b4e85d401a6b552 HTTP-Message-6.03.tar.gz"
diff --git a/main/perl-http-negotiate/APKBUILD b/main/perl-http-negotiate/APKBUILD
index 995ea11fa..e0fde801e 100644
--- a/main/perl-http-negotiate/APKBUILD
+++ b/main/perl-http-negotiate/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-http-negotiate
-pkgver=6.00
+pkgver=6.01
pkgrel=0
pkgdesc="HTTP::Negotiate perl module"
url="http://search.cpan.org/dist/HTTP-Negotiate/"
@@ -36,4 +36,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="f2d89957d1c4f62a86f18b08e07c2328 HTTP-Negotiate-6.00.tar.gz"
+md5sums="1236195250e264d7436e7bb02031671b HTTP-Negotiate-6.01.tar.gz"
diff --git a/main/perl-image-exiftool/APKBUILD b/main/perl-image-exiftool/APKBUILD
index c4b780b2c..e3429cd3b 100644
--- a/main/perl-image-exiftool/APKBUILD
+++ b/main/perl-image-exiftool/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-image-exiftool
-pkgver=8.76
+pkgver=8.79
pkgrel=0
pkgdesc="Perl module for editing exif meta info in files"
url="http://www.sno.phy.queensu.ca/~phil/exiftool/"
@@ -45,4 +45,4 @@ exiftool() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-md5sums="a176e674a08a92afa330901f29a7d68d Image-ExifTool-8.76.tar.gz"
+md5sums="72a9095587f3b69efa0b189428512326 Image-ExifTool-8.79.tar.gz"
diff --git a/main/perl-io-socket-ssl/APKBUILD b/main/perl-io-socket-ssl/APKBUILD
index 95ee6501f..cf5223c8a 100644
--- a/main/perl-io-socket-ssl/APKBUILD
+++ b/main/perl-io-socket-ssl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-io-socket-ssl
_realname=IO-Socket-SSL
-pkgver=1.44
+pkgver=1.54
pkgrel=0
pkgdesc="Nearly transparent SSL encapsulation for IO::Socket::INET"
url="http://search.cpan.org/dist/IO-Socket-SSL/"
@@ -28,4 +28,4 @@ package() {
find "$pkgdir" -name perllocal.pod -delete
}
-md5sums="c9d23d3398f7c0dfce0a1cf6d21e86c7 IO-Socket-SSL-1.44.tar.gz"
+md5sums="3d091d3de33a8ca2fe5f75172b1a329b IO-Socket-SSL-1.54.tar.gz"
diff --git a/main/perl-net-http/APKBUILD b/main/perl-net-http/APKBUILD
index e727c8b93..79625a2aa 100644
--- a/main/perl-net-http/APKBUILD
+++ b/main/perl-net-http/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-net-http
-pkgver=6.02
+pkgver=6.03
pkgrel=0
pkgdesc="Net::HTTP perl module"
url="http://search.cpan.org/dist/Net-HTTP/"
@@ -37,4 +37,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="b0fa0a246872ff8da48c65da6f5281fc Net-HTTP-6.02.tar.gz"
+md5sums="86957940d96649ca782b686686b82e7b Net-HTTP-6.03.tar.gz"
diff --git a/main/perl-params-validate/APKBUILD b/main/perl-params-validate/APKBUILD
index 0e10f507e..dbffdb7bd 100644
--- a/main/perl-params-validate/APKBUILD
+++ b/main/perl-params-validate/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-params-validate
-pkgver=1.00
+pkgver=1.06
pkgrel=0
pkgdesc="Params-Validate Perl module"
url="http://search.cpan.org/dist/Params-Validate/"
@@ -36,4 +36,4 @@ package() {
./Build install destdir="$pkgdir" create_packlist=0 || return 1
}
-md5sums="e8989f5686de4cd916cd973ccf097625 Params-Validate-1.00.tar.gz"
+md5sums="4f7a281269cd30d7c3994ba5acb50857 Params-Validate-1.06.tar.gz"
diff --git a/main/perl-www-robotrules/APKBUILD b/main/perl-www-robotrules/APKBUILD
index 6ab4253bf..3bf4f82bd 100644
--- a/main/perl-www-robotrules/APKBUILD
+++ b/main/perl-www-robotrules/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=perl-www-robotrules
-pkgver=6.01
-pkgrel=1
+pkgver=6.02
+pkgrel=0
pkgdesc="WWW::RobotRules perl module"
url="http://search.cpan.org/dist/WWW-RobotRules/"
arch="noarch"
@@ -37,4 +37,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-md5sums="b1252da49727320a1b5e20b3521d2499 WWW-RobotRules-6.01.tar.gz"
+md5sums="b7186e8b8b3701e70c22abf430742403 WWW-RobotRules-6.02.tar.gz"
diff --git a/main/php/APKBUILD b/main/php/APKBUILD
index c1d560840..902fa53b9 100644
--- a/main/php/APKBUILD
+++ b/main/php/APKBUILD
@@ -3,7 +3,7 @@
pkgname=php
pkgver=5.3.10
_suhosinver=5.3.9-0.9.10
-pkgrel=0
+pkgrel=3
pkgdesc="The PHP language runtime engine"
url="http://www.php.net/"
arch="all"
@@ -74,6 +74,7 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-common $pkgname-cgi
source="http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2
http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz
php-install-pear-xml.patch
+ pcre_info.patch
php-fpm.initd
php5-module.conf
"
@@ -444,5 +445,6 @@ pdo_dblib() { _mv_ext pdo_dblib "php-pdo freetds"; }
md5sums="816259e5ca7d0a7e943e56a3bb32b17f php-5.3.10.tar.bz2
c099b3d7eac95018ababd41ded7f3066 suhosin-patch-5.3.9-0.9.10.patch.gz
5111e3be06d391f8772587c675240fab php-install-pear-xml.patch
-8f2bb2b744a2de50025842cb51fb6a3a php-fpm.initd
+8d3806bbb19e390f9b32ccf21611d937 pcre_info.patch
+9ab162ff3428511a68aa9801c746e0d5 php-fpm.initd
67719f428f44ec004da18705cbabe2ee php5-module.conf"
diff --git a/main/php/pcre_info.patch b/main/php/pcre_info.patch
new file mode 100644
index 000000000..e6d10df06
--- /dev/null
+++ b/main/php/pcre_info.patch
@@ -0,0 +1,43 @@
+--- php-5.3.10/ext/pcre/php_pcre.c 2012-01-01 14:15:04.000000000 +0100
++++ php-5.3.10/ext/pcre/php_pcre.c 2012-02-06 13:31:36.198935107 +0100
+@@ -241,6 +241,7 @@
+ char *pattern;
+ int do_study = 0;
+ int poptions = 0;
++ int count = 0;
+ unsigned const char *tables = NULL;
+ #if HAVE_SETLOCALE
+ char *locale = setlocale(LC_CTYPE, NULL);
+@@ -252,10 +252,10 @@
+ back the compiled pattern, otherwise go on and compile it. */
+ if (zend_hash_find(&PCRE_G(pcre_cache), regex, regex_len+1, (void **)&pce) == SUCCESS) {
+ /*
+- * We use a quick pcre_info() check to see whether cache is corrupted, and if it
++ * We use a quick pcre_fullinfo() check to see whether cache is corrupted, and if it
+ * is, we flush it and compile the pattern from scratch.
+ */
+- if (pcre_info(pce->re, NULL, NULL) == PCRE_ERROR_BADMAGIC) {
++ if (pcre_fullinfo(pce->re, NULL, PCRE_INFO_CAPTURECOUNT, &count) == PCRE_ERROR_BADMAGIC) {
+ zend_hash_clean(&PCRE_G(pcre_cache));
+ } else {
+ #if HAVE_SETLOCALE
+--- php-5.3.10/ext/pcre/php_pcre.def 2009-01-11 14:59:00.000000000 +0100
++++ php-5.3.10/ext/pcre/php_pcre.def 2012-02-06 13:31:47.775299315 +0100
+@@ -4,7 +4,6 @@
+ php_pcre_exec
+ php_pcre_get_substring
+ php_pcre_get_substring_list
+-php_pcre_info
+ php_pcre_maketables
+ php_pcre_study
+ php_pcre_version
+--- php-5.3.10/main/php_compat.h 2012-01-01 14:15:04.000000000 +0100
++++ php-5.3.10/main/php_compat.h 2012-02-06 13:26:59.272834580 +0100
+@@ -34,7 +34,6 @@
+ #define pcre_exec php_pcre_exec
+ #define pcre_get_substring php_pcre_get_substring
+ #define pcre_get_substring_list php_pcre_get_substring_list
+-#define pcre_info php_pcre_info
+ #define pcre_maketables php_pcre_maketables
+ #define pcre_study php_pcre_study
+ #define pcre_version php_pcre_version
diff --git a/main/php/php-fpm.initd b/main/php/php-fpm.initd
index 6b8337e8b..fec658935 100644
--- a/main/php/php-fpm.initd
+++ b/main/php/php-fpm.initd
@@ -2,7 +2,7 @@
PHP_FPM_CONF="/etc/php/php-fpm.conf"
-opts="depend start stop reload"
+extra_started_commands="reload"
depend() {
need net
diff --git a/main/pidgin/APKBUILD b/main/pidgin/APKBUILD
index 0078fb446..65a9d576d 100644
--- a/main/pidgin/APKBUILD
+++ b/main/pidgin/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pidgin
-pkgver=2.10.1
+pkgver=2.10.2
pkgrel=0
pkgdesc="graphical multi-protocol instant messaging client for X"
url="http://pidgin.im/"
@@ -69,5 +69,5 @@ libpurple() {
mv "$pkgdir"/usr/share/purple "$pkgdir"/usr/share/sounds \
"$subpkgdir"/usr/share/
}
-md5sums="eafb06b4083a201fe22d310e897a19dd pidgin-2.10.1.tar.bz2
+md5sums="f2b210f2562865d870f193ff1fe8ea75 pidgin-2.10.2.tar.bz2
3cf0c3a476007781f4b0d855817cf58a pidgin-libm.patch"
diff --git a/main/pingu/APKBUILD b/main/pingu/APKBUILD
index 0245351d9..023d2eb2b 100644
--- a/main/pingu/APKBUILD
+++ b/main/pingu/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pingu
-pkgver=1.0
-pkgrel=1
+pkgver=1.1
+pkgrel=0
pkgdesc="Small daemon that pings hosts and executes a script when status change"
url="http://git.alpinelinux.org/cgit/pingu"
arch="all"
@@ -40,5 +40,5 @@ _lua() {
mv "$pkgdir"/usr/lib "$pkgdir"/usr/share "$subpkgdir"/usr/
}
-md5sums="23741d643d62b0bade8bc88576245357 pingu-1.0.tar.bz2
+md5sums="0732926c3ee689598656811b348a2bcb pingu-1.1.tar.bz2
70f56b0f506e1c2e725d0ec062667c32 pingu.initd"
diff --git a/main/pngcrush/01-makefile-sanity.patch b/main/pngcrush/01-makefile-sanity.patch
new file mode 100644
index 000000000..abbeff553
--- /dev/null
+++ b/main/pngcrush/01-makefile-sanity.patch
@@ -0,0 +1,13 @@
+--- pngcrush-1.7.25/Makefile
++++ pngcrush-1.7.25/Makefile
+@@ -20,8 +20,8 @@
+ #CFLAGS = -I. -O -Wall
+ #CFLAGS = -I. -O2
+ #CFLAGS = -I. -O3 -fomit-frame-pointer -Wall
+-#CFLAGS = -I. -Os -fomit-frame-pointer -Wall
+-CFLAGS = -I. -O3 -funroll-loops -fomit-frame-pointer -Wall -Wshadow
++CFLAGS = -I. -Os -fomit-frame-pointer -Wall
++#CFLAGS = -I. -O3 -funroll-loops -fomit-frame-pointer -Wall -Wshadow
+ #CFLAGS = -I${ZINC} -I. -O3 -fomit-frame-pointer -Wall
+ # [note that -Wall is a gcc-specific compilation flag ("all warnings on")]
+
diff --git a/main/pngcrush/APKBUILD b/main/pngcrush/APKBUILD
new file mode 100644
index 000000000..f6e347c98
--- /dev/null
+++ b/main/pngcrush/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer:
+pkgname=pngcrush
+pkgver=1.7.25
+pkgrel=0
+pkgdesc="PNG recompression utility"
+url="http://pngcrush.sourceforge.net"
+arch="all"
+license="zlib"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="
+ http://downloads.sourceforge.net/project/pmt/pngcrush/$pkgver/pngcrush-$pkgver.tar.bz2
+ license.txt
+ 01-makefile-sanity.patch
+ "
+
+_builddir="$srcdir"/pngcrush-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -D -m755 pngcrush "$pkgdir"/usr/bin/pngcrush
+ install -D -m644 "$srcdir"/license.txt "$pkgdir"/usr/share/licenses/pngcrush
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="c891a418419efa07aa513db602d8f403 pngcrush-1.7.25.tar.bz2
+8e5d194d4197e51add36722cd3248717 license.txt
+837e46dc592ef087547372e278502b57 01-makefile-sanity.patch"
diff --git a/main/pngcrush/license.txt b/main/pngcrush/license.txt
new file mode 100644
index 000000000..641d19c0b
--- /dev/null
+++ b/main/pngcrush/license.txt
@@ -0,0 +1,12 @@
+Permission is hereby irrevocably granted to everyone to use, copy, modify,
+and distribute this source code, or portions hereof, or executable programs
+compiled from it, for any purpose, without payment of any fee, subject to
+the following restrictions:
+
+1. The origin of this source code must not be misrepresented.
+
+2. Altered versions must be plainly marked as such and must not be
+ misrepresented as being the original source.
+
+3. This Copyright notice, disclaimer, and license may not be removed
+ or altered from any source or altered source distribution.
diff --git a/main/poppler-gtk/APKBUILD b/main/poppler-gtk/APKBUILD
index bc208f914..2d3f48ad5 100644
--- a/main/poppler-gtk/APKBUILD
+++ b/main/poppler-gtk/APKBUILD
@@ -3,7 +3,7 @@
# this aport only includes glib/gtk support in order to break the
# circular make dependency: gtk <- cups <- poppler <- gtk
-_ver=0.18.3
+_ver=0.18.4
# get the pkgver from poppler
if [ -r ../poppler/APKBUILD ]; then
. ../poppler/APKBUILD
@@ -62,4 +62,4 @@ demo() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-md5sums="d70d2d63d8acd29c97185f7e5f09c9b4 poppler-0.18.3.tar.gz"
+md5sums="12658f3308597e57f3faff538cc73baf poppler-0.18.4.tar.gz"
diff --git a/main/poppler/APKBUILD b/main/poppler/APKBUILD
index f0eb33ff4..9c47ff21c 100644
--- a/main/poppler/APKBUILD
+++ b/main/poppler/APKBUILD
@@ -4,7 +4,7 @@
# circular make dependency: gtk <- cups <- poppler <- gtk
# So we build gtk support in poppler-gtk
pkgname=poppler
-pkgver=0.18.3
+pkgver=0.18.4
pkgrel=0
pkgdesc="PDF rendering library based on xpdf 3.0"
url="http://poppler.freedesktop.org/"
@@ -44,4 +44,4 @@ utils() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
-md5sums="d70d2d63d8acd29c97185f7e5f09c9b4 poppler-0.18.3.tar.gz"
+md5sums="12658f3308597e57f3faff538cc73baf poppler-0.18.4.tar.gz"
diff --git a/main/postfix/APKBUILD b/main/postfix/APKBUILD
index 4757cfd0f..3cf8beded 100644
--- a/main/postfix/APKBUILD
+++ b/main/postfix/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=postfix
-pkgver=2.9.0
-pkgrel=0
+pkgver=2.9.1
+pkgrel=1
pkgdesc="Secure and fast drop-in replacement for Sendmail (MTA)"
url="http://www.postfix.org/"
arch="all"
@@ -9,7 +9,7 @@ license="IPL-1"
depends=
makedepends="db-dev pcre-dev openssl-dev postgresql-dev mysql-dev openldap-dev
cyrus-sasl-dev perl file sqlite-dev"
-install="$pkgname.pre-install $pkgname.post-install"
+install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-ldap $pkgname-mysql $pkgname-pcre
$pkgname-pgsql $pkgname-sqlite"
source="ftp://ftp.porcupine.org/mirrors/$pkgname-release/official/$pkgname-$pkgver.tar.gz
@@ -137,6 +137,10 @@ package() {
install -d -o postfix -g postfix "$pkgdir"/var/spool/postfix
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE
+ chown postfix "$pkgdir"/var/spool/postfix/* "$pkgdir"/var/lib/postfix \
+ || return 1
+ chgrp postdrop "$pkgdir"/var/spool/postfix/maildrop \
+ "$pkgdir"/var/spool/postfix/public || return 1
}
_mv_dict() {
@@ -156,7 +160,7 @@ pcre() { _mv_dict pcre ; }
pgsql() { _mv_dict pgsql ; }
sqlite() { _mv_dict sqlite ; }
-md5sums="43a5ea2d6fb39185a60b4635e016967e postfix-2.9.0.tar.gz
+md5sums="5c81b304a42c691671454dfe80b506ca postfix-2.9.1.tar.gz
d773f01dcc965d219a8a37b88f89c5bf postfix.initd
8de3f108639eda995162c590053a1278 dynamic-maps3.patch
442efd1a95b0c061dfb8ab75456e0f24 dynamicmaps.cf
diff --git a/main/postfix/postfix.post-install b/main/postfix/postfix.post-install
deleted file mode 100644
index 98e01db0b..000000000
--- a/main/postfix/postfix.post-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-chown postfix /var/spool/postfix/* /var/lib/postfix
-chgrp postdrop /var/spool/postfix/maildrop /var/spool/postfix/public
-
-exit 0
diff --git a/main/postfixadmin/APKBUILD b/main/postfixadmin/APKBUILD
new file mode 100644
index 000000000..90a46fbb3
--- /dev/null
+++ b/main/postfixadmin/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=postfixadmin
+pkgver=2.3.5
+pkgrel=0
+pkgdesc="Web Based Management tool for Postfix"
+url="http://postfixadmin.com/"
+arch="noarch"
+license="GPL"
+depends="php postfix"
+makedepends=""
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-$pkgver/postfixadmin-$pkgver.tar.gz"
+
+_builddir="$srcdir"/postfixadmin-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/webapps/postfixadmin \
+ "$pkgdir"/etc/postfixadmin
+ cp -r * "$pkgdir"/usr/share/webapps/postfixadmin/
+
+ # move config to /etc/postfixadmin and create symlink
+ mv "$pkgdir"/usr/share/webapps/postfixadmin/config.inc.php \
+ "$pkgdir"/etc/postfixadmin/
+ ln -s /etc/postfixadmin/config.inc.php \
+ "$pkgdir"/usr/share/webapps/postfixadmin/config.inc.php
+}
+
+md5sums="9a72ed8d827fa2c7f641001f2aa87814 postfixadmin-2.3.5.tar.gz"
diff --git a/main/postgresql/APKBUILD b/main/postgresql/APKBUILD
index ff5d9b4e5..fd226f949 100644
--- a/main/postgresql/APKBUILD
+++ b/main/postgresql/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=postgresql
-pkgver=9.1.2
-pkgrel=2
+pkgver=9.1.3
+pkgrel=0
pkgdesc="A sophisticated object-relational DBMS"
url="http://www.postgresql.org/"
arch="all"
@@ -57,7 +57,7 @@ client() {
}
-md5sums="7dbff52221954c46595313eb7f92c3e0 postgresql-9.1.2.tar.bz2
+md5sums="641e1915f7ebfdc9f138e4c55b6aec0e postgresql-9.1.3.tar.bz2
4d2f5be74fae4895db3d993e69bbda10 postgresql.initd
b609795f715cefcc30b08e4ed01f4416 postgresql.confd
df2d90fc713b4e89fd21abb9e36cd688 pg-restore.initd
diff --git a/main/postgrey/APKBUILD b/main/postgrey/APKBUILD
index b83dca2de..469a1967c 100644
--- a/main/postgrey/APKBUILD
+++ b/main/postgrey/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Michael Mason <ms13sp@gmail.com>
pkgname=postgrey
pkgver=1.34
-pkgrel=0
+pkgrel=1
pkgdesc="Postfix policy server implementing greylisting"
url="http://postgrey.schweikert.ch/"
arch="noarch"
@@ -38,4 +38,4 @@ package() {
md5sums="f736a7be1094593f1a66cd13f32b39ef postgrey-1.34.tar.gz
caaad5770ab07fb5af3bbd522a05b84f postgrey.confd
-d0611b244202c77ad7ad79862721a738 postgrey.initd"
+851f2c402430997d5af8ad71e72ac48a postgrey.initd"
diff --git a/main/postgrey/postgrey.initd b/main/postgrey/postgrey.initd
index c9e51ceba..f2f4699ab 100644
--- a/main/postgrey/postgrey.initd
+++ b/main/postgrey/postgrey.initd
@@ -5,7 +5,7 @@
conf="/etc/conf.d/postgrey"
-opts="${opts} reload"
+extra_started_commands="reload"
depend() {
need net
diff --git a/main/pound/APKBUILD b/main/pound/APKBUILD
index e68516a46..7af602ffb 100644
--- a/main/pound/APKBUILD
+++ b/main/pound/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pound
pkgver=2.6
-pkgrel=0
+pkgrel=1
pkgdesc="A reverse proxy, load balancer, and SSL wrapper"
url="http://www.apsis.ch/pound/index_html"
arch="all"
diff --git a/main/privoxy/APKBUILD b/main/privoxy/APKBUILD
index 2395185bc..d83dbbb78 100644
--- a/main/privoxy/APKBUILD
+++ b/main/privoxy/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=privoxy
pkgver=3.0.19
-pkgrel=0
+pkgrel=1
pkgdesc="A web proxy with advanced filtering capabilities"
url="http://www.privoxy.org"
arch="all"
diff --git a/main/python/APKBUILD b/main/python/APKBUILD
index 35ab8ef08..95b241da9 100644
--- a/main/python/APKBUILD
+++ b/main/python/APKBUILD
@@ -2,7 +2,7 @@
pkgname=python
pkgver=2.7.2
_verbase=${pkgver%.*}
-pkgrel=1
+pkgrel=3
pkgdesc="A high-level scripting language"
url="http://www.python.org"
arch="all"
@@ -13,7 +13,7 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-tests
"
depends=
makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev
- gdbm-dev sqlite-dev libffi-dev"
+ gdbm-dev sqlite-dev libffi-dev readline-dev"
source="http://www.$pkgname.org/ftp/$pkgname/$pkgver/Python-$pkgver.tar.bz2
"
diff --git a/main/qemu/APKBUILD b/main/qemu/APKBUILD
index ec2fea7dc..a76da3e1b 100644
--- a/main/qemu/APKBUILD
+++ b/main/qemu/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=qemu
-pkgver=1.0
-pkgrel=4
+pkgver=1.0.1
+pkgrel=1
pkgdesc="QEMU is a generic machine emulator and virtualizer"
url="http://www.nongnu.org/qemu/"
arch="all"
@@ -138,7 +138,7 @@ img() {
return $_err
}
-md5sums="a64b36067a191451323b0d34ebb44954 qemu-1.0.tar.gz
+md5sums="5efd1091f01e3bc31bfdec27b8edeb00 qemu-1.0.1.tar.gz
66660f143235201249dc0648b39b86ee 80-kvm.rules
a69fe6ff552b61606c5550cac4294abc configure-libm.patch
9f6c3143d61748eedc8cf8d0e53aee2c librt.patch"
diff --git a/main/qt/APKBUILD b/main/qt/APKBUILD
index 5048583da..1b918c43e 100644
--- a/main/qt/APKBUILD
+++ b/main/qt/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=qt
pkgver=4.8.0
-pkgrel=1
+pkgrel=4
pkgdesc="A cross-platform application and UI framework"
url="http://qt.nokia.com/"
arch="all"
@@ -19,6 +19,7 @@ makedepends="$depends_dev postgresql-dev mysql-dev unixodbc-dev cups-dev
install=
source="ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-$pkgver.tar.gz
qt-gtk-theme-fix.patch
+ qsettings-recursive-global-mutex.patch
assistant.desktop
designer.desktop
linguist.desktop
@@ -232,6 +233,7 @@ x11() {
md5sums="e8a5fdbeba2927c948d9f477a6abe904 qt-everywhere-opensource-src-4.8.0.tar.gz
91e8b5ea1e682ae51b60a27d01d7d381 qt-gtk-theme-fix.patch
+7467e168418c50b2737b4b2fab4448fe qsettings-recursive-global-mutex.patch
a445c6917086d80f1cfc1e40cb6b0132 assistant.desktop
d457f0a0ad68a3861c3cadefe3b42ded designer.desktop
668331d9798a0e2b94381efb7be4c513 linguist.desktop
diff --git a/main/qt/qsettings-recursive-global-mutex.patch b/main/qt/qsettings-recursive-global-mutex.patch
new file mode 100644
index 000000000..229123c54
--- /dev/null
+++ b/main/qt/qsettings-recursive-global-mutex.patch
@@ -0,0 +1,17 @@
+Calling qsettings before constructing qapplications causes a dead-lock.
+
+http://sourceforge.net/tracker/?func=detail&aid=3168620&group_id=4932&atid=104932
+http://developer.qt.nokia.com/forums/viewthread/10365
+
+
+--- ./src/corelib/io/qsettings.cpp.orig
++++ ./src/corelib/io/qsettings.cpp
+@@ -122,7 +122,7 @@
+ Q_GLOBAL_STATIC(ConfFileCache, unusedCacheFunc)
+ Q_GLOBAL_STATIC(PathHash, pathHashFunc)
+ Q_GLOBAL_STATIC(CustomFormatVector, customFormatVectorFunc)
+-Q_GLOBAL_STATIC(QMutex, globalMutex)
++Q_GLOBAL_STATIC_WITH_ARGS(QMutex, globalMutex, (QMutex::Recursive))
+ static QSettings::Format globalDefaultFormat = QSettings::NativeFormat;
+
+ #ifndef Q_OS_WIN
diff --git a/main/remmina-plugins/APKBUILD b/main/remmina-plugins/APKBUILD
deleted file mode 100644
index b7a4b0b49..000000000
--- a/main/remmina-plugins/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=remmina-plugins
-pkgver=0.9.2
-pkgrel=1
-pkgdesc="Remmina plugins"
-url="http://sourceforge.net/projects/remmina/"
-arch="all"
-license="GPL"
-depends=""
-makedepends="perl remmina-dev freerdp-dev libxkbfile-dev gtk+-dev libssh-dev
- jpeg-dev gnutls-dev"
-install=
-source="http://downloads.sourceforge.net/project/remmina/${pkgver%.*}/remmina-plugins-$pkgver.tar.gz"
-
-_builddir="$srcdir"/$pkgname-$pkgver
-build ()
-{
- cd $srcdir/$pkgname-$pkgver
- ./configure --prefix=/usr \
- --enable-ssh \
- --enable-rdp \
- --enable-vnc \
- --enable-xdmcp \
- --enable-nx \
- --disable-telepathy \
- || return 1
- make || return 1
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
- # remove *.a and *.la
- rm "$pkgdir"/usr/lib/remmina/plugins/*.*a
-}
-
-md5sums="6f6b7cb18f7604f3f17eeda5173ede6a remmina-plugins-0.9.2.tar.gz"
diff --git a/main/remmina/APKBUILD b/main/remmina/APKBUILD
index 4ee4f12ec..32cbf2744 100644
--- a/main/remmina/APKBUILD
+++ b/main/remmina/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=remmina
pkgver=1.0.0
-pkgrel=0
+pkgrel=4
pkgdesc="Remmina is a remote desktop client written in GTK+"
url="http://remmina.sourceforge.net/"
arch="all"
@@ -9,8 +9,9 @@ license="GPL"
depends=
makedepends="gtk+-dev intltool zlib-dev jpeg-dev gnutls-dev vte-dev
libgcrypt-dev libssh-dev libxkbfile-dev freerdp-dev avahi-dev
- wget cmake"
+ cmake"
install=
+replaces="remmina-plugins"
subpackages="$pkgname-dev $pkgname-lang"
source="https://github.com/downloads/FreeRDP/Remmina/Remmina-$pkgver.tar.gz
underlinking.patch
@@ -29,6 +30,7 @@ build() {
cd "$srcdir"/FreeRDP-Remmina-*
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_PTHREAD=ON \
-DWITH_TELEPATHY=OFF \
|| return 1
make || return 1
@@ -40,5 +42,5 @@ package() {
}
md5sums="701c540acaab961bc3adf130a2ddb8b1 Remmina-1.0.0.tar.gz
-c5874505afdcbc984beda485eed23b47 underlinking.patch
+594668bf54d4068cc57f8cfdae482adb underlinking.patch
178d55f7aa59d6dc73b19e03201ad1e4 no-gnome-keyring.patch"
diff --git a/main/remmina/underlinking.patch b/main/remmina/underlinking.patch
index 4cabfea11..63fa39a9c 100644
--- a/main/remmina/underlinking.patch
+++ b/main/remmina/underlinking.patch
@@ -30,3 +30,52 @@ index 0fe7bbf..5368a26 100644
--
1.7.9
+--- ./cmake/FindFREERDP.cmake.orig
++++ ./cmake/FindFREERDP.cmake
+@@ -42,11 +42,17 @@
+ find_library(FREERDP_CHANNELS_LIBRARY NAMES freerdp-channels
+ HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
+
++find_library(FREERDP_CACHE_LIBRARY NAMES freerdp-cache
++ HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
++
++find_library(FREERDP_UTILS NAMES freerdp-utils
++ HINTS ${PC_FREERDP_LIBDIR} ${PC_FREERDP_LIBRARY_DIRS})
++
+ include(FindPackageHandleStandardArgs)
+
+ find_package_handle_standard_args(FREERDP DEFAULT_MSG FREERDP_LIBRARY FREERDP_INCLUDE_DIR)
+
+-set(FREERDP_LIBRARIES ${FREERDP_LIBRARY} ${FREERDP_GDI_LIBRARY} ${FREERDP_KBD_LIBRARY} ${FREERDP_RAIL_LIBRARY} ${FREERDP_CODEC_LIBRARY} ${FREERDP_CHANNELS_LIBRARY})
++set(FREERDP_LIBRARIES ${FREERDP_LIBRARY} ${FREERDP_GDI_LIBRARY} ${FREERDP_KBD_LIBRARY} ${FREERDP_RAIL_LIBRARY} ${FREERDP_CODEC_LIBRARY} ${FREERDP_CHANNELS_LIBRARY} ${FREERDP_CACHE_LIBRARY} ${FREERDP_UTILS_LIBRARY} -lfreerdp-utils)
+ set(FREERDP_INCLUDE_DIRS ${FREERDP_INCLUDE_DIR})
+
+ mark_as_advanced(FREERDP_INCLUDE_DIR FREERDP_LIBRARY)
+--- ./remmina-plugins/vnc/CMakeLists.txt.orig
++++ ./remmina-plugins/vnc/CMakeLists.txt
+@@ -28,7 +28,7 @@
+ set_target_properties(remmina-plugin-vnc PROPERTIES PREFIX "")
+
+ include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${LIBVNCSERVER_INCLUDE_DIRS})
+-target_link_libraries(remmina-plugin-vnc ${REMMINA_COMMON_LIBRARIES} ${LIBVNCSERVER_LIBRARIES})
++target_link_libraries(remmina-plugin-vnc ${REMMINA_COMMON_LIBRARIES} ${LIBVNCSERVER_LIBRARIES})
+
+ install(TARGETS remmina-plugin-vnc DESTINATION ${REMMINA_PLUGINDIR})
+
+--- ./remmina-plugins/vnc/libvncserver/CMakeLists.txt.orig
++++ ./remmina-plugins/vnc/libvncserver/CMakeLists.txt
+@@ -29,6 +29,7 @@
+ endif(JPEG_FOUND)
+ option(LIBVNCSERVER_ALLOW24BPP "Allow 24 bpp" ON)
+ if(GNUTLS_FOUND)
++ message(STATUS "Found libgnutls: ${GNUTLS_LIBRARIES}")
+ set(LIBVNCSERVER_WITH_CLIENT_TLS 1)
+ endif(GNUTLS_FOUND)
+ if(LIBGCRYPT_LIBRARIES)
+@@ -98,5 +99,5 @@
+ set(ADDITIONAL_LIBS ws2_32)
+ endif(WIN32)
+
+-target_link_libraries(vncclient ${ADDITIONAL_LIBS} ${ZLIB_LIBRARIES} ${JPEG_LIBRARIES})
++target_link_libraries(vncclient ${ADDITIONAL_LIBS} ${ZLIB_LIBRARIES} ${JPEG_LIBRARIES} ${GNUTLS_LIBRARIES})
+
diff --git a/main/ristretto/APKBUILD b/main/ristretto/APKBUILD
index 84b6997c6..486597d60 100644
--- a/main/ristretto/APKBUILD
+++ b/main/ristretto/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ristretto
-pkgver=0.3.4
+pkgver=0.3.5
pkgrel=0
pkgdesc="Ristretto is a image viewer for Xfce"
url="http://goodies.xfce.org/projects/applications/ristretto"
@@ -36,4 +36,4 @@ package() {
cd "$srcdir"/$pkgname-$pkgver
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="86c042ee4ffefb0ff5e806849ec4d33c ristretto-0.3.4.tar.bz2"
+md5sums="3bfdf129926236a45c58d7afdbb703b7 ristretto-0.3.5.tar.bz2"
diff --git a/main/roundcubemail/APKBUILD b/main/roundcubemail/APKBUILD
index 0ae69d7f2..ff85dee10 100644
--- a/main/roundcubemail/APKBUILD
+++ b/main/roundcubemail/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=roundcubemail
-pkgver=0.7.1
+pkgver=0.7.2
pkgrel=0
pkgdesc="A PHP web-based mail client"
url="http://www.roundcube.net"
@@ -63,5 +63,5 @@ installer() {
"$subpkgdir"/usr/share/webapps/roundcube
}
-md5sums="bc4f20d3d7f69a5df0ae54172da2998f roundcubemail-0.7.1.tar.gz
+md5sums="529bd9131e796e368b68b9aec9c885d0 roundcubemail-0.7.2.tar.gz
1a134edb94ff52e8a046725e485a381d fix-dirs.patch"
diff --git a/main/rrdtool/APKBUILD b/main/rrdtool/APKBUILD
index d300dbc76..92f74ebff 100644
--- a/main/rrdtool/APKBUILD
+++ b/main/rrdtool/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=rrdtool
-pkgver=1.4.5
-pkgrel=1
+pkgver=1.4.7
+pkgrel=0
pkgdesc="Data logging and graphing application"
url="http://www.rrdtool.org"
arch="all"
@@ -58,4 +58,4 @@ lua_rrd() {
}
-md5sums="4d116dba9a0888d8aaac179e35d3980a rrdtool-1.4.5.tar.gz"
+md5sums="ffe369d8921b4dfdeaaf43812100c38f rrdtool-1.4.7.tar.gz"
diff --git a/main/ruby-rmagick/APKBUILD b/main/ruby-rmagick/APKBUILD
index 976b03233..6091c3b7c 100644
--- a/main/ruby-rmagick/APKBUILD
+++ b/main/ruby-rmagick/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby-rmagick
_gemname=rmagick
pkgver=2.13.1
-pkgrel=1
+pkgrel=2
pkgdesc="Ruby ImageMagick interface"
url="http://rmagick.rubyforge.org"
arch="all"
diff --git a/main/ruby/APKBUILD b/main/ruby/APKBUILD
index cbbe23984..1d5cca2d8 100644
--- a/main/ruby/APKBUILD
+++ b/main/ruby/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ruby
pkgver=1.8.7_p352
_pkgver=${pkgver/_/-}
-pkgrel=0
+pkgrel=1
pkgdesc="An object-oriented language for quick and easy programming"
url="http://www.ruby-lang.org/en/"
arch="all"
diff --git a/main/slang/APKBUILD b/main/slang/APKBUILD
index f98a19cdb..486e74cde 100644
--- a/main/slang/APKBUILD
+++ b/main/slang/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=slang
pkgver=2.2.4
-pkgrel=0
+pkgrel=1
pkgdesc="S-Lang is a powerful interpreted language"
url="http://www.s-lang.org/"
arch="all"
diff --git a/main/snort/APKBUILD b/main/snort/APKBUILD
index 1509cd3c9..07e399872 100644
--- a/main/snort/APKBUILD
+++ b/main/snort/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=snort
pkgver=2.9.2.1
-pkgrel=0
+pkgrel=1
pkgdesc="An open source network intrusion prevention and detection system"
url="http://www.snort.org/"
arch="all"
diff --git a/main/subversion/APKBUILD b/main/subversion/APKBUILD
index 3ddedc910..0a7b6c463 100644
--- a/main/subversion/APKBUILD
+++ b/main/subversion/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=subversion
-pkgver=1.7.2
-pkgrel=3
+pkgver=1.7.4
+pkgrel=0
pkgdesc="Replacement for CVS, another versioning system (svn)"
url="http://subversion.tigris.org/"
arch="all"
@@ -82,7 +82,7 @@ pl() {
mv "$pkgdir"/usr/lib/*perl* "$subpkgdir"/usr/lib/
}
-md5sums="1e5dfffd27be080672e5a042564368a8 subversion-1.7.2.tar.bz2
+md5sums="99ace9433be21a4793fc1cdbf2fdea09 subversion-1.7.4.tar.bz2
e1127cb722daecb3c89adbaf9eed7adf subversion-1.7.0-deplibs.patch
cb2697049b57cab4d7d07336c2a339d3 subversion-perl-deplibs.patch
d084a7558053784886bc858b94fa9186 svnserve.confd
diff --git a/main/sudo/APKBUILD b/main/sudo/APKBUILD
index ea42e5d9d..50d057cad 100644
--- a/main/sudo/APKBUILD
+++ b/main/sudo/APKBUILD
@@ -1,19 +1,19 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=sudo
-pkgver=1.8.3_p2
+pkgver=1.8.4_p4
if [ "${pkgver%_*}" != "$pkgver" ]; then
_realver=${pkgver%_*}${pkgver#*_}
else
_realver=$pkgver
fi
-pkgrel=1
+pkgrel=0
pkgdesc="Give certain users the ability to run some commands as root"
url="http://www.sudo.ws/sudo/"
arch="all"
license='custom ISC'
-makedepends=
+makedepends="zlib-dev"
depends=
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-dev"
source="ftp://ftp.sudo.ws/pub/sudo/$pkgname-$_realver.tar.gz
libcrypt.patch"
@@ -33,17 +33,18 @@ build() {
--with-env-editor \
--without-pam \
--without-skey \
+ --with-passprompt="[sudo] password for %p: " \
|| return 1
make || return 1
}
package() {
cd "$_builddir"
- make -j1 DESTDIR="$pkgdir" install || return 1
# the sudo's mkinstalldir script miscreates the leading
# path components with bad permissions. fix this.
- chmod 0755 "$pkgdir"/var "$pkgdir"/var/lib || return 1
+ install -d -m0755 "$pkgdir"/var "$pkgdir"/var/db || return 1
+ make -j1 DESTDIR="$pkgdir" install || return 1
}
-md5sums="6d4282a1530c541f7900fa8dfcf2a882 sudo-1.8.3p2.tar.gz
+md5sums="b9be6df7ecefedff2263052ed9fc5e93 sudo-1.8.4p4.tar.gz
429d9613091f1f3f19ce8def5b3032b3 libcrypt.patch"
diff --git a/main/swfdec-mozilla/APKBUILD b/main/swfdec-mozilla/APKBUILD
index c2855fae1..2249a2abb 100644
--- a/main/swfdec-mozilla/APKBUILD
+++ b/main/swfdec-mozilla/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=swfdec-mozilla
pkgver=0.8.2
-pkgrel=3
+pkgrel=4
pkgdesc="free plugin for Mozilla browsers that uses the Swfdec library for playing SWF files"
url="http://swfdec.freedesktop.org"
arch="all"
diff --git a/main/swfdec/APKBUILD b/main/swfdec/APKBUILD
index 01d79d47a..2272abd9a 100644
--- a/main/swfdec/APKBUILD
+++ b/main/swfdec/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=swfdec
pkgver=0.8.4
-pkgrel=5
+pkgrel=6
pkgdesc="free library for decoding and rendering Flash animations"
url="http://swfdec.freedesktop.org"
arch="all"
diff --git a/main/swig/APKBUILD b/main/swig/APKBUILD
index 9b3363e0c..0dfff9844 100644
--- a/main/swig/APKBUILD
+++ b/main/swig/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=swig
pkgver=2.0.4
-pkgrel=0
+pkgrel=1
pkgdesc="SWIG is a compiler that makes it easy to integrate C and C++ code with scripting languages"
url="http://www.swig.org/"
arch="all"
diff --git a/main/sylpheed/APKBUILD b/main/sylpheed/APKBUILD
index 0537d4e7e..6eb592625 100644
--- a/main/sylpheed/APKBUILD
+++ b/main/sylpheed/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=sylpheed
-pkgver=3.1.2
-pkgrel=1
+pkgver=3.1.3
+pkgrel=0
pkgdesc="Lightweight and user-friendly e-mail client"
url="http://sylpheed.sraoss.jp/en/"
arch="all"
@@ -24,4 +24,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
find "$pkgdir" -name '*.la' -delete
}
-md5sums="17100ab8ef5ef7e431bdbcff68bbf7b4 sylpheed-3.1.2.tar.bz2"
+md5sums="2ad17c0f822b266d83dfba11c3088659 sylpheed-3.1.3.tar.bz2"
diff --git a/main/sysstat/APKBUILD b/main/sysstat/APKBUILD
index 76a29811e..a0b234dac 100644
--- a/main/sysstat/APKBUILD
+++ b/main/sysstat/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=sysstat
-pkgver=10.0.3
+pkgver=10.0.4
pkgrel=0
pkgdesc="Performance monitoring tools for Linux"
url="http://pagesperso-orange.fr/sebastien.godard/"
@@ -28,4 +28,4 @@ package() {
}
-md5sums="0e1ed5200f31f69a3b90ff1e81c07745 sysstat-10.0.3.tar.gz"
+md5sums="c84fd7774080dae34f47257175a0b187 sysstat-10.0.4.tar.gz"
diff --git a/main/thunar/APKBUILD b/main/thunar/APKBUILD
index 347a54b51..0038e7dc9 100644
--- a/main/thunar/APKBUILD
+++ b/main/thunar/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=thunar
pkgver=1.3.0
-pkgrel=3
+pkgrel=4
pkgdesc="File manager for Xfce"
url="http://thunar.xfce.org"
arch="all"
diff --git a/main/tinc/APKBUILD b/main/tinc/APKBUILD
index c67a38d92..b9d73ac8b 100644
--- a/main/tinc/APKBUILD
+++ b/main/tinc/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=tinc
-pkgver=1.0.16
+pkgver=1.0.17
pkgrel=0
pkgdesc="tinc is a Virtual Private Network (VPN) daemon"
url="http://www.tinc-vpn.org/"
@@ -45,7 +45,7 @@ package() {
"$pkgdir"/etc/conf.d/tinc.networks
}
-md5sums="f1c7ed94878725fb2cf4efb02bf160da tinc-1.0.16.tar.gz
+md5sums="cd9e94e472584f9fe96cd86b42345afe tinc-1.0.17.tar.gz
411a260ed9bb1fc441444c3efbeafd7b tincd.initd
b95471eab010c0ed002cf3d16a009ced tincd.lo.initd
475d64d9aa410ec7e91f5b079800abc9 tinc.networks"
diff --git a/main/tzdata/APKBUILD b/main/tzdata/APKBUILD
index f412e9b89..a3ed2b477 100644
--- a/main/tzdata/APKBUILD
+++ b/main/tzdata/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=tzdata
-pkgver=2011n
+pkgver=2012b
_tzcodever=2011i
_ptzver=0.3
pkgrel=0
@@ -48,7 +48,7 @@ package() {
}
md5sums="cf7f4335b7c8682899fa2814e711c1b2 tzcode2011i.tar.gz
-20dbfb28efa008ddbf6dd34601ea40fa tzdata2011n.tar.gz
+0615fd29def380a917e528433c820368 tzdata2012b.tar.gz
99efce32b3f870e1b071ce47f3a98a18 posixtz-0.3.tar.bz2
a64ed97d1fc03c66ee8612c0d9f40507 Makefile.patch
0b4d86d855f7daa3f79c9f28f04a48f9 0001-posixtz-fix-up-lseek.patch"
diff --git a/main/unixodbc/APKBUILD b/main/unixodbc/APKBUILD
index ee22bb693..81080280e 100644
--- a/main/unixodbc/APKBUILD
+++ b/main/unixodbc/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=unixodbc
-pkgver=2.3.0
-pkgrel=3
+pkgver=2.3.1
+pkgrel=0
pkgdesc="ODBC is an open specification to access Data Sources"
url="http://www.unixodbc.org/"
arch="all"
@@ -33,4 +33,4 @@ package() {
}
-md5sums="f2ad22cbdffe836c58987ed2332c2e99 unixODBC-2.3.0.tar.gz"
+md5sums="86788d4006620fa1f171c13d07fdcaab unixODBC-2.3.1.tar.gz"
diff --git a/main/util-vserver/APKBUILD b/main/util-vserver/APKBUILD
index e1dbeec16..f2364f452 100644
--- a/main/util-vserver/APKBUILD
+++ b/main/util-vserver/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=util-vserver
-pkgver=0.30.216_pre2994
-_realver=${pkgver%_*}-${pkgver#*_}
-pkgrel=1
+pkgver=0.30.216_pre3029
+_realver=${pkgver/_/-}
+pkgrel=0
pkgdesc="Linux-VServer admin utilities"
url="http://www.nongnu.org/util-vserver/"
arch="all"
@@ -13,12 +13,6 @@ makedepends="iptables-dev e2fsprogs-dev beecrypt-dev autoconf automake
depends="bash make"
source="http://people.linux-vserver.org/~dhozac/t/uv-testing/util-vserver-$_realver.tar.bz2
- chmod.patch
- ensc_pathprog.patch
- validate.patch
- alpine.patch
- bb-grep.patch
- init-script.patch
setup-vs-template
setup-vs-guest
"
@@ -33,14 +27,6 @@ prepare() {
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
- msg "Running autotools..."
- libtoolize --force && aclocal -I m4 && autoconf && automake || return 1
-
- # this is an ugly workaround
- sed -i -e "s:as_echo=.*:as_echo=echo:g" configure
-
- # issue 305
- sed -i -e 's/^function //' gentoo/util-vserver
}
build() {
@@ -70,12 +56,6 @@ package() {
install -Dm755 ../setup-vs-guest "$pkgdir"/usr/sbin/setup-vs-guest
}
-md5sums="c2801f089982043bd0528349a1c61bb7 util-vserver-0.30.216-pre2994.tar.bz2
-73c7437dea6937a57cf38d166ef83c09 chmod.patch
-ff8f561f672524eb46fe633f584ef60e ensc_pathprog.patch
-da8b70c4fd40e68894b3903ffd121397 validate.patch
-04000261fd990a3963b0e98260b481bd alpine.patch
-3fc52e20d998f02995f21912738f5d36 bb-grep.patch
-6e574535409b3ab0361023f1a7f082eb init-script.patch
+md5sums="e0775fe6ee9ce390be2be84c94eca4ab util-vserver-0.30.216-pre3029.tar.bz2
fae6626b724dec90a19924d68d355cd2 setup-vs-template
-ef35e154d1a221631a53f9c2cfbe9834 setup-vs-guest"
+4778b260b0fa8b5ce05d0a64f0b2fb39 setup-vs-guest"
diff --git a/main/util-vserver/alpine.patch b/main/util-vserver/alpine.patch
deleted file mode 100644
index eacc2cb62..000000000
--- a/main/util-vserver/alpine.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: distrib/alpine/initpost
-===================================================================
---- a/distrib/alpine/initpost (revision 2855)
-+++ b/distrib/alpine/initpost (working copy)
-@@ -1,6 +1,6 @@
- #!/bin/bash
-
--# Copyright (C) 2007 Natanael Copa <ncopa@alpinelinux.org>
-+# Copyright (C) 2007, 2009 Natanael Copa <ncopa@alpinelinux.org>
- #
- # 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
-@@ -37,7 +37,12 @@
- $_VSERVER "$vserver" stop &>/dev/null || true
- $_VSERVER "$vserver" start --rescue --rescue-init /bin/busybox sh -c '
- /bin/busybox --install -s
-- /sbin/rc_add -s 20 -k syslog
-+ if [ -x /sbin/rc-update ]; then
-+ /sbin/rc-update add syslog boot
-+ /bin/rmdir /etc/rcL.d /etc/rcK.d
-+ else
-+ /sbin/rc_add -s 20 -k syslog
-+ fi
- '
-
- # set up hostname
diff --git a/main/util-vserver/bb-grep.patch b/main/util-vserver/bb-grep.patch
deleted file mode 100644
index ce6c5f045..000000000
--- a/main/util-vserver/bb-grep.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./scripts/functions.orig
-+++ ./scripts/functions
-@@ -553,7 +553,7 @@
- for _ga_j in "${_ga_marks[@]}"; do
- _ga_mark="$(echo "$_ga_j" | $_SED 's/^[!~]//')"
- test "$_ga_j" = "$_ga_mark" || _ga_invert=true
-- test -s "$_ga_markfile" && $_GREP -qx "$_ga_mark" "$_ga_markfile" && \
-+ test -s "$_ga_markfile" && $_GREP -q "^$_ga_mark\$" "$_ga_markfile" && \
- _ga_f=true || :
- done
- test $_ga_f = $_ga_invert && \
-@@ -637,7 +637,7 @@
- set -- $($_GREP '^Tasks:' "/proc/virtual/$1/status" 2>/dev/null)
- _gp_procnr_cnt=$2
- else
-- _gp_procnr_cnt=$($_VPS ax | $_AWK '{print $2}' | $_GREP -x "$1" | $_WC -l )
-+ _gp_procnr_cnt=$($_VPS ax | $_AWK '{print $2}' | $_GREP "^$1\$" | $_WC -l )
- fi
-
- let _gp_procnr_cnt=_gp_procnr_cnt+0
diff --git a/main/util-vserver/chmod.patch b/main/util-vserver/chmod.patch
deleted file mode 100644
index 53861e893..000000000
--- a/main/util-vserver/chmod.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru a/Makefile.am b/Makefile.am
---- a/Makefile.am 2009-09-29 13:48:10.000000000 +0000
-+++ b/Makefile.am 2009-09-29 13:50:00.000000000 +0000
-@@ -149,7 +149,7 @@
- @mkdir -p $$(dirname '$@')
- @echo "$(SED) -e '...' $*.pathsubst >$*"
- @$(SED) -e '$(pathsubst_RULES)' '$<' >'$@.tmp'
-- @-chmod --reference='$<' '$@.tmp'
-+ @-chmod $$(stat -c %a '$<') '$@.tmp'
- @if cmp -s '$@.tmp' '$*'; then \
- echo "... no changes, reusing old version"; \
- rm -f '$@.tmp'; \
diff --git a/main/util-vserver/ensc_pathprog.patch b/main/util-vserver/ensc_pathprog.patch
deleted file mode 100644
index e14c1f6da..000000000
--- a/main/util-vserver/ensc_pathprog.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru a/m4/ensc_pathprog.m4 b/m4/ensc_pathprog.m4
---- a/m4/ensc_pathprog.m4 2009-10-02 17:25:49.000000000 +0000
-+++ b/m4/ensc_pathprog.m4 2009-10-02 17:31:28.000000000 +0000
-@@ -61,7 +61,9 @@
-
- if test "x$5" = x; then
- if test -h "${$1}"; then
-- $1=`readlink -f "${$1}"`
-+ case `readlink "{$1}"` in
-+ ../*) $1=`readlink -f "${$1}"`;;
-+ esac
- fi
- fi
-
diff --git a/main/util-vserver/init-script.patch b/main/util-vserver/init-script.patch
deleted file mode 100644
index 2bfd40a9a..000000000
--- a/main/util-vserver/init-script.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- util-vserver-0.30.216-pre2994.orig/gentoo/util-vserver
-+++ util-vserver-0.30.216-pre2994/gentoo/util-vserver
-@@ -58,7 +58,7 @@
- $__PKGLIBDIR/bash-wrapper 'hasCgroup'
- if [ $? -eq 0 ]; then
- ebegin "Mounting cgroup-hierarchy"
-- $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_MKDIR -p "$CGROUP_MNT"; $_MOUNT -t cgroup -o "$CGROUP_SUBSYS" vserver "$CGROUP_MNT"'
-+ $__PKGLIBDIR/bash-wrapper '_generateCgroupOptions; test -n "$CGROUP_MNT" || exit 0; $_MKDIR -p "$CGROUP_MNT"; IFS=","; $_MOUNT -t cgroup -o "${CGROUP_SUBSYS[*]}" vserver "$CGROUP_MNT"'
- eend $?
- fi
- }
diff --git a/main/util-vserver/setup-vs-guest b/main/util-vserver/setup-vs-guest
index 8a4130669..985be9c3a 100644
--- a/main/util-vserver/setup-vs-guest
+++ b/main/util-vserver/setup-vs-guest
@@ -131,12 +131,12 @@ ask_until() {
# http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
valid_hostname() {
# check length
- if [ $(echo "$1" | wc -c) -gt 63 ]; then
+ if [ $(echo "$1" | wc -c) -gt 255 ]; then
echo "Hostname '$1' is too long."
return 1
fi
# check that it only contains valid chars
- if ! [ -z "$(echo $1 | sed 's/[0-9a-z-]//g')" ]; then
+ if ! [ -z "$(echo $1 | sed 's/[0-9.a-z-]//g')" ]; then
echo "Hostname must only contain letters (a-z), digits (0-9) or -"
return 1
fi
diff --git a/main/util-vserver/validate.patch b/main/util-vserver/validate.patch
deleted file mode 100644
index 081dce5a3..000000000
--- a/main/util-vserver/validate.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -ru a/m4/validate.am b/m4/validate.am
---- a/m4/validate.am 2009-10-02 17:57:03.000000000 +0000
-+++ b/m4/validate.am 2009-10-02 17:58:15.000000000 +0000
-@@ -26,5 +26,5 @@
- .%-up-to-date:
- @rm -f .*-up-to-date
- @$(MAKE) -s clean
-- @touch -t 197001020000 '$@'
-+ @cp -a Makefile.am '$@'
- @$(MAKE) -s $(BUILT_SOURCES)
diff --git a/main/valgrind/APKBUILD b/main/valgrind/APKBUILD
index f1895dbe4..1ab0d3ed4 100644
--- a/main/valgrind/APKBUILD
+++ b/main/valgrind/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=valgrind
pkgver=3.7.0
-pkgrel=2
+pkgrel=3
pkgdesc="A tool to help find memory-management problems in programs"
url="http://valgrind.org/"
arch="all"
@@ -56,9 +56,8 @@ package() {
# pax causes some issues
# http://marc.info/?l=gentoo-hardened&m=119512627126298&w=2
- if [ -x "$pkgdir"/usr/lib/valgrind/memcheck-amd64-linux ]; then
- paxctl -c -m "$pkgdir"/usr/lib/valgrind/memcheck-amd64-linux
- fi
+ # http://bugs.alpinelinux.org/issues/999
+ paxctl -c -m "$pkgdir"/usr/lib/valgrind/*-*-linux
}
md5sums="a855fda56edf05614f099dca316d1775 valgrind-3.7.0.tar.bz2
diff --git a/main/vde2/APKBUILD b/main/vde2/APKBUILD
index b4bf5bd0d..38e994f7c 100644
--- a/main/vde2/APKBUILD
+++ b/main/vde2/APKBUILD
@@ -1,17 +1,18 @@
# Maintainer: Michael Zhou <zhoumichaely@gmail.com>
pkgname=vde2
pkgver=2.3.1
-pkgrel=3
+pkgrel=5
pkgdesc="VDE: Virtual Distributed Ethernet. User mode networking for QEMU, UML, etc."
url="http://vde.sf.net"
arch="all"
license="GPL"
depends="openssl"
+install="vde2.pre-install"
makedepends="openssl-dev libpcap-dev"
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs"
source="http://downloads.sourceforge.net/project/vde/vde2/2.3.1/vde2-2.3.1.tar.gz
- vde.initd
- vde.confd
+ vde2.pre-up
+ vde2.post-down
"
_builddir="$srcdir"/$pkgname-$pkgver
@@ -32,8 +33,10 @@ package() {
"$pkgdir"/usr/lib/vde2/*/*.la \
|| return 1
- install -Dm755 "$srcdir"/vde.initd "$pkgdir"/etc/init.d/vde || return 1
- install -Dm644 "$srcdir"/vde.confd "$pkgdir"/etc/conf.d/vde || return 1
+ install -Dm755 "$srcdir"/vde2.pre-up \
+ "$pkgdir"/etc/network/if-pre-up.d/vde2 || return 1
+ install -Dm755 "$srcdir"/vde2.post-down \
+ "$pkgdir"/etc/network/if-post-down.d/vde2 || return 1
}
libs() {
@@ -43,5 +46,5 @@ libs() {
}
md5sums="c8c2acb92a72f779e0b484b1543a1cc3 vde2-2.3.1.tar.gz
-21c1b8e841978461aa5c87b3f8abf01d vde.initd
-318c787df292690c4da5b6ed83dc1893 vde.confd"
+e484324d93baf668d7ec756f36ebf389 vde2.pre-up
+d9a32a3e77e64a265e00df5ab1081672 vde2.post-down"
diff --git a/main/vde2/vde.confd b/main/vde2/vde.confd
deleted file mode 100644
index d87945375..000000000
--- a/main/vde2/vde.confd
+++ /dev/null
@@ -1,10 +0,0 @@
-# load the tun module
-VDE_MODPROBE_TUN="yes"
-# virtual tap networking device to be used for vde
-VDE_TAP="tap0"
-# mode and group for the socket
-VDE_SOCK_CHMOD="770"
-VDE_SOCK_CHOWN=":qemu"
-
-# This is the actual options string passed to VDE. Change this at your own risk.
-VDE_OPTS="-tap ${VDE_TAP} -daemon"
diff --git a/main/vde2/vde.initd b/main/vde2/vde.initd
deleted file mode 100644
index 6400f9bbb..000000000
--- a/main/vde2/vde.initd
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/vde/files/vde.init,v 1.4 2010/01/12 12:58:36 dang Exp $
-
-depend() {
- after net.${VDE_TAP}
-}
-
-
-start() {
- ebegin "Starting vde"
- [ "${VDE_MODPROBE_TUN}" == "yes" ] && modprobe tun
- start-stop-daemon --start --quiet \
- --exec /usr/bin/vde_switch -- ${VDE_OPTS}
- eend $? "Failed to start vde"
- chmod -R ${VDE_SOCK_CHMOD} /var/run/vde.ctl
- chown -R ${VDE_SOCK_CHOWN} /var/run/vde.ctl
-}
-
-stop() {
- ebegin "Stopping vde"
- [ "${VDE_MODPROBE_TUN}" == "yes" ] && modprobe -r tun
- start-stop-daemon --stop --quiet --exec /usr/bin/vde_switch
- eend $? "Failed to stop vde"
-}
diff --git a/main/vde2/vde2.post-down b/main/vde2/vde2.post-down
new file mode 100644
index 000000000..be5f5b31d
--- /dev/null
+++ b/main/vde2/vde2.post-down
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+VDE_SWITCH=/usr/bin/vde_switch
+SLIRPVDE=/usr/bin/slirpvde
+
+# this is not an interesting stanza for us
+if [ -z "$IF_VDE2_SWITCH" -a -z "$IF_VDE2_PLUG" -a -z "$IF_VDE2_SLIRP" ]; then
+ exit 0
+fi
+
+PIDFILE="/var/run/vde2/$IFACE-plug.pid"
+CTLFILE="/var/run/vde2/$IFACE.ctl"
+if [ -f $PIDFILE ]; then
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+ rm -f $PIDFILE
+fi
+
+PIDFILE="/var/run/vde2/$IFACE-slirp.pid"
+if [ -f $PIDFILE ]; then
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --exec $SLIRPVDE
+ rm -f $PIDFILE
+fi
+
+PIDFILE="/var/run/vde2/$IFACE.pid"
+CTLDIR="/var/run/vde2/$IFACE.ctl"
+if [ -f $PIDFILE ]; then
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --exec $VDE_SWITCH
+ rm -f $PIDFILE
+
+ # set the tap interface to non-persistant, see #568363
+ vde_tunctl -b -d $IFACE 1>/dev/null
+fi
+
+rm -rf $CTLDIR
+rm -f $CTLDIR.*
diff --git a/main/vde2/vde2.pre-install b/main/vde2/vde2.pre-install
new file mode 100644
index 000000000..7548397d3
--- /dev/null
+++ b/main/vde2/vde2.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S vde2-net 2>/dev/null
+adduser -S -h /var/run/vde2 -s /bin/false -G vde2-net -D -H vde2-net 2>/dev/null
+
+exit 0
diff --git a/main/vde2/vde2.pre-up b/main/vde2/vde2.pre-up
new file mode 100644
index 000000000..991b38226
--- /dev/null
+++ b/main/vde2/vde2.pre-up
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+VDE_SWITCH=/usr/bin/vde_switch
+VDE_PLUG=/usr/bin/vde_plug
+SLIRPVDE=/usr/bin/slirpvde
+DPIPE=/usr/bin/dpipe
+RUNDIR=/var/run/vde2
+
+USER=vde2-net
+GROUP=vde2-net
+
+if [ ! -x $VDE_SWITCH ] || [ ! -x $SLIRPVDE ]; then
+ exit 0
+fi
+
+# this is not an interesting stanza for us
+if [ -z "$IF_VDE2_SWITCH" -a -z "$IF_VDE2_PLUG" -a -z "$IF_VDE2_SLIRP" ]; then
+ exit 0
+fi
+
+
+# Create directory if missing
+if [ ! -d $RUNDIR ]; then
+ mkdir -p $RUNDIR
+ chown vde2-net:vde2-net $RUNDIR
+ chmod 2770 $RUNDIR
+fi
+
+# vde2-switch [-|<args>]
+if [ -n "$IF_VDE2_SWITCH" ]; then
+ set -- $IF_VDE2_SWITCH
+ test "$1" = "-" && shift
+ PIDFILE="$RUNDIR/$IFACE.pid"
+ CTLDIR="$RUNDIR/$IFACE.ctl"
+ MGMTFILE="$RUNDIR/$IFACE.mgmt"
+
+ if [ "$METHOD" = "manual" ]; then
+ TAPOPTS=""
+ else
+ TAPOPTS="-t $IFACE"
+ fi
+
+ # block to make sure the interface exists, see #568363
+ vde_tunctl -b -t $IFACE 1>/dev/null
+
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --exec $VDE_SWITCH -- \
+ -s $CTLDIR -m 660 -g $GROUP -p $PIDFILE $TAPOPTS \
+ -M $MGMTFILE --mgmtmode 660 -d "$@"
+fi
+
+# vde2-plug <dpipe_cmd2>
+if [ -n "$IF_VDE2_PLUG" ]; then
+ set -- $IF_VDE2_PLUG
+ PIDFILE="$RUNDIR/$IFACE-plug.pid"
+ CTLDIR="$RUNDIR/$IFACE.ctl"
+
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --make-pidfile --background \
+ --exec $DPIPE -- $VDE_PLUG -g $GROUP -m 660 $CTLDIR = "$@"
+fi
+
+# vde2-slirp [-|<args>]
+if [ -n "$IF_VDE2_SLIRP" ]; then
+ set -- $IF_VDE2_SLIRP
+ test "$1" = "-" && shift
+ PIDFILE="$RUNDIR/$IFACE-slirp.pid"
+ CTLDIR="$RUNDIR/$IFACE.ctl"
+
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --chuid $USER \
+ --exec $SLIRPVDE -- \
+ -s $CTLDIR -m 660 -p $PIDFILE -d "$@"
+fi
diff --git a/main/vlan/APKBUILD b/main/vlan/APKBUILD
new file mode 100644
index 000000000..30910bcb4
--- /dev/null
+++ b/main/vlan/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=vlan
+pkgver=1.9
+pkgrel=0
+pkgdesc="Scripts for configuring VLAN network interfaces"
+url="http://wiki.alpinelinux.org/wiki/Vlan"
+arch="noarch"
+license="GPL"
+depends=""
+makedepends=""
+install=""
+subpackages=""
+source="mvlan.post-down
+ mvlan.pre-up
+ vlan.post-down
+ vlan.pre-up
+ "
+
+_builddir=
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$srcdir"
+ for i in vlan mvlan; do
+ for j in pre-up post-down; do
+ install -Dm755 $i.$j "$pkgdir"/etc/network/if-$j.d/$i || return 1
+ done
+ done
+}
+
+md5sums="3683be24d1fc1d8565e945c349c41571 mvlan.post-down
+5b6232674e83b0dbfc24af523dd5ec03 mvlan.pre-up
+cebaa97c933ed0f4cafd92f864ab4bc8 vlan.post-down
+c9acef8c17d8af19590767f57eb11b6b vlan.pre-up"
diff --git a/main/vlan/mvlan.post-down b/main/vlan/mvlan.post-down
new file mode 100644
index 000000000..229fc0e7f
--- /dev/null
+++ b/main/vlan/mvlan.post-down
@@ -0,0 +1,14 @@
+#!/bin/sh
+case "$IFACE" in
+ *#[0-9]*)
+ MVLANID="${IFACE##*#}"
+ IF_MVLAN_RAW_DEVICE="${IFACE%#*}"
+ ;;
+ *)
+ ;;
+esac
+if [ -n "$IF_MVLAN_RAW_DEVICE" ]
+then
+ # Kernel new style configuration
+ ip link del link dev "$IFACE"
+fi
diff --git a/main/vlan/mvlan.pre-up b/main/vlan/mvlan.pre-up
new file mode 100644
index 000000000..6713f3115
--- /dev/null
+++ b/main/vlan/mvlan.pre-up
@@ -0,0 +1,14 @@
+#!/bin/sh
+case "$IFACE" in
+ *#[0-9]*)
+ MVLANID="${IFACE##*#}"
+ IF_MVLAN_RAW_DEVICE="${IFACE%#*}"
+ ;;
+ *)
+ ;;
+esac
+if [ -n "$IF_MVLAN_RAW_DEVICE" ]
+then
+ # Kernel new style configuration
+ ip link add link $IF_MVLAN_RAW_DEVICE name $IFACE type macvlan
+fi
diff --git a/main/vlan/vlan.post-down b/main/vlan/vlan.post-down
new file mode 100644
index 000000000..bf887ef14
--- /dev/null
+++ b/main/vlan/vlan.post-down
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# If IFACE is an automagic vlan interface (without the vlan-raw-device
+# parameter) then let's try to discover the magic here.. Another way would be
+# to just probe for the right device name in /proc/net/vlan
+
+case "$IFACE" in
+ *#*) exit 0 ;;
+ *:*) exit 0 ;;
+ vlan*.*) exit 0 ;;
+ vlan*) VLAN_ID="${IFACE#vlan}" NAME1=VLAN;;
+ *.*) RAW_DEVICE="${IFACE%.*}"; VLAN_ID="${IFACE##*.}" NAME1=DEV;;
+ *) [ -n "${IF_VLAN_ID}" -o -n "${IF_VLAN_RAW_DEVICE}" ] || exit 0 ;;
+esac
+
+if [ -n "$IF_VLAN_RAW_DEVICE" ]; then
+ RAW_DEVICE="$IF_VLAN_RAW_DEVICE"
+fi
+
+if [ -n "$IF_VLAN_ID" ]; then
+ VLAN_ID="$IF_VLAN_ID"
+fi
+
+if [ -n "${RAW_DEVICE}" -o -n "${VLAN_ID}" ]
+then
+ vconfig rem "${IFACE}"
+fi
diff --git a/main/vlan/vlan.pre-up b/main/vlan/vlan.pre-up
new file mode 100644
index 000000000..450e0d335
--- /dev/null
+++ b/main/vlan/vlan.pre-up
@@ -0,0 +1,57 @@
+#!/bin/sh
+do_vlan_config() {
+ local device="$1"
+ local id="$2"
+ local newname="$3"
+ local nametype="$4"
+ vconfig set_name_type ${nametype}
+ vconfig add ${device} ${id}
+}
+
+
+# Preferred method:
+# Autoguess construction from #520147
+case "$IFACE" in
+ *#*) exit 0 ;;
+ *:*) exit 0 ;;
+ vlan*.*) exit 0 ;;
+ vlan*) VLAN_ID="${IFACE#vlan}" NAME1=VLAN;;
+ *.*) RAW_DEVICE="${IFACE%.*}"; VLAN_ID="${IFACE##*.}" NAME1=DEV;;
+ *) [ -n "${IF_VLAN_ID}" -o -n "${IF_VLAN_RAW_DEVICE}" ] || exit 0 ;;
+esac
+case "$VLAN_ID" in
+ [1-9]*) NAME2=VID_NO_PAD;;
+ 0???) NAME2=VID;;
+ 0*) NAME2=VID_NO_PAD;; # Failsafe fallback in case of backward compatability
+esac
+if [ -n "$IF_VLAN_RAW_DEVICE" ]; then
+ RAW_DEVICE="$IF_VLAN_RAW_DEVICE"
+fi
+
+# Strip leading 0s
+VLAN_ID="${VLAN_ID#0}"
+VLAN_ID="${VLAN_ID#0}"
+VLAN_ID="${VLAN_ID#0}"
+VLAN_ID="${VLAN_ID#0}"
+VLAN_ID="$(($VLAN_ID))"
+if [ -n "$IF_VLAN_ID" ]; then
+ VLAN_ID="$IF_VLAN_ID"
+fi
+
+if [ -z "$VLAN_ID" -o -z "$RAW_DEVICE" ]; then
+ exit 1
+fi
+
+if [ -n "$RAW_DEVICE" ] && [ -n "$VLAN_ID" ]; then
+ if ! ip link show dev "$RAW_DEVICE" > /dev/null; then
+ echo "$RAW_DEVICE does not exist, unable to create $IFACE"
+ exit 1
+ fi
+ ip link set up dev "$RAW_DEVICE"
+ do_vlan_config "$RAW_DEVICE" "$VLAN_ID" "$IFACE" "${NAME1}_PLUS_${NAME2}"
+ if ! ip link show dev "$IFACE" > /dev/null; then
+ echo "Failed to create vlan device $IFACE on device $RAW_DEVICE with tag $VLAN_ID"
+ exit 1
+ fi
+fi
+
diff --git a/main/vlc/APKBUILD b/main/vlc/APKBUILD
index 962cf725d..bea5a92d3 100644
--- a/main/vlc/APKBUILD
+++ b/main/vlc/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vlc
-pkgver=1.1.13
+pkgver=2.0.0
+_pkgver=${pkgver/_/-}
pkgrel=3
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
pkgusers="vlc"
@@ -10,11 +11,11 @@ url="http://www.videolan.org/vlc/"
arch="all"
license="GPL-2"
triggers="$pkgname.trigger=/usr/lib/vlc/plugins"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-xorg $pkgname-daemon"
-#depends="fluidsynth zvbi lirc-utils libdca
-# libproxy libdvdnav>=4.1.3 libcddb smbclient
-# libmatroska libmpcdec
-# qt libmodplug ttf-dejavu"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg
+ $pkgname-daemon"
+#depends="fluidsynth zvbi lirc-utils libdca
+# libproxy libcddb smbclient
+# libmpcdec libmodplug"
depends="ttf-dejavu"
makedepends="
a52dec-dev
@@ -27,30 +28,39 @@ makedepends="
faad2-dev
ffmpeg-dev
flac-dev
+ freetype-dev
fribidi-dev
gtk+-dev
- libdc1394-dev
+ libbluray-dev>=0.2.1 libbluray-dev<20100000
+ libavc1394-dev
+ libdc1394-dev>=2.1.0
libdvbpsi-dev
+ libdvdnav-dev
+ libdvdread-dev
libgcrypt-dev
libice-dev
libiconv-dev
libmad-dev
+ libmatroska-dev
libmpeg2-dev
libnotify-dev
libogg-dev
- libraw1394-dev
+ libraw1394-dev>=2.0.1
libshout-dev
libsm-dev
libtheora-dev
libvorbis-dev
libx11-dev
libxext-dev
+ libxinerama-dev
+ libxpm-dev
libxv-dev
- live-media-dev
+ live-media-dev>=2012.01.26
lua-dev
ncurses-dev
mesa-dev
pkgconfig
+ qt-dev
sdl-dev
speex-dev
sysfsutils-dev
@@ -60,15 +70,16 @@ makedepends="
xcb-util-renderutil-dev
xcb-util-keysyms-dev
"
-source="http://download.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2
- uclibc3.patch
- uclibc-libcompat.patch
+source="http://download.videolan.org/pub/videolan/$pkgname/$_pkgver/$pkgname-$_pkgver.tar.xz
uclibc-inhibit-spawn.patch
+ uclibc-no-xscreensaver.patch
+ uclibc3.patch
vlc.trigger
- vlc-1.1.7-disable-cache-gen.patch
"
+# uclibc-libcompat.patch
+# vlc-1.1.7-disable-cache-gen.patch
-_builddir="$srcdir"/$pkgname-$pkgver
+_builddir="$srcdir"/$pkgname-$_pkgver
prepare() {
cd "$_builddir"
for i in $source; do
@@ -79,7 +90,7 @@ prepare() {
;;
esac;
done
- sed -i -e "/^SOURCES_xscreensaver/s/^/#/" modules/misc/Modules.am
+ sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" modules/misc/Modules.am
./bootstrap
}
@@ -88,35 +99,43 @@ build ()
cd "$_builddir"
sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/freetype.c
+ # -fpermissive is needed due to zlib 1.2.6 changing
+ # void* to gzFile on gz*() functions
export CFLAGS="$CFLAGS -D_GNU_SOURCE"
+ export CXXFLAGS="$CXXFLAGS -fpermissive"
./configure --prefix=/usr \
--disable-mmx \
--disable-nls \
--disable-optimizations \
- --disable-qt4 --disable-skins2 \
--disable-rpath \
--enable-a52 \
--enable-avcodec \
--enable-avformat \
+ --enable-bluray \
--enable-dbus \
--enable-dbus-control \
--enable-dc1394 \
+ --enable-dv \
--enable-dvbpsi \
+ --enable-dvdread \
+ --enable-dvdnav \
--enable-faad \
--enable-flac \
--enable-httpd \
--enable-live555 \
+ --enable-matroska \
--enable-merge-ffmpeg \
--enable-ncurses \
+ --enable-qt4 \
--enable-realrtsp \
--enable-sdl \
--enable-shout \
+ --enable-skins2 \
--enable-speex \
--enable-sout \
--enable-taglib \
--enable-theora \
- --enable-v4l \
--enable-v4l2 \
--enable-vlm \
--enable-vorbis \
@@ -124,10 +143,6 @@ build ()
--enable-xvideo \
|| return 1
-# --enable-dvdread \
-# --enable-dvdnav \
-# --enable-qt4 \
-# --enable-skins2 \
# --enable-dvb \
# --enable-snapshot \
# --enable-hal \
@@ -144,7 +159,11 @@ package() {
# install -D -m644 share/vlc${res}x${res}.png \
# "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
# done
+ # delete cache as it's autocreated by trigger
+ rm -rf "$pkgdir"/usr/lib/vlc/plugins/plugins.dat
+ # delete unneeded mozilla and kde support files
rm -rf "$pkgdir"/usr/lib/mozilla
+ rm -rf "$pkgdir"/usr/share/kde4
find "$pkgdir" -name '*.la' -delete
}
@@ -154,28 +173,54 @@ _mv() {
mv "$1" "$subpkgdir"/$dir/
}
+qt() {
+ pkgdesc="Qt frontend for VLC"
+ depends="vlc-xorg>=2.0.0-r1"
+ cd "$pkgdir"
+ # scan for elf files that directly or indirectly depends on
+ # libQt* libraries
+ cd "$pkgdir"
+ for i in $(find -type f ); do
+ if ldd $i 2>/dev/null | grep -q "libQt"; then
+ _mv "$i" || return 1
+ fi
+ done
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/qvlc \
+ "$subpkgdir"/usr/bin/
+}
+
xorg() {
pkgdesc="Video LAN X.org support"
+ depends="xdg-utils vlc>=2.0.0_rc1-r4"
+
# scan for elf files that directly or indirectly depends on
# libX* libraries
cd "$pkgdir"
for i in $(find -type f ); do
- if ldd $i 2>/dev/null | grep -q libX; then
+ if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb"; then
echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1
fi
done
- mkdir -p "$subpkgdir"/usr/share/
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/svlc \
+ "$subpkgdir"/usr/bin
+
+ mkdir -p "$subpkgdir"/usr/share/vlc
mv "$pkgdir"/usr/share/applications \
"$pkgdir"/usr/share/icons \
"$subpkgdir"/usr/share/
+
+ mv "$pkgdir"/usr/share/vlc/skins2 \
+ "$subpkgdir"/usr/share/vlc
}
daemon() {
pkgdesc="Support for running VLC as a daemon"
install="vlc-daemon.pre-install"
arch="noarch"
- depends="vlc"
+ depends="vlc>=2.0.0_rc1-r0"
mkdir -p "$subpkgdir"
cd "$pkgdir"
@@ -184,9 +229,8 @@ daemon() {
install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc
}
-md5sums="9678fb7a04808b6e0de63746d35e4bb1 vlc-1.1.13.tar.bz2
-ba24152286d98f8a367c7fd0cb8949f4 uclibc3.patch
-402d28075ff672d4f273cf8b9b1b3137 uclibc-libcompat.patch
+md5sums="8806bff2ea9c76791123d444a92f708c vlc-2.0.0.tar.xz
28349b8239fdd6987fbe0ca2c758517f uclibc-inhibit-spawn.patch
-ddbd40bd72fedc1449be45588aea5d66 vlc.trigger
-e1ef2dec8e25f7ea6ba40e646c63e061 vlc-1.1.7-disable-cache-gen.patch"
+b84c5a9121440b6a1dcf28792d783eb8 uclibc-no-xscreensaver.patch
+94f11ec8394775018222781a0c875444 uclibc3.patch
+350b30698eb784def7d19446eb1d6c81 vlc.trigger"
diff --git a/main/vlc/uclibc-libcompat.patch b/main/vlc/uclibc-libcompat.patch
deleted file mode 100644
index 056b1411d..000000000
--- a/main/vlc/uclibc-libcompat.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From b5f5c2cc68f60feea3b8f397f13f13e514d852d4 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 28 Oct 2011 09:50:08 +0000
-Subject: [PATCH] build: libcompat fix in case there are no functions to
- replace
-
-If the libc provides all the funcs in libcompat the libcompat.a will
-never be created due to LIBOBJS is empty (normally it contains whatever
-AC_REPLACE_FUNCS detects). This happens on uclibc.
-
-Since Makefile.am have a hardcoded LDADD to ../compat/libcompat.la things
-goes bad when there is no libcompat.a at all. We solve this by checking
-if LIBOBJS is set by AC_REPLACE_FUNCS and add libcompat via LTLIBCOMPAT.
-
-For alternative fixes see http://www.gnu.org/software/hello/manual/automake/LIBOBJS.html
----
- bin/Makefile.am | 2 +-
- configure.ac | 8 ++++++++
- modules/common.am | 2 +-
- src/Makefile.am | 4 ++--
- 4 files changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/bin/Makefile.am b/bin/Makefile.am
-index 19dfb57..9214016 100644
---- a/bin/Makefile.am
-+++ b/bin/Makefile.am
-@@ -60,5 +60,5 @@ vlc_win32_rc.$(OBJEXT): vlc_win32_rc.rc
- vlc_cache_gen_SOURCES = cachegen.c
- vlc_cache_gen_LDADD = \
- $(GNUGETOPT_LIBS) \
-- ../compat/libcompat.la \
-+ $(LTLIBCOMPAT) \
- ../src/libvlc.la ../src/libvlccore.la
-diff --git a/configure.ac b/configure.ac
-index f216fa4..3997a85 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -557,6 +557,14 @@ need_libc=false
- dnl Check for usual libc functions
- AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp tdestroy uselocale])
- AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf])
-+
-+dnl Check that we actually need libcompat
-+LTLIBCOMPAT=""
-+if test "x${LIBOBJS}" != "x"; then
-+ LTLIBCOMPAT="\$(top_builddir)/compat/libcompat.la"
-+fi
-+AC_SUBST(LTLIBCOMPAT)
-+
- AC_CHECK_FUNCS(fdatasync,,
- [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
- ])
-diff --git a/modules/common.am b/modules/common.am
-index ac88493..a117cc4 100644
---- a/modules/common.am
-+++ b/modules/common.am
-@@ -25,7 +25,7 @@ AM_LDFLAGS = -rpath '$(libvlcdir)' \
- -no-undefined \
- `$(VLC_CONFIG) --ldflags plugin $@`
- AM_LIBADD = `$(VLC_CONFIG) -libs plugin $@` \
-- $(LTLIBVLCCORE) $(top_builddir)/compat/libcompat.la
-+ $(LTLIBVLCCORE) $(LTLIBCOMPAT)
-
- include $(srcdir)/Modules.am
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index a8ab729..01c5158 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -204,7 +204,7 @@ libvlccore_la_LDFLAGS = `$(VLC_CONFIG) --ldflags libvlccore` $(AM_LDFLAGS) \
- -export-symbols $(srcdir)/libvlccore.sym \
- -version-info 4:3:0
- libvlccore_la_LIBADD = `$(VLC_CONFIG) -libs libvlccore` $(AM_LIBADD) \
-- $(LTLIBINTL) ../compat/libcompat.la
-+ $(LTLIBINTL) $(LTLIBCOMPAT)
- libvlccore_la_DEPENDENCIES = libvlccore.sym
- if HAVE_WIN32
- libvlccore_la_DEPENDENCIES += libvlc_win32_rc.$(OBJEXT)
-@@ -217,7 +217,7 @@ libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc
- libvlc_la_SOURCES = $(SOURCES_libvlc_control)
- nodist_libvlc_la_SOURCES = revision.c
- libvlc_la_LIBADD = `$(VLC_CONFIG) -libs libvlc` \
-- libvlccore.la ../compat/libcompat.la
-+ libvlccore.la $(LTLIBCOMPAT)
- libvlc_la_CFLAGS = `$(VLC_CONFIG) --cflags libvlc`
- libvlc_la_LDFLAGS = $(AM_LDFLAGS) `$(VLC_CONFIG) --ldflags libvlc` \
- -version-info 7:1:2 \
---
-1.7.7.1
-
diff --git a/main/vlc/uclibc-no-xscreensaver.patch b/main/vlc/uclibc-no-xscreensaver.patch
new file mode 100644
index 000000000..b4e1acef6
--- /dev/null
+++ b/main/vlc/uclibc-no-xscreensaver.patch
@@ -0,0 +1,18 @@
+--- vlc-2.0.0-rc1.orig/modules/misc/Modules.am
++++ vlc-2.0.0-rc1/modules/misc/Modules.am
+@@ -26,14 +26,9 @@
+ libxdg_screensaver_plugin_la_CFLAGS = $(AM_CFLAGS)
+ libxdg_screensaver_plugin_la_LIBADD = $(AM_LIBADD)
+ libxdg_screensaver_plugin_la_DEPENDENCIES =
+-libxscreensaver_plugin_la_SOURCES = inhibit/xscreensaver.c
+-libxscreensaver_plugin_la_CFLAGS = $(AM_CFLAGS)
+-libxscreensaver_plugin_la_LIBADD = $(AM_LIBADD)
+-libxscreensaver_plugin_la_DEPENDENCIES =
+ if HAVE_XCB
+ libvlc_LTLIBRARIES += \
+- libxdg_screensaver_plugin.la \
+- libxscreensaver_plugin.la
++ libxdg_screensaver_plugin.la
+ endif
+
+ libmce_plugin_la_SOURCES = inhibit/mce.c
diff --git a/main/vlc/uclibc3.patch b/main/vlc/uclibc3.patch
index bacad290a..e57d6dd5f 100644
--- a/main/vlc/uclibc3.patch
+++ b/main/vlc/uclibc3.patch
@@ -1,23 +1,6 @@
-diff --git a/src/control/vlm.c b/src/control/vlm.c
-index 05417e5..46fa957 100644
---- a/src/control/vlm.c
-+++ b/src/control/vlm.c
-@@ -25,6 +25,10 @@
- # include <config.h>
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+# include "config.h"
-+#endif
-+
- #include <vlc/libvlc.h>
- #include <vlc/libvlc_vlm.h>
- #include <vlc_es.h>
-diff --git a/src/misc/linux_specific.c b/src/misc/linux_specific.c
-index 1644ce6..1440e1c 100644
---- a/src/misc/linux_specific.c
-+++ b/src/misc/linux_specific.c
-@@ -83,14 +83,14 @@ static struct
+--- vlc-2.0.0-rc1.orig/src/posix/linux_specific.c
++++ vlc-2.0.0-rc1/src/posix/linux_specific.c
+@@ -83,14 +83,14 @@
unsigned refs;
} once = { VLC_STATIC_MUTEX, 0 };
@@ -27,10 +10,29 @@ index 1644ce6..1440e1c 100644
# include <stdlib.h>
#endif
- void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[])
+ void system_Init (void)
{
-#ifdef __GLIBC__
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
const char *glcv = gnu_get_libc_version ();
/* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing,
+--- vlc-2.0.0-rc1.orig/src/posix/thread.c
++++ vlc-2.0.0-rc1/src/posix/thread.c
+@@ -1165,6 +1165,16 @@
+ return vlc_atomic_swap (&timer->overruns, 0);
+ }
+
++#if defined(HAVE_SCHED_GETAFFINITY) && !defined(CPU_COUNT)
++static unsigned CPU_COUNT(cpu_set_t *cpu)
++{
++ unsigned i, count = 0;
++ for (i = 0; i < CPU_SETSIZE; i++)
++ if (CPU_ISSET(i, cpu))
++ count++;
++ return count;
++}
++#endif
+
+ /**
+ * Count CPUs.
diff --git a/main/vlc/vlc.confd b/main/vlc/vlc.confd
index c42344b60..9a58842bd 100644
--- a/main/vlc/vlc.confd
+++ b/main/vlc/vlc.confd
@@ -1,11 +1,15 @@
# Sample vlc params suitable for running as a daemon
-## --daemon detach from prompt
## --file-logging enable file logging
## --logfile logfile name/path
## -vvv verbose logging
## -I dummy disable X11 interface
## --sout PARAMS encoding parameters
-## Do NOT quote 'PARAMS' otherwise shell expansions will broke vlc
-VLC_OPTS="-vvv -I dummy alsa://hw:0,0 --daemon --file-logging --logfile /var/log/vlc/vlc.log --sout #transcode{acodec=mp3,ab=48,channels=1,samplerate=22050}:std{access=http,mux=ogg,dst=:8080}"
+
+## Do NOT quote 'PARAMS' otherwise shell expansions will broke vlc
+##
+## The --daemon option will automatically be added so no need to add it
+## here.
+
+VLC_OPTS="--quiet -I dummy alsa://hw:0,0 --file-logging --logfile /var/log/vlc/vlc.log --sout #transcode{acodec=mp3,ab=48,channels=1,samplerate=22050}:std{access=http,mux=ogg,dst=:8080}"
diff --git a/main/vlc/vlc.initd b/main/vlc/vlc.initd
index 11567dcd8..8fe3b4866 100755
--- a/main/vlc/vlc.initd
+++ b/main/vlc/vlc.initd
@@ -1,22 +1,32 @@
#!/sbin/runscript
+description="VideoLAN daemon"
+pidfile="/var/run/vlc/${RC_SVCNAME}.pid"
+command="/usr/bin/vlc"
+
depend() {
need net
+ after firewall
+}
+
+start_pre() {
+ checkpath --directory --owner vlc:vlc --mode 775 ${pidfile%/*}
}
start() {
- ebegin "Starting VLC"
+ ebegin "Starting ${RC_SVCNAME}"
start-stop-daemon --start \
--user vlc \
- --exec /usr/bin/vlc -- ${VLC_OPTS}
+ --pidfile ${pidfile} \
+ --exec ${command} \
+ -- \
+ --daemon --pidfile ${pidfile} ${VLC_OPTS}
eend $?
}
-stop () {
- ebegin "Stopping VLC"
+stop() {
+ ebegin "Stopping ${RC_SVCNAME}"
start-stop-daemon --stop \
- --signal KILL \
- --exec /usr/bin/vlc
+ --pidfile ${pidfile}
eend $?
}
-
diff --git a/main/vlc/vlc.trigger b/main/vlc/vlc.trigger
index def39b951..d7322fcb1 100644
--- a/main/vlc/vlc.trigger
+++ b/main/vlc/vlc.trigger
@@ -1,4 +1,4 @@
#!/bin/sh
-exec /usr/lib/vlc/vlc-cache-gen
+exec /usr/lib/vlc/vlc-cache-gen "$@"
diff --git a/main/wine/APKBUILD b/main/wine/APKBUILD
index 723fff487..0f57c5d48 100644
--- a/main/wine/APKBUILD
+++ b/main/wine/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=wine
-pkgver=1.4_rc3
+pkgver=1.4
_ver=${pkgver/_/-}
pkgrel=0
pkgdesc="A compatibility layer for running Windows programs"
@@ -49,4 +49,4 @@ package() {
"$pkgdir"/usr/bin/wine
}
-md5sums="cbbf30fe43de9676abbb8ea88b1b5cde wine-1.4-rc3.tar.bz2"
+md5sums="6594ab86a4b1fb2c09dadfb4ea7fc4af wine-1.4.tar.bz2"
diff --git a/main/wpa_supplicant/APKBUILD b/main/wpa_supplicant/APKBUILD
index d05f4c5f8..a2aed8356 100644
--- a/main/wpa_supplicant/APKBUILD
+++ b/main/wpa_supplicant/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=wpa_supplicant
pkgver=0.7.3
-pkgrel=1
+pkgrel=2
pkgdesc="A utility providing key negotiation for WPA wireless networks"
url="http://hostap.epitest.fi/wpa_supplicant"
arch="all"
diff --git a/main/xcb-proto/APKBUILD b/main/xcb-proto/APKBUILD
index 70c969718..06c3df4a5 100644
--- a/main/xcb-proto/APKBUILD
+++ b/main/xcb-proto/APKBUILD
@@ -1,10 +1,10 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xcb-proto
-pkgver=1.6
-pkgrel=2
+pkgver=1.7
+pkgrel=0
pkgdesc="XML-XCB protocol descriptions"
url="http://xcb.freedesktop.org/"
-arch="all"
+arch="noarch"
license="custom"
depends=
makedepends="python"
@@ -22,4 +22,4 @@ package() {
install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
}
-md5sums="04313e1d914b44d0e457f6c494fc178b xcb-proto-1.6.tar.bz2"
+md5sums="f5d73ec841ed055f5e80535819f18400 xcb-proto-1.7.tar.bz2"
diff --git a/main/xdriinfo/APKBUILD b/main/xdriinfo/APKBUILD
index 5366c30e4..6fcae0aa2 100644
--- a/main/xdriinfo/APKBUILD
+++ b/main/xdriinfo/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xdriinfo
pkgver=1.0.2
-pkgrel=3
+pkgrel=4
pkgdesc="query configuration information of DRI drivers"
url="http://xorg.freedesktop.org/"
arch="all"
diff --git a/main/xen/APKBUILD b/main/xen/APKBUILD
index 0ec727ecf..4c266449d 100644
--- a/main/xen/APKBUILD
+++ b/main/xen/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xen
pkgver=4.1.2
-pkgrel=4
+pkgrel=6
pkgdesc="Xen hypervisor"
url="http://www.xen.org/"
arch="x86 x86_64"
@@ -24,6 +24,7 @@ source="http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.g
pygrub_alpine.patch
librt.patch
busybox-sed.patch
+ e1000.patch
xencommons.initd
xend.initd
xendomains.initd"
@@ -91,6 +92,7 @@ b973dc1ffcc6872e222b36f3b7b4836b fix_bswap_blktap2.patch
a7500c42804abdf68e051dc667e65f93 pygrub_alpine.patch
fa06495a175571f4aa3b6cb88937953e librt.patch
1bea3543ddc712330527b62fd9ff6520 busybox-sed.patch
+c31163a3cd6cf58b4e9cac0e96812d65 e1000.patch
62b3c5a7cff38c12df2de89af5d83fa1 xencommons.initd
b5bfc08b82bc0d21193714719a719798 xend.initd
-86e7923383a906404da321d1814657e9 xendomains.initd"
+6c288547faadd4262afd2f86e39e99a3 xendomains.initd"
diff --git a/main/xen/e1000.patch b/main/xen/e1000.patch
new file mode 100644
index 000000000..0be637661
--- /dev/null
+++ b/main/xen/e1000.patch
@@ -0,0 +1,42 @@
+From 3cf61880403b4e484539596a95937cc066243388 Mon Sep 17 00:00:00 2001
+From: Ian Campbell <Ian.Campbell@citrix.com>
+Date: Thu, 2 Feb 2012 13:47:06 +0000
+Subject: [PATCH] e1000: bounds packet size against buffer size
+
+Otherwise we can write beyond the buffer and corrupt memory. This is tracked
+as CVE-2012-0029.
+
+Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
+
+(Backported from qemu upstream 65f82df0d7a71ce1b10cd4c5ab08888d176ac840
+ by Ian Campbell.)
+
+Signed-off-by: Ian Campbell <Ian.Campbell@citrix.com>
+(cherry picked from commit ebe37b2a3f844bad02dcc30d081f39eda06118f8)
+---
+ hw/e1000.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/tools/ioemu-qemu-xen/hw/e1000.c b/tools/ioemu-qemu-xen/hw/e1000.c
+index bb3689e..97104ed 100644
+--- a/tools/ioemu-qemu-xen/hw/e1000.c
++++ b/tools/ioemu-qemu-xen/hw/e1000.c
+@@ -444,6 +444,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
+ bytes = split_size;
+ if (tp->size + bytes > msh)
+ bytes = msh - tp->size;
++
++ bytes = MIN(sizeof(tp->data) - tp->size, bytes);
+ cpu_physical_memory_read(addr, tp->data + tp->size, bytes);
+ if ((sz = tp->size + bytes) >= hdr && tp->size < hdr)
+ memmove(tp->header, tp->data, hdr);
+@@ -459,6 +461,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
+ // context descriptor TSE is not set, while data descriptor TSE is set
+ DBGOUT(TXERR, "TCP segmentaion Error\n");
+ } else {
++ split_size = MIN(sizeof(tp->data) - tp->size, split_size);
+ cpu_physical_memory_read(addr, tp->data + tp->size, split_size);
+ tp->size += split_size;
+ }
+--
+1.7.2.5
diff --git a/main/xen/xendomains.initd b/main/xen/xendomains.initd
index 0f309ef3d..5077d82e0 100644..100755
--- a/main/xen/xendomains.initd
+++ b/main/xen/xendomains.initd
@@ -1,26 +1,5 @@
#!/sbin/runscript
-CMD=xm
-/usr/sbin/$CMD list &> /dev/null
-if test $? -ne 0
-then
- CMD=xl
-fi
-
-/usr/sbin/$CMD list &> /dev/null
-if test $? -ne 0
-then
- eend 1;
- exit 1;
-fi
-
-# Correct exit code would probably be 5, but it's enough
-# if xend complains if we're not running as privileged domain
-if ! [ -e /proc/xen/privcmd ]; then
- eend 1;
- exit 1;
-fi
-
# See docs/misc/distro_mapping.txt
if [ -d /var/lock/subsys ]; then
LOCKFILE=/var/lock/subsys/xendomains
@@ -37,7 +16,7 @@ fi
if ! [ -r $XENDOM_CONFIG ]; then
eend 1;
echo "$XENDOM_CONFIG not existing";
- exit 1;
+ return 1;
fi
. $XENDOM_CONFIG
@@ -61,14 +40,41 @@ is_running() {
/usr/sbin/$CMD list "${1}" >/dev/null 2>&1
}
+check_xen() {
+ CMD=xm
+ /usr/sbin/$CMD list &> /dev/null
+ if test $? -ne 0
+ then
+ CMD=xl
+ fi
+
+ /usr/sbin/$CMD list &> /dev/null
+ if test $? -ne 0
+ then
+ eend 1;
+ echo "Could not find xl or xm";
+ return 1;
+ fi
+
+ # Correct exit code would probably be 5, but it's enough
+ # if xend complains if we're not running as privileged domain
+ if ! [ -e /proc/xen/privcmd ]; then
+ eend 1;
+ echo "Could not find /proc/xen/privcmd";
+ return 1;
+ fi
+}
+
start() {
einfo "Starting Xen domains in ${AUTODIR:=/etc/xen/auto}"
+ check_xen
+
for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
name=$(get_domname ${dom})
if ! is_running ${name} ; then
ebegin " Starting domain ${name}"
- /usr/sbin/$CMD create --quiet --defconfig ${dom}
+ /usr/sbin/$CMD create --quiet --defconfig ${dom} >/dev/null 2>&1
eend $?
else
einfo " Not starting ${name} - already running."
@@ -79,11 +85,13 @@ start() {
stop() {
einfo "Stopping Xen domains in ${AUTODIR:=/etc/xen/auto}"
+ check_xen
+
for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
name=$(get_domname ${dom})
if is_running ${name} ; then
ebegin " Sending shutdown signal to ${name}"
- /usr/sbin/$CMD shutdown ${name} >/dev/null
+ /usr/sbin/$CMD shutdown ${name} >/dev/null 2>&1
eend $?
fi
done
@@ -92,7 +100,7 @@ stop() {
name=$(get_domname ${dom})
if is_running ${name} ; then
ebegin " Waiting for domain ${name} to shutdown"
- /usr/sbin/$CMD shutdown --wait ${name}
+ /usr/sbin/$CMD shutdown --wait ${name} >/dev/null 2>&1
eend $?
else
einfo " Not stopping ${name} - not running."
@@ -101,5 +109,6 @@ stop() {
}
status() {
+ check_xen
/usr/sbin/$CMD list
}
diff --git a/main/xf86-video-ati/APKBUILD b/main/xf86-video-ati/APKBUILD
index 8cdab6591..7d3d543c5 100644
--- a/main/xf86-video-ati/APKBUILD
+++ b/main/xf86-video-ati/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-ati
pkgver=6.14.3
-pkgrel=0
+pkgrel=1
pkgdesc="ATI video driver"
url="http://xorg.freedesktop.org/"
arch="all"
diff --git a/main/xf86-video-intel/APKBUILD b/main/xf86-video-intel/APKBUILD
index 484b1a903..5b7fd6306 100644
--- a/main/xf86-video-intel/APKBUILD
+++ b/main/xf86-video-intel/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-intel
pkgver=2.17.0
-pkgrel=0
+pkgrel=1
pkgdesc="X.Org driver for Intel cards"
url="http://xorg.freedesktop.org/"
arch="all"
diff --git a/main/xf86-video-r128/APKBUILD b/main/xf86-video-r128/APKBUILD
index 9d84166ae..fbcf87066 100644
--- a/main/xf86-video-r128/APKBUILD
+++ b/main/xf86-video-r128/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-r128
pkgver=6.8.1
-pkgrel=7
+pkgrel=8
pkgdesc="ATI Rage128 video driver"
url="http://xorg.freedesktop.org/"
arch="all"
diff --git a/main/xf86-video-savage/APKBUILD b/main/xf86-video-savage/APKBUILD
index 3bdf1c628..a107f90d4 100644
--- a/main/xf86-video-savage/APKBUILD
+++ b/main/xf86-video-savage/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-savage
pkgver=2.3.3
-pkgrel=1
+pkgrel=2
pkgdesc="S3 Savage video driver"
url="http://xorg.freedesktop.org/"
arch="all"
diff --git a/main/xf86-video-tdfx/APKBUILD b/main/xf86-video-tdfx/APKBUILD
index 4b62d7297..cf764d7f8 100644
--- a/main/xf86-video-tdfx/APKBUILD
+++ b/main/xf86-video-tdfx/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-tdfx
pkgver=1.4.3
-pkgrel=6
+pkgrel=7
pkgdesc="3Dfx video driver"
url="http://xorg.freedesktop.org/"
arch="all"
diff --git a/main/xorg-server/APKBUILD b/main/xorg-server/APKBUILD
index f996ad66d..9990976c6 100644
--- a/main/xorg-server/APKBUILD
+++ b/main/xorg-server/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xorg-server
pkgver=1.11.4
-pkgrel=0
+pkgrel=1
pkgdesc="X.Org X servers"
url="http://xorg.freedesktop.org"
arch="all"
@@ -13,6 +13,7 @@ depends="
xkeyboard-config
xkbcomp
xinit
+ dbus-x11
"
makedepends="
autoconf
diff --git a/main/xscreensaver/APKBUILD b/main/xscreensaver/APKBUILD
index 701ff3d26..b62eed90d 100644
--- a/main/xscreensaver/APKBUILD
+++ b/main/xscreensaver/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xscreensaver
pkgver=5.15
-pkgrel=2
+pkgrel=3
pkgdesc="screensavers for X11 environment"
url="http://www.jwz.org/xscreensaver/"
license="GPL"
diff --git a/main/xtables-addons-grsec/APKBUILD b/main/xtables-addons-grsec/APKBUILD
index d46bcabad..d3d24ccc6 100644
--- a/main/xtables-addons-grsec/APKBUILD
+++ b/main/xtables-addons-grsec/APKBUILD
@@ -3,7 +3,7 @@ _flavor=${FLAVOR:-grsec}
_realname=xtables-addons
_name=$_realname-$_flavor
-_kver=3.2.6
+_kver=3.2.11
_kpkgrel=0
# source the kernel version
diff --git a/main/xulrunner/APKBUILD b/main/xulrunner/APKBUILD
index e86a17263..a186a9610 100644
--- a/main/xulrunner/APKBUILD
+++ b/main/xulrunner/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xulrunner
-pkgver=10.0.1
-_ffoxver=10.0.1
+pkgver=11.0
+_ffoxver=$pkgver
pkgrel=0
pkgdesc="runtime environment for xul-based applications"
url="http://developer.mozilla.org/en/XULRunner"
@@ -104,7 +104,7 @@ dev() {
mv "${pkgdir}"/usr/include "${subpkgdir}"/usr/include
}
-md5sums="265c53120fd923c742164b0002ebbf6c firefox-10.0.1.source.tar.bz2
+md5sums="4b07acf47857aff72776d805409cdd1b firefox-11.0.source.tar.bz2
b0f7d491bc800b69ec718667a4b08acb mozconfig
1867db217d10722675c88b655db8c2d7 0002-Use-C99-math-isfinite.patch
7faa279d64c9ec2e7abc7c0497c7e07e 0003-xulrunner-jemalloc-aslr.patch
diff --git a/main/zsh/APKBUILD b/main/zsh/APKBUILD
index 88a29ec08..bd4bbcf5e 100644
--- a/main/zsh/APKBUILD
+++ b/main/zsh/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: <kalonji@gmail.com>
# Maintainer: <ncopa@alpinelinux.org>
pkgname=zsh
-pkgver=4.3.15
+pkgver=4.3.17
pkgrel=0
pkgdesc="A very advanced and programmable command interpreter (shell) for UNIX"
url="http://www.zsh.org/"
@@ -39,7 +39,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="b2e2d0a431935b408ed8ea48226f9962 zsh-4.3.15.tar.gz
+md5sums="9074077945550d6684ebe18b3b167d52 zsh-4.3.17.tar.gz
aedff0460ef282937905223207ac702e zsh.post-install
aedff0460ef282937905223207ac702e zsh.post-upgrade
b48f79e2d4a29047f6152f5a9441f942 zsh.pre-deinstall"
diff --git a/main/zsnes/APKBUILD b/main/zsnes/APKBUILD
index 50f0530f1..2379bfd11 100644
--- a/main/zsnes/APKBUILD
+++ b/main/zsnes/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=zsnes
pkgver=1.51
-pkgrel=5
+pkgrel=6
pkgdesc="Super Nintendo emulator"
url="http://www.zsnes.com/"
arch="x86"